PT09IHJlbGVhc2UgMS4xNC40ID09PQoKMjAxOC0xMC0wMiAyMzowMjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTQuNAoKMjAxOC0xMC0wMiAyMzowMjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgZG9jcwoKMjAxOC0wOS0yNCAxMTo0NTo0NiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBhZGQgc3VwcG9ydCBmb3IgcGFyc2luZyBtb3JlIGNoYW5uZWwgbGF5b3V0cyAuLi4KCSAgLi4uIGFuZCBmYWxsYmFjayB0byBnc3RfYXVkaW9faW5mb19zZXRfZm9ybWF0IGZvciBub3QgeWV0IHN1cHBvcnRlZCBsYXlvdXRzLgoJICBGaXggYXVkaW8gcGxheWJhY2sgb24gaU9TIDEyLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIEJ5cm9uIFNjaGllbCA8Ynlyb25AY2FuYXJ5LmlzPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2OTE5CgoyMDE4LTA5LTIxIDIyOjI0OjAyICswMjAwICBBbGljaWEgQm95YSBHYXJjw61hIDxhYm95YUBpZ2FsaWEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEVtaXQgbm8tbW9yZS1wYWRzIGFmdGVyIHBhcnNpbmcgVHJhY2tzCgkgIEN1cnJlbnRseSBtYXRyb3NrYWRlbXV4IGRvZXMgbm90IGVtaXQgbm8tbW9yZS1wYWRzIHVudGlsIHRoZSBmaXJzdAoJICBDbHVzdGVyIGlzIHBhcnNlZCwgZXZlbiB0aG91Z2ggdGhlIFRyYWNrcyBoYXZlIGFscmVhZHkgYmVlbiBwYXJzZWQgYW5kCgkgIGZyb20gdGhhdCBwb2ludCBvbiB0aGVyZSBjYW4gYmUgbm8gbW9yZSB0cmFja3MuCgkgIFRoaXMgaXMgaW1wb3J0YW50IGluIE1TRSBiZWNhdXNlIHRoZSBicm93c2VyIG5lZWRzIHRvIGtub3cgd2hlbiB0aGUgTVNFCgkgIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgaGFzIGJlZW4gY29tcGxldGVseSBwYXJzZWQgc28gdGhhdCBpdCBjYW4gZXhwb3NlCgkgIHRoZSB0cmFja3MgdG8gdGhlIHVzZXIuIFNvbWUgYXBwbGljYXRpb25zIGRlcGVuZCBvbiB0aGlzIGJlZW4gZG9uZQoJICBiZWZvcmUgdGhleSBmZWVkIGZyYW1lcyB0byB0aGUgZGVtdXhlci4KCSAgQXMgYSBjb25zZXF1ZW5jZSwgaGlzdG9yaWNhbGx5IFdlYktpdCBoYXMgcmVsaWVkIG9uIGhhY2tzIHN1Y2ggYXMKCSAgbGlzdGVuaW5nIHRvIHRoZSBgcGFkLWFkZGVkYCBldmVudCwgd2hpY2ggbWFkZSBpbXBvc3NpYmxlIHRvIHN1cHBvcnQKCSAgbXVsdGlwbGUgdHJhY2tzIGluIHRoZSBzYW1lIGZpbGUuIExldCdzIGZpeCB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk3MTg3CgoyMDE4LTA5LTIxIDIwOjM4OjAyICswMjAwICBBbGljaWEgQm95YSBHYXJjw61hIDxhYm95YUBpZ2FsaWEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhcnNlIHN1Y2Nlc3NpdmUgVHJhY2tzIGVsZW1lbnRzCgkgIFRoaXMgcGF0Y2ggYWxsb3dzIG1hdHJvc2thZGVtdXggdG8gcGFyc2UgYSBzZWNvbmQgVHJhY2tzIGVsZW1lbnQsCgkgIGVycm9yaW5nIG91dCBpZiB0aGUgdHJhY2tzIGFyZSBub3QgY29tcGF0aWJsZSAoZGlmZmVyZW50IG51bWJlciwgdHlwZSBvcgoJICBjb2RlYykgYW5kIGVtaXR0aW5nIG5ldyBjYXBzIGFuZCB0YWcgZXZlbnRzIHNob3VsZCB0aGV5IGhhdmUgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzMzMwoKMjAxOC0wOS0yMSAxNjoyMzo1NyArMDIwMCAgQWxpY2lhIEJveWEgR2FyY8OtYSA8YWJveWFAaWdhbGlhLmNvbT4KCgkgIG1hdHJvc2thZGVtdXg6IFJlZmFjdG9yIHRyYWNrIHBhcnNpbmcgb3V0IGZyb20gYWRkaW5nIHRyYWNrcwoJICBUaGlzIHNwbGl0cyBnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSgpIGludG86CgkgICogZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3N0cmVhbSgpOiB3aWxsIHJlYWQgdGhlIE1hdHJvc2thIGJ5dGVzdHJlYW0KCSAgYW5kIGZpbGwgYSBHc3RNYXRyb3NrYVRyYWNrQ29udGV4dC4KCSAgKiBnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKCk6IHdpbGwgY2hlY2sgdGhlcmUgYXJlIG5vIHJlcGVhdGVkCgkgIHRyYWNrcy4KCSAgKiBnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSgpOiBjcmVhdGVzIGFuZCBzZXRzIHVwIHRoZSBwYWQgZm9yIHRoZQoJICB0cmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzMzMwoKMjAxNy0xMS0zMCAyMDo0NDoyMyArMDEwMCAgQWxpY2lhIEJveWEgR2FyY8OtYSA8bnRycmdjQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbGxvdyBNYXRyb3NrYSBoZWFkZXJzIHRvIGJlIHJlYWQgbW9yZSB0aGFuIG9uY2UKCSAgVGhpcyBpcyBuZWNlc3NhcnkgZm9yIE1TRSwgd2hlcmUgYSBuZXcgTVNFIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgbWF5IGJlCgkgIGFwcGVuZGVkIGF0IGFueSBwb2ludC4gVGhlc2UgTVNFIGluaXRpYWxpemF0aW9uIHNlZ21lbnRzIGNvbnNpc3Qgb2YgYW4KCSAgZW50aXJlIFdlYk0gZmlsZSB1bnRpbCB0aGUgZmlyc3QgQ2x1c3RlciBlbGVtZW50IChub3QgaW5jbHVkZWQpLiBbMV0KCSAgTm90ZSB0aGF0IHRyYWNrIGRlZmluaXRpb25zIGFyZSBpZ25vcmVkIG9uIHN1Y2Nlc3NpdmUgaGVhZGVycywgdGhleSBtdXN0CgkgIG1hdGNoLCBidXQgdGhpcyBpcyBub3QgY2hlY2tlZCBieSBtYXRyb3NrYWRlbXV4IChsb29rIGZvcgoJICBgKCFkZW11eC0+dHJhY2tzX3BhcnNlZClgIGluIHRoZSBjb2RlKS4KCSAgU291cmNlIHBhZHMgYXJlIG5vdCBhbHRlcmVkIHdoZW4gdGhlIG5ldyBoZWFkZXJzIGFyZSByZWFkLgoJICBUaGlzIHBhdGNoIGhhcyBiZWVuIHNwbGl0dGVkIGZyb20gdGhlIG9yaWdpbmFsIHBhdGNoIGZyb20gZW9jYW5oYSBpbiBbMl0uCgkgIFsxXSBodHRwczovL3d3dy53My5vcmcvVFIvbXNlLWJ5dGUtc3RyZWFtLWZvcm1hdC13ZWJtLwoJICBbMl0gaHR0cHM6Ly9idWczMzQwODIuYnVnemlsbGEtYXR0YWNobWVudHMuZ25vbWUub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTM2MjIxMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzMzMzCgo9PT0gcmVsZWFzZSAxLjE0LjMgPT09CgoyMDE4LTA5LTE2IDE2OjIwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xNC4zCgoyMDE4LTA5LTE2IDE2OjIwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTA4LTE1IDAyOjEwOjI1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogRml4IHJlZmVyZW5jZSBjb3VudGluZyBsb29wCgkgIFRoZSBzdHJlYW0gY29udGV4dCB3YXMgaG9sZGluZyBhIHJlZmVyZW5jZSB0byB0aGUKCSAgaW50ZXJuYWwgcXVldWUgYW5kIHBhZHMsIHdpdGggcGFkIHByb2JlcyB0aGF0IHdlcmUKCSAgaW4gdHVybiBob2xkaW5nIHJlZmVyZW5jZXMgdG8gdGhlIHN0cmVhbSBjb250ZXh0LgoJICBUaGlzIGxlYWQgdG8gYSBsZWFrIGlmIHRoZSByZXF1ZXN0IHBhZHMgd2VyZW4ndCBleHBsaWNpdGx5CgkgIHJlbGVhc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODkzCgoyMDE4LTA3LTE3IDAwOjAzOjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBJbXByb3ZlIGhhbmRsaW5nIG9mIHJlcGVhdGVkIHRpbWVzdGFtcHMKCSAgV2hlbiBoYW5kbGluZyBpbnB1dCB3aXRoIHRpbWVzdGFtcHMgdGhhdCByZXBlYXQsIHNvbWV0aW1lcwoJICBzcGxpdG11eHNpbmsgd291bGQgZ2V0IGNvbmZ1c2VkIGFuZCBpZ25vcmUgYSBrZXlmcmFtZS4KCSAgVGhlIGxvZ2ljIGluIHF1ZXN0aW9uIGlzIGEgaG9sZG92ZXIgZnJvbSBiZWZvcmUgdGhlIGNtZCBxdWV1ZQoJICBtb3ZlZCB0aGUgZmlsZSBjdXR0aW5nIHRvIHRoZSBtdWx0aXF1ZXVlIG91dHB1dCBzaWRlIGFuZCBtYWRlCgkgIGl0IGRldGVybWluaXN0aWMsIHNvIGl0J3Mgbm8gbG9uZ2VyIG5lZWRlZCBvbiB0aGUgaW5wdXQKCSAgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njc3MwoKMjAxNy0wOC0yNSAxMTo1ODoxMiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBzdGFydCB0aGUgUlRDUCB0aHJlYWQgdW50aWwgaXQncyBuZWVkZWQKCSAgQWx3YXlzIHdhaXQgd2l0aCBzdGFydGluZyB0aGUgUlRDUCB0aHJlYWQgdW50aWwgZWl0aGVyIGEgUlRQIG9yIFJUQ1AKCSAgcGFja2V0IGlzIHNlbnQgb3IgcmVjZWl2ZWQuIFNwZWNpYWwgaGFuZGxpbmcgaXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGUKCSAgUlRDUCB0aHJlYWQgaXMgc3RhcnRlZCB3aGVuIHJlcXVlc3RpbmcgYW4gZWFybHkgUlRDUCBwYWNrZXQuCgkgIFdlIHdhbnQgdG8gd2FpdCB3aXRoIHN0YXJ0aW5nIHRoZSBSVENQIHRocmVhZCB1bnRpbCBpdCdzIG5lZWRlZCBpbiBvcmRlcgoJICB0byBub3Qgc2VuZCBSVENQIHBhY2tldHMgZm9yIGFuIGluYWN0aXZlIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTEzOQoKMjAxOC0wOS0xMSAwMDoxODozMiArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhc0BuZHVmcmVzbmUuY2E+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFByb3RlY3QgYWdhaW5zdCB6ZXJvIFBBUiBudW0vZGVtdQoJICBUaGlzIGZpeGVzIGFuIGFzc2VydGlvbiB3aGVuIHRoZSBkcml2ZXIgaW1wbGVtZW50IENST1BDQVAgYnV0IGRvZXMKCSAgbm90IHNldCB0aGUgUEFSLgoKMjAxOC0wOS0wNyAxODo1Mzo1MCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NwZWV4L21lc29uLmJ1aWxkOgoJICBtZXNvbjogRml4IHR5cG8gaW4gc3BlZXggYnVpbGQgZmlsZQoJICBCYWQgYmFja3BvcnQsIGhvc3Rfc3lzdGVtIGlzIG5vdCBkZWZpbmVkIGluIHRoaXMgYnJhbmNoLgoKMjAxOC0wOS0wNyAxODo0NzoyMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NwZWV4L21lc29uLmJ1aWxkOgoJICBtZXNvbjogRXhwbGljaXRseSBwYXNzIC1EV0lOMzIgd2hpbGUgYnVpbGRpbmcgc3BlZXgKCSAgVGhlIHNwZWV4IGhlYWRlcnMgYXNzdW1lIHRoYXQgV0lOMzIgd2lsbCBhbHdheXMgYmUgZGVmaW5lZCB3aGVuCgkgIGJ1aWxkaW5nIG9uIFdpbmRvd3MsIGJ1dCB0aGlzIGlzIG9ubHkgdHJ1ZSBieSBkZWZhdWx0IG9uIE1pbkdXLgoJICBBbHdheXMgc2V0IGl0IGV4cGxpY2l0bHkuCgoyMDE4LTA5LTAzIDE2OjA0OjMzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkgIG1wZzEyMzogUmVtb3ZlIHNzaXplX3QgZmFsbGJhY2ssIG5vdCBuZWVkZWQgYW55bW9yZQoJICBUaGUgbXBnMTIzIGhlYWRlcnMgbm93IGNvbnRhaW4gYSBkZWZpbml0aW9uIGZvciBzc2l6ZV90IGFuZCBidWlsZGluZwoJICB3aXRoIE1TVkMgZmFpbHMgYmVjYXVzZSBvZiBhIHJlZGVmaW5pdGlvbiBmb3Igc3NpemVfdAoKMjAxOC0wOC0yMiAxOToyMzo1MyArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBPbmx5IG9mZmVyIE1NQVAvRE1BQlVGIHBvb2wKCSAgVGhlIHByb3Bvc2UgYWxsb2NhdGlvbiB3YXMgb2ZmZXJpbmcgYSBwb29sIGV2ZW4gaW4gRE1BQlVGX0lNUE9SVCBvcgoJICBVU0VSUFRSIG1vZGUuIFRoZXNlIHBvb2wgYXJlIGludGVybmFsIG9ubHkuCgoyMDE4LTA4LTA5IDE1OjE0OjA1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBjb21wbGV0ZSBjb2xvcnNwYWNlIGluZm8gaW4gZGVidWcgbG9nCgkgIFRoZSBkZXNpcmVkIGNvbG9yaW1ldHJ5IGlzIGxvZ2dlZCB3aXRoIGFsbCBwYXJhbWV0ZXJzIChjb2xvcnBzYWNlLAoJICByYW5nZSwgbWF0cml4LCBhbmQgdHJhbnNmZXIgZnVuY3Rpb24pLCBidXQgb2YgdGhlIHZhbHVlcyBhY3R1YWxseQoJICBzZXQgYnkgdGhlIGRyaXZlciwgb25seSBjb2xvcnNwYWNlIGlzIGxvZ2dlZC4gQ29tcGxldGUgdGhlIGRlYnVnCgkgIGxvZyBtZXNzYWdlIHRvIGRpc3BsYXkgYWxsIGNvbG9yaW1ldHJ5IHBhcmFtZXRlcnM6CgkgIERlc2lyZWQgY29sb3JzcGFjZSBpcyA4OjE6MToxCgkgIEdvdCBmb3JtYXQgb2YgNjQweDQ4MCwgZm9ybWF0IFlVMTIsIG5iIHBsYW5lcyAxLCBjb2xvcnNwYWNlIDgKCSAgLT4KCSAgRGVzaXJlZCBjb2xvcnNwYWNlIGlzIDg6MToxOjEKCSAgR290IGZvcm1hdCBvZiA2NDB4NDgwLCBmb3JtYXQgWVUxMiwgbmIgcGxhbmVzIDEsIGNvbG9yc3BhY2UgODowOjA6MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2OTQwCgoyMDE4LTA4LTA5IDE1OjEyOjU3ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggdHlwbyBpbiBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5NDAKCjIwMTgtMDgtMDkgMTU6MDg6NTkgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGltcHJvdmUgY29sb3JzcGFjZSBoYW5kbGluZyBmb3IgSlBFRyBzb3VyY2VzCgkgIGdzdGpwZWdkZWMgc2V0cyAxOjQ6MDowIGNvbG9yaW1ldHJ5IChmdWxsIHJhbmdlIEJULjYwMSBZQ2JDciBlbmNvZGluZwoJICB3aXRoIHVua25vd24gcHJpbWFyaWVzIGFuZCB1bmtub3duIHRyYW5zZmVyIGZ1bmN0aW9uKS4gVGhpcyBjdXJyZW50bHkKCSAgZ2V0cyB0cmFuc2xhdGVkIHRvIGJ0NjAxIG9yIGJ0NzA5IGRlcGVuZGluZyBvbiByZXNvbHV0aW9uLgoJICBCb3RoIGNhc2VzIHJlc3VsdCBpbiBhIG5lZ290aWF0aW9uIGZhaWx1cmU6CgkgIEVSUk9SOiBmcm9tIGVsZW1lbnQgL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC92NGwydmlkZW8wY29udmVydDp2NGwydmlkZW8wY29udmVydDA6IERldmljZSAnL2Rldi92aWRlbzAnIGRvZXMgbm90IHN1cHBvcnQgMTo0OjA6MCBjb2xvcmltZXRyeQoJICBJbXByb3ZlIHRoZSBndWVzc2luZyBnYW1lIGJ5IHNlbGVjdGluZyBKUEVHIGNvbG9yaW1ldHJ5IChKUEVHIGNvbG9yc3BhY2UKCSAgd2l0aCBzUkdCIHRyYW5zZmVyIGZ1bmN0aW9uKSB1bmRlciB0aGVzZSBzcGVjaWZpYyBjb25kaXRpb25zLCBhbmQgbG9vc2VuCgkgIHRoZSBtYXRjaGluZyBzbyB0aGF0IDE6NDowOjAgaW5wdXQgZ2V0cyBhY2NlcHRlZCBpZiB0aGUgZGV2aWNlIGlzCgkgIGFjdHVhbGx5IGNvbmZpZ3VyZWQgdG8gMTo0Ojc6MSAoVjRMMl9QSVhfRk1UX0pQRUcgZGVmYXVsdCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5NDAKCjIwMTgtMDgtMDkgMTc6MjQ6MzUgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHN0b3AgVjRMMiBmcm9tIHplcm9pbmcgZXh0ZW5kZWQgY29sb3JpbWV0cnkgZm9yIG5vbi1tcGxhbmUKCSAgU2V0dGluZyB0aGUgcHJpdiBmaWVsZCB0byBhIG1hZ2ljIHZhbHVlIHN0b3BzIFY0TDIgY29yZSBmcm9tIHplcm9pbmcKCSAgdGhlIGV4dGVuZGVkIGNvbG9yaW1ldHJ5IGZpZWxkcyBxdWFudGl6YXRpb24sIHljYmNyX2VuYywgYW5kIHhmZXJfZnVuYwoJICBmb3Igbm9uLW1wbGFuZSBxdWV1ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5NDAKCjIwMTgtMDgtMTcgMTE6NDU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGRpc3QgcXQgZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njk2OAoKMjAxOC0wOC0xNiAxNjoyODoxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBVbmlmeSByZXF1aXJlZCB2ZXJzaW9uIHRvIDAuNDAuMQoKMjAxOC0wOC0xMSAxNjo0NToyNSArMDgwMCAgUm9sYW5kIEpvbiA8cmxhbmRqb25AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IGNvZGVjX2RhdGEgYnVmZmVyIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDEwMQoKMjAxOC0wNC0wMiAxMjo0ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXNvbi5idWlsZDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIHRlc3RzOiByZW1vdmUgYnJva2VuIGFuZCBub3cgcG9pbnRsZXNzIHY0bDJzcmMtdGVzdAoJICBUaGlzIHRlc3RzIEFQSXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIGFuZCBhbHNvIGRvZXNuJ3QKCSAgd29yayBhdCBhbGwsIGFuZCB3YXMgbGFzdCB0b3VjaGVkIGluIGEgbWVhbmluZ2Z1bCB3YXkgaW4gMjAwNi4KCjIwMTgtMDgtMDIgMDg6NDA6MTcgKzAyMDAgIEnDsWlnbyBIdWd1ZXQgPGluaWdvaHVndWV0QGhvdG1haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBmaXggZmlyc3QgaW5wdXQgdXNlZCBpcyBhbHdheXMgdXNlZCBuZXh0IHRpbWVzCgkgIFRoZSBpbnB1dCBmcm9tIGFuIHY0bDIgZGV2aWNlIHRoYXQgd2FzIHVzZWQgdGhlIGZpcnN0IHRpbWUgd2FzCgkgIHJlbWVtYmVyZWQgZm9yIG5leHQgdGltZXMsIGFuZCBzZXQgYWdhaW4gYWx3YXlzIHRoZSBwaXBlbGluZSBpcwoJICBzZXQgdG8gUkVBRFkgc3RhdGUuIFRoaXMgd2FzIG1ha2luZyB0aGF0IHVzZXJzIHdhc24ndCBhYmxlIHRvCgkgIHNlbGVjdCBhIGRpZmZlcmVudCBpbnB1dCB3aXRob3V0IGhhdmluZyB0byBjcmVhdGUgYSBuZXcgcGlwZWxpbmUuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhhdCB2NGwyc3JjIGVsZW1lbnQgZm9yZ2V0IHByZXZpb3VzIHVzZWQgaW5wdXQKCSAgd2hlbiBnb2luZyB0byBOVUxMIHN0YXRlLCBzbyBpdCB3aWxsIGNoZWNrIGFnYWluIGZvciB0aGUgY3VycmVudAoJICBzZWxlY3RlZCBpbnB1dCB3aGVuIGdvaW5nIGFnYWluIHRvIFJFQURZIHN0YXRlLiBVc2VycyBjYW4gY2hhbmdlCgkgIHRvIE5VTEwgc3RhdGUsIHNlbGVjdCBhIG5ldyBpbnB1dCB3aXRoIGEgVklESU9DX1NfSU5QVVQgaW9jdGwKCSAgYW5kIGNoYW5nZSB0byBQTEFZSU5HIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2OTA4CgoyMDE4LTA3LTI2IDE2OjQzOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IEFkZCBzdXBwb3J0IGZvciBmb3JjZS1rZXl1bml0IGV2ZW50cwoJICBUaGlzIHRyaWdnZXJzIGltbWVkaWF0ZSByZS1zZW5kaW5nIG9mIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgaW4tYmFuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Njg3NwoKMjAxOC0wNy0zMSAxMjo0Nzo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgYXNzZXJ0IGluIHByZWZpbGwgbW9kZSBpZiBhIHRyYWNrIGhhcyBubyBzYW1wbGVzIGF0IGFsbAoJICBKdXN0IHdyaXRlIGl0IHdpdGggYSBkdXJhdGlvbiBvZiAwLCBubyBzYW1wbGVzLCBldGMuCgoyMDE4LTA3LTEzIDIyOjMxOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSAgcnRwcGF5bG9hZDogRml4IFZQOC9WUDkvT1BVUyBkdWFsIGVuY29kaW5nIG5hbWUgaGFuZGxpbmcKCSAgQWxsIHRoZXNlIHdlcmUgY29weSBwYXN0ZWQgYW5kIHdvdWxkIGxlYWQgdG8gYXNzZXJ0aW9uIHdoZW4gY2hhaW5lZCB3aXRoCgkgIHJ0cG11eC4gVGhpcyBjb21taXQgcmV3cml0ZSB0aGUgbmVnb3RpYXRpb24gd2l0aCBkb3duc3RyZWFtLiBUaGlzIGFsc28KCSAgZHJvcCB0aGUgZmFsbGJhY2sgdG8gYW5jaWVudCBuYW1lcyBpZiB0aGUgcGFkIGlzIHVubGlua2VkLiBUaGlzIHdhcwoJICBjb21wbGV0bHkgYXJiaXRyYXJ5IGRlY2lzaW9uIHRoYXQgbWFkZSBubyBzZW5zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjgwOQoKMjAxOC0wOC0wMSAxMjowNjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2wuaDoKCSAgcXQ6IEVuc3VyZSBHTCBoZWFkZXJzIGFyZSBpbmNsdWRlZAoJICBPdGhlcndpc2UgdGhlcmUgbWF5IGJlIG5vIHZhbGlkIHR5cGVkZWYgb2YgR0xzeW5jLgoJICAuLi4KCSAgL3Vzci9pbmNsdWRlL2dzdHJlYW1lci0xLjAvZ3N0L2dsL2dzdGdsZnVuY3MuaDo5MzoyNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnR1NUX0dMX0VYVF9GVU5DVElPTicKCSAgcmV0IChHU1RHTEFQSSAqbmFtZSkgYXJnczsKCSAgXn5+fgoJICAvdXNyL2luY2x1ZGUvZ3N0cmVhbWVyLTEuMC9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDozMzoyMzogZXJyb3I6ICdHTHN5bmMnIGhhcyBub3QgYmVlbiBkZWNsYXJlZAoJICAoR0xzeW5jIHN5bmMpKQoJICBefn5+fn4KCSAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY4NzkKCjIwMTgtMDctMTkgMTc6MzE6MDMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBMOHBheS5jOgoJICBydHBMOHBheTogZG9uJ3QgdHJ5IHRvIG1vZGlmeSBhIHJlYWQtb25seSBzdHJ1Y3R1cmUKCSAgSnVzdCByZW1vdmUgdGhlIGNvZGUuIEl0J3Mgbm90IGRvaW5nIGFueXRoaW5nIHVzZWZ1bCBhbnl3YXlzLiBUaGUgbW9kaWZpZWQKCSAgY2FwcyBhcmUgdGhlIHJlc3VsdCBvZiBhIGNhcHMgcXVlcnksIHNvIGVpdGhlciBub3QgdXNlZCBhZnRlcndhcmRzIG9mIGEKCSAgcmVmZXJlbmNlIHRvIHNvbWUgaW50ZXJuYWwgY2FwcyBvZiBhbm90aGVyIGVsZW1lbnQgdGhhdCBzaG91bGQgbm90IGJlCgkgIG1vZGlmaWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODM3CgoyMDE4LTA3LTEzIDE5OjQ1OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwOiBVc2UgcnVubmluZ190aW1lIGluc3RlYWQgb2YgUFRTIGZvciBjb25maWctaW50ZXJ2YWwgY2FsY3VsYXRpb25zCgkgIFBUUyBjYW4gc3RhcnQgYWdhaW4gZnJvbSBhIGRpZmZlcmVudCBvZmZzZXQgd2hpbGUgdGhlIHJ1bm5pbmcgdGltZSBpcwoJICBpbmNyZWFzaW5nLiBUaGUgb25seSB0aGluZyB0aGF0IG1hdHRlcnMgaGVyZSBpcyB0aGUgcnVubmluZyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODA3Cgo9PT0gcmVsZWFzZSAxLjE0LjIgPT09CgoyMDE4LTA3LTIwIDAwOjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xNC4yCgoyMDE4LTA3LTIwIDAwOjU0OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTA3LTE3IDA4OjIzOjU0ICswMjAwICBJw7FpZ28gSHVndWV0IDxpbmlnb2h1Z3VldEBmYW5hbW9lbC5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJICBxbWxnbDogRml4IGNvbmZsaWN0aW5nIGRlY2xhcmF0aW9uIG9mIHR5cGUgR0xzeW5jIGZvciBub24tYW5kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODIxCgoyMDE4LTA2LTIwIDEwOjAzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFByb3RlY3QgaW5wdXQgc3RyZWFtIHdpdGggbG9jawoJICBUaGlzIHdhcyB0aGUgbGFzdCByZW1haW5pbmcgcGxhY2Ugd2hlcmUgbW9kaWZ5aW5nL3VucmVmZmluZyB0aGUKCSAgaW5wdXQgc3RyZWFtIHdhcyBub3QgcHJvdGVjdGVkIGJ5IHRoZSBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY2MzkKCjIwMTgtMDYtMTggMTI6MTM6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBNYWtlIHN1cmUgZXZlbnRzIGFyZSB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyB0aGVpciBzZXFudW0KCjIwMTgtMDctMTMgMTY6NTE6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBWYWxpZGF0ZSB0aGF0IGNhcHR1cmUgYnVmZmVycyB3ZXJlIHF1ZXVlZAoJICBXaGVuIHRoZSBwb29sIGlzIHN0YXJ0ZWQsIHdlIGFsbG9jYXRlIGFuZCByZWxlYXNlIGJ1ZmZlciwgZXhwZWN0aW5nCgkgIHRoZSBwb29sIHJlbGVhc2UtYnVmZmVyIGhhbmRsZXIgdG8gcXVldWUgdGhlbS4gVGhvdWdoLCBhcyB3ZSByZWx5CgkgIG9uIHJlbGVhc2UgZnVuY3Rpb24sIHRoZXJlIGlzIG5vIGRpcmVjdCB3YXkgdG8gZGV0ZWN0IHRoYXQgdGhpcwoJICBwcm9jZXNzIGRpZG4ndCB3b3JrLgoJICBUbyBjaGVjayB0aGlzLCB2YWxpZGF0ZSB0aGF0IHRoZSBudW1iZXIgb2YgcXVldWVkIGJ1ZmZlciBpcyB0aGUgc2FtZQoJICBhcyB0aGUgbnVtYmVyIG9mIGFsbG9jYXRlZCBidWZmZXJzLiBUaGlzIGFsbG93IHJldHVybmluZyBhbiBlcnJvcgoJICB3aGVuIGJ1ZmZlciBpbXBvcnRhdGlvbiB3YXMgcmVmdXNlZCBieSB0aGUgZHJpdmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgzODkwCgoyMDE4LTA3LTEzIDE2OjAyOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogT25seSByZXR1cm4gZW9zIGZvciBNMk0gZGV2aWNlcwoJICBUaGlzIHdpbGwgYXZvaWQgc2VuZGluZyBFT1Mgb24gdjRsMnNyYyB3aGVuIGEgZHJpdmVyIHNlbmRzIGFuIGVtcHR5CgkgIGJ1ZmZlcnMuIFRoaXMgY2FzZSB3b3VsZCBiZSBhIGJ1ZyBpbiB0aGUgZHJpdmVyLCBidXQgeWV0IHRoZSBjYW1lcmEKCSAgc2hvdWxkIGtlZXAgcnVubmluZy4KCSAgVGhpcyBhbHNvIHJlbW92ZXMgdGhlIGNoZWNrIGZvciBjb3JydXB0ZWQgYnVmZmVycywgYXMgdGhpcyBjaGVjayBpcwoJICBhbHJlYWR5IGRvbmUgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ4NDIKCjIwMTgtMDctMTMgMTU6NTg6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFkZCBhIG1hY3JvIHRvIGNoZWNrIGZvciBNMk0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDg0MgoKMjAxOC0wNy0xMyAxNDo0MToxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggdXNlcnB0ciBpbXBvcnRhdGlvbgoJICBUaGUgbGVuZ3RoIHBhc3NlZCB0byB0aGUgZHJpdmVyIHdhcyBhbHdheXMgMCBpbnN0ZWFkIG9mIHRoZSBzaXplIG9mCgkgIHRoZSBtZW1vcnkuIFRoaXMgd291bGQgZmFpbCB2YWxpZGF0aW9uIGluIHZpZGVvYnVmMi4KCjIwMTgtMDctMTEgMTI6MjE6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFRyeSB0byBhdm9pZCBUUllfRk1UIHdoZW4gY2FtZXJhIGlzIHN0cmVhbWluZwoJICBTb21lIGNhbWVyYSBmaXJtd2FyZSBjcmFzaCBpcyBUUllfRk1UIGlzIGNhbGxlZCBkdXJpbmcgc3RyZWFtaW5nLiBBcyBhCgkgIHNpZGUgZWZmZWN0LiBUaGlzIHRyeSBhbmQgZGV0ZWN0IHRoYXQgdGhlIHNhbWUgZm9ybWF0IGFzIGN1cnJlbnRseQoJICBydW5uaW5nIGlzIGFib3V0IHRvIGJlIHRyaWVkLCBhbmQgc2tpcCByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2Nzg5CgoyMDE4LTA3LTA5IDEzOjU5OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcm90ZWN0IGRvdWJsZSBjYWxscyB0byBzZXRfZm9ybWF0KCkKCSAgSW4gc29tZSBjYXNlcywgc2V0X2Zvcm1hdCgpIG1heSBnZXQgY2FsbGVkIHR3aWNlIGJlZm9yZSB0aGUgb3V0cHV0CgkgIGZvcm1hdCBpcyBzZXQuIFJ1bm5pbmcgYW4gYWxsb2NhdGlvbiBxdWVyeSBpbiB0aGlzIGNhc2UgaXMgYm90aCBub3QKCSAgbmVlZGVkIGFuZCB3aWxsIGNhdXNlIGFzc2VydGlvbiBkdWUgdG90IGhlIE5VTEwgY2Fwcy4KCjIwMTgtMDctMDggMjA6MDg6MTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IE1hcmsgYXMgQXVkaW8gaW4gY2xhc3NpZmljYXRpb24KCjIwMTgtMDYtMjggMTk6MDg6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IE9ubHkgcmVuZWdvdGlhdGUgd2l0aCB1cHN0cmVhbQoJICBXaGVuIHRoZSBkZWNvZGVyIGdldCBsaW5rZWQgZnVydGhlciwgaXQgd2lsbCByZWNlaXZlIGEgcmVuZWdvdGlhdGlvbgoJICBldmVudCBmcm9tIGRvd25zdHJlYW0uIFRoaXMgY2FzZSBpcyBub3Qgc3VwcG9ydGVkIGFuZCBzaG91bGQgYmUgaWdub3JlZC4KCSAgVGhpcyBmaXhlcyBpc3N1ZXMgd2hlbiB0aGlzIGVuY29kZXIgaXMgdXNlZCBpbnNpZGUgYW4gR3N0UnRzcFNlcnZlcgoJICBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjUyNQoKMjAxOC0wNi0yMiAxNDo1NjozMSArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogRG9uJ3Qgc2V0IGNvbG9yaW1ldHJ5IG9uIGNhcHR1cmUKCSAgVGhlIGNvbG9yaW1ldHJ5IHdpbGwgYmUgc2V0IGFsb25nIHdpdGggdGhlIHJhdyBmb3JtYXQgYW5kIHRob3NlIGZpZWxkcwoJICB3aWxsIHRoZW4gYmUgY29waWVkIGZyb20gc2luayB0byBzcmMgY2FwcyBieSB0aGUgZ3N0IGVuY29kZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE0NzEKCjIwMTgtMDYtMjcgMTY6NTc6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVhbGx5IGFsd2F5cyBzZXQgY29sb3JpbWV0cnkKCSAgVGhpcyBmaXhlcyBwYXRjaCBkZDFjNWFlZDY1NmUwN2UzZGFkMDFmODM0MTBmM2FmMTZjZmIxNGNmIHdoaWNoCgkgIHByZXRlbmRlZCB0byBhbHdheXMgc2V0IGNvbG9yaW1ldHJ5IGJ1dCB0aGUgcGF0Y2ggd2FzIGluY29tcGxldGUuCgkgIFRoaXMgaXMgYWdhaW4gYmVzdCBlZmZvcnQgY29uc2lkZXJpbmcgdGhlIHNwZWMgc2F5cyB0aGF0IGZvciBDQVBUVVJFCgkgIHlvdSBtYXkgb25seSByZWFkIHRoaXMgdmFsdWUuCgoyMDE4LTA2LTI2IDE1OjA0OjM5ICswMjAwICBNaWNoYWVsIFRyZXR0ZXIgPG0udHJldHRlckBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IGRvIG5vdCBjYWxsIHN0cmVhbW9uIHdoaWxlIHBvb2wgaXMgZmx1c2hpbmcKCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmx1c2goKSBleGVjdXRlcyBzdHJlYW1vZmYgZm9yIHRoZSBvdXRwdXQsIGJ1dAoJICBzdHJlYW1vZmYtPnN0cmVhbW9uIGZvciB0aGUgY2FwdHVyZSBvZiB0aGUgZGVjb2Rlci4KCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfc3RyZWFtb24oKSBvbiBjYXB0dXJlIGFzc3VtZXMgdGhhdCBpcyBhYmxlIHRvCgkgIHJlc3VycmVjdCB0aGUgYnVmZmVycyBmcm9tIHRoZSBwb29sLCBidXQgYWNxdWlyaW5nIGJ1ZmZlcnMgZmFpbHMgaWYgdGhlCgkgIGJ1ZmZlciBwb29sIGlzIHN0aWxsIGZsdXNoaW5nLgoJICBUaGUgZGVjb2RlciBuZWVkcyB0byBzdG9wIGZsdXNoaW5nIHRoZSBwb29scyBiZWZvcmUgY2FsbGluZwoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9mbHVzaCgpIHRvIHJlc3RhcnQgdGhlIHY0bDIgZGV2aWNlLiBPdGhlcndpc2UKCSAgc3RhcnRpbmcgdGhlIGRlY29kaW5nIHRocmVhZCBtaWdodCBmYWlsLCBiZWNhdXNlIHRoZXJlIGFyZSBubyBidWZmZXJzIGluCgkgIHRoZSBjYXB0dXJlIHBvb2wuCgkgIFRoaXMgZml4ZXMgYSByZWdyZXNzaW9uIHRoYXQgd2FzIGludHJvZHVjZWQgaW4gOTc5ODVhMzM1Yzc4CgkgICgidjRsMnZpZGVvZGVjOiBBZGQgZHluYW1pYyByZXNvbHV0aW9uIGNoYW5nZSBzdXBwb3J0IikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY2ODEKCjIwMTgtMDYtMjUgMTY6MDM6MTcgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHVzZSBTX1NFTEVDVElPTiBpbnN0ZWFkIG9mIFNfQ1JPUCBpbiBnc3RfdjRsMl9vYmplY3Rfc2V0X2Nyb3AKCSAgVGhlIFNfQ1JPUCBjYWxsIGRvZXNuJ3Qgd29yayBvbiBtZW0ybWVtIG91dHB1dCBxdWV1ZXMuIFVzZSB0aGUKCSAgU19TRUxFQ1RJT04gY2FsbCB0byBzZXQgdGhlIGNyb3AgcmVjdGFuZ2xlIGFuZCBvbmx5IGZhbGwgYmFjayB0bwoJICBTX0NST1AgZm9yIGFuY2llbnQga2VybmVscy4KCSAgVGhpcyB3aWxsIGFsbG93IHY0bDJ2aWRlb2VuYyB0byBzZXQgdGhlIGNvZGVkIHNpemUgb24gdGhlIG91dHB1dAoJICBxdWV1ZSB2aWEgU19GTVQgYW5kIHRoZW4gc2V0IHRoZSB2aXNpYmxlIHNpemUgdmlhIHRoZSBjcm9wIHJlY3RhbmdsZSwKCSAgYXMgcmVxdWlyZWQgYnkgdGhlIFY0TDIgY29kZWMgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NjcyCgoyMDE4LTA2LTI3IDEzOjQ2OjAwICswMDAwICBNYXJpYW4gTWloYWlsZXNjdSA8bWloYWlsZXNjdTJtQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IGFjdGl2YXRlIGNhcHR1cmUgcG9vbCBhZnRlciBvdXRwdXQgcG9vbAoJICBTb21lIGRyaXZlcnMgbmVlZCBvdXRwdXQgYnVmZmVycyBzZXQgYmVmb3JlIGNhcHR1cmUgYnVmZmVycy4KCSAgQ09EQSBjYW5ub3Qgc2V0IG91dHB1dCBmb3JtYXQgaWYgY2FwdHVyZSBpcyBzdHJlYW1pbmcuCgkgIEV4eW5vcyBNRkMgZmFpbHMgb24gb3V0cHV0IFNUUkVBTU9OIGlmIGNhcHR1cmUgaXMgYWxyZWFkeSBzdHJlYW1pbmcuCgkgIFRoaXMgcGF0Y2ggZGVsYXlzIGNhcHR1cmUgYWN0aXZhdGlvbiB1bnRpbCBvdXRwdXQgaXMgY29uZmlndXJlZCBhbmQKCSAgc3RyZWFtaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY2OTMKCjIwMTgtMDUtMTYgMjA6MTY6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgb3BlbiB0aGUgZGV2aWNlIGluIGdldCBwcm9wZXJ0eQoJICBUaGlzIGlzIGJvdGggcmFjeSBhbmQgaW5lZmZpY2llbnQuIFRoaXMgZnVuY3Rpb24gaXMgc3RpbGwgbWlzc2luZyBzb21lCgkgIGxvY2tpbmcgd2hpY2ggd2lsbCBiZSBhZGRyZXNzIGluIGxhdGVyIHBhdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2MTg1CgoyMDE4LTA1LTEyIDA4OjAzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2VzCgkgIEl0J3MgYSBkZWNvZGVyLCBub3QgYW4gZW5jb2RlciA6KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1OTQxCgoyMDE4LTA1LTI4IDE1OjE5OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRHJvcCB0cnVuY2F0ZWQgZnJhbWVzCgkgIERyb3AgdHJ1bmNhdGVkIGZyYW1lcyByZWdhcmRsZXNzIGlmIHRoZXkgaGF2ZSB0aGUgRVJST1IgZmxhZyBvciBub3QuCgkgIFRydW5jYXRlZCBmcmFtZSBjYXVzZXMgdmlkZW8gZnJhbWUgbWFwIGZhaWx1cmUgaW4gbWFueSBlbGVtZW50cwoJICBpbmNsdWRpbmcgY2x1dHRlcnNpbmssIGdsdXBsb2FkIGV0Yy4KCjIwMTgtMDUtMjcgMjA6Mjk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzdG9yYWdlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHVscGZlYy5jOgoJICB0ZXN0czogcnRwc3RvcmFnZTogZml4IHBvdGVudGlhbCBjcmFzaGVzIC8gdGVzdCBmYWlsdXJlcyBvbiAzMi1iaXQKCSAgUGFzcyA2NCBiaXRzIHRvIGdfb2JqZWN0X3NldCgpIGZvciA2NC1iaXQgaW50ZWdlciBwcm9wZXJ0aWVzIGxpa2UKCSAgcnRwc3RvcmFnZSdzICJzaXplLXRpbWUiIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NDI5Cgo9PT0gcmVsZWFzZSAxLjE0LjEgPT09CgoyMDE4LTA1LTE3IDEzOjI1OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xNC4xCgoyMDE4LTA1LTE3IDEzOjI1OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTA1LTE3IDEyOjM3OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vaHIucG86CgkgIFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTgtMDUtMTUgMTQ6NTY6MDQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBhbHNvIHB1c2ggYnVmZmVycyB3aXRob3V0IGVuY3J5cHRpb24gaW5mbyBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzYyZTljNjQ1ZWMxMzUxM2M2MmViNWEzODAwZDc0MDZlMDFjZGNiNy4KCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IG1pc3Rha2UKCjIwMTgtMDUtMTUgMTQ6NTU6NTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIFJldmVydCAicXRkZW11eDogYWRkIGNvbnRleHQgZm9yIGEgcHJlZmVycmVkIHByb3RlY3Rpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGJhNjJiYTQ4MDVlMmNkYmVkMTdmYTk5MzQ3NjJkNjg1YmU0MmZkNC4KCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IG1pc3Rha2UKCjIwMTgtMDUtMTUgMTQ6NTU6NDYgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBSZXZlcnQgInNvdXBodHRwc3JjOiBjb29raWUgamFyIGFuZCBjb250ZXh0IHF1ZXJ5IHN1cHBvcnQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjcxNWFmOTkzM2E2NjA3ZTVkODZhYzZmYzFiY2Y0NzY3NjFjYmYxMC4KCSAgVGhpcyB3YXMgcHVzaGVkIGJ5IG1pc3Rha2UKCjIwMTgtMDQtMjIgMTA6NDA6MTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGlnYWxpYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFjY2VwdCBzb2YtbWFya2VyPTQKCSAgc29mLW1hcmtlciBpcyA0IHdoZW4gaW5wdXQgaXMgaW4gdGhlIFJHQiBjb2xvcnNwYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1NDYzCgoyMDE3LTA0LTI0IDE3OjIyOjAyICswMDAwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogPGVvY2FuaGFAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIHB1c2ggYnVmZmVycyB3aXRob3V0IGVuY3J5cHRpb24gaW5mbyBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0KCjIwMTctMDYtMjEgMTc6NTk6MjEgKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhZGQgY29udGV4dCBmb3IgYSBwcmVmZXJyZWQgcHJvdGVjdGlvbgoJICBxdGRlbXV4IHNlbGVjdGVkIHRoZSBmaXJzdCBzeXN0ZW0gY29ycmVzcG9uZGluZyB0byBhIHdvcmtpbmcgR1N0cmVhbWVyCgkgIGRlY3J5cHRvci4gV2l0aCB0aGlzIGNoYW5nZSwgYmVmb3JlIHNlbGVjdGluZyB0aGF0IGRlY3J5cHRvciwgcXRkZW11eAoJICB3aWxsIGNoZWNrIGlmIGl0IGhhcyBjb250ZXh0IChhIHByZWZlcnJlZCBkZWNyeXB0b3IgaWQpIGFuZCBpZiBub3QsIGl0CgkgIHdpbGwgcmVxdWVzdCBpdC4KCSAgVGhlIHJlcXVlc3QgaW5jbHVkZXMgdHJhY2staWQsIGF2YWlsYWJsZSBrZXkgc3lzdGVtIGlkcyBmb3IgdGhlCgkgIGF2YWlsYWJsZSBkZWNyeXB0b3JzIGFuZCBldmVuIHRoZSBldmVudHMgc28gdGhhdCB0aGUgaW5pdCBkYXRhIGlzCgkgIGFjY2Vzc2libGUuCgkgIFtlb2NhbmhhQGlnYWxpYS5jb206IHNlbGVjdCB0aGUgcHJlZmVycmVkIHByb3RlY3Rpb24gc3lzdGVtIGV2ZW4gaWYgbm90IGF2YWlsYWJsZV0KCSAgVGVzdCAiNC4gQ2xlYXJLZXlWaWRlbyIgaW4gWW91VHViZSBsZWFuYmFjayBFTUUgY29uZm9ybWFuY2UgdGVzdHMgMjAxNiBmb3IKCSAgSC4yNjRbMV0gdXNlcyBhIG1lZGlhIGZpbGVbMl0gd2l0aCBjZW5jIGVuY3J5cHRpb24gd2hpY2ggZW1iZWRzICdwc3NoJyBib3hlcwoJICB3aXRoIHRoZSBpbml0IGRhdGEgZm9yIHRoZSBQbGF5cmVhZHkgYW5kIFdpZGV2aW5lIGVuY3J5cHRpb24gc3lzdGVtcywgYnV0IG5vdAoJICBmb3IgdGhlIENsZWFyS2V5IGVuY3J5cHRpb24gc3lzdGVtIChhcyBkZWZpbmVkIGJ5IHRoZSBFTUV2MC4xYiBzcGVjWzNdIGFuZCB3aXRoCgkgIHRoZSBlbmNyeXB0aW9uIHN5c3RlbSBpZCBkZWZpbmVkIGluIFs0XSkuCgkgIEluc3RlYWQsIHRoZSBDbGVhcktleSBlbmNyeXB0aW9uIHN5c3RlbSBpcyBtYW51YWxseSBzZWxlY3RlZCBieSB0aGUgd2ViIHBhZ2UKCSAgY29kZSAoZXZlbiBpZiBub3Qgb3JpZ2luYWxseSBkZXRlY3RlZCBieSBxdGRlbXV4KSBhbmQgdGhlIHByb3BlciBkZWNyeXB0aW9uIGtleQoJICBpcyBkaXNwYXRjaGVkIHRvIHRoZSBkZWNyeXB0b3IsIHdoaWNoIGNhbiB0aGVuIGRlY3J5cHQgdGhlIHZpZGVvIHN1Y2Nlc3NmdWxseS4KCSAgWzFdIGh0dHA6Ly95dC1kYXNoLW1zZS10ZXN0LmNvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL3VuaXQtdGVzdHMvMjAxNi5odG1sP3Rlc3RfdHlwZT1lbmNyeXB0ZWRtZWRpYS10ZXN0JndlYm09ZmFsc2UKCSAgWzJdIGh0dHA6Ly95dC1kYXNoLW1zZS10ZXN0LmNvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL3VuaXQtdGVzdHMvbWVkaWEvY2FyX2NlbmMtMjAxMjA4MjctODYubXA0CgkgIFszXSBodHRwczovL2R2Y3MudzMub3JnL2hnL2h0bWwtbWVkaWEvcmF3LWZpbGUvZW1lLXYwLjFiL2VuY3J5cHRlZC1tZWRpYS9lbmNyeXB0ZWQtbWVkaWEuaHRtbCNzaW1wbGUtZGVjcnlwdGlvbi1jbGVhci1rZXkKCSAgWzRdIGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMjcjYzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDEwNwoKMjAxNS0xMC0yOCAxMjowMDowOSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBjb29raWUgamFyIGFuZCBjb250ZXh0IHF1ZXJ5IHN1cHBvcnQKCSAgVXNlIGEgdm9sYXRpbGUgQ29va2llIGphciB0byBzdG9yZSBjb29raWVzIGFuZCBoYW5kbGUgdGhlIGNvbnRleHQKCSAgcXVlcnkgc28gdGhhdCBzZXNzaW9uIGRhdGEgY2FuIGJlIHNoYXJlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChsaWtlCgkgIGFkYXB0aXZlZGVtdXgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzE0CgoyMDE3LTA4LTI1IDExOjU5OjAwICswMjAwICBNaWtoYWlsIEZsdWRrb3YgPG1pc2hhQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggb24tZmVlZGJhY2stcnRjcCByYWNlCgkgIElmIHRoZXJlIGlzIGFuIGV4dGVybmFsIHNvdXJjZSB3aGljaCBpcyBhYm91dCB0byB0aW1lb3V0IGFuZCBiZSByZW1vdmVkCgkgIGZyb20gdGhlIHNvdXJjZSBoYXNodGFibGUgYW5kIHdlIHJlY2VpdmUgZmVlZGJhY2sgUlRDUCBwYWNrZXQgd2l0aCB0aGUKCSAgbWVkaWEgc3NyYyBvZiB0aGUgc291cmNlLCB3ZSB1bmxvY2sgdGhlIHNlc3Npb24gaW4KCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19mZWVkYmFjayBiZWZvcmUgZW1pdHRpbmcgJ29uLWZlZWRiYWNrLXJ0Y3AnIHNpZ25hbAoJICBhbGxvd2luZyBydGNwIHRpbWVyIHRvIGtpY2sgaW4gYW5kIGdyYWIgdGhlIGxvY2suIEl0IHdpbGwgZ2V0IHJpZCBvZgoJICB0aGUgc291cmNlIGFuZCBydHBfc2Vzc2lvbl9wcm9jZXNzX2ZlZWRiYWNrIHdpbGwgYmUgbGVmdCB3aXRoIFJUUFNvdXJjZQoJICB3aXRoIHJlZiBjb3VudCAwLgoJICBUaGUgZml4IGlzIHRvIGdyYWIgdGhlIHJlZiB0byB0aGUgUlRQU291cmNlIG9iamVjdCBpbgoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2ZlZWRiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MTM5CgoyMDE3LTExLTI3IDEwOjU2OjQ3ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIG1pc3NpbmcgbG9jayBhcm91bmQgc2Vzcy0+c3NyY3MgaXRlcmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUxMzkKCjIwMTQtMTAtMDUgMTU6NTE6MTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBkbyBub3QgYWNjZXB0IGhlYWRlciB3aXRoIGludmFsaWQgY2hhbm5lbCBjb3VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3OTI4CgoyMDE4LTA1LTEwIDEzOjU3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluaXRpYWxpemUgcmlmZiBsaWJyYXJ5CgkgIEF2b2lkcyBkZWJ1Z2dpbmcgbWVzc2FnZSBpc3N1ZXMuIEFsc28ganVzdCB1c2UgdGhlIG1haW4gcmlmZiBoZWFkZXIKCjIwMTgtMDUtMDUgMTY6MzI6NTkgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZG9uJ3QgdXNlIGJ1ZmZlciBsaXN0cyBpZiBldmVyeXRoaW5nIGZpdHMgaW50byBvbmUgYnVmZmVyCgkgIFBlb3BsZSBtaWdodCB1c2UgdmVyeSBsYXJnZSBtdHUgc2l6ZXMgd2hlcmUgZXZlcnkgcGF5bG9hZAoJICBmaXRzIGludG8gYSBzaW5nbGUgb3V0cHV0IHBhY2tldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTc1OAoKMjAxOC0wNC0yMyAxMToyNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRG9uJ3Qgd2FrZSB1cCB0aGUgbXV4ZXIgdW5sZXNzIHRoZXJlIGlzIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTMzMgoKMjAxOC0wNC0yMyAxMToxOToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogU2F2ZSB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgb3V0cHV0IHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTMzMgoKMjAxOC0wNC0xOSAxNzo1Mzo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IFdhaXQgZm9yIGNhcHMgZnJvbSBib3RoIHNyY3MgYmVmb3JlIHdyaXRpbmcgaGVhZGVyCgkgIFdhaXQgZm9yIGNhcHMgb24gYWxsIHBhZHMgdG8gc3RhcnQgd3JpdGluZyBkYXRhIGV2ZW4gd2hlbiBzb3VyY2UgaXMgbGl2ZS4KCSAgSW5jbHVkZXMgdW5pdCB0ZXN0IGJ5IEhhdmFyZCBHcmFmZiB0aGF0IHNpbXVsYXRlcyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDcyMgoKMjAxOC0wNC0xNiAyMToyNzo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRHJhaW4gdGhlIHBhcnNlciB3aGVuIGEgQ0FQUyBldmVudCBpcyByZWNlaXZlZAoJICBBZnRlciBhIENBUFMgZXZlbnQsIGluIHRoZW9yeSBhIG5ldyBzdHJlYW0gY2FuIHN0YXJ0IGFuZCBpdCBtaWdodCBzdGFydAoJICB3aXRoIHRoZSBGTEFDIGhlYWRlcnMgYWdhaW4uIFdlIGNhbid0IGRldGVjdCBGTEFDIGhlYWRlcnMgaW4gdGhlIG1pZGRsZQoJICBvZiB0aGUgc3RyZWFtLCBzbyB3ZSBkcmFpbiB0aGUgcGFyc2VyIHRvIGJlIGFibGUgdG8gZGV0ZWN0IGVpdGhlciBGTEFDCgkgIGhlYWRlcnMgYWZ0ZXIgdGhlIENBUFMgZXZlbnQgb3IgdGhlIGNvbnRpbnVhdGlvbiBvZiB0aGUgcHJldmlvdXMgc3RyZWFtLgoJICBUaGlzIGZpeGVzIGZvciBleGFtcGxlCgkgIGdzdC1sYXVuY2gtMS4wIGF1ZGlvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISBmbGFjZW5jICEgYy4gXAoJICBhdWRpb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwIGZyZXE9ODgwICEgZmxhY2VuYyAhIGMuIFwKCSAgY29uY2F0IG5hbWU9YyAhIHJ0cGdzdHBheSAhIHVkcHNpbmsgaG9zdD0xMjcuMC4wLjEgcG9ydD01MDAwCgkgIGdzdC1sYXVuY2gtMS4wIHVkcHNyYyBtdWx0aWNhc3QtZ3JvdXA9MTI3LjAuMC4xIHBvcnQ9NTAwMCBcCgkgIGNhcHM9YXBwbGljYXRpb24veC1ydHAsbWVkaWE9YXBwbGljYXRpb24sY2xvY2stcmF0ZT05MDAwMCxlbmNvZGluZy1uYW1lPVgtR1NUICEgXAoJICBydHBnc3RkZXBheSAhIGZsYWNwYXJzZSAhIGZsYWNkZWMgISBhdWRpb2NvbnZlcnQgISBwdWxzZXNpbgoKMjAxOC0wNC0wNCAxNTo1MDo1NSArMDIwMCAgS2lyaWxsIE1hcmludXNoa2luIDxrbWFyaW51c2hraW5AZGUuYWRpdC1qdi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGhhcmQtY29kZWQgZW5hYmxlZCB2NGwyIHByb2JlIG9uIExpbnV4L0FSTQoJICBDdXJyZW50bHksIGVuYWJsZV92NGwyX3Byb2JlIGlzIGhhcmQtY29kZWQgdG8gInllcyIgb24gbGludXgsIHBsYXRmb3JtcwoJICBhcm0gYW5kIGFhcmNoNjQuIFRoaXMgZXZlbiBvdmVycmlkZXMgdGhlIC0tZGlzYWJsZS12NGwyLXByb2JlIGFyZ3VtZW50LgoJICBBcyBhIHJlc3VsdCwgaXQgaXMgaW1wb3NzaWJsZSB0byBkaXNhYmxlIHY0bDJfcHJvYmUuIEl0IGJlY29tZXMgYSBwcm9ibGVtCgkgIGZvciB1c2UtY2FzZXMsIHdoZW4gc3RhcnR1cCB0aW1lIGlzIGNyaXRpY2FsLCBiZWNhdXNlIHRoZSB2NGwyX3Byb2JlCgkgIGZlYXR1cmUgaW5jcmVhc2VzIHRoZSBpbml0aWFsaXphdGlvbiB0aW1lLgoJICBUaGlzIGNvbW1pdCBtYWtlcyB0aGUgdjRsMl9wcm9iZSBmZWF0dXJlIGNvbmZpZ3VyYWJsZS4KCSAgT24gbGludXgsIHBsYXRmb3JtcyBhcm0gYW5kIGFhcmNoNjQsIHRoZSBkZWZhdWx0IHZhbHVlIGlzIHN0aWxsICJ5ZXMiLgoJICBCdXQgbm93IGl0IGNhbiBiZSBkaXNhYmxlZCBieSB0aGUgLS1kaXNhYmxlLXY0bDItcHJvYmUgYXJndW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUyMDAKCjIwMTgtMDQtMTMgMTM6Mjk6MDYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogcmVseSBvbiBnc3RfdjRsMl9kdXAoKSB0byBzZXQgbm9faW5pdGlhbF9mb3JtYXQgYW5kIGtlZXBfYXNwZWN0CgkgIGdzdF92NGwyX2R1cCgpIHdpbGwgbm93IHRha2UgY2FyZSBvZiBzZXR0aW5nCgkgIHY0bDJjYXB0dXJlLT5ub19pbml0aWFsX2Zvcm1hdCBhbmQga2VlcF9hc3BlY3QgaW5zdGVhZCBvZiBkb2luZyBpdAoJICBtYW51YWxseS4KCSAgRml4IGEgdHlwbyBhcyBrZWVwX2FzcGVjdCB3YXMgc2V0IHR3aWNlIG9uIHY0bDJvdXRwdXQgYnV0IG5ldmVyIG9uCgkgIHY0bDJjYXB0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MDI4CgoyMDE4LTA0LTE3IDE3OjU3OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHNwL3Rlc3Qtb252aWYuYzoKCSAgUmV2ZXJ0ICJydHNwc3JjOiBGaXggdXAgc2VuZG9ubHkvcmVjdm9ubHkgYXR0cmlidXRlIGhhbmRsaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFmMjczYjRkZTllYjI5MmMwYjZhZjYzNjY1ZTEwY2EwMTU4OTU5MDIuCgkgIFdoaWxlIFJGQyAzMjY0IChTRFApIHNheXMgdGhhdCBzZW5kb25seS9yZWN2b25seSBhcmUgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZgoJICB0aGUgcmVxdWVzdGVyLCB0aGUgYWN0dWFsIFJUU1AgUkZDcyAoUkZDIDIzMjYgLyA3ODI2KSBkaXNhZ3JlZSBhbmQgc2F5CgkgIHRoZSBvcHBvc2l0ZSwganVzdCBsaWtlIHRoZSBPTlZJRiBzdGFuZGFyZC4KCSAgTGV0J3MgZm9sbG93IHRob3NlIFJGQ3MgYXMgd2UncmUgZG9pbmcgUlRTUCBoZXJlLCBhbmQgYWRkIGEgcHJvcGVydHkgYXQKCSAgYSBsYXRlciB0aW1lIGlmIG5lZWRlZCB0byBzd2l0Y2ggdG8gdGhlIFNEUCBSRkMgYmVoYXZpb3VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzOTY0CgoyMDE4LTA0LTEzIDIyOjQ5OjQzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBsZWFrCgkgIGdzdF9xdF9tdXhfY2FuX3JlbmVnb3RpYXRlICgpIGdldHMgY2FsbGVkIGV2ZXJ5d2hlcmUgZm9sbG93aW5nCgkgIHRoYXQgcGF0dGVybjoKCSAgcmV0dXJuIGdzdF9xdF9tdXhfY2FuX3JlbmVnb3RpYXRlIChyZWYoc2VsZikpOwoJICBUaGlzIG1lYW5zIHRoZSByZWZlcmVuY2UgbXVzdCBiZSByZWxlYXNlZCBib3RoIGluIHRoZSBzdWNjZXNzCgkgIGFuZCBmYWlsdXJlIGNhc2VzLCBpdCB3YXMgb25seSBkb25lIGluIHRoZSBzdWNjZXNzIGNhc2UuCgoyMDE4LTA0LTEzIDIyOjQ0OjE0ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogYWdncmVnYXRlIHNob3VsZCBub3QgcHVzaCBFT1MgaXRzZWxmCgkgIEluc3RlYWQgaXQgaXMgZXhwZWN0ZWQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUywgYW5kIGxldCB0aGUKCSAgYmFzZSBjbGFzcyBoYW5kbGUgdGhhdC4KCjIwMTgtMDQtMTMgMjM6MDE6MjAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1bnJlZiByZXR1cm4gb2YgYWdncmVnYXRvcl9wYWRfcGVla19idWZmZXIKCSAgV2UgZW5kZWQgdXAgbGVha2luZyBldmVyeSBzaW5nbGUgYnVmZmVyIGdvaW5nIHRocm91Z2ggdGhlCgkgIG11eGVyLCB3aGljaCBpcyBmYXIgZnJvbSBpZGVhbAoKMjAxOC0wNC0xMSAyMDoyODowMCArMDAwMCAgV2hvb3BpZSA8d2hvb3BpZTc5QGdteC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERpc2FibGUgRE1BQnVmIGZvciBlbXVsYXRlZCBmb3JtYXRzCgkgIGxpYnY0bDIgZG9lcyBub3QgcHJldmVudCBleHBvcnRpbmcgRE1BQnVmIGV2ZW4gd2hlbiBlbXVsYXRlZCBmb3JtYXRzIGFyZQoJICBpbiB1c2UuIEFzIGEgc2lkZSBlZmZlY3QsIHVzZXJzcGFjZSBlbmRzIHVwIHdpdGggYnVmZmVycyBvZiB0aGUgb3JpZ2luYWwKCSAgZm9ybWF0cyB3aGljaCB3aWxsIGNhdXNlIGlzc3Vlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTA5NwoKMjAxOC0wNC0wOCAyMDo0MjoxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBPbmx5IHVzZSBCVDIwMjBfMTIgZm9yIEJUMjAyMCB2NGwyIGNvbG9yc3BhY2UKCSAgQlQyMDIwXzEyIGlzIG5vdCByZXByZXNlbnRlZCBpbiBWNEwyLCBzbyBkcml2ZXJzIHByb3ZpZGluZyBmdWxsIGNvbG9yaXR5CgkgIGZvciBCVDIwMjAgd2lsbCBzZXQgVjRMMl9YRkVSX0ZVTkNfNzA5IHRyYW5zZmVyIGZ1bmN0aW9uLiBUbyBmaXggdGhlCgkgIGlzc3VlLCB3ZSBidW1wIHRoaXMgdG8gQlQyMDIwXzEyIGlmIHRoZSByZXNvbHRpb24gaXMgNEssIGJ1dCB3ZSBzaG91bGQKCSAgb25seSBkbyB0aGF0IGlmIHRoZSBjb2xvcnNwYWNlIGlzIEJUMjAyMCB0byBzdGFydCB3aXRoLCBvdGhlcndpc2UgaXQncwoJICBub3QgcG9zc2libGUgdG8gdXNlIG5vcm1hbCBCVDcwOSBmb3IgNEsgOGJpdCBmb3JtYXRzLgoKMjAxOC0wNC0wOCAxMzo0Mzo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbHdheXMgc2V0IHRoZSBjb2xvcmltZXRyeSBpbiBTX0ZNVAoJICBTbyBmYXIgd2Ugd2VyZSBvbmx5IHNldHRpbmcgY29sb3JpbWV0cnkgZm9yIE9VVFBVVCBkZXZpY2VzICh2NGwyc2luayBvcgoJICBtMm0gc2luayBwYWQpLiBUaGlzIHByZXZlbnRlZCBzZWxlY3RpbmcgdGhyb3VnaCBjYXBzIG5lZ290aWF0aW9uIHRoZQoJICBjb2xvcmltZXRyeSBmb3IgQ0FQVFVSRSBkZXZpY2VzICh2NGwyc3JjIG9yIG0ybSBzcmMgcGFkKS4gVGhpcyBpcyByYXJlbHkKCSAgc2VsZWN0YWJsZSwgYnV0IHRyeWluZyBpcyBoYXJtbGVzcy4KCjIwMTgtMDQtMTEgMTc6NTQ6MzggKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBEb24ndCBzZW5kIGZyYWdtZW50LW9wZW5lZC1jbG9zZWQgbWVzc2FnZSBpZiB0aGUgcmVmZXJlbmNlIGN0eCBpcyBOVUxMCgkgIEl0IGNhbiBoYXBwZW4gZHVyaW5nIHRlYXJkb3duIHRoYXQgdGhlIHJlZmVyZW5jZSBjb250ZXh0IGJlY29tZXMgTlVMTC4KCSAgSW4gdGhhdCBjYXNlLCB0cnlpbmcgdG8gc2VuZCB0aGUgZnJhZ21lbnQtb3BlbmVkLWNsb3NlZCBtZXNzYWdlIHdvdWxkCgkgIGxlYWQgdG8gYSBjcmFzaC4KCjIwMTgtMDQtMTEgMjE6NDE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IE9ubHkgZml4YXRlIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB0aGUgZmllbGQgZXhpc3RzCgoyMDE4LTA0LTEwIDIxOjE1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBGaXhhdGUgcGl4ZWwtYXNwZWN0LXJhdGlvIHRvbyBhbmQgbWFrZSBzdXJlIHRoZSBmaW5hbCBjYXBzIGFyZSBjb21wbGV0ZWx5IGZpeGF0ZWQKCSAgT3RoZXJ3aXNlIGUuZy4gdGhpcyBmYWlscyB3aXRoIGFzc2VydGlvbnM6CgkgIGdzdC1sYXVuY2gtMS4wIGF1ZGlvdGVzdHNyYyAhIGF1ZGlvY29udmVydCAhIG1vbm9zY29wZSAhIHZpZGVvY29udmVydCAhIFwKCSAgdmlkZW9zY2FsZSAhIHZpZGVvL3gtcmF3LHdpZHRoPTgwMCxoZWlnaHQ9NjAwICEgeGltYWdlc2luawoKMjAxOC0wMy0wOCAxMDoxMDowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBjb21tZW50cyBhbmQgZG9jIGFib3V0IHByZWZpbGwgbW9kZQoKMjAxOC0wNC0wNCAwMTo0ODo0NCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0eHNlbmQ6IGZpeCB3cm9uZyBtZW1vcnkgbGF5b3V0IGFzc3VtcHRpb24KCSAgVGhlIGNvZGUgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHJldHJhbnNtaXR0ZWQgYnVmZmVycwoJICBhc3N1bWVkIHRoZSBzdG9yZWQgYnVmZmVyIGhhZCBiZWVuIGNyZWF0ZWQgd2l0aAoJICBydHBfYnVmZmVyX25ld19hbGxvY2F0ZSB3aGVuIGNvcHlpbmcgdGhlIGV4dGVuc2lvbiBkYXRhLAoJICB3aGljaCBpc24ndCBuZWNlc3NhcmlseSB0aGUgY2FzZSwgZm9yIGV4YW1wbGUgd2hlbgoJICB0aGUgcnRwIGJ1ZmZlcnMgY29tZSBmcm9tIGEgdWRwc3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0OTU4CgoyMDE4LTAzLTA0IDE1OjE0OjA4ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IEdldCBFR0wgbmF0aXZlIGRpc3BsYXkgZnJvbSBRUEEgaWYgcGxhdGZvcm0gaGVhZGVyIGlzIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMzc4CgoyMDE4LTAzLTIxIDAwOjE5OjM3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHB1ZGRpbmc4NzU3QGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBGaXggdW5rbm93biB0eXBlIG5hbWUg4oCYb2ZmX3TigJkgZXJyb3IKCSAgRml4IGZvbGxvd2luZyBidWlsZCBlcnJvcgoJICBnc3R2NGwyb2JqZWN0Lmg6MTk3OjE3OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYb2ZmX3TigJkKCSAgZ2ludCBmZCwgIG9mZl90IG9mZnNldCk7CgkgIF4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDUzMwoKMjAxOC0wMy0yMiAxNToyMDo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBzYW1wbGUgY291bnQgaXMgdmFsaWQgaW4gUElGRiBwYXJzaW5nCgkgIFRoZSB2YWx1ZSBzdG9yZWQgaW4gY2VuY19hdXhfc2FtcGxlX2NvdW50IHdhc24ndCBpbiBzeW5jIHdpdGggdGhlCgkgIHBhcnNpbmcgY29kZSB0aGF0IGZvbGxvd2VkIHdoaWNoIGNoZWNrcyB3aGV0aGVyIGFsbCBlbnRyaWVzIGFyZQoJICB2YWxpZCBhbmQgcHJlc2VudC4KCSAgT25seSB3cml0ZSB0aGUgYWN0dWFsIHNhbXBsZSBjb3VudCB3aGVuIHdlIGtub3cgZm9yIHN1cmUuCgkgIENJRCAjMTQyNzA4NwoKMjAxOC0wMy0yMCAxMTozNjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcmVkZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcmVkZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZW5jLmM6CgkqIGdzdC9ydHAvcnRwc3RvcmFnZXN0cmVhbS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHByZWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwdWxwZmVjLmM6CgkgIHJ0cDogRml4IGNvbXBpbGF0aW9uIHdpdGggbm9uLUM5OSBjb21waWxlcnMKCSAgQnkgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBvdXQgb2YgbG9vcCBoZWFkZXJzLgoKPT09IHJlbGVhc2UgMS4xNC4wID09PQoKMjAxOC0wMy0xOSAyMDoxODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTQuMAoKMjAxOC0wMy0xOSAyMDoxODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgZG9jcwoKMjAxOC0wMy0xOSAxODozOTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZGVjLmM6CgkgIHJ0cHVscGZlY2RlYzogZml4IGJ1aWxkIHdpdGggb2xkZXIgZ2NjCgkgIEFzIG9uIFVidW50dSBUcnVzdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ0OTMKCjIwMTgtMDMtMTkgMTA6NTg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEFsbG93IHNwbGl0dGluZyBhdCBleGFjdGx5IHRoZSB0aW1lL2J5dGVzIHRocmVzaG9sZAoJICA3NmU0NThhMTE5OTI2NDI0ZTlkZDVhY2YzMjEwYTU5MmEzMTRkNzEzIGNoYW5nZWQgdGhlIGNvbmRpdGlvbnMgZnJvbQoJICAicXVldWVkID4gdGhyZXNob2xkIiB0byAicXVldWVkID49IHRocmVzaG9sZCIsIHdoaWNoIGJyb2tlIGhsc3NpbmsyIGFuZAoJICByZXN1bHRpbmcgaW4gdG9vIHNtYWxsIGZyYWdtZW50cyBiZWluZyBjcmVhdGVkIGFsdGhvdWdoIGtleWZyYW1lcyB3b3VsZAoJICBiZSBhdCAqZXhhY3RseSogdGhlIGNvbmZpZ3VyZWQgdGhyZXNob2xkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0NDQwCgoyMDE4LTAzLTE3IDIwOjI5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9ydHB1bHBmZWNjb21tb24uaDoKCSAgcnRwdWxwZmVjOiBmaXggdW5jb25kaXRpb25hbCB1c2Ugb2YgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpCgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMuIFdlIHN0aWxsIGFzc3VtZSB0aGF0IGF0dHJpYnV0ZQoJICBpcyBzdXBwb3J0ZWQgYnkgYWxsIG90aGVyIHJlbGV2YW50IGNvbXBpbGVycywgd2hpY2ggc2VlbXMKCSAgdG8gYmUgdGhlIGNhc2Ugc2luY2Ugd2UgaGF2ZW4ndCBoYWQgYW55IGNvbXBsYWludHMgYWJvdXQKCSAgc2ltaWxhciBjb2RlIGluIHJ0cHNiY3BheS4KCjIwMTgtMDMtMTcgMTM6MDQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5jOgoJKiBnc3QvcnRwL3J0cHVscGZlY2NvbW1vbi5jOgoJICBydHB1bHBmZWM6IGRvbid0IHVzZSBub24tcG9ydGFibGUgbm90YXRpb24gZm9yIDY0LWJpdCBpbnQgY29uc3RhbnRzCgkgIFVzZSBHTGliIG1hY3JvIGluc3RlYWQsIGV2ZW4gaWYgaXQncyBhIGJpdCB1bndpZWxkeS4KCjIwMTgtMDMtMTcgMTI6NTU6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJICBydHB1bHBmZWNkZWM6IGRvbid0IHVzZSBfX2J1aWx0aW5fY3R6bGwgdW5jb25kaXRpb25hbGx5CgkgIEZpeGVzIGJ1aWxkIHdpdGggTVNWQywgYW5kIHBvc3NpYmx5IG90aGVyIGNvbXBpbGVycyB0b28uCgo9PT0gcmVsZWFzZSAxLjEzLjkxID09PQoKMjAxOC0wMy0xMyAxOToxNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTMuOTEKCjIwMTgtMDMtMTMgMTk6MTY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcW1sZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgVXBkYXRlIGRvY3MKCjIwMTgtMDMtMTIgMTM6MjE6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogcnRwYmluOiBhZGQgc29tZSBTaW5jZSBtYXJrZXJzIGZvciBuZXcgcHJvcGVydGllcwoKMjAxOC0wMy0xMCAxODo1NzozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIGRldmljZXByb3ZpZGVyIGNoYW5nZXMgdG8gZGlyZWN0c291bmRzaW5rCgkgIFRoZXNlIHdlcmUgbWlzc2VkIHdoZW4gdGhleSB3ZXJlIGFkZGVkIHRvIE1ha2VmaWxlLmFtCgoyMDE4LTAzLTA4IDEwOjEyOjE2ICswMTAwICBNaWNoYWVsIFRyZXR0ZXIgPG0udHJldHRlckBwZW5ndXRyb25peC5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgbGFyZ2VmaWxlIHN1cHBvcnQgaWYgcG9zc2libGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzEwMwoKMjAxOC0wMy0wNyAxNDoxNjowMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEZpeCBzdXBwb3J0IGZvciAzMmJpdCBtbWFwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMxMDMKCj09PSByZWxlYXNlIDEuMTMuOTAgPT09CgoyMDE4LTAzLTAzIDIyOjE5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMy45MAoKMjAxOC0wMy0wMyAyMjoxOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xbWxnbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgZG9jcwoKMjAxOC0wMy0wMSAxODoyNDozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IER1cmF0aW9uICYgdW5pdCB0ZXN0cwoJICBUaGUgbXV4ZWQgYnVmZmVycyB3aWxsIG5vdCBjYXJyeSB0aGUgZHVyYXRpb24gb2YgdGhlCgkgIGluY29taW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM0NTcKCjIwMTgtMDMtMDEgMTc6MTU6MDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFNldCBQVFMgYmFzZWQgb24gcnVubmluZyB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM0NTcKCjIwMTgtMDMtMDEgMTg6MTM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IElnbm9yZSBzZW5kb25seS9yZWN2b25seSBhdHRyaWJ1dGVzIHVubGVzcyBhIGJhY2tjaGFubmVsIGlzIGNvbmZpZ3VyZWQKCSAgVGhpcyB3b3JrcyBhcm91bmQgYSBidWcgaW4gdmFyaW91cyBPTlZJRiBjYW1lcmFzIHRoYXQgaW1wbGVtZW50IHRoZQoJICBhdHRyaWJ1dGVzIHRoZSB3cm9uZyB3YXkgYXJvdW5kLiBUaGV5IHN0aWxsIHdvbid0IHdvcmsgd2l0aCBhCgkgIGJhY2tjaGFubmVsIGJ1dCBhdCBsZWFzdCBub3JtYWwgcGxheWJhY2sgd2lsbCB3b3JrIGZvciB0aGUgdGltZSBiZWluZy4KCSAgSXQgcmVzdG9yZXMgcHJlLTEuMTQgYmVoYXZpb3VyIHdoZXJlIHdlIHdvdWxkIGZhaWwgdG8gcHJlcm9sbCBvbiBhbnkgU0RQCgkgIHRoYXQgbGlzdHMgYSByZWN2b25seSBzdHJlYW0uIEZvciAxLjE2IGEgYmV0dGVyIHNvbHV0aW9uIHNob3VsZCBiZQoJICBmb3VuZC4KCSAgVGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IHRoZSBPTlZJRiBzcGVjIGhhcyB0aGUgbWVhbmluZyBvZiB0aGUgdHdvCgkgIGF0dHJpYnV0ZXMgdGhlIHdyb25nIHdheSBhcm91bmQgaW4gdGhlIGV4YW1wbGVzLCBjb21wYXJlZCB0byBSRkM0NTY2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNzE1CgoyMDE4LTAzLTAxIDE4OjE2OjI0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZW5hYmxlIG1vcmUgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk2MQoKMjAxOC0wMy0wMSAwMDozNDoyMCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBQb3J0IHRvIGxhdGVzdCBHc3RBZ2dyZWdhdG9yIHNlZ21lbnQgQVBJCgkgIFRoZSBhZ2dyZWdhdG9yIHNlZ21lbnQgaXMgbm93IGV4cG9zZWQgb24gdGhlIHNyYyBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk0NQoKMjAxOC0wMy0wMSAxNTozNDoxMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRG93bmdyYWRlIHJhbmsgdG8gbWF0Y2ggZGlyZWN0c291bmRzcmMgaW4gLWJhZAoJICBBcyBzdGF0ZWQgaW4gY29tbWl0IGMyOTU2MDM2YjhkYTRiOGYyMmE2M2E0ZjVhMjU0YmUwM2U4NzBhYTYgaW4gLWJhZCwKCSAgdGhlIHdhc2FwaSBlbGVtZW50cyBhcmUgbm93IGJldHRlciB0aGFuIGRpcmVjdHNvdW5kLCBhbmQgc2hvdWxkIGJlCgkgIHByZWZlcnJlZCBpZiB0aGV5IGFyZSBhdmFpbGFibGUuCgkgIEZvciBhIGxhdGVyIHJlbGVhc2UsIG9uY2UgdGhlIGVsZW1lbnRzIGhhdmUgbW9yZSB0ZXN0aW5nLCB3ZSBjYW4KCSAgY29uc2lkZXIgbW92aW5nIHRoZW0gdG8gLWdvb2QuCgoyMDE4LTAyLTI4IDE5OjIxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT25seSBtYXJrIG5ldyBjbHVzdGVycyBhcyBrZXlmcmFtZSBpZiB0aGV5IHN0YXJ0IG9uIGEga2V5ZnJhbWUgb3Igd2UncmUgbXV4aW5nIG9ubHkgYXVkaW8KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mjc3NQoKMjAxOC0wMi0yOCAxOToxOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IENsaXAgbWF4aW11bSBjbHVzdGVyIGR1cmF0aW9uIHRvIHRoZSBtYXhpbXVtIHBvc3NpYmxlIHZhbHVlCgkgIE9ubHkgdXAgdG8gdGltZXNjYWxlICogR19NQVhJTlQxNiBpcyBwb3NzaWJsZSBhcyBjbHVzdGVyIGR1cmF0aW9uLCB3aGljaAoJICBpcyBhbHJlYWR5IGhpZ2hlciB0aGFuIG91ciBkZWZhdWx0IHZhbHVlLiBVc2luZyBoaWdoZXIgdmFsdWVzIHdvdWxkCgkgIGNhdXNlIG92ZXJmbG93cyBhbmQgYnJva2VuIGZpbGVzLgoJICBCYXNlZCBvbiB0aGUgaW52ZXN0aWdhdGlvbiBieSBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mjc3NQoKMjAxOC0wMi0yNiAxMzowMzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBSZWZ1c2UgY2FwcyBjaGFuZ2VzIGFmdGVyIHN0YXJ0aW5nIHRvIHdyaXRlIGhlYWRlcnMKCSAgTWF0cm9za2EgZG9lcyBub3Qgc3VwcG9ydCBjaGFuZ2luZyB0aGUgc3RyZWFtIHR5cGUgYW5kIHN0cmVhbSBwcm9wZXJ0aWVzCgkgIGFmdGVyIHRoZSBoZWFkZXJzIHdlcmUgc3RhcnRlZCB0byBiZSB3cml0dGVuLCBhbmQgZm9yIGV4YW1wbGUgSDI2NAoJICBjb2RlY19kYXRhIGNoYW5nZXMgY2FuJ3QgYmUgc3VwcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyOTQ5CgoyMDE4LTAyLTI3IDE2OjMzOjUzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJlZC5jOgoJICB0ZXN0czogZml4IHJlZGVuYyB0ZXN0cwoJICBUaGUgZGVmYXVsdCBvZiB0aGUgYWxsb3ctbm8tcmVkLWJsb2NrcyBwcm9wZXJ0eSB3YXMgY2hhbmdlZCBpbiBhCgkgIHByZXZpb3VzIGNvbW1pdCwgdGh1cyBicmVha2luZyB0aGUgdGVzdCBhc3N1bXB0aW9ucwoKMjAxOC0wMi0yNyAxMzoxMzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvcnRwdWxwZmVjY29tbW9uLmM6CgkgIHJ0cDogZml4IGFub3RoZXIgZGVidWcgbG9nIHByaW50ZiBmb3JtYXQgd2FybmluZyBvbiAzMi1iaXQgc3lzdGVtcwoJICBydHB1bHBmZWNjb21tb24uYzo0MzI6Mjc6IGVycm9yOiBmb3JtYXQg4oCYJWx44oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZQoJICDigJhsb25nIHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDEwIGhhcyB0eXBlIOKAmGd1aW50NjQge2FrYSBsb25nIGxvbmcgdW5zaWduZWQgaW50feKAmQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNzMyCgoyMDE4LTAyLTI2IDE3OjAyOjUyICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogcHJvdmlkZSBleGFtcGxlIHVzYWdlIGZvciBpZ25vcmVkLXBheWxvYWQtdHlwZXMKCjIwMTgtMDItMjYgMTY6NTM6MDggKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwYmluLCBydHBwdGRlbXV4OiBBZGQgbWlzc2luZyBTaW5jZSBtYXJrZXJzCgoyMDE4LTAyLTI2IDE1OjU3OjI4ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcmVkZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcmVkZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RvcmFnZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5oOgoJICBGRUMgZWxlbWVudHM6IGRvY3VtZW50LCByZW1vdmUgaXJyZWxldmFudCBwcm9wZXJ0aWVzCgkgIFRoZSB1bHBmZWNlbmMgIm11eC1zZXEiIGFuZCAic3NyYyIgcHJvcGVydGllcyB3ZXJlIGluaXRpYWxseSBhZGRlZAoJICBiZWNhdXNlIHRoZSBlbGVtZW50IGRpZCBtb3JlIHRoYW4gaW1wbGVtZW50IFVMUEZFQy4gQXMgaXQgd2FzCgkgIGRlY2lkZWQgdGhhdCBGTEVYRkVDIHdvdWxkIGJlIGltcGxlbWVudGVkIGluIGEgc2VwYXJhdGUgZWxlbWVudCwKCSAgYm90aCBwcm9wZXJ0aWVzIGFyZSBub3cgdW5uZWVkZWQgYW5kIGNvbmZ1c2luZy4KCSAgQ2hhbmdlIHRoZSBkZWZhdWx0IGZvciB0aGUgdWxwZmVjZW5jIG11bHRpLXBhY2tldCBwcm9wZXJ0eSwKCSAgYXMgaXQgaXMgZXhwZWN0ZWQgdGhhdCBtb3N0IHVzZXJzIG9mIHRoaXMgZWxlbWVudCB3aWxsIGJlIHByb3RlY3RpbmcgdmlkZW8KCSAgc3RyZWFtcy4KCSAgQ2hhbmdlIHRoZSBkZWZhdWx0IHByb3BlcnR5IGZvciB0aGUgcnRwcmVkZW5jIGFsbG93LW5vLXJlZC1ibG9ja3MKCSAgcHJvcGVydHksIGFzIGl0IHNob3VsZCBhbHNvIGJlIGl0cyBkZWZhdWx0IG1vZGUgb2Ygb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzODQzCgoyMDE4LTAyLTI0IDIwOjA1OjA1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGRvIG5vdCB3YXJuIHdoZW4gY2FwcyB3ZXJlIG5vdCB5ZXQgcmVjZWl2ZWQKCSAgSXQgaXMgZXhwZWN0ZWQgdGhhdCB3aGVuIGNvbm5lY3RpbmcgdG8gYSBzdHJlYW0gdGhhdCBoYXMKCSAgYWxyZWFkeSBzdGFydGVkLCB0aGUgY2FwcyB3aWxsIG9ubHkgYXJyaXZlIGF0IHRoZSBpbnRlcnZhbAoJICBzcGVjaWZpZWQgb24gcnRwZ3N0cGF5LCB3ZSBzaG91bGRuJ3QgYmUgd2FybmluZyBhcyB0aGlzIGlzCgkgIGEgbm9ybWFsIG1vZGUgb2Ygb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNzk4CgoyMDE4LTAyLTIyIDIxOjUzOjQwICswMTAwICBBcm5hdWQgQm9uYXR0aSA8YXJuYXVkLmJvbmF0dGlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB1bHBmZWNkZWMuYzoKCSAgcnRwdWxwZmVjOiBmaXggZGVidWcgbG9nIHByaW50ZiBmb3JtYXQgd2FybmluZyBvbiAzMi1iaXQgcGxhdGZvcm1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM3MzIKCjIwMTgtMDItMjIgMTQ6NTg6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGdzdC9ydHAvZ3N0cnRwcmVkZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcmVkZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RvcmFnZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5jOgoJICBkb2NzOiBob29rIHVwIG5ldyBSVFAgRkVDIGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI2OTYKCjIwMTgtMDItMjIgMTQ6NTc6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcW1sZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBnaXQgbWFzdGVyCgoyMDE4LTAyLTIyIDEwOjU0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZSBtb3JlIHRlc3QgYmluYXJpZXMKCjIwMTgtMDItMjEgMjA6NDY6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFsc28gZGlzdCBuZXcgZmVjIHRlc3QgaGVhZGVyIGZpbGUKCjIwMTgtMDItMjEgMjA6NDQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IGRpc3QgbmV3IGhlYWRlciBmaWxlcwoJICBGaXhlcyBtYWtlIGRpc3RjaGVjawoKMjAxOC0wMi0yMSAxODo1Mjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcmVkZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RvcmFnZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHVscGZlY2VuYy5jOgoJKiBnc3QvcnRwL3J0cHVscGZlY2NvbW1vbi5jOgoJKiBnc3QvcnRwL3J0cHVscGZlY2NvbW1vbi5oOgoJICBydHA6IGZlYzogZml4IGJ1aWxkIHdpdGggZ3N0cmVhbWVyIGRlYnVnIGxvZyBzeXN0ZW0gZGlzYWJsZWQKCjIwMTgtMDItMjEgMTk6NTk6MDQgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBkbyBubyBhc3N1bWUgc2luayBjYXBzIGFyZSBub24gTlVMTAoKMjAxOC0wMi0yMSAxODo1MToxNyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IEZpeCB1bHBmZWMgdGVzdCBidWlsZAoJICBUaGUgdGVzdCBuYW1lIHdhcyB1cGRhdGVkIGJ1dCBub3QgdGhlIGJ1aWxkIGRlZmluaXRpb24KCjIwMTctMTEtMjggMDY6MDI6MDUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IEV4cG9zZSBGRUMgc3VwcG9ydCBzaWduYWxzCgkgIEFsc28gc2xpZ2h0bHkgcmVmYWN0b3IgY29tcGxldGVfc2Vzc2lvbl9zcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjY5NgoKMjAxNy0xMS0xNyAwMzo1MjowMyArMDEwMCAgTWlraGFpbCBGbHVka292IDxtaXNoYUBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHJlZGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN0b3JhZ2UuYzoKCSogZ3N0L3J0cC9nc3RydHBzdG9yYWdlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdWxwZmVjZW5jLmg6CgkqIGdzdC9ydHAvbWVzb24uYnVpbGQ6CgkqIGdzdC9ydHAvcnRwcmVkY29tbW9uLmM6CgkqIGdzdC9ydHAvcnRwcmVkY29tbW9uLmg6CgkqIGdzdC9ydHAvcnRwc3RvcmFnZS5jOgoJKiBnc3QvcnRwL3J0cHN0b3JhZ2UuaDoKCSogZ3N0L3J0cC9ydHBzdG9yYWdlc3RyZWFtLmM6CgkqIGdzdC9ydHAvcnRwc3RvcmFnZXN0cmVhbS5oOgoJKiBnc3QvcnRwL3J0cHVscGZlY2NvbW1vbi5jOgoJKiBnc3QvcnRwL3J0cHVscGZlY2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFja2V0cy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHByZWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc3RvcmFnZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHB1bHBmZWMuYzoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIHJ0cDogSW1wbGVtZW50IFVMUEZFQyAoUkZDIDUxMDkpCgkgIFdlIGV4cG9zZSBhIHNldCBvZiBuZXcgZWxlbWVudHM6CgkgICogVUxQRkVDIGVuY29kZXIgLyBkZWNvZGVyCgkgICogQSBzdG9yYWdlIGVsZW1lbnQsIHdoaWNoIHNob3VsZCBiZSBwbGFjZWQgYmVmb3JlIGppdHRlcmJ1ZmZlcnMsCgkgIGFuZCBpcyB1c2VkIHRvIHN0b3JlIHBhY2tldHMgaW4gb3JkZXIgdG8gYXR0ZW1wdCByZWNvbnN0cnVjdGlvbgoJICBhZnRlciB0aGUgaml0dGVyYnVmZmVyIGhhcyBzZW50IFBhY2tldExvc3QgZXZlbnRzCgkgICogUkVEIGVuY29kZXIgLyBkZWNvZGVyIChSRkMgMjE5OCksIHRoZXNlIGFyZSBuZWNlc3NhcnkgdG8KCSAgdXNlIEZFQyBpbiB3ZWJydGMsIGFzIGJyb3dzZXJzIHdpbGwgcHJvcG9zZSBhbmQgZXhwZWN0IHVscGZlYwoJICBwYWNrZXRzIHRvIGJlIHdyYXBwZWQgaW4gcmVkIHBhY2tldHMKCSAgV2l0aCBjb250cmlidXRpb25zIGZyb206CgkgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoJICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNjk2CgoyMDE3LTExLTI4IDAxOjExOjU0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICBydHBwdGRlbXV4OiBBZGQgaWdub3JlZC1wYXlsb2FkLXR5cGVzIHByb3BlcnR5CgkgIFBhY2tldHMgd2l0aCB0aGVzZSBwYXlsb2FkIHR5cGVzIHdpbGwgYmUgZHJvcHBlZC4gQSB1c2UgY2FzZQoJICBmb3IgdGhpcyBpcyBGRUMsIHdoZXJlIHdlIHdhbnQgRkVDIHBhY2tldHMgdG8gZ28gdGhyb3VnaCB0aGUKCSAgaml0dGVyYnVmZmVyLCBidXQgbm90IGJlIG91dHB1dCBieSBydHBiaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI2OTYKCjIwMTctMTEtMjAgMTg6MDg6MzggKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBBZGQgc3NyYyB0byBvdXRwdXQgY2FwcwoJICBJdCBtYXkgYmUgdXNlZnVsIGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjY5NgoKMjAxOC0wMi0yMSAxMToxMjoxMCArMDEwMCAgQXJuYXVkIEJvbmF0dGkgPGFybmF1ZC5ib25hdHRpQGdtYWlsLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBmaXggY29tcGlsZXIgd2FybmluZyB3aXRoIHJlY2VudCBnbGliCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM2ODgKCjIwMTgtMDItMjEgMTE6MzU6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IGRvbid0IHVzZSBsaWJFR0wgZnVuY3Rpb25zIHdoZW4gd2UgZG9uJ3QgbGluayB0byBsaWJFR0wKCSAgVXNlIHRoZSBwcm92aWRlZCB3cmFwcGVyIGF2YWlsYWJsZSBmcm9tIGxpYmdzdGdsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNTQ3CgoyMDE4LTAyLTE4IDIxOjM4OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgbW9ub3Njb3BlOiBGb3J3YXJkIHRoZSBTRUdNRU5UIGV2ZW50IGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSB3ZSdsbCBicmVhayB0aGUgZXZlbnQgb3JkZXIgYW5kIGZvcndhcmQgdGhlIFNFR01FTlQgZXZlbnQKCSAgYmVmb3JlIHNlbmRpbmcgYSBDQVBTIGV2ZW50LgoKMjAxOC0wMi0xNiAxMjoyNToyOSArMDAwMCAgSmFtZXMgU3RldmVuc29uIDxqYW1lc0BzdGV2Lm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IG1pc3NpbmcgcmVhZCBwcm9wZXJ0eSBvZiBiYWNrY2hhbm5lbAoJICBBZGQgbWlzc2luZyByZWFkIHByb3BlcnR5IGNvZGUgZm9yIGJhY2tjaGFubmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM1MDcKCjIwMTgtMDItMTYgMDk6NDI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHNwL21lc29uLmJ1aWxkOgoJICBleGFtcGxlczogcnRzcDogZml4IG1lc29uIGJ1aWxkIHRha2UgMgoKMjAxOC0wMi0xNiAxMTozMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0c3AvbWVzb24uYnVpbGQ6CgkgIHJ0c3A6IEZpeCBtZXNvbi5idWlsZCBvZiB0aGUgZXhhbXBsZQoKMjAxOC0wMS0yNiAxNjozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogSW1wbGVtZW50IE9OVklGIGJhY2tjaGFubmVsIHN1cHBvcnQgdmlhIFRDUAoKMjAxNy0xMC0xMyAxODowNTo1NCArMDMwMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHNwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHNwL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHNwL3Rlc3Qtb252aWYuYzoKCSAgcnRzcHNyYzogSW1wbGVtZW50IE9OVklGIGJhY2tjaGFubmVsIHN1cHBvcnQKCSAgU2V0IGJhY2tjaGFubmVsPW9udmlmIHRvIGVuYWJsZSwgYW5kIHVzZSB0aGUgJ3B1c2gtYmFja2NoYW5uZWwtc2FtcGxlJwoJICBhY3Rpb24gc2lnbmFsIHdpdGggdGhlIGNvcnJlY3Qgc3RyZWFtIGlkLgoKMjAxOC0wMi0xNiAwMTo0OTo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuaDoKCSAgc3BsaXRtdXhzcmM6IEltcHJvdmUgbm90LWxpbmtlZCBoYW5kbGluZy4KCSAgRG9uJ3QgcmVwb3J0IG5vdC1saW5rZWQgdW5sZXNzIGFsbCBwYWRzIGhhdmUKCSAgcmV0dXJuZWQgbm90LWxpbmtlZC4KCjIwMTgtMDItMTUgMTk6NDQ6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcW1sZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogbWVzb24uYnVpbGQ6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTMuMSA9PT0KCjIwMTgtMDItMTUgMTc6MDY6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBORVdTOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMy4xCgoyMDE4LTAyLTE1IDE3OjA1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxOC0wMi0xNSAxMzozMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZnIucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDE4LTAyLTE0IDE2OjM4OjA3ICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbGxvdyB0aW1lc3RhbXBzIHRvIG1vdmUgYmFja3dhcmRzCgkgIFRoZSBvcmlnaW5hbCBzb2x1dGlvbiBmb3IgIzc4NDAwMiBpbmNvcnJlY3RseSBhc3N1bWVkIHRoYXQgdGltZXN0YW1wcwoJICBtYXkgbm90IG1vdmUgYmFja3dhcmRzIGFuZCBjaGFuZ2VkIHRpbWVzdGFtcHMgdGhhdCBkaWQgc28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQwMDIKCjIwMTgtMDItMTUgMDA6NTg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiByZW1vdmUgcG9pbnRsZXNzIFNpbmNlOiAwLjEwLnggbWFya2VycwoKMjAxNy0wOS0yNyAxNjowMTozNSArMDIwMCAgQWxiYW4gQmVkZWwgPGFsYmFuLmJlZGVsQGF2aW9uaWMtZGVzaWduLmRlPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogZml4IHVuYm91bmRlZCBtZW1vcnkgdXNhZ2UKCSAgQWxsIHJlY2VpdmVkIGNvbmZpZ3VyYXRpb25zIGFyZSBwYXJzZWQgYW5kIGFkZGVkIHRvIGEgbGlzdCwgdGhpcyBsZWFkCgkgIHRvIGFuIHVuYm91bmRlZCBtZW1vcnkgdXNhZ2UuIEFzIHRoZSBjb25maWd1cmF0aW9uIGlzIHJlc2VudCBldmVyeQoJICBzZWNvbmQgdGhpcyBxdWlja2x5IGxlYWQgdG8gYSBsYXJnZSBtZW1vcnkgdXNhZ2UuCgkgIEFkZCBhIGNoZWNrIHRvIG9ubHkgYWRkIHRoZSBjb25maWcgaWYgaXQgaXMgbm90IGFscmVhZHkgYXZhaWxhYmxlIGluCgkgIHRoZSBsaXN0LiBUaGlzIGZpeCBvbmx5IGhhbmRsZSB0aGUgdHlwaWNhbCBjYXNlIG9mIGEgd2VsbCBiZWhhdmVkCgkgIHN0cmVhbSwgYSBtYWxpY2lvdXMgc2VydmVyIGNvdWxkIHN0aWxsIHNlbmQgbWFueSB1c2VsZXNzCgkgIGNvbmZpZ3VyYXRpb25zIHRvIHJhaXNlIHRoZSBjbGllbnQgbWVtb3J5IHVzYWdlLgoKMjAxOC0wMi0xMiAxODo0MTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXFtbGdsLnhtbDoKCSAgZG9jczogYWRkIHF0IHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDk0CgoyMDE4LTAyLTEyIDE4OjM0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvbWVzb24uYnVpbGQ6CgkgIHF0OiBob29rIHVwIHRvIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwOTQKCjIwMTgtMDItMTIgMTg6MTM6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNb3ZlIHF0IHBsdWdpbiBmcm9tIC1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA5NAoKMjAxOC0wMi0xMiAxNTo0NDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTgtMDItMTAgMjA6MzE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJICBkb2NzOiBhZGQgbW92ZWQgZ3RrIHBsdWdpbiB0byBkb2NzCgoyMDE4LTAyLTEwIDIwOjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxOC0wMi0xMiAxMTowMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL21lc29uLmJ1aWxkOgoJICBndGs6IGhvb2sgdXAgdG8gbWVzb24gYnVpbGQKCjIwMTgtMDItMTAgMTM6MjA6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkgIGd0azogaG9vayB1cCB0byBhdXRvdG9vbHMgYnVpbGQKCjIwMTgtMDItMTAgMTI6NDk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNb3ZlIGd0ayBwbHVnaW4gZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwOTQKCjIwMTgtMDItMDkgMTE6MjY6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbW1lbnQgdHlwbyBpbiBwcmV2aW91cyBjb21taXQKCjIwMTgtMDItMDkgMTE6MjA6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW9yZSAnbWV0YScgYXRvbSBwYXJzaW5nIGZpeGVzCgkgIFR1cm5zIG91dCBldmVyeWJvZHkgaXMgZG9pbmcgaXQgdGhlaXIgb3duIHdheSwgc28gcGVlayBpbnRvIHRoZQoJICBtZXRhIGF0b20gaXRzZWxmIHRvIGZpZ3VyZSBvdXQgd2hpY2ggc3BlYyBpdCBpcyBmb2xsb3dpbmcKCjIwMTgtMDItMDIgMTM6NTE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBzdm1pIGF0b20gZm9yIHN0ZXJlb3Njb3BpYyB2aWRlbyBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzMTIwCgoyMDE4LTAyLTA5IDA4OjU5OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIGNsZWFudXAKCSAgSnVzdCBtb3ZlIHZhcmlhYmxlcyB0byB0aGUgYmxvY2tzIHdoZXJlIHRoZXkgYXJlIHVzZWQuCgkgIFRoYXQgZnVuY3Rpb24gaXMgbWFzc2l2ZSwgY291bGQgZG8gd2l0aCBzb21lIHNwbGl0dGluZyB1cCBmb3IKCSAgcmVhZGFiaWxpdHkgOigKCjIwMTgtMDItMDkgMDg6NTQ6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ29wZSB3aXRoIGRpZmZlcmVuY2UgYmV0d2VlbiBRVEZGIGFuZCBJU08gQk1GRiBzcGVjcwoJICBUaGUgJ21ldGEnIGF0b20gaXMgZGVmaW5lZCBkaWZmZXJlbnRseSBpbiBRVEZGIGFuZCBCTUZGLCBzbyB0cnkKCSAgdG8gZ3Vlc3Mgd2hpY2ggc3BlYyB0aGUgY3VycmVudCBzdHJlYW0gYXBwbGllcyB0byBieSBsb29raW5nCgkgIGF0IHRoZSBtYWpvciBmaWxlIHR5cGUuCgoyMDE4LTAyLTA5IDA4OjM1OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgaXNvbXA0OiBNYWtlICdoZGxyJyBhdG9tIGR1bXAgbW9yZSBmbGV4aWJsZQoJICBUaGUgc21hbGxlc3QgcG9zc2libGUgaXMgMjQgKGFuZCBub3QgMjUpIGJ5dGVzLgoJICBUaGUgbGFzdCAibmFtZSIgZmllbGQgY2FuIGFjY29yZGluZyB0byBRVEZGIHNwZWNpZmljYXRpb25zIG5vdCBiZSBwcmVzZW50CgkgIGF0IGFsbC4gVGhlIHBhcnNlciB3aWxsIGhhbmRsZSB0aGlzIGZpbmUgYW5kIHNvIHdpbGwgdGhlIHJlc3Qgb2YKCSAgdGhlIHF0ZGVtdXggY29kZS4KCjIwMTgtMDItMDkgMDg6MzU6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJICBVcGRhdGUgT1JDIGZpbGVzCgoyMDE4LTAyLTA4IDE5OjA5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBtYWtlIHZlcnNpb24gbnVtYmVycyBpbnRzIGFuZCBmaXggaW50L3N0cmluZyBjb21wYXJpc29uCgkgIFdBUk5JTkc6IFRyeWluZyB0byBjb21wYXJlIHZhbHVlcyBvZiBkaWZmZXJlbnQgdHlwZXMgKHN0ciwgaW50KS4KCSAgVGhlIHJlc3VsdCBvZiB0aGlzIGlzIHVuZGVmaW5lZCBhbmQgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yCgkgIGluIGEgZnV0dXJlIE1lc29uIHJlbGVhc2UuCgoyMDE3LTEwLTAxIDE4OjIxOjI2ICswMjAwICBKw6lyw7RtZSBMYWhldXJ0ZSA8amVyb21lQGplcm9tZWxhaGV1cnRlLm5ldD4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IGJ1aWxkIG9uIG1hY09TIHZlcnNpb25zIDwgMTIuMAoJICBVc2UgdmFsdWUgaW5zdGVhZCBvZiB2ZXJzaW9uIG1hY3JvIHdoZW4gdGVzdGluZyBmb3IgbWFjIE9TIHZlcnNpb24sCgkgIHNpbmNlIHRoZSBkZWZpbmUgZm9yIHRoZSBuZXdlciB2ZXJzaW9uIG1heSBub3QgYmUgZGVmaW5lZCB3aGVuCgkgIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIHZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NDAyCgoyMDE4LTAyLTA3IDIwOjE1OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHF0OiBkb24ndCAjaW5jbHVkZSBwbGF0Zm9ybSBzcGVjaWZpYyBnc3RnbGNvbnRleHRfKi5oIGhlYWRlcnMKCSAgVGhleSBhcmVuJ3QgcHVibGljIGhlYWRlcnMKCjIwMTgtMDItMDQgMTE6NDc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBhdXRvdG9vbHM6IHVzZSAtZm5vLXN0cmljdC1hbGlhc2luZyB3aGVyZSBzdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTE4MwoKMjAxNy0xMi0wNCAyMDoxMjo0MCArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBxdG11eDogc2VuZCBzdHJlYW0gd2FybmluZyB3aGVuIHJlZnVzaW5nIHZpZGVvIGNhcHMKCSAgSWYgY29kZWNfZGF0YSBpcyBjaGFuZ2VkLCB0aGUgc3RyZWFtIGlzIG5vIGxvbmdlciB2YWxpZC4KCSAgUmF0aGVyIHRoYW4ga2VlcGluZyBydW5uaW5nIHdoZW4gcmVmdXNpbmcgbmV3IGNhcHMsCgkgIHRoaXMgcGF0Y2ggc2VuZCBhIHdhcm5pbmcgIHRvIHRoZSBidXMuCgkgIEFsc28gZml4IHVwIHNwbGl0bXV4c2luayB0byBpZ25vcmUgdGhpcyB3YXJuaW5nIHdoaWxlIGNoYW5naW5nIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwMDAKCjIwMTctMTEtMjkgMjE6MzA6MTEgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogdXBkYXRlIG91dHB1dCBjYXBzIHJlZ2FyZGxlc3MgZm9ybWF0CgkgIGBjb2RlY19kYXRhYCBzaG91bGQgYmUgdHJhbnNmZXJlZCBpZiBhbnkgaW5mb3JtYXRpb24gb2YKCSAgU1BTL1BQUyBpcyBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMDAwCgoyMDE4LTAxLTMxIDE5OjExOjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogQWRkIGdtaGQvZ21pbiBkZWJ1Z2dpbmcKCSAgKiBnbWhkIGlzIGEgY29udGFpbmVyLCBtYXJrIGl0IGFzIHN1Y2ggc28gd2UgY2FuIHNlZS9kdW1wCgkgIHdoYXQgaXMgY29udGFpbmVkIHdpdGhpbgoJICAqIEFkZCBkdW1waW5nIGZvciB0aGUgQmFzZSBNZWRpYSBJbmZvcm1hdGlvbiBhdG9tIChnbWluKQoKMjAxNS0wOS0yMyAxMDowMTozMiArMDIwMCAgTWF0dGhpZXUgQ3JhcGV0IDxtY3JhcGV0QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBhZGQgc25hcHNob3QgcHJvcGVydHkKCSAgTGlrZSBwbmdlbmMsIGF1dG9tYXRpY2FsbHkgc2VuZCBhbiBFT1MgbWVzc2FnZS4KCSAgRXhhbXBsZSBvZiBiaW46CgkgIGFwcHNyYyAhIGpwZWdlbmMgc25hcHNob3Q9dHJ1ZSAhIGZpbGVzaW5rIGxvY2F0aW9uPW91dC5qcGcKCSAgVGhpcyBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3IgbGltaXRlZC9zbG93IGhhcmR3YXJlLgoJICBPdGhlcndpc2UgY2FsbGluZyBnc3RfdmlkZW9fY29udmVydF9zYW1wbGUoKSBpcyBhIGJldHRlciBvcHRpb24KCSAgKGludGVybmFsbHkgdXNlcyB2aWRlb2NvbnZlcnQgYW5kIHZpZGVvc2NhbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDUzCgoyMDE4LTAxLTMxIDE1OjAyOjUwICswMDAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggbWVtb3J5IGxlYWsgb2YgR0FQIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzA2NwoKMjAxOC0wMS0zMSAxMTozODozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXhfZHVtcDogRGVtb3RlIHZlcmJvc2UgbG9nZ2luZyB0byBUUkFDRSBsZXZlbAoKMjAxOC0wMS0zMSAxMToyMjoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IFJlLWVuYWJsZSBmdWxsIGRlYnVnIGxvZ2dpbmcgb2Ygc3RzeiBlbnRyaWVzCgkgIE5vIGlkZWEgd2h5IGl0IHdhcyBkaXNhYmxlZCAod2FzIHRoZSBjYXNlIHNpbmNlIDIwMDcpCgoyMDE4LTAxLTMwIDIwOjM0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1c2UgLWZuby1zdHJpY3QtYWxpYXNpbmcgd2hlcmUgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkxODMKCjIwMTctMTItMTIgMDA6MTQ6MDIgKzA5MDAgIFNldW5naGEgWWFuZyA8cHVkZGluZzg3NTdAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFJlbW92ZSB3aGl0ZSBzcGFjZSBhdCBlbmQgb2YgbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDgzCgoyMDE3LTEyLTEyIDAwOjExOjI0ICswOTAwICBTZXVuZ2hhIFlhbmcgPHB1ZGRpbmc4NzU3QGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZGVidWcuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFwcGx5IHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgdG8gZ3N0aXNvZmYKCSAgLi4gaW5zdGVhZCBvZiB0aGUgdXNlIG9mIGRlZmF1bHQgZGVidWcgY2F0ZWdvcnkuCgkgIEFuZCwgbWFrZSBuZXcgaGVhZGVyIHRvIGRlY2xhcmUgdGhlIGRlYnVnIGNhdGVnb3J5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE0ODMKCjIwMTgtMDEtMjUgMDA6NDY6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBwcm9wZXJseSBzZXQgdG90YWwgZHVyYXRpb24gb24gb3V0Z29pbmcgc2VnbWVudAoJICBXZSB3b3VsZCBhY2NpZGVudGFsbHkgcGFzcyB0aHJvdWdoIHRoZSBkdXJhdGlvbiB2YWx1ZSBmcm9tIHRoZQoJICBkZW11eGVyIGZyb20gYSBzaW5nbGUgZnJhZ21lbnQsIHdoaWNoIGNhdXNlcyBwcm9ibGVtcyB3aGVuCgkgIGZlZWRpbmcgdGhlIHN0cmVhbSBmcm9tIHNwbGl0bXV4c3JjIHRvIHJ0c3Atc2VydmVyLiBTdHJlYW1pbmcKCSAgd291bGQgc3RvcCBhZnRlciBvbmUgZnJhZ21lbnQgZHVlIHRvIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI4NjEKCjIwMTgtMDEtMjUgMDA6NDI6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBkb24ndCByZXNwb25kIHRvIGR1cmF0aW9uIHF1ZXJ5IHdpdGggQ0xPQ0tfVElNRV9OT05FCgkgIHRvdGFsX2R1cmF0aW9uIGlzIGluaXRpYWxpc2VkIHRvIENMT0NLX1RJTUVfTk9ORSwgbm90IDAsIHNvIGNoZWNrCgkgIGZvciB0aGF0IGFzIHdlbGwgaW4gb3JkZXIgbm90IHRvIHJldHVybiBhbiBpbnZhbGlkIGR1cmF0aW9uIHRvCgkgIGEgZHVyYXRpb24gcXVlcnkuIERvZXNuJ3QgZml4IGFueXRoaW5nIHBhcnRpY3VsYXIgb2JzZXJ2ZWQgaW4KCSAgcHJhY3RpY2UsIGp1c3Qgc2VlbWVkIGluY29uc2lzdGVudC4KCjIwMTgtMDEtMjUgMjA6NDg6NDIgKzAxMDAgIEFsaWNpYSBCb3lhIEdhcmPDrWEgPGFib3lhQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIG1vcmUgcHJvc2UgdG8gdGhlIGNvbW1lbnQgb2YgZ3N0X3F0ZGVtdXhfZmluZF9zYW1wbGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyOTEwCgoyMDExLTAyLTA5IDEyOjQ4OjAwICswMDAwICBPbGVrc2lqIFJlbXBlbCA8bGludXhAcmVtcGVsLXByaXZhdC5kZT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweDogYWRkIFZQOF9ERUJVR19UWFRfKiBmbGFncyBmb3IgcG9zdHByb2Nlc3NpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTM5OQoKMjAxOC0wMS0yNSAyMToyMjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBBZGQgbWlzc2luZyBcIGluIG11bHRpLWxpbmUgI2RlZmluZQoKMjAxOC0wMS0yMiAxNTowNzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kZGV2aWNlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZGRldmljZS5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogQWRkIHN1cHBvcnQgZm9yIGEgRGV2aWNlUHJvdmlkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mjc4MgoKMjAxOC0wMS0yMyAxODozNzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHVwIHVyaSBoYW5kbGVyIGEgbGl0dGxlCgkgIEZpeCBwYXRoIGVzY2FwaW5nIHdoZW4gY3JlYXRpbmcgVVJJIGZyb20gbG9jYXRpb24gaW4gZ2V0X3VyaSgpLgoJICBSZXR1cm4gRkFMU0Ugd2l0aCBhbiBlcnJvciB3aGVuIFVSSSBjYW4ndCBiZSBwYXJzZWQgaW4gc2V0X3VyaSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNTgxCgoyMDE3LTA2LTE1IDEzOjM3OjI4ICswMjAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogaW1wbGVtZW50IHVyaSBoYW5kbGVyCgkgIFdpdGggdGhpcyBwYXRjaCB3ZSBjYW4gbm93IHByb3ZpZGUgYSBzZXQgb2YgZmlsZXMKCSAgY3JlYXRlZCBieSBtdWx0aWZpbGVzaW5rIGFzIGEgc291cmNlIGZvciB1cmkgZWxlbWVudHMuCgkgIGUuZy4gZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9bXVsdGlmaWxlOi8vaW1nJTI1ZC5wcG0KCSAgTm90ZSB0aGF0IGZvciB0aGUgJWQgcGF0dGVybiB5b3UgbmVlZCB0byByZXBsYWNlICUgd2l0aCAlMjUuCgkgIFRoaXMgaXMgdG8gYmUgY29tcGxpYW50IHdpdGggVVJMIG5hbWluZyBzdGFuZGFyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM1ODEKCjIwMTgtMDEtMTkgMTU6MDU6MjYgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE1ha2Ugc3VyZSB0aW1lY29kZSB1c2VzIHRoZSBzYW1lIHRpbWVzY2FsZSBhcyB2aWRlbwoJICBEb24ndCBibGluZGx5IGRlcml2ZSBpdCBmcm9tIHRoZSBmcmFtZSByYXRlLCBidXQgdHJ5IHRvIGdldCB0aGUgcGVyLXBhZAoJICBjb25maWd1cmVkIHRpbWVzY2FsZSBmaXJzdCAoaWYgaXQgZXhpc3RzKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNjgwCgoyMDE4LTAxLTE4IDE4OjM2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWxsb3cgY29uZmlndXJpbmcgdHJhayB0aW1lc2NhbGUgcGVyIHBhZC90cmFrCgkgIEl0IGdlbmVyYWxseSBtYWtlcyBub3QgbXVjaCBzZW5zZSB0byBjb25maWd1cmUgaXQgZm9yIGFsbCBwYWRzL3RyYWtzIGF0CgkgIG9uY2UgYXMgdGhpcyB2YWx1ZSBpcyB1c3VhbGx5IGRpZmZlcmVudCBmb3IgZWFjaCBvZiB0aGVtLiBBcyBzdWNoLCBhZGQgYQoJICBuZXcgcHJvcGVydHkgb24gdGhlIHBhZHMgaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHByb3BlcnR5IG9uIHRoZQoJICB3aG9sZSBtdXhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjY0OQoKMjAxOC0wMS0yMyAwOTo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIFVwZGF0ZSBmb3IgcmVuYW1lZCBhZ2dyZWdhdG9yIHBhZCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTIwNAoKMjAxOC0wMS0yMiAxMjoyNDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHVwIHNlbmRvbmx5L3JlY3Zvbmx5IGF0dHJpYnV0ZSBoYW5kbGluZwoJICBXZSBjYW4ndCBoYW5kbGUgcmVjdm9ubHkgc3RyZWFtcywgc2VuZG9ubHkgc3RyZWFtcyBhcmUgcGVyZmVjdGx5IGZpbmUuCgkgIFRoZSBkaXJlY3Rpb24gaXMgdGhlIG9uZSBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIHRoZSBTRFAgb2ZmZXJlcgoJICAoaS5lLiB0aGUgUlRTUCBzZXJ2ZXIpLCBhbmQgYSByZWN2b25seSBzdHJlYW0gd291bGQgYmUgb25lIHdoZXJlIHRoZQoJICBzZXJ2ZXIgZXhwZWN0cyB1cyB0byBzZW5kIG1lZGlhLgoJICBSRkMgMzI2NCwgc2VjdGlvbiA1LjE6CgkgIElmIHRoZSBvZmZlcmVyIHdpc2hlcyB0byBvbmx5IHNlbmQgbWVkaWEgb24gYSBzdHJlYW0gdG8gaXRzIHBlZXIsIGl0CgkgIE1VU1QgbWFyayB0aGUgc3RyZWFtIGFzIHNlbmRvbmx5IHdpdGggdGhlICJhPXNlbmRvbmx5IiBhdHRyaWJ1dGUuCgkgIFRoaXMgaXMgbWl4ZWQgdXAgaW4gdGhlIE9OVklGIHN0cmVhbWluZyBzcGVjaWZpY2F0aW9uIGV4YW1wbGVzLCBidXQKCSAgYWN0dWFsIGltcGxlbWVudGF0aW9ucyBhbmQgY29uZm9ybWFuY2UgdG9vbHMgc2VlbSB0byBub3QgY2FyZSBhdCBhbGwKCSAgYWJvdXQgdGhlIGF0dHJpYnV0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTIzNzYKCjIwMTctMTEtMTEgMTM6NDk6MjIgKzA5MDAgIHBhdWwua2ltIDxwYXVsLmh5dW5pbEBsZ2UuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFJlc2V0IHJldHJ5X2NvdW50IHRvIDAgd2hlbiBHU1RfRkxPV19GTFVTSElORwoJICBJZiBhIGxvdCBvZiBzZWVrIG1ldGhvZCBpcyBjYWxsZWQgdmVyeSBxdWlja2x5LCBzb21ldGltZXMgZGF0YSByZWFkaW5nCgkgIGFuZCBkb19yZXF1ZXN0IG9jY3VycyB3aGlsZSBzZWVrIGZsdXNoIGV2ZW50IGlzIG9jY3VycmluZyBhbmQgZXJyb3IKCSAgb2NjdXJzIGJlY2F1c2UgcmV0cnlfY291bnQKCSAgcmVhY2hlcyB0byB0aGUgbWF4LiBUaHVzLCByZXNldCByZXRyeV9jb3VudCBpZiBmbHVzaCBvY2N1cnMgYWZ0ZXIKCSAgZG9fcmVxdWVzdCBhbmQgcmVhZF9idWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAxOTkKCjIwMTgtMDEtMTggMTU6MDk6MDQgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgdGVzdHM6IGFhY3BhcnNlcjogVGVzdCB0aGF0IHNob3J0IHJhdyBmcmFtZXMgZG9uJ3QgZ2V0IGNvbmNhdGVuYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNjQ0CgoyMDE4LTAxLTE4IDE0OjIzOjA3ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFdoZW4gcGFyc2luZyByYXcgaW5wdXQsIGFjY2VwdCBmcmFtZXMgb2YgYW55IHNpemUKCSAgUmF3IEFBQyBzdHJlYW1zIG1pZ2h0IGhhdmUgdmVyeSBzbWFsbCBmcmFtZXMsIGUuZy4gNiBieXRlIGZyYW1lcwoJICB3aGVuIGVuY29kaW5nIHNpbGVuY2UuIFRoZXNlIGZyYW1lcyBhcmUgdGhlbiBzbWFsbGVyIHRoYW4gYWFjcGFyc2UncwoJICBkZWZhdWx0IG1pbl9mcmFtZV9zaXplIG9mIDEwIGJ5dGVzIChBRFRTX01BWF9TSVpFKS4KCSAgV2hlbiBwYXNzdGhyb3VnaCBpcyBkaXNhYmxlZCBvciBhYWNwYXJzZSBoYXMgdG8gb3V0cHV0IEFEVFMsIEdzdEJhc2VQYXJzZQoJICB3aWxsIGNvbmNhdGVuYXRlIHRoZXNlIHNob3J0IGZyYW1lcyB0byB0aGUgZm9sbG93aW5nIGZyYW1lIGJlZm9yZQoJICBoYW5kbGluZyB0aGVtIHRvIGFhY3BhcnNlLCB3aGljaCBwcm9jZXNzZXMgZWFjaCBpbnB1dCBidWZmZXIgYXMgYSBzaW5nbGUKCSAgZnJhbWUsIHByb2R1Y2luZyBiYWQgb3V0cHV0LgoJICBUbyBhdm9pZCB0aGlzIHByb2JsZW0sIHNldCB0aGUgbWluX2ZyYW1lX3NpemUgdG8gMSB3aGVuIHJlY2VpdmluZyBhIHJhdwoJICBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI2NDQKCjIwMTctMDUtMDIgMjE6MjQ6MDYgLTAzMDAgIEFkcmnDoW4gUGFyZGluaSA8Z2l0aHViQHRhbmdvcGFyZG8uY29tLmFyPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogcHJpbnQgYWN0dWFsIHVzZXJuYW1lIGluIGRlYnVnIGxvZyBvdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjA5MwoKMjAxOC0wMS0xNSAxODoxMzozNyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGxlYWsgb2YgZWxlbWVudHMgcmVxdWVzdGVkIGJ5IHNpZ25hbHMKCSAgV2hlbiB0aGUgc2lnbmFsIHJldHVybnMgYSBmbG9hdGluZyByZWZlcmVuY2UsIGFzIGl0cyByZXR1cm4gdHlwZQoJICBpcyB0cmFuc2ZlciBmdWxsLCB3ZSBuZWVkIHRvIHNpbmsgaXQgb3Vyc2VsdmVzIGJlZm9yZSBwYXNzaW5nCgkgIGl0IHRvIGdzdF9iaW5fYWRkICh3aGljaCBpcyB0cmFuc2ZlciBmbG9hdGluZykuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHVucmVmIGl0IGluIGJpbl9yZW1vdmVfZWxlbWVudCBsYXRlciBvbiwgYW5kCgkgIHRodXMgdG8gYWxzbyByZWxlYXNlIHRoZSByZWZlcmVuY2Ugd2Ugbm93IG93biBpZiB0aGUgc2lnbmFsCgkgIHJldHVybnMgYSBub24tZmxvYXRpbmcgcmVmZXJlbmNlIGFzIHdlbGwuCgkgIEFzIHdlIG5vdyBzdGlsbCBob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHdoZW4gcmVtb3ZpbmcgaXQsCgkgIHdlIGFsc28gbmVlZCB0byBsb2NrIGl0cyBzdGF0ZSBhbmQgc2V0dGluZyBpdCB0byBOVUxMIGJlZm9yZQoJICB1bnJlZmZpbmcgaXQKCSAgQWxzbyB1cGRhdGUgdGhlIHJlcXVlc3RfYXV4X3NlbmRlciB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNTQzCgoyMDE4LTAxLTE3IDExOjEwOjM3ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGRpdmlzaW9uIGJ5IDAgZm9yIGNvbXBsZXggdmlkZW8gZm9ybWF0cwoJICBTbyBjb21wbGV4IHZpZGVvIGZvcm1hdHMgaGF2ZSAwIGFzIHBzdHJpZGUuIERvbid0IHRyeSB0byBkaXZpZGUgdGhlCgkgIHN0cmlkZSBpbiBzdWNoIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNTk2CgoyMDE4LTAxLTE3IDExOjA4OjI1ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZGlzcGxheSBzdHJpZGUgYW5kIHdpZHRoIHZhbHVlcyBpZiBzdHJpZGUgaXMgdG9vIHNtYWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI1OTYKCjIwMTgtMDEtMTYgMTM6MTk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9jdW1lbnQgdW5pdCBvZiAibWF4LWZpbGUtZHVyYXRpb24iIHByb3BlcnR5CgoyMDE4LTAxLTEyIDEyOjIxOjM3ICswMTAwICBGbG9yZW50IFRoacOpcnkgPGZsb3JlbnQudGhpZXJ5QHViaWNhc3QuZXU+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCB0eXBvIGluIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjQ1OAoKMjAxOC0wMS0xMiAwOTo1MzozNyArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogYWRkIHByb3BlcnR5IHNldC9nZXQgUFJPUF9DQVBUVVJFX0lPX01PREUgZXJyb3IgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTg0MQoKMjAxOC0wMS0xMiAwOTo0NjozMCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogZm9sZCBwcm9wZXJ0eSBzZXQvZ2V0IFBST1BfT1VUUFVUX0lPX01PREUgY2FzZSBpbnRvIGRlZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTg0MQoKMjAxOC0wMS0xMiAwOTo0OToxNCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogYWRkIHByb3BlcnR5IHNldC9nZXQgUFJPUF9DQVBUVVJFX0lPX01PREUgZXJyb3IgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTg0MQoKMjAxOC0wMS0xMiAwOTo0NDowMyArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogZm9sZCBwcm9wZXJ0eSBzZXQvZ2V0IFBST1BfT1VUUFVUX0lPX01PREUgY2FzZSBpbnRvIGRlZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTg0MQoKMjAxOC0wMS0xMSAxMDo0NDoxOCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogZml4IGNhcHR1cmUtaW8tbW9kZSBwcm9wZXJ0eSBnZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTg0MQoKMjAxOC0wMS0xMSAxNzo0NzozOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBNYWludGFpbiBkb3duc3RyZWFtIGNhcHMgb3JkZXIKCSAgVGhlIGdfbGlzdF9pbnNlcnRfc29ydGVkKCkgd2lsbCBiZWhhdmUgbGlrZSBwcmVwZW5kIHdoZW4gdGhlIGNvbXBhcmUKCSAgZnVuY3Rpb24gcmV0dXJucyAwLiBJbiBvdXIgY2FzZSwgd2Ugd2FudCB0byBtYWludGFpbiB0aGUgb3JkZXIgaGVuY2UKCSAgYXBwZW5kLiBUaGlzIGZpeGVzIHRoaXMgaXNzdWUgYW5kIGltcHJvdmUgdGhlIHNvcnRpbmcgYWxnb3JpdGhtIHRvIG1ha2UKCSAgYSAxMHgxMCBwcmVmZXJlZCBvdmVyIDEweDIwMCB3aXRoIGEgcHJlZmVyZW5jZSBvZiAxMHg4IChhbmQgc2ltaWxhcgoJICBjYXNlcyB3aGljaCB3YXMgYmFkbHkgaGFuZGxlZCkuIFRoaXMgZml4ZXMgZ2VuZXJhbGx5IGZpeGVzIGlzc3VlIHdlcmUgYQoJICBzdWItb3B0aW1hbCBmb3JtYXQgLyBzaXplIGlzIHBpY2tlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjQzNQoKMjAxNy0xMi0yMSAyMzowMjozMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogQWxzbyByZS1lbmFibGVkIHBhdXNlZCB0YXNrCgkgIFdoZW4gd2Ugb25seSBydW4gX2ZpbmlzaCgpLCB0aGUgdGFzayBpcyBuZXZlciBzdG9wcGVkIGV4dGVybmFsbHksCgkgIGluc3RlYWQgaXQncyBvbmx5IHBhdXNlZCBmcm9tIHRoZSBpbnNpZGUuIFdlIHN0aWxsIHdhbnQgdG8gcmVzdGFydAoJICBpdCBpbiB0aGlzIGNhc2UuCgoyMDE4LTAxLTA4IDE1OjIzOjI0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBmbHVzaCBmbGFjIGRlY29kZXIgb24gbG9zdCBzeW5jLgoJICBUaGlzIHRvIGFsbG93IHRoZSBkZWNvZGVyIHRvIHN0YXJ0IHNlYXJjaGluZyBmb3IgYSBuZXcKCSAgZnJhbWUgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE0NzMKCjIwMTctMTItMjEgMjI6NTY6NTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IENhbGwgc3RvcCBvbiBvYmplY3QgYmVmb3JlIHJlbmVnb3RpYXRpb24KCSAgT3RoZXJ3aXNlIHJlbmVnb3RpYXRpb24gZmFpbHMgYXMgd2UgYXJlIHN0aWxsIHN0cmVhbWluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMzOAoKMjAxNy0xMi0yMSAyMjo1NTo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogUmVtb3ZlIGRlYWQgY29kZQoJICBnc3RfdjRsMl9vYmplY3Rfc3RvcCgpIHdpbGwgZnJlZSBhbmQgbnVsbGlmeSB0aGUgcG9vbCwgc28gdGhlCgkgIGZvbGxvd2luZyBpZiB3aWxsIG5ldmVyIGJlIHRydWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTEzMzgKCjIwMTctMTItMjEgMjI6Mjk6MDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IERlbGF5IGNhcHR1cmUgcG9vbCBhY3RpdmF0aW9uCgkgIFRoaXMgaXMgc3VwcG9ydCBDT0RBIGRyaXZlciB3aGljaCBwcmV2ZW50cyBzZXR0aW5nIHRoZSBvdXRwdXQgZm9ybWF0IGlmCgkgIHRoZSBjYXB0dXJlIGlzIHN0cmVhbWluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMzOAoKMjAxNy0xMi0xMyAyMDoyMzo0NiArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBBZGQgZHluYW1pYyByZXNvbHV0aW9uIGNoYW5nZSBzdXBwb3J0CgkgIFRoaXMgaW1wbGVtZW50cyBhICJiaWcgaGFtbWVyIiByZWFsbG9jYXRpb24gbWV0aG9kLiBXZSBlZmZlY3RpdmVseQoJICBkcmFpbiBhbmQgc3RvcCBib3RoIHNpZGUgb2YgdGhlIGRlY29kZXIgYW5kIHJlc3RhcnQuIFRoaXMgdGhvdWdoIGlzCgkgIHRoZSBtb3N0IGdlbmVyaWMgbWV0aG9kLiBUaGlzIGNoYW5nZSBzaG91bGQgZW5hYmxlIG9uIG1vc3QgZHJpdmVycwoJICBhZGFwdGl2ZSBzdHJlYW1pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5NjIKCjIwMTctMTItMzAgMDE6NTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHpsaWIgaXMgbm90IGFjdHVhbGx5IGEgaGFyZCByZXF1aXJlbWVudAoKMjAxNy0wOS0yOCAxODowMDozOCAtMDMwMCAgRXplcXVpZWwgR2FyY2lhIDxlemVxdWllbEB2YW5ndWFyZGlhc3VyLmNvbS5hcj4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogRml4dXAgZnJhbWVzIHdpdGhvdXQgYW4gRU9JIG1hcmtlcgoJICBTb21lIGNhbWVyYXMgZmFpbCB0byBzZW5kIGFuIGVuZC1vZi1pbWFnZSBtYXJrZXIgKEVPSSkKCSAgYW5kIGNhbid0IGJlIHByb3Blcmx5IGRlY29kZWQgYnkgZWl0aGVyIEpQRUcgb3IgbGlianBlZy4KCSAgVGhpcyBjb21taXQgcGFyc2VzIHRoZSBmcmFtZSwgbWFraW5nIHN1cmUgaXQgaGFzIGFuIEVPSS4KCSAgSWYgdGhlcmUgaXNuJ3Qgb25lLCB0aGUgRU9JIGdldHMgYWRkZWQgdG8gdGhlIGJ1ZmZlci4KCSAgQSBzaW1pbGFyIGZpeHVwIGlzIGRvbmUgaW4gdGhlIHJ0cGpwZWdkZXBheSBlbGVtZW50LAoJICBhbmQgaXQgbWFrZXMgc2Vuc2UgdG8gZG8gaXQgaW4ganBlZ2RlYyBhcyB3ZWxsLgoJICBTaWduZWQtb2ZmLWJ5OiBFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQHZhbmd1YXJkaWFzdXIuY29tLmFyPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxOTg4CgoyMDE3LTEyLTI2IDEzOjUwOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBza2lwIHRyYW5zbGF0aW9ucyBpZiBnZXR0ZXh0IGlzIG5vdCBhdmFpbGFibGUKCjIwMTctMTItMjQgMTM6MTQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIHJ0cEw4cGF5L2RlcGF5IHRvIGRvY3MKCjIwMTctMTItMjQgMTM6MTE6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMKCjIwMTUtMDUtMTUgMTc6MDA6MjYgKzAxMDAgIFRpbSBBbGxlbiA8dGltLmFsbGVuQGdlLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEw4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEw4cGF5Lmg6CgkqIGdzdC9ydHAvbWVzb24uYnVpbGQ6CgkgIHJ0cDogYWRkIEw4IGF1ZGlvIHN1cHBvcnQKCjIwMTctMTItMjMgMTI6NDU6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHR5cG8gaW4gbXVsdGljYXN0IGpvaW4gZXJyb3IgbWVzc2FnZQoKMjAxNy0xMi0yMyAxMjo0NDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHByb3h5IG11bHRpY2FzdC1pZmFjZSBwcm9wZXJ0eSB0byBSVENQIHVkcHNyYwoKMjAxNS0xMS0wMiAwMDo0MToyOCArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AaG90bWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGRvbid0IHRyeSB0byBzZXQgSVBWNl9UQ0xBU1Mgb24gSVBWNCBzb2NrZXRzCgkgIEF2b2lkcyBFUlJPUiBsb2cgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ0OQoKMjAxNS0xMS0wMiAwMDo0MToyOCArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogdWRwc2luazogYWRkIGNoZWNrIHRoYXQgc2V0cyBRb1Mgb24gSVB2NC82IHNvY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ0OQoKMjAxNy0xMi0yMiAxMDoyMToyOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDJkZXZpY2Vwcm92aWRlcjogRG9uJ3QgZG8gc2xvdyBwcm9iZXMKCSAgVGhpcyBpcyBwcm9ibGVtYXRpYyBpbiB0aGUgY3VycmVudCBkZXNpZ24gYXQgaXQgc2VyaW91c2x5IHNsb3cgZG93bgoJICBzdGFydHVwIG9mIGFwcGxpY2F0aW9ucy4gQXMgb2Ygbm93LCBubyBrbm93biBhcHBsaWNhdGlvbiB1c2VzIHRoZQoJICBjb2xvcmltZXRyeSBhbmQgdGhlIGludGVybGFjZS1tb2RlcyBmb3IgYW55dGhpbmcgKHRoZSB0d28gZmllbGRzIHRoYXQKCSAgd29uJ3QgYmUgcHJvYmVkKS4gU28gbGV0J3MgZGlzYWJsZSBpdCwgaW4gdGhlIGxvbmcgdGVybSB3ZSdsbCB0cnkgYW5kCgkgIGZpbmQgYSB3YXkgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgcHJvdmlkZXIgc28gYXBwbGljYWl0b24gY291bGQgb3B0LWluCgkgIHRoZXNlIHNsb3cgcHJvYmluZyBtZXRob2RzIGZvciBtb3JlIGFkdmFuY2UgY29uZmlndXJhdGlvbi4KCjIwMTctMTItMjIgMTA6MTU6NDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgcmVkZWZpbmUgbW1hcDY0CgkgIE9uIExpbnV4LCB0aGVyZSBleGlzdCBhIGNhc2Ugd2hlcmUgbW1hcDY0IGlzIGFscmVhZHkgYSBkZWZpbmUgdG8gbW1hcCwKCSAgc28gYXZvaWQgdGhlIHJlZGVmaW5lIHdhcm5pbmcgaGVyZS4KCjIwMTctMTItMTkgMTc6Mzc6NTggKzA4MDAgIFRpbmctV2VpIExhbiA8bGFudHdAc3JjLmdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogbWVzb24uYnVpbGQ6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgdXNlIG1tYXA2NCBpZiBvZmZfdCBpcyA2NC1iaXQKCSAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtbWFwIGFuZCBtbWFwNjQgaXMgdGhlIHR5cGUgb2YgJ29mZnNldCcgYXJndW1lbnQuCgkgIG1tYXA2NCBhbHdheXMgdXNlcyBhIDY0LWJpdCBpbnRlcmdlciBhcyBvZmZzZXQsIHdoaWxlIG1tYXAgdXNlcyBvZmZfdCwKCSAgd2hvc2Ugc2l6ZSBjYW4gdmFyeSBvbiBkaWZmZXJlbnQgb3BlcmF0aW5nIHN5c3RlbXMgb3IgYXJjaGl0ZWN0dXJlcy4KCSAgSG93ZXZlciwgbm90IGFsbCBvcGVyYXRpbmcgc3lzdGVtcyBzdXBwb3J0IG1tYXA2NC4gRm9ydHVuYXRlbHksIGFsdGhvdWdoCgkgIEZyZWVCU0Qgb25seSBoYXMgbW1hcCwgaXRzIG9mZl90IGlzIGFsd2F5cyA2NC1iaXQgcmVnYXJkbGVzcyBvZgoJICBhcmNoaXRlY3R1cmVzLCBzbyB3ZSBjYW4gc2ltcGx5IHVzZSBtbWFwIHdoZW4gc2l6ZW9mKG9mZl90KSA9PSA4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzc5CgoyMDE3LTEyLTIyIDA5OjE3OjA0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIFJldmVydCAidjRsMm9iamVjdDogVXNlIG1tYXA2NCB0byBtYXRjaCBsaWJ2NGwyIHNpZ25hdHVyZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNjFiYmE0ODQ4OGMwYTYyN2Q5MGYwNGNjOTkxN2Q4YzRmM2YwZDliLgoKMjAxNy0xMi0xOSAxNzozNzo1OCArMDgwMCAgVGluZy1XZWkgTGFuIDxsYW50d0BzcmMuZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBtZXNvbi5idWlsZDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBDaGVjayBmb3IgbW1hcDY0IGJlZm9yZSB1c2luZyBpdAoJICBtbWFwNjQgaXMgbm90IGF2YWlsYWJsZSBvbiBGcmVlQlNELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzc5CgoyMDE3LTEyLTIwIDE1OjIzOjI2IC0wNTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IGZsdm11eCBwb3J0ZWQgdG8gdGhlIEdzdEFnZ3JlZ2F0b3IKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBjcmVhdGUgYSBmbHYgZmlsZSBmcm9tIGEgbGl2ZSBzb3VyY2UgYW5kIG5vdCBzdG9wCgkgIHdoZW4gdGhlcmUgYXJlIHBhY2tldCBkcm9wcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjkyMAoKMjAxNy0xMi0xOSAxNjo0Nzo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQ2FsbCBnc3RfYmFzZV9zaW5rX3dhaXRfcHJlcm9sbCBvbiB1bmxvY2sKCSAgVGhpcyBtZWFucyB0aGF0IHBhY2tldHMgd2lsbCBub3QgYmUgbG9zdCBvbiBmYXN0IHBhdXNlL3BsYXlpbmcgY3ljbGVzLgoJICBBbHNvIHJlZmFjdG9yIHRoZSBjb2RlIGEgbGl0dGxlIHRvIHNpbXBsaWZ5IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0OTQ1CgoyMDE3LTEyLTE5IDE2OjIyOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGsgZXhhbXBsZTogRml4IGNmbGFncyBpbiBNYWtlZmlsZS5hbQoKMjAxNy0xMi0xOSAxNTo0Njo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNy0xMi0xOSAxMzowMzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBkb24ndCBpbmNsdWRlIHVuaW5zdGFsbGVkIGhlYWRlcgoKMjAxNy0xMi0xNyAyMDo1NDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgZ2w6IHVwZGF0ZSBwbHVnaW5zIHRvIHVzZSBHc3RHTCBmcm9tIC1iYXNlCgoyMDE3LTEyLTE3IDIwOjU0OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBnbDogdXBkYXRlIHBsdWdpbnMgdG8gdXNlIEdzdEdMIGZyb20gLWJhc2UKCjIwMTctMTItMTkgMTE6NTc6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCB0d28gbGVha3MKCSAgKiBnc3RfZXZlbnRfbmV3X3N0cmVhbV9zdGFydCgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBzdHJlYW1faWQKCSAgKiB0aGUgcGlwZWxpbmVfcmVxdWVzdF9pZCBzdHJpbmcgdGhhdCBpcyBjcmVhdGVkIHdhcyBub3QgYmVpbmcgZnJlZWQKCjIwMTctMTItMDcgMjI6MDg6NDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogQWRkIEdzdFZpZGVvQ3JvcE1ldGEgc3VwcG9ydAoJICBJZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoaXMgbWV0YSwgaXQgd2lsbCBhZGQgb3IgdXBkYXRlIGl0IGZyb20KCSAgdGhlIEdzdEJ1ZmZlciBpbi1wbGFjZSByYXRoZXIgdGhlbiBjb3B5aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDUzCgoyMDE3LTEyLTEzIDA5OjIyOjE3ICswMDAwICBTZWFuIER1Qm9pcyA8c2VhbkBzaW9idWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgQWRkIEFWMSB0byBtYXRyb3NrYSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDE2MAoKMjAxNy0xMi0xNSAxNDo0ODowOSArMDEwMCAgZmVuZ2FsaW4gPGZlbmdhbGluQGZyZWUuZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggbWVtb3J5IGxlYWtzIGR1ZSB0byB0b2MgcmVsYXRlZCB1cGRhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA2ODYKCjIwMTctMTItMTUgMTE6NDA6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IHZhcmlvdXMgbWVtb3J5IGxlYWtzIGluIHRoZSB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDY4NgoKMjAxNy0xMi0xNCAxOTowNTozNiArMDEwMCAgZmVuZ2FsaW4gPGZlbmdhbGluQGZyZWUuZnI+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thLW11eDogbWlncmF0ZSB0ZXN0IHRvIGdzdF9oYXJuZXNzCgkgIC4uLiBmb2xsb3dpbmcgdGhlIGd1aWRlIGxpbmVzIGZyb20gSMOldmFyZCBHcmFmZiAoc2VlIGh0dHBzOi8vZ3N0Y29uZi51YmljYXN0LnR2L3ZpZGVvcy9tb2FyLWJldHRlci10ZXN0cy8pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNjg2CgoyMDE3LTEyLTAxIDE4OjE3OjA2ICswMTAwICBmZW5nYWxpbiA8ZmVuZ2FsaW5AZnJlZS5mcj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYTogcmUtYWN0aXZhdGUgYW5kIHVwZGF0ZSBUT0Mgc3VwcG9ydAoJICBUT0Mgc3VwcG9ydCBpbiBtYXN0cm9za2FtdXggaGFzIGJlZW4gZGVhY3RpdmF0ZWQgZm9yIGEgY291cGxlIG9mIHllYXJzLiBUaGlzIGNvbW1pdCB1cGRhdGVzIGl0IHRvIHJlY2VudCBHc3RUb2MgZXZvbHV0aW9ucyBhbmQgaW50cm9kdWNlcyB0b2MgdW5pdCB0ZXN0cyBmb3IgYm90aCBtYXRyb3NrYS1tdXggYW5kIG1hdHJvc2thLWRlbXV4LgoJICBUaGVyZSBhcmUgdHdvIFVJRHMgZm9yIENoYXB0ZXJzIGluIE1hdHJvc2thJ3Mgc3BlY2lmaWNhdGlvbnM6CgkgIC0gVGhlIENoYXB0ZXJVSUQgaXMgYSBtYW5kYXRvcnkgdW5zaWduZWQgaW50ZWdlciB3aGljaCBpbnRlcm5hbGx5IHJlZmVycyB0byBhIGdpdmVuIGNoYXB0ZXIuIEV4Y2VwdCBmb3IgdGl0bGUgJiBsYW5ndWFnZSB3aGljaCB1c2UgZGVkaWNhdGVkIGZpZWxkcywgdGhpcyBVSUQgY2FuIGFsc28gYmUgdXNlZCB0byBhZGQgdGFncyB0byB0aGUgQ2hhcHRlci4gVGhlIHRhZ3MgY29tZSBpbiBhIHNlcGFyYXRlIHNlY3Rpb24gb2YgdGhlIGNvbnRhaW5lci4KCSAgLSBUaGUgQ2hhcHRlclN0cmluZ1VJRCBpcyBhbiBvcHRpb25hbCBVVEYtOCBzdHJpbmcgd2hpY2ggYWxzbyB1bmlxdWVseSByZWZlcnMgdG8gYSBjaGFwdGVyIGJ1dCBmcm9tIGFuIGV4dGVybmFsIHBlcnNwZWN0aXZlLiBJdCBjYW4gYWN0IGFzIGEgIldlYlZUVCBjdWUgaWRlbnRpZmllciIgd2hpY2ggImNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSBhIHNwZWNpZmljIGN1ZSwgZm9yIGV4YW1wbGUgZnJvbSBzY3JpcHQgb3IgQ1NTIi4KCSAgRHVyaW5nIG11eGluZywgdGhlIENoYXB0ZXJVSUQgaXMgZ2VuZXJhdGVkIGFuZCBjaGVja2VkIGZvciB1bmljaXR5LCB3aGlsZSB0aGUgQ2hhcHRlclN0cmluZ1VJRCByZWNlaXZlcyB0aGUgdXNlciBkZWZpbmVkIFVJRC4gSW4gb3JkZXIgdG8gYmUgYWJsZSB0byByZWZlciB0byBjaGFwdGVycyBmcm9tIHRoZSB0YWdzIHNlY3Rpb24sIHdlIG1haW50YWluIGFuIGludGVybmFsIFRvYyB0cmVlIHdpdGggdGhlIGdlbmVyYXRlZCBDaGFwdGVyVUlELgoJICBXaGVuIGRlbXV4aW5nLCB0aGUgQ2hhcHRlclN0cmluZ1VJRHMgKGlmIGF2YWlsYWJsZSkgYXJlIGFzc2lnbmVkIHRvIHRoZSBHc3RUb2NFbnRyaWVzIFVJRHMgYW5kIGFuIGludGVybmFsIHRvYyBtaW1pY2tpbmcgdGhlIHRvYyBpcyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIENoYXB0ZXJVSURzIGFuZCBtYXRjaCB0aGUgdGFncyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBHc3RUb2NFbnRyaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNjg2CgoyMDE3LTEyLTE0IDE4OjI4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6CgkgIHY0bDJzcmM6IEZpeCBjb21waWxlciBlcnJvciBpbiBleGFtcGxlIGNhdXNlZCBieSByZS1kZWNsYXJpbmcgYGluZGV4YAoJICAuLi90ZXN0cy9leGFtcGxlcy92NGwyL3Y0bDJzcmMtcmVuZWdvdGlhdGUuYzo1NzoxMzogZXJyb3I6IOKAmGluZGV44oCZIHJlZGVjbGFyZWQgYXMgZGlmZmVyZW50IGtpbmQgb2Ygc3ltYm9sCgkgIHN0YXRpYyBnaW50IGluZGV4ID0gMDsKCSAgXgoKMjAxNy0xMi0xNCAxNDo0OTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlOGM3YTcxIHRvIDNmYTJjOWUKCjIwMTctMTItMTMgMTQ6Mzk6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMm9iamVjdDogVXNlIGEgZGVidWcgb2JqZWN0IGZvciB0cmFjaW5nCgkgIFRoaXMgd2F5IHdlIGNhbiBwYXNzIHRoZSBwYWQgbmFtZSBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50IGZvciB0cmFjaW5nCgkgIHdoaWNoIGhlbHBzIGlkZW50aWZ5aW5nIHdoaWNoIHY0bDJvYmplY3QgaXMgdXNlZCB3aXRoaW5nIE0yTSBlbGVtZW50CgkgIGxpa2UgZGVjb2RlciwgZW5jb2RlciBhbmQgdHJhbnNmb3JtLiBGb3IgdGhlIHJlZmVyZW5jZSwgcGFkcyBhcmUgbmFtZQoJICA8cGFyZW50LW5hbWU+OjxwYWQtbmFtZT4uCgoyMDE3LTEyLTEzIDEyOjA2OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFB1c2ggYSBHQVAgZXZlbnQgaWYgdGhlcmUncyBhIHNlY29uZCAqb3IgbW9yZSoKCSAgQW5kIG5vdCAibW9yZSB0aGFuIGEgc2Vjb25kIgoKMjAxNy0xMi0xMyAxMTozNTozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBwdXNoIEdBUCBldmVudCBpZiBmaXJzdCBidWZmZXIgaXMgd2l0aGluIDFzCgkgIElmIHdlIHNhdyBlbXB0eSBzZWdtZW50cywgd2UgcHJldmlvdXNseSB1bmNvbmRpdGlvbmFsbHkgcHVzaGVkIGEKCSAgR0FQIGV2ZW50IGRvd25zdHJlYW0gcmVnYXJkbGVzcyBvZiB0aGUgZHVyYXRpb24gb2YgdGhhdCBlbXB0eQoJICBzZWdtZW50LgoJICBJbiBvcmRlciB0byBhdm9pZCBpc3N1ZXMgd2l0aCBpbml0aWFsIG5lZ290aWF0aW9uIG9mIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgKHdoaWNoIHdvdWxkIG5lZ290aWF0ZSB0byBzb21ldGhpbmcgYmVmb3JlIHJlY2VpdmluZyBhbnkgZGF0YSBkdWUgdG8KCSAgdGhhdCBpbml0aWFsIEdBUCBldmVudCksIGNoZWNrIGlmIHRoZXJlJ3MgYXQgbGVhc3QgYSBzZWNvbmQgb2YgZGlmZmVyZW5jZQoJICAobGlrZSB3ZSBkbyBmb3Igb3RoZXIgR0FQLXJlbGF0ZWQgY2hlY2tzIGluIHF0ZGVtdXgpIGJlZm9yZQoJICBkZWNpZGluZyB0byBwdXNoIGEgR0FQIGV2ZW50IGRvd25zdHJlYW0uCgoyMDE3LTEyLTEzIDEwOjIxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHNldCBwYXJlZD1UcnVlIG9uIHVuZGVyc3BlY2lmaWVkIGF1ZGlvL21wZWcKCSAgVGhpcyAqcmVhbGx5KiBuZWVkcyB0byBnbyB0aHJvdWdoIGEgcGFyc2VyIHRvIGZpZ3VyZSBvdXQgd2hhdCB0aGUKCSAgZXhhY3QgY29udGVudCB0eXBlIGlzLgoKMjAxNy0xMi0xMSAxNToyNzowOCAtMDYwMCAgTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRml4IC1XaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMgd2FybmluZwoJICBUaGlzIGlzIGNhdXNlZCBieSB0aGUgbmV3IHR5cGUgcHJvcGFnYXRpb24gZm9yIGdfb2JqZWN0X3JlZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTQ5NAoKMjAxNy0xMi0wOSAxNjoxNToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgcnRwaDI2NCB0ZXN0IGJpbmFyeQoKMjAxNy0wOC0yNSAxNToxOTozNyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiB2ZXJpZnkgdGhlIGNvcnJlY3QgYW1vdW50IG9mIGJ5dGVzIGlzIHNlbnQgdG8gdGhlIHNvY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2Nzk5CgoyMDE3LTA4LTI1IDE0OjU5OjA2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IGVuc3VyZSB0ZXN0IHdvbid0IHRpbWVvdXQgaWYgdGhlIGJ1ZmZlcnMgYXJlIGFscmVhZHkgcmVjZWl2ZWQKCSAgU29tZXRpbWVzIGFsbCB0aGUgYnVmZmVycyBhcmUgcmVjZWl2ZWQgYmVmb3JlIHRoZSB0aW1lIHdlIGxvY2sgdGhlCgkgIGNoZWNrX211dGV4LCBpbiB3aGljaCBjYXNlIGdfY29uZF93YWl0IHdpbGwgd2FpdCBmb3JldmVyIGZvciBhbm90aGVyCgkgIG9uZS4gSnVzdCBjaGVjayBpZiB0aGlzIGlzIHRoZSBjYXNlIGJlZm9yZSB3YWl0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9hdHRhY2htZW50LmNnaT9pZD0zNTgzOTcKCjIwMTctMDgtMjUgMTQ6NDU6NTIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogZml4IHRlc3RfdWRwc3JjIHRvIGFjdHVhbGx5IHJ1biBhbmQgZml4IGxvY2tpbmcKCSAgUHJldmlvdXNseSB0aGlzIHdvdWxkIHNpbGVudGx5IGJlIHNraXBwZWQgYmVjYXVzZSAxNjAwICE9IDE0MDAKCSAgYW5kIHRoZXJlIGlzIG5vIGFzc2VydGlvbiBvbiB0aGlzIGNhbGwuCgkgIEFsc28gdW5sb2NrIGNoZWNrX211dGV4IGFmdGVyIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Njc5OQoKMjAxNy0wOS0yMSAxODoyMzo1NCArMDMwMCAgSm9obiBOaWtvbGFpZGVzIDxqbmlrb2xhaWRlc0B0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogYWRkZWQgYSAic3BsaXQgbm93IiBhY3Rpb24gc2lnbmFsCgkgIE5vdywgdGhlIHZpZGVvIGZpbGUgY2FuIGJlIHNwbGl0IGF0IGFuIGFyYml0cmFyeSB0aW1lIGNob3NlbiBieSB0aGUgdXNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzkyMgoKMjAxNy0xMi0wOCAwMDozMTozMiArMDAwMCAgQWx2YXJvIE1hcmd1bGlzIDxhbHZhcm8ubWFyZ3VsaXNAY2lycGFjay5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBiaW5kIGFkZHJlc3MgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwOTg2CgoyMDE3LTEyLTA3IDExOjE1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IGZpeCBoZWFkZXIgcmV3cml0aW5nIGJlaW5nIGlnbm9yZWQiCgkgIFRoaXMgY2F1c2VkIGJyb2tlbiBtZXRhZGF0YSBhbmQgYWxzbyBsb29rcyBhIGJpdCBkb2RneS4KCSAgUmV2ZXJ0IHVudGlsIHdlIGNhbiBmaWd1cmUgb3V0IGEgc29sdXRpb24gdGhhdCB3b3JrcyBmb3IKCSAgYWxsIGNhc2VzIGFuZCBkb2Vzbid0IGJyZWFrIGFueXRoaW5nLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFkZWVlNDRiMDdhMTczYjlhYjQyNTMyMTZjYWJhOGY2NmRkNDNhYmIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MDIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTU1OAoKMjAxNy0xMi0wNSAxNToxNDowNCArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEhhbmRsZSBkcml2ZXJzIHRoYXQgb25seSByb3VuZCB1cCBoZWlnaHQKCSAgQ29tbWl0IDFmMzE3MTVjOTg2MSAoInY0bDJ2aWRlb2RlYzogdXNlIHZpc2libGUgc2l6ZSwgbm90IGNvZGVkIHNpemUsCgkgIGZvciBkb3duc3RyZWFtIG5lZ290aWF0aW9uIGZpbHRlciIpIGFkZGVkIHN1cHBvcnQgZm9yIHJlbW92aW5nIHRoZQoJICBwYWRkaW5nIG9idGFpbmVkIGFzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gd2lkdGgvaGVpZ2h0IGZyb20gR19GTVQgYW5kCgkgIHZpc2libGUgd2lkdGgvaGVpZ2h0IGZyb20gR19TRUxFQ1RJT04gZnJvbSB0aGUgcHJvYmVkIGNhcHMgb2J0YWluZWQKCSAgdmlhIFRSWV9GTVQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHBhZGRpbmcgcmVtb3ZhbCBmb3IgZHJpdmVycyB0aGF0IG9ubHkgcm91bmQgdXAKCSAgaGVpZ2h0LCBidXQgbm90IHdpZHRoLCB0byB0aGUgcGFkZGVkIGZyYW1lIHNpemUuIFRoaXMgbWlnaHQgaGFwcGVuCgkgIGJlY2F1c2UgaG9yaXpvbnRhbCBwYWRkaW5nIGNhbiBiZSBoYW5kbGVkIGJ5IGxpbmUgc3RyaWRlIChieXRlc3BlcmxpbmUpLAoJICBidXQgdGhlcmUgaXMgbm8gc3VjaCB0aGluZyBhcyBwbGFuZSBzdHJpZGUgaW4gdGhlIFY0TDIgQVBJIGZvcgoJICBzaW5nbGUtYnVmZmVyIHBsYW5hciBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMjcxCgoyMDE3LTExLTAxIDA4OjIxOjM3IC0wNjAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgYSBzaWduYWwgdG8gYWxsb3cgb3V0Z29pbmcgbWVzc2FnZXMgdG8gYmUgbW9kaWZpZWQgb3IgZHJvcHBlZAoJICBUaGlzIGZlYXR1cmUgYWxsb3dzIGFwcGxpY2F0aW9ucyB0byBpbXBsZW1lbnQgZXh0ZW5zaW9ucyB0byB0aGUgUlRTUAoJICBwcm90b2NvbCwgc3VjaCBhcyB0aG9zZSBkZWZpbmVkIGluIHRoZSBPTlZJRiBTdHJlYW1pbmcgU3BlY2lmaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg4NAoKMjAxNy0wOC0yNSAxMTo1NzoyNiArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBIYW5kbGUgemVybyBsZW5ndGggZmVlZGJhY2sgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMDc0CgoyMDE3LTA3LTEwIDE1OjE5OjM0ICswMjAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWJ1ZyBsb2cgZm9yICdodmNDJyBjb2RlY19kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3NDkKCjIwMTctMTItMDEgMTM6MDQ6NDEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHM6IHJ0cHNlc3Npb246IHJlZmFjdG9yIHRlc3RzIHRvIHVzZSBHc3RIYXJuZXNzCgkgIFRoaXMgcGF0Y2ggc2ltcGxpZmllcyB0aGUgdGVzdHMgKDQ0JSBsZXNzIGNvZGUpIGFuZAoJICBtYWtlcyB0aGVtIG11Y2ggbW9yZSByZWFkYWJsZS4KCSAgVGhlIHByb3ZpZGVkIFNlc3Npb25IYXJuZXNzIGFsc28gbWFrZXMgaXQgbXVjaCBlYXNpZXIKCSAgdG8gd3JpdGUgbmV3IHRlc3RzIGZvciBydHBzZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMDcwCgoyMDE3LTExLTI0IDEwOjM2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBSZXF1ZXN0IGF0IGxlYXN0IHRoZSBmdWxsIGhlYWRlciBzaXplIHdoZW4gcGFyc2luZyBoZWFkZXJzCgkgIE90aGVyd2lzZSBiYXNlcGFyc2Ugd2lsbCBpbmNyZW1lbnRhbGx5IHNlbmQgdXMgYmlnZ2VyIGJ1ZmZlcnMgdW50aWwgdGhlCgkgIGZ1bGwgaGVhZGVyIHNpemUgaXMgcmVhY2hlZCwgd2hpY2ggaXMgbm90IG9ubHkgcG9pbnRsZXNzIGJ1dCBhbHNvIG1lYW5zCgkgIHRoYXQgYmFzZXBhcnNlIHdpbGwgcmVhbGxvY2F0ZSBhbmQgY29weSBpbnRvIGEgYmlnZ2VyIGJ1ZmZlciBmb3IgZXZlcnkKCSAgaW5wdXQgYnVmZmVycy4gSW4gcHVsbCBtb2RlIHRoYXQncyBkb25lIGluIDY0a2IgaW5jcmVtZW50cywgaW4gcHVzaCBtb2RlCgkgIHVzdWFsbHkgaW4gbXVjaCBzbWFsbGVyIGluY3JlbWVudHMsIGNhdXNpbmcgYSBsb3Qgb2Ygb3ZlcmhlYWQgZm9yCgkgIGV4YW1wbGUgd2hlbiBwYXJzaW5nIGhpZ2gtcXVhbGl0eSBjb3ZlcmFydC4KCjIwMTctMTEtMjkgMTE6Mjk6MzEgKzAxMDAgIEZsb3JlbnQgVGhpw6lyeSA8ZmxvcmVudC50aGllcnlAdWJpY2FzdC5ldT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IGRtYWJ1ZiBzdXBwb3J0IGRldGVjdGlvbgoJICBUaGlzIHJlc3VsdGVkIGluIGltcHJvcGVyIHNlbGVjdGlvbiBvZiBkbWFidWYgb24gdW5zdXBwb3J0ZWQgZHJpdmVycy4KCSAgVGhlIGNoZWNrZWQgaW9jdGwgZXJybm8gd2FzIG5vdCBjb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwOTQwCgoyMDE3LTExLTI3IDIwOjEwOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmNGFhOTYgdG8gZThjN2E3MQoKMjAxNy0xMS0yNyAxNDo0NDo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBnbC9jYW9wZW5nbGxheWVyOiB1c2UgcHVibGljIEdzdEdMQ29udGV4dCBpbnN0ZWFkIG9mIENvY29hLXNwZWNpZmljIG9uZQoJICBBbGxvd3Mga2VlcGluZyB0aGUgR3N0R0xDQU9wZW5HTExheWVyIHB1YmxpYyBidXQgbm90IHRoZSB3aW5zeXMtc3BlY2lmaWMKCSAgY29udGV4dC9kaXNwbGF5L3dpbmRvdy4KCjIwMTctMTEtMjYgMTU6MTM6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGF1dG90b29sczogc3RvcCBjb250cm9sbGluZyBzeW1ib2wgdmlzaWJpbGl0eSB3aXRoIC1leHBvcnQtc3ltYm9scy1yZWdleAoJICBJbnN0ZWFkLCB1c2UgLWZ2aXNpYmlsaXR5PWhpZGRlbiBhbmQgZXhwbGljaXQgZXhwb3J0cyB2aWEgR1NUX0VYUE9SVC4KCSAgVGhpcyBzaG91bGQgcmVzdWx0IGluIGNvbnNpc3RlbnQgYmVoYXZpb3VyIGZvciB0aGUgYXV0b3Rvb2xzIGFuZAoJICBNZXNvbiBidWlsZHMuCgoyMDE3LTExLTI0IDE1OjM3OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IERvIG1vcmUgY2hlY2tzIGZvciBzZWVrYWJpbGl0eQoJICBXaGVuIHJlY2VpdmluZyBhIHNlZWsgZXZlbnQsIGNoZWNrIHdoZXRoZXIgd2UgY2FuIGFjdHVhbGx5IHNlZWsgYmFzZWQKCSAgb24gdGhlIGluZm9ybWF0aW9uIHRoZSBzZXJ2ZXIgcHJvdmlkZWQuCgkgIEFsc28gYWRkIG1vcmUgZG9jdW1lbnRhdGlvbiBvbiB3aGF0IHRoZSBzZWVrYWJsZSBmaWVsZCBtZWFucwoKMjAxNy0xMS0yNSAwMDo1Mzo0MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBbHdheXMgdXBkYXRlIHJlc2VydmVkLWR1cmF0aW9uLXJlbWFpbmluZwoJICBJZiBhIHJlc2VydmVkLW1heC1kdXJhdGlvbiBpcyBzZXQsIHdlIHNob3VsZCBhbHdheXMgdHJhY2sKCSAgYW5kIHVwZGF0ZSB0aGUgcmVzZXJ2ZWQtZHVyYXRpb24tcmVtYWluaW5nIGVzdGltYXRlLCBldmVuCgkgIGlmIHdlJ3JlIG5vdCBzZW5kaW5nIHBlcmlvZGljIG1vb3YgdXBkYXRlcyBkb3duc3RyZWFtIGZvcgoJICBmdWxsIHJvYnVzdCBtdXhpbmcuCgoyMDE1LTA0LTA3IDIzOjUzOjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4c2luazogVXNlIG11eGVyIHJlc2VydmVkIHNwYWNlIHByb3BlcnRpZXMgaWYgcHJlc2VudC4KCSAgSWYgdGhlIHVzZS1yb2J1c3QtbXV4aW5nIHByb3BlcnR5IGlzIHNldCwgY2hlY2sgaWYgdGhlCgkgIGFzc2lnbmVkIG11eGVyIGhhcyByZXNlcnZlZC1tYXgtZHVyYXRpb24gYW5kCgkgIHJlc2VydmVkLWR1cmF0aW9uLXJlbWFpbmluZyBwcm9wZXJ0aWVzLCBhbmQgaWYgc28gc2V0CgkgIHRoZSBjb25maWd1cmVkIG1heGltdW0gZHVyYXRpb24gdG8gdGhlIHJlc2VydmVkLW1heC1kdXJhdGlvbgoJICBwcm9wZXJ0eSwgYW5kIG1vbml0b3IgdGhlIHJlbWFpbmluZyBzcGFjZSB0byBzdGFydAoJICBhIG5ldyBmaWxlIGlmIHRoZSByZXNlcnZlZCBoZWFkZXIgc3BhY2UgaXMgYWJvdXQgdG8gcnVuIG91dCAtCgkgIGV2ZW4gdGhvdWdoIGl0IG5ldmVyIG91Z2h0IHRvLgoKMjAxNy0xMS0yNCAwODowMDoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBGaXggcG9zc2liaWxpdHkgb2YgTlVMTCB2YXJpYWJsZQoJICBJdCdzIHF1aXRlIHVubGlrZWx5IHNpbmNlIGl0J3MgaW5pdGlhbGl6ZWQgaW4gaW5zdGFuY2UgaW5pdGlhbGl6YXRpb24uCgkgIENJRCAjMTQxNzcyMQoKMjAxNy0xMS0yNCAxNjo1NjowMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eDogRml4IGZpbGUgc3dpdGNoLW9uLWNhcHMtY2hhbmdlLgoJICBTd2l0Y2hpbmcgdG8gYSBuZXcgZnJhZ21lbnQgYmVjYXVzZSB0aGUgaW5wdXQgY2FwcyBoYXZlCgkgIGNoYW5nZWQgZGlkbid0IHByb3Blcmx5IGVuZCB0aGUgcHJldmlvdXMgZmlsZS4gVXNlIHRoZSBub3JtYWwKCSAgRU9TIHNlcXVlbmNlIHRvIGVuc3VyZSB0aGF0IGhhcHBlbnMuIEFkZCBhIHRlc3QgdGhhdCBpdCB3b3Jrcy4KCjIwMTctMTEtMjQgMTY6NTM6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IFVwZGF0ZSBvdXRwdXQgY2FwcyBvbiBpbnB1dCBjYXBzIGNoYW5nZQoJICBJZiB0aGUgaW5wdXQgY2hhbmdlcyB3aWR0aC9oZWlnaHQgdGhhdCBzaG91bGQgYmUgcmVmbGVjdGVkCgkgIGluIHRoZSBvdXRwdXQgY2Fwcywgc28gbWFrZSBzdXJlIHRoZXkgZ2V0IHVwZGF0ZWQKCjIwMTctMTEtMjMgMjI6NTg6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBSZXZlcnQgImdsOiBVc2UgR3N0R0xEaXNwbGF5RUdMIGRpcmVjdGx5IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBHc3RHTERpc3BsYXlWSVZGYiBzdWJjbGFzcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0N2ZkNGQzOTFlNzc1YzExZjUyOTcwNWJiMGY0NTdhOWQyNWJhNWU3LgoJICBUaGlzIHBhdGNoIGlzIGluY29ycmVjdC4gSXQgZG9lc24ndCBhY3R1YWxseSBjb21waWxlLCBhbmQgY2F1c2VzIGEgY3Jhc2gKCSAgYmVjYXVzZSB0aGUgdml2LWZiIHdpbmRvdyBpbXBsZW1lbnRhdGlvbiBuZWVkcyBhIG5hdGl2ZSBFR0wgaGFuZGxlCgkgIHRvIHBhc3MgdG8gZmJDcmVhdGVXaW5kb3csIGJ1dCB0aGUgR3N0R0xEaXNwbGF5RUdMIGhhbmRsZWlzIGFjdHVhbGx5CgkgIGFuIEVHTERpc3BsYXkgbm93IChhbmQgZ2V0cyBjYXN0IHRvIHRoZSB3cm9uZyB0eXBlKQoKMjAxNy0wOS0wNSAxNTo1NTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZG9uJ3QgaW5zZXJ0IFNQUy9QUFMgaW5saW5lIGZvciBodmMxIG91dHB1dAoJICBPbmx5IGZvciBieXRlLXN0cmVhbSBvciBoZXYxLiBGb3IgaHZjMSB0aGUgU1BTL1BQUyBhcmUgaW4gdGhlCgkgIGNhcHMgYXMgY29kZWNfZGF0YSBmaWVsZCBhbmQgaW4gdGhpcyBjYXNlIHRoZXkgc2hvdWxkbid0IGJlIGluCgkgIHRoZSBzdHJlYW0gZGF0YSBhcyB3ZWxsLiBUaGUgb3V0cHV0IGNhcHMgc2hvdWxkIGJlIHVwZGF0ZWQgd2l0aAoJICB0aGUgbmV3IGNvZGVjX2RhdGEgaWYgbmVlZGVkLCBmb3IgaHZjMS4KCjIwMTctMDktMDUgMTU6NDc6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IHN0b3JlIG5lZ290aWF0ZWQgb3V0cHV0IGZvcm1hdCBhcyBlbnVtCgkgIFdlIGtlZXAgdGhlIGJvb2xlYW4gYnl0ZV9zdHJlYW0gYXJvdW5kIHNpbmNlIGl0J3MgbmljZXIgZm9yCgkgIHJlYWRhYmlsaXR5IGFuZCBtb3N0IG9mIHRoZSBjb2RlIGp1c3QgY2FyZXMgYWJvdXQgYnl0ZV9zdHJlYW0KCSAgb3Igbm90LiBUaGlzIGlzIHVzZWZ1bCBmb3IgZnV0dXJlLXByb29maW5nIHRoZSBjb2RlIGZvciB3aGVuCgkgIHdlIGFkZCBzdXBwb3J0IGZvciBoZXYxIG91dHB1dCBhcyB3ZWxsLgoKMjAxNy0wOC0yOSAxNzowNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogYWRkIHN1cHBvcnQgZm9yIGh2YzEgYXMgb3V0cHV0IGZvcm1hdAoKMjAxNy0wOC0wOCAxODo1ODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBkb24ndCBhZGQgdHJhaWxpbmcgemVyb3MgdG8gVlBTL1BQUy9TUFMKCSAgVGhpcyB3b3VsZCBoYXBwZW4gaWYgaW5wdXQgaXMgYnl0ZS1zdHJlYW0gd2l0aCBmb3VyLWJ5dGUKCSAgc3luYyBtYXJrZXJzIGluc3RlYWQgb2YgdGhyZWUtYnl0ZSBvbmVzLiBUaGUgY29kZSB0aGF0CgkgIHNjYW5zIGZvciBzeW5jIG1hcmtlcnMgd2lsbCBwbGFjZSB0aGUgc3RhcnQgb2YgdGhlIE5BTFUKCSAgb24gdGhlIHRoaXJkLWxhc3QgYnl0ZSBvZiB0aGUgTkFMVSBzeW5jIG1hcmtlciwgd2hpY2gKCSAgbWVhbnMgdGhhdCBhbnkgYWRkaXRpb25hbCB6ZXJvcyBtYXkgYmUgY291bnRlZCBhcyBiZWxvbmdpbmcKCSAgdG8gdGhlIHByZXZpb3VzIE5BTFUgaW5zdGVhZCBvZiBiZWluZyBwYXJ0IG9mIHRoZSBuZXh0IHN5bmMKCSAgbWFya2VyLiBGaXggdGhhdCBzbyB3ZSBkb24ndCBzZW5kIFZQUy9TUFMvUFBTIHdpdGggdHJhaWxpbmcKCSAgemVyb3MgaW4gdGhpcyBjYXNlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1OAoKMjAxNy0wNi0xNiAxMjo0MTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogYXNzZW1ibGUgQVVzIGludG8gZG93bnN0cmVhbS1hbGxvY2F0ZWQgbWVtb3J5CgkgIFdoZW4gbWVyZ2luZyBOQUxzIGludG8gQVVzLCB1c2UgZG93bnN0cmVhbS1wcm92aWRlZCBhbGxvY2F0b3IKCSAgdG8gYWxsb2NhdGUgbWVtb3J5IGFuZCBjb3B5IE5BTHMgZGlyZWN0bHkgaW50byB0aGF0IG1lbW9yeSB3aGVuCgkgIGFzc2VtYmxpbmcgdGhlbS4KCjIwMTctMDYtMTYgMTI6MzA6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IHRyeSB0byBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yIHdpdGggZG93bnN0cmVhbQoKMjAxNy0wNi0xNiAxMjoxMzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogc2ltcGxpZnkgYnVmZmVyIGFjY3VtdWxhdGlvbiBjb250cm9sIGZsb3cKCSAgVGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIHB1c2hpbmcgb3V0IGEgYnVmZmVyIGRpcmVjdGx5CgkgIHdpdGggZ3N0X3J0cF9iYXNlX2RlcGF5bG9hZF9wdXNoKCkgYW5kIHJldHVybmluZyBpdCBmcm9tIHRoZQoJICBwcm9jZXNzIGZ1bmN0aW9uLiBUaGUgYmFzZSBjbGFzcyB3aWxsIGp1c3QgY2FsbCBfZGVwYXlsb2FkX3B1c2goKQoJICBvbiB0aGUgcmV0dXJuZWQgYnVmZmVyIGFzIHdlbGwuCgkgIFNvIGluc3RlYWQgb2YgbWFyc2hhbGxpbmcgYnVmZmVycyB0aHJvdWdoIHRocmVlIGxheWVycyBhbmQgYmFjaywKCSAganVzdCBwdXNoIHRoZW0gZnJvbSBvbmUgcGxhY2UgaW4gaGFuZGxlX25hbCgpIGFuZCBhbHdheXMgcmV0dXJuCgkgIE5VTEwgZnJvbSB0aGUgcHJvY2VzcyB2ZnVuYy4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbGl0dGxlLgoJICBBbHNvIHJlbmFtZSBfcHVzaF9mcmFnbWVudGF0aW9uX3VuaXQoKSB0byBfZmluaXNoX2ZyYWdtZW50YXRpb25fdW5pdCgpCgkgIGZvciBjbGFyaXR5LiBQdXNoIHNvdW5kcyBsaWtlIGl0IG1lYW5zIGJlaW5nIHB1c2hlZCBvdXQsIHdoZXJlYXMKCSAgaXQgbWlnaHQganVzdCBiZSBwdXNoZWQgaW50byBhbiBhZGFwdGVyLgoJICBUaGlzIGNoYW5nZSBoYXMgdGhlIHNpZGUtZWZmZWN0IHRoYXQgbXVsdGlwbGUgTkFMcyBpbiBhIHNpbmdsZSBTVEFQCgkgIChzdWNoIGFzIFNQUy9QUFMpIG1heSBubyBsb25nZXIgYmUgcHVzaGVkIG91dCBhcyBhIHNpbmdsZSBidWZmZXIgaWYKCSAgd2Ugb3V0cHV0IE5BTHMgaW4gYnl0ZS1zdHJlYW0gZm9ybWF0IChpLmUuIG5vdCBhZ2dyZWdhdGUgQVVzKSwgYnV0CgkgIHRoYXQgc2hvdWxkbid0IHJlYWxseSBtYWtlIGFueSBkaWZmZXJlbmNlIHRvIGFueW9uZS4KCjIwMTctMDYtMTYgMTE6MTg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCBjcmFzaCB3aXRoIGVtcHR5IHNwcm9wcy1wYXJhbWV0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAwNDAKCjIwMTctMDYtMTYgMTI6MjA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG1pbm9yIGNsZWFuLXVwCgkgIERlY2x1dHRlciBjYXBzIHVwZGF0ZSBjb2RlIGEgYml0LgoKMjAxNy0wOC0wOCAxMzoxMDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRkIHVuaXQgdGVzdCBmb3IgcnRwaDI2NHBheSBjb2RlY19kYXRhCgkgIE1ha2Ugc3VyZSBubyB0cmFpbGluZyB6ZXJvIGJ5dGVzIHNuZWFrIGludG8gb3VyIFNQUyBvciBQUFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTgKCjIwMTQtMDctMDUgMDY6MjE6NDggKzAwMDAgIFBoaWxpcCBDcmFpZyA8cGhpbEBibGFja21vdGguY29tLmF1PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGRvbid0IGFkZCB0cmFpbGluZyB6ZXJvcyB0byBQUFMvU1BTCgkgIFRoaXMgd291bGQgaGFwcGVuIGlmIGlucHV0IGlzIGJ5dGUtc3RyZWFtIHdpdGggZm91ci1ieXRlCgkgIHN5bmMgbWFya2VycyBpbnN0ZWFkIG9mIHRocmVlLWJ5dGUgb25lcy4gVGhlIGNvZGUgdGhhdAoJICBzY2FucyBmb3Igc3luYyBtYXJrZXJzIHdpbGwgcGxhY2UgdGhlIHN0YXJ0IG9mIHRoZSBOQUxVCgkgIG9uIHRoZSB0aGlyZC1sYXN0IGJ5dGUgb2YgdGhlIE5BTFUgc3luYyBtYXJrZXIsIHdoaWNoCgkgIG1lYW5zIHRoYXQgYW55IGFkZGl0aW9uYWwgemVyb3MgbWF5IGJlIGNvdW50ZWQgYXMgYmVsb25naW5nCgkgIHRvIHRoZSBwcmV2aW91cyBOQUxVIGluc3RlYWQgb2YgYmVpbmcgcGFydCBvZiB0aGUgbmV4dCBzeW5jCgkgIG1hcmtlci4gRml4IHRoYXQgc28gd2UgZG9uJ3Qgc2VuZCBTUFMvUFBTIHdpdGggdHJhaWxpbmcKCSAgemVyb3MgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU4CgoyMDE3LTA1LTIwIDE1OjUwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjQuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2gyNjQucnRwOgoJICB0ZXN0czogcnRwaDI2NGRlcGF5OiBhZGQgdGVzdCBmb3IgdXNpbmcgZG93bnN0cmVhbSBtZW1vcnkgYWxsb2NhdG9yCgoyMDE3LTA2LTAzIDAwOjU4OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBhc3NlbWJsZSBBVXMgaW50byBkb3duc3RyZWFtLWFsbG9jYXRlZCBtZW1vcnkKCSAgV2hlbiBtZXJnaW5nIE5BTHMgaW50byBBVXMsIHVzZSBkb3duc3RyZWFtLXByb3ZpZGVkIGFsbG9jYXRvcgoJICB0byBhbGxvY2F0ZSBtZW1vcnkgYW5kIGNvcHkgTkFMcyBkaXJlY3RseSBpbnRvIHRoYXQgbWVtb3J5IHdoZW4KCSAgYXNzZW1ibGluZyB0aGVtLgoKMjAxNy0wNi0wMiAyMToyNzo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogdHJ5IHRvIG5lZ290aWF0ZSBhbiBhbGxvY2F0b3Igd2l0aCBkb3duc3RyZWFtCgoyMDE3LTA2LTAyIDIwOjU0OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBtaW5vciBjbGVhbi11cAoJICBEZWNsdXR0ZXIgY2FwcyB1cGRhdGUgY29kZSBhIGJpdC4KCjIwMTctMTEtMjMgMDg6MDA6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUnVuIGdzdC1pbmRlbnQKCjIwMTctMTEtMjMgMDc6NTk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IEZpeCBsZWZ0IHNoaWZ0IG9mIHNpZ25lZCB2YWx1ZXMKCSAgbGVmdCBzaGlmdGluZyBzaWduZWQgdmFsdWVzIGlzIHVuZGVmaW5lZC4KCSAgSW5zdGVhZCBvZiBkb2luZyAieCA8PCBvZmZzIiB3aGljaCBpcyB1bmRlZmluZWQsIGRvIHRoZSBlcXVpdmFsZW50CgkgICJ4ICogKDEgPDwgb2ZmcykiIHdoaWNoIGlzIHdlbGwgZGVmaW5lZAoKMjAxNy0xMS0yMyAwNzo1Nzo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBwcmVzZW5jZSBvZiBiaXRyYXRlIHRhZ3MKCSAgQ2hlY2sgd2hldGhlciB0aGUgdGFnIHdhcyBwcmVzZW50IGJlZm9yZSBwcmludGluZyBpdCBvdXQKCSAgQ0lEICMxNDE4NTAxCgoyMDE3LTExLTIxIDA5OjMzOjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgdGhlIHByb3BlciBtYXhpbXVtIHZhbHVlIGZvciBzZWVrYWJsZQoJICBpdCdzIGEgZ2Zsb2F0LCBub3QgYSBnZG91YmxlCgoyMDE3LTExLTE4IDAyOjI3OjUwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgbmV3IEdTVF9TRVFOVU1fSU5WQUxJRCBjb25zdGFudAoKMjAxNy0xMS0xOCAwMjowMTo1OCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogRG9uJ3QgcmV0dXJuIEZBTFNFIGZyb20gZXZlbnQgaGFuZGxpbmcuCgkgIFJldHVybmluZyBGQUxTRSBiZWNhdXNlIHdlIGRyb3AgYW4gZXZlbnQgbWVhbnMgdGhhdAoJICBpbnRlcm5hbCBzb3VyY2VzIGxpa2UgcXRkZW11eCBtaWdodCB0aHJvdyBhbiBlcnJvcgoJICBhbmQgYnJlYWsgdGhlIHdob2xlIHBpcGVsaW5lLiBUaGUgb25seSB0aW1lIGl0IGNhbgoJICBoYXBwZW4gaXMgZWl0aGVyIGZsdXNoaW5nIG9yIHNodXRkb3duLCBhbmQgdGhvc2UKCSAgd2lsbCBiZSBoYW5kbGVkIGFueXdheS4KCjIwMTctMTAtMjIgMTg6MjY6MTIgKzA4MDAgIEp1biBYaWUgPGp1bi54aWVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgcmV1c2VkIFF0RGVtdXhTdHJlYW0gd2hpbGUgcGFyc2luZyBhIG5ldyAndHJhaycKCSAgaWYgUXREZW11eFN0cmVhbSBpcyByZXVzZWQsIHRoZW4gd2UgbmVlZCB0byByZXNldCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODc1OQoKMjAxNy0xMS0xMyAxMDo0MzoxMSArMDkwMCAgU2V1bmdoYSBZYW5nIDxwdWRkaW5nODc1N0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IEFkZCBvZmZpY2lhbCBmb3VyY2MgZm9yIFZQOCBjb2RlYwoJICBmb3VyY2MgZm9yIFZQOCBjb2RlYyBpcyAidnAwOCIgZGVmaW5lZCBieSBzcGVjLiBUbyBmb2xsb3cgaXQsCgkgIGFkZCBpdCB0byBkZW11eCBhbmQgY2hhbmdlIGxlZ2FjeSBWUDggZm91cmNjICJWUDgwIiB0byAidnAwOCIgaW4gbXV4LgoJICBBbHNvLCBlbmFibGUgc3luYyB0YWJsZSBpbiBjYXNlIG9mIFZQOCBjb2RlYy4KCSAgU2VlIGFsc28gaHR0cHM6Ly93d3cud2VibXByb2plY3Qub3JnL3ZwOS9tcDQvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwMjYKCjIwMTctMTEtMTMgMTA6Mzg6MDYgKzA5MDAgIFNldW5naGEgWWFuZyA8cHVkZGluZzg3NTdAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IEFkZCBzdXBwb3J0IFZQOSBjb2RlYwoJICBBZGQgZm91cmNjIGZvciBWUDkgY29kZWMgYW5kIHN1cHBvcnQgaXQgYnkgcXRkZW11eCBhbmQgcXRtdXgKCSAgU2VlIGFsc28gaHR0cHM6Ly93d3cud2VibXByb2plY3Qub3JnL3ZwOS9tcDQvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwMjYKCjIwMTctMTEtMTMgMTM6NTE6MjAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGJvZ3VzIGVycm9yIG1lc3NhZ2UKCSAgSXQncyBqdXN0IGluZm9ybWF0aW9uYWwKCjIwMTctMTEtMTAgMTU6NTE6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IERvbid0IGNyZWF0ZSBlbXB0eSBidWZmZXIgbGlzdAoJICBJZiB0aGVyZSdzIG5vdGhpbmcgdG8gc2VuZCwganVzdCByZXR1cm4KCjIwMTctMDMtMTMgMTg6MTQ6MTIgKzA5MDAgIHBhdWwua2ltIDxwYXVsLmh5dW5pbEBsZ2UuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFJlbW92ZSByYW5nZSBoZWFkZXIgd2hlbiBzZWVrIHRvIDAKCSAgVGhpcyBmaXhlcyB0aGUgcHJldmlvdXMgcmFuZ2UgaGVhZGVyIGlzIHJlbWFpbmVkIGlmIHNlZWsgdG8gMCBpcwoJICBhdHRlbXB0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk5NTcKCjIwMTctMTEtMDggMTY6MzQ6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IHNlZWtpbmcgYmFjayB0byAwCgkgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgIjAzZGIzNzQgLSBzb3VwaHR0cHNyYzogcmV0cnkKCSAgcmVxdWVzdCBvbiBlYXJseSB0ZXJtaW5hdGlvbiBmcm9tIHRoZSBzZXJ2ZXIiCgkgIFRoZSBwcm9ibGVtIHdhcyB0aGF0IHdoZW4gc2Vla2luZyBiYWNrIHRvIDAsIHdlIHdvdWxkIG5vdCBlbmQgdXAgY2FsbGluZwoJICBhZGRfcmFuZ2VfaGVhZGVyKCkgd2hpY2ggaW4gYWRkaXRpb24gdG8gYWRkaW5nIHJhbmdlIGhlYWRlcnMgKkFMU08qIHNldHMKCSAgdGhlIHJlYWRfcG9zaXRpb24gdG8gdGhlIHJlcXVlc3RlZCBvbmUuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgd2lkZSB2YXJpZXR5IG9mIGxhdGVyIGZhaWx1cmVzLCBsaWtlIHJlYWRpbmcKCSAgYWdhaW4gYW5kIGFnYWluIGluc3RlYWQgb2Ygc3RvcHBpbmcgcHJvcGVybHkuCgoyMDE3LTExLTA3IDE4OjAzOjUzICswOTAwICBTZXVuZ2hhIFlhbmcgPHB1ZGRpbmc4NzU3QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogQWRkIHBhcnNpbmcgQ29sb3VyIGVsZW1lbnQKCSAgLi4uIGFuZCBmb3J3YXJkIGNvbG9yaW1ldHJ5IHRvIGRvd25zdHJlYW0uIFRoZSBDb2xvdXIgZWxlbWVudCBkZXNjcmliZXMKCSAgdmFyaW91cyBjb2xvciBpbmZvcm1hdGlvbiAoc2ltaWxhciB0byAnY29scicgYm94IGluIGlzb2JtZmYpLgoJICBOb3RlIHRoYXQsIGR1ZSB0byB0aGUgY29tcGFyYXRpdmVseSBsaW1pdGVkIHN5bnRheCBmb3IgY29sb3IgaW5mb3JtYXRpb24KCSAgaW4gdnB4IGNvZGVjcywgdGhlIGNvbG9yIGluZm9ybWF0aW9uIGluIG1rdi93ZW1iIGNvbnRhaW5lciBsZXZlbAoJICBzaG91bGQgYmUgdXNlZCBmb3Igc29waGlzdGljYXRlZCBjb2xvciBoYW5kbGluZyAoZS5nLiwgSERSIHZpZGVvKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDAyMwoKMjAxNy0xMC0xOSAxNDowMjozNyArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyZGV2aWNlcHJvdmlkZXI6IElnbm9yZSB0b3VjaCBzZW5zaW5nIGRldmljZXMKCSAgV2l0aCBHU1RfVjRMMl9VU0VfTElCVjRMMj0xLCBteSBsYXB0b3AncyB0b3VjaHBhZCBzaG93cyB1cCBhcyBhIHZpZGVvCgkgIHNvdXJjZSBkZXZpY2UgaW4gZ3N0LWRldmljZS1tb25pdG9yLCBidXQgYXR0ZW1wdGluZyB0byBzdHJlYW0gZnJvbSBpdAoJICBmYWlscyBiZWNhdXNlIHRoZSBkZXZpY2UgZG9lc24ndCBhY3R1YWxseSBzdXBwb3J0IGFueSB2aWRlbyBmb3JtYXRzLgoJICBuYW1lICA6IFN5bmFwdGljcyBSTUk0IFRvdWNoIFNlbnNvcgoJICBjbGFzcyA6IFZpZGVvL1NvdXJjZQoJICBjYXBzICA6IHZpZGVvL3gtcmF3LCBmb3JtYXQ9KHN0cmluZylJNDIwLCBmcmFtZXJhdGU9KGZyYWN0aW9uKVsgMC8xLCAyMTQ3NDgzNjQ3LzEgXSwgd2lkdGg9KGludCkwLCBoZWlnaHQ9KGludCkwLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZlLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMTsKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlWMTIsIGZyYW1lcmF0ZT0oZnJhY3Rpb24pWyAwLzEsIDIxNDc0ODM2NDcvMSBdLCB3aWR0aD0oaW50KTAsIGhlaWdodD0oaW50KTAsIGludGVybGFjZS1tb2RlPShzdHJpbmcpcHJvZ3Jlc3NpdmUsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xOwoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpQkdSLCBmcmFtZXJhdGU9KGZyYWN0aW9uKVsgMC8xLCAyMTQ3NDgzNjQ3LzEgXSwgd2lkdGg9KGludCkwLCBoZWlnaHQ9KGludCkwLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZlLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMTsKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVJHQiwgZnJhbWVyYXRlPShmcmFjdGlvbilbIDAvMSwgMjE0NzQ4MzY0Ny8xIF0sIHdpZHRoPShpbnQpMCwgaGVpZ2h0PShpbnQpMCwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylwcm9ncmVzc2l2ZSwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzE7CgkgIHByb3BlcnRpZXM6CgkgIHVkZXYtcHJvYmVkID0gdHJ1ZQoJICBkZXZpY2UuYnVzX3BhdGggPSAvc3lzL2RldmljZXMvcm1pNC0wMC9ybWk0LTAwLmZuNTQvdmlkZW80bGludXgvdjRsLXRvdWNoMAoJICBzeXNmcy5wYXRoID0gL3N5cy9kZXZpY2VzL3JtaTQtMDAvcm1pNC0wMC5mbjU0L3ZpZGVvNGxpbnV4L3Y0bC10b3VjaDAKCSAgZGV2aWNlLnN1YnN5c3RlbSA9IHZpZGVvNGxpbnV4CgkgIGRldmljZS5wcm9kdWN0Lm5hbWUgPSAiU3luYXB0aWNzXCBSTUk0XCBUb3VjaFwgU2Vuc29yIgoJICBkZXZpY2UuY2FwYWJpbGl0aWVzID0gOmNhcHR1cmU6CgkgIGRldmljZS5hcGkgPSB2NGwyCgkgIGRldmljZS5wYXRoID0gL2Rldi92NGwtdG91Y2gwCgkgIHY0bDIuZGV2aWNlLmRyaXZlciA9IHJtaTRfZjU0CgkgIHY0bDIuZGV2aWNlLmNhcmQgPSAiU3luYXB0aWNzXCBSTUk0XCBUb3VjaFwgU2Vuc29yIgoJICB2NGwyLmRldmljZS5idXNfaW5mbyA9IHJtaTQ6cm1pNC0wMC5mbjU0CgkgIHY0bDIuZGV2aWNlLnZlcnNpb24gPSAyNjU0ODAgKDB4MDAwNDBkMDgpCgkgIHY0bDIuZGV2aWNlLmNhcGFiaWxpdGllcyA9IDI1MDE5MDIzMzcgKDB4OTUyMDAwMDEpCgkgIHY0bDIuZGV2aWNlLmRldmljZV9jYXBzID0gMzU0NDE4Njg5ICgweDE1MjAwMDAxKQoJICBnc3QtbGF1bmNoLTEuMCB2NGwyc3JjIGRldmljZT0vZGV2L3Y0bC10b3VjaDAgISAuLi4KCSAgdjRsMi1jdGwgLWQgL2Rldi92NGwtdG91Y2gwIC0tbGlzdC1mb3JtYXRzIHJlcG9ydHM6CgkgIGlvY3RsOiBWSURJT0NfRU5VTV9GTVQKCSAgSW5kZXggICAgICAgOiAwCgkgIFR5cGUgICAgICAgIDogVmlkZW8gQ2FwdHVyZQoJICBQaXhlbCBGb3JtYXQ6ICdURDE2JwoJICBOYW1lICAgICAgICA6IDE2LWJpdCBzaWduZWQgZGVsdGFzCgkgIEluZGV4ICAgICAgIDogMQoJICBUeXBlICAgICAgICA6IFZpZGVvIENhcHR1cmUKCSAgUGl4ZWwgRm9ybWF0OiAnVEQwOCcKCSAgTmFtZSAgICAgICAgOiA4LWJpdCBzaWduZWQgZGVsdGFzCgkgIEluZGV4ICAgICAgIDogMgoJICBUeXBlICAgICAgICA6IFZpZGVvIENhcHR1cmUKCSAgUGl4ZWwgRm9ybWF0OiAnVFUxNicKCSAgTmFtZSAgICAgICAgOiAxNi1iaXQgdW5zaWduZWQgdG91Y2ggZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5MTk3CgoyMDE3LTExLTAzIDEzOjI3OjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8a2FrYXJvdG9Aa2FrYXJvdG8uaG9tZWxpbnV4Lm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJICBydHBnNzIycGF5OiBBZGQgZW5jb2RpbmctcGFyYW1zIHRvIHRoZSBzcmMgY2FwcyB0ZW1wbGF0ZQoJICBUaGUgRzcyMiBwYXlsb2FkIG9ubHkgYWNjZXB0cyBHNzIyIGF1ZGlvIHdpdGggY2hhbm5lbHM9MSwgc28gaXQgbXVzdAoJICBzcGVjaWZ5IHRoZSBlbmNvZGluZy1wYXJhbXM9MSBpbiBpdHMgc3JjIGNhcHMsIG90aGVyd2lzZSBpdCBjYXVzZXMgaXNzdWVzCgkgIHdpdGggZmFyc3RyZWFtIHdoaWNoIHRoaW5rcyBpdCBzdXBwb3J0cyAyIGNoYW5uZWxzIEc3MjIgYW5kIHdoZW4KCSAgY29uZnJvbnRlZCB3aXRoIGEgcmVtb3RlIHRoYXQgaGFzIEc3MjIvODAwMC8yLCBpdCB3aWxsIG5lZ290aWF0ZSBpdAoJICBhbmQgZXJyb3Igb3V0IHdpdGggYSBub3QtbmVnb3RpYXRlZCB3aGVuIHRoZSBjYXBzIGRvbid0IGludGVyc2VjdAoJICBhdCBydW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5ODc4CgoyMDE3LTEwLTA2IDE3OjM2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBzdXBwb3J0IGZvciBkYXRhX29mZnNldAoJICBJbiBNUExBTkUgbW9kZSwgdGhlIGRyaXZlciBtYXkgc2V0IGRhdGFfb2Zmc2V0LCB3aGljaCByZXByZXNlbnQgc29tZQoJICBwYWRkaW5nIGF0IHRoZSBzdGFydCBvZiB0aGUgYnVmZmVyIHVzZWQgaW50ZXJuYWxseS4gVGhpcyBwb3J0aW9uIG9mIHRoZQoJICBkYXRhIG5lZWQgdG8gYmUgc2tpcHBlZCwgdGhvdWdoIGl0IGlzIGluY2x1ZGVkIGluIGJ5dGVzdXNlZC4KCSAgVGhpcyBwYXRjaCByZW1vdmVzIGZyYW1lIHNpemUgc2FuaXR5IGNoZWNrIGFzIHRoZSBtZXRob2QgdXNlZCB3aWxsIG5vCgkgIGxvbmdlciB3b3JrLiBUaGlzIGNoZWNrIHdhcyBzaW1wbHkgdGhlcmUgdG8gaGVscCBkZXRlY3QgYnJva2VuIGtlcm5lbAoJICBkcml2ZXJzLiBJdCB3b3VsZCBiZSByZS1pbXBsZW1lbnQgYnkgZXN0aW1hdGluZyB0aGUgcGxhbmUgc2l6ZSwgd2hpY2ggaXMKCSAgbm90IHRvdGFsbHkgdHJpdmlhbCBhbmQgbWF5IGJlIHRvbyBtdWNoIHdvcmsgZm9yIGEgc2ltcGxlIGRlYnVnIGNoZWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTAxCgoyMDE3LTA3LTE3IDE3OjA5OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgImFjY2VwdC1jZXJ0aWZpY2F0ZSIgc2lnbmFsIGZvciBtYW51YWxseSBjaGVja2luZyBhIFRMUyBjZXJ0aWZpY2F0ZSBmb3IgdmFsaWRpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTAyNAoKMjAxNy0xMC0zMCAxOToxNTo1NiArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHJpbnQgUlRTUC9TRFAgbWVzc2FnZXMgdG8gZ3N0cmVhbWVyIGxvZyBpbnN0ZWFkIG9mIHN0ZG91dAoJICAtICdkZWJ1ZycgcHJvcGVydHkgaXMgZGVwcmVjYXRlZAoJICAtIEFsbCBSVFNQIG1lc3NhZ2VzIGFyZSBwcmludGVkIHRvIGdzdHJlYW1lciBsb2cgd2l0aCAnbG9nJyBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODkxNwoKMjAxNy0xMS0wMSAxNToyOTo1OCArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzb246IGRvd25ncmFkZSBtZXNzYWdlIGxldmVsIHRvIGRlYnVnIHdoZW4gZGV0ZWN0ZWQgWFIKCSAgV2hlbiBYUiBwYWNrZXQgaXMgZGV0ZWN0ZWQsIHdhcm5pbmcgbWVzc2FnZSBsZWFkcyB0byBtaXN1bmRlcnN0YW5kaW5ncy4KCSAgVW50aWwgUkZDMzYxMSBpcyBpbXBsZW1lbnRlZCBpbiBnc3QtcGx1Z2lucy1iYXNlLCB0aGUgbGV2ZWwgbmVlZHMgdG8KCSAgYmUgZG93bmdyYWRlZCB0byBhdm9pZCBjb25mdXNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODk3NDYKCjIwMTctMTAtMjQgMjA6MTI6MjkgKzA1MzAgIEFzaGlzaCBLdW1hciA8a3IuYXNoaXNoQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGdzdC1wbHVnaW5zLWdvb2Q6IGF0b21zX3JlY292ZXJ5OiBIYW5kbGVkIGJ1ZmZlciBtYXBwaW5nIGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTQxMwoKMjAxNy0wNy0wOCAyMjoxMTo0OSAtMDcwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBhdG9tc3JlY292ZXJ5OiByZWFkIGZyb20gbWRhdCBvbmx5IHdoYXQgaXMgb24gaGVhZGVycwoJICBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBtZGF0IGhhcyBtb3JlIGRhdGEgdGhhbiB3aGF0IHdhcyBzdG9yZWQgaW4gdGhlCgkgIGhlYWRlcnMgZmlsZS4gSWYgd2UgcHV0IHRoYXQgdG8gdGhlIG91dHB1dCB0aGUgZmlsZSB3aWxsIGhhdmUgYm9ndXMgZGF0YQoJICBhdCB0aGUgZW5kIGFuZCBzb21lIHBsYXllcnMgd2lsbCBjb21wbGFpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDI1OAoKMjAxNy0wNy0wNSAyMjoyMzoyMSAtMDcwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgaXNvbXA0OiBhdG9tc3JlY292ZXJ5OiBoYW5kbGUgY29tbW9uIGFuZCBsYXJnZSBhdG9tIGhlYWRlcnMKCSAgRG8gbm90IGFzc3VtZSBhbGwgZmlsZXMgYXJlIGxhcmdlIGZpbGVzLiBDaGVjayBhbmQgdXNlIHRoZSBzaG9ydCBvcgoJICBleHRlbmRlZCBhdG9tIHNpemUgZmllbGQgb25seSBpZiBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQyNTgKCjIwMTctMTAtMjAgMTE6MDg6MjQgKzAyMDAgIEFuZHJlYXMgRnJpc2NoIDxhZnJpc2NoQG1ha2UudHY+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBuZ2RlYzogZml4IGJ1aWxkIHdpdGggbGlicG5nIHZlcnNpb25zIGJldHdlZW4gMS4yIGFuZCAxLjUuMSAocmV2aXNlZCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkyNwoKMjAxNy0xMC0xOSAxODoyMzozNCArMDIwMCAgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQGRyZWFtYm94Lmd1cnU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogZml4IGJ1aWxkIHdpdGggbGlicG5nIHZlcnNpb25zIGJldHdlZW4gMS4yIGFuZCAxLjUuMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTI3CgoyMDE3LTEwLTE5IDE2OjE3OjQ1ICswMjAwICBBbmRyZWFzIEZyaXNjaCA8ZnJheGluYXNAZHJlYW1ib3guZ3VydT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogRXh0cmFjdCBpY2MgcHJvZmlsZXMgYW5kIHNlbmQgdGhlbSBkb3duc3RyZWFtcyBmb3IgY29sb3JtYW5hZ2VtZW50IGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MjcKCjIwMTctMTAtMTYgMTQ6MjA6NDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBBZGQgbWlzc2luZyBTaW5jZSBtYXJrZXIKCjIwMTctMTAtMTMgMTI6MjU6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRwbHVnaW4ucHJvOgoJICBxdDogdXBkYXRlIHFtYWtlIC5wcm8gZmlsZQoJICBVcGRhdGUgZm9yIHJlbmFtaW5nIG9mIHBsdWdpbiBmaWxlLCBhbmQgYWRkIHNvbWUKCSAgbWlzc2luZyBzb3VyY2UgZmlsZXMuCgoyMDE3LTA2LTEzIDE4OjUxOjMyICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ3N0Z2RrcGl4YnVmZGVjOiBzdG9wIHByZXRlbmRpbmcgdG8gZGVjb2RlIGdpZnMuCgkgIElmIHlvdSBjYW4ndCBkZWNvZGUgYW4gYW5pbWF0ZWQgZ2lmLCB5b3UgY2FuJ3QgZGVjb2RlIGEgZ2lmLAoJICBzbyBzdG9wIHNxdWF0dGluZyBHU1RfUkFOS19TRUNPTkRBUlkgZm9yIHRoYXQgZm9ybWF0LCBsaWJhdgoJICBkb2VzIGEgYmV0dGVyIGpvYi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDY4MwoKMjAxNy0wOS0yOCAyMjo1MTo1NyArMDIwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IHNpbXBsaWZ5IGhvdyBEaXJlY1NvdW5kQnVmZmVyIGlzIGNsZWFyZWQKCSAgd2UgYWx3YXlzIHdhbnQgdG8gY2xlYXIgdGhlIHdob2xlIGJ1ZmZlciBzbyBubyBuZWVkIHRvCgkgIHN0YXJ0IGZyb20gb2Zmc2V0IGV2ZW4gaWYgdGhlIG9mZnNldCBpcyBhbHdheXMgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODg0NwoKMjAxNy0wOS0yOCAyMjo0OTozMSArMDIwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg4NDcKCjIwMTctMDktMjggMjI6NDg6NDEgKzAyMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBkb24ndCBjYWxsIHNldF92b2x1bWUgd2l0aCBwcml2YXRlIHNjYWxlZCB2b2x1bWUKCSAgdXNlIGdldF92b2x1bWUoKSBpbnN0ZWFkIHRvIGdldCB1bnNjYWxlZCB2b2x1bWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODg0NwoKMjAxNy0wOS0yOCAyMjo0NjoyMyArMDIwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IHJlbW92ZSBkdXBsaWNhdGUgdm9sdW1lIGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg4NDcKCjIwMTctMTAtMTAgMTg6MDQ6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFt4oCZOgoJICBxdGRlbXV4LmM6Nzc2NDozNDogZXJyb3I6IHN1Z2dlc3QgcGFyZW50aGVzZXMgYXJvdW5kIOKAmCYm4oCZIHdpdGhpbiDigJh8fOKAmSBbLVdlcnJvcj1wYXJlbnRoZXNlc10KCSAgaWYgKChzdHJlYW0tPm5fc2FtcGxlcyA9PSAxKSAmJiAoc3RyZWFtLT5maXJzdF9kdXJhdGlvbiA9PSAwKQoJICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTctMDktMjIgMTg6NDE6NTIgKzAyMDAgIE5hZWwgT3VlZHJhb2dvIDxuYWVsLm91ZWRyYW9nb0BjcmYuY2Fub24uZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGFzc2VydCB3aGVuIG1vb2YgY29udGFpbmluZyBvbmUgc2FtcGxlCgkgIEF2b2lkIGNvbXB1dGluZyBmcmFtZSByYXRlIHdoZW4gYSBzdHJlYW0gY29udGFpbiBtb29mIHdpdGggb25seSBvbmUKCSAgc2FtcGxlLCB0byBhdm9pZCBhbiBhc3NlcnQuIFRoZSBtb29mIGlzIGNvbnNpZGVyZWQgYXMgc3RpbGwgcGljdHVyZS4KCSAgVGhlIHNhbWUgaXMgYWxyZWFkeSBkb25lIGZvciBvbmUgc2FtcGxlIGdpdmVuIGluIHRoZSBtb292LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMjE3CgoyMDE3LTEwLTA5IDE0OjE3OjI1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQXZvaWQgcG90ZW50aWFsbHkgZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIKCSAgQ0lEIDE0MTg5ODYKCjIwMTctMTAtMDggMDA6MDc6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggZGVidWcgbWVzc2FnZSBvbiBwdCBtaXNtYXRjaAoKMjAxNy0xMC0wNyAyMToxMTo0MSArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhc0BuZHVmcmVzbmUuY2E+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBGaXggZHJpdmVyIGNhcGFiaWxpdHkgZGVjdGVjdGlvbgoJICBVc2UgdGhlIHJpZ2h0IHNldCBvZiBjYXBzIHdoZW4gY2hlY2tpbmcgaWYgY2FwcyBpbnRlcnNlY3QuIFRoYXQgbWFrZXMKCSAgdGhlIGNoZWNrIG9ubHkgc2VsZWN0IHRoZSBzdXBwb3J0ZWQgZGV2aWNlcy4KCjIwMTctMDktMjAgMDE6NDY6MTUgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNAbmR1ZnJlc25lLmNhPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmMvZGVjOiBEb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTctMTAtMDcgMjE6MTc6NTMgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNAbmR1ZnJlc25lLmNhPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJvdGVjdCBhZ2FpbnN0IG51bGwgcG9vbCBpbiBfc3RvcAoJICBUaGlzIG1heSBoYXBwZW4gaWYgdGhlIG5lZ290aWF0aW9uIGZhaWxzLCBhcyB3ZSB3aWxsIGhhdmUgbmV2ZXIKCSAgY3JlYXRlZCB0aGUgcG9vbHMuCgoyMDE3LTEwLTA3IDE1OjU1OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRwYmluLCBydHNwc3JjOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgNjQtYml0IGludGVnZXIgc2lnbmVkbmVzCgkgICJ3YXJuaW5nOiB0aGlzIGRlY2ltYWwgY29uc3RhbnQgaXMgdW5zaWduZWQgb25seSBpbiBJU08gQzkwIiB3aXRoCgkgIGdjYyA0LjguNCAoVWJ1bnR1L0xpbmFybyA0LjguNC0ydWJ1bnR1MX4xNC4wNC4zKQoKMjAxNy0xMC0wNyAxNTozOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGJ1aWxkIHdpdGhvdXQgbGlidjRsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NjYKCjIwMTctMTAtMDcgMTQ6MDY6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBGaXggcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBDSUQgMTQxODg2NAoKMjAxNy0xMC0wNyAwMToyMToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IE1pY3JvLW9wdGltaXplCgkgIEdpdmVzIDEuMjh4IHNwZWVkdXAgaW4gc3Vycm91bmQtZGVsYXk9ZmFsc2UgbW9kZQoKMjAxNy0xMC0wNiAyMzo1OTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IERvbid0IGRvIGxpbmVhciBpbnRlcnBvbGF0aW9uIGJldHdlZW4gc2FtcGxlcwoJICBMaW5lYXIgaW50ZXJwb2xhdGlvbiBhZGRzIHF1aXRlIHNvbWUgbm9pc2UsIGFuZCBpdCdzIHVubGlrZWx5IHRoYXQKCSAgYW55Ym9keSB3aWxsIGV2ZXIgbmVlZCBzdWItc2FtcGxlIGFjY3VyYXRlIGRlbGF5cy4gUHJvcGVyIHJlc2FtcGxpbmcKCSAgYmVmb3JlIHRoYXQgd2lsbCBsZWFkIHRvIGJldHRlciByZXN1bHRzLgoKMjAxNy0wOS0yOSAyMjoxOTo0MiAtMDQwMCAgRW5yaWNvIEpvcm5zIDxlam9AcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGF1dG8tZGV0ZWN0IGRtYWJ1ZiBleHBvcnQgZm9yIFY0TDJfSU9fQVVUTyBvbiBjYXB0dXJlIHNpZGUKCSAgSXNzdWUgYW4gaW52YWxpZCBWSURJT0NfRVhQQlVGIGlvY3RsIHRvIHRoZSBkcml2ZXIgdG8gY2hlY2sgaWYgdGhlCgkgIGRyaXZlciBzdXBwb3J0cyBkbWFidWYgZXhwb3J0LiBJZiB0aGUgZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCB0aGUKCSAgSU9DVEwsIHRoZSBlcnJvciBpcyBFTk9UVFkuIEFueSBvdGhlciBlcnJvciBjb2RlcyBtZWFuIHRoYXQgdGhlIGRyaXZlcgoJICBpbXBsZW1lbnRzIFZJRElPQ19FWFBCVUYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NjYKCjIwMTctMDktMjQgMTQ6MzU6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IE9ubHkgc2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBzcGVjaWZpZWQKCSAgSWYgaXQncyBub3Qgc3BlY2lmaWVkLCB3ZSBzaG91bGQgbGV0IHRoZSBkZWNvZGVyIGZpZ3VyZSBpdCBvdXQuCgkgIEFwcGFyZW50bHkgdGhlIGNvZGUgd2FzIGFscmVhZHkgaW4gcGxhY2UsIGFsbCB3YXMgdG8gbWFrZSB0aGUgY29kZQoJICBjb25kaXRpb25hbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Nzc5NQoKMjAxNy0wOS0yMyAxNTo0NDowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgcHVsbCBwYXNzZWQgdGhlIEVPUwoJICBXaGVuIGEgdHJ1bmNhdGVkIEZMViBpcyBwcm92aWRlZCBhbmQgcHJvY2Vzc2VkIGluIHB1bGwgbW9kZSwgd2UKCSAgbWF5IGVuZHVwIHRyeWluZyB0byBwdWxsIHBhc3NlZCBFT1MsIGNhdXNpbmcgYSByYXRoZXIgY29uZnVzaW5nCgkgIHdhcm5pbmcgYXMgdGhlIHB1bGwgb2Zmc2V0IGlzIGFuIGludGVnZXIgb3ZlcmZsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc3OTUKCjIwMTctMDktMjMgMTU6NDE6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IElnbm9yZSBpbnZhbGlkIEguMjY0IGNvZGVjIGRhdGEKCSAgVGhpcyBjb2RlIGJhc2ljYWxseSBza2lwIG92ZXIgY29kZWNfZGF0YSB3aXRoIGVtcHR5IHBheWxvYWQuIEluCgkgIHRoaXMgY2FzZSwgdGhlIGNvZGVjX2RhdGEgdmFyaWFibGUgaXMgdGhlIHNpemUgb2YgdGhlIGhlYWRlciBmb3IKCSAgdGhlIENPREVDIHBhcnQgb2YgVmlkZW8gVGFnLiBUaGUgcmVtYWluaW5nIGlzIHN1cHBvc2VkIHRvIGJlIHRoZQoJICBILjI2NCBjb2RlYyBkYXRhLCBoZW5jZSBzaG91bGQgbm90IGJlIGVtcHR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3Nzk1CgoyMDE3LTA5LTIzIDE1OjM4OjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBdm9pZCBpbnRlZ2VyIG92ZXJmbG93IG9uIGludmFsaWQgQ1RTCgkgIElmIHRoZSBDVFMgaXMgbmVnYXRpdmUgYW4gd291bGQgbGVhZCB0byBhIG5lZ3RpdmUgUFRTLCBjbGlwCgkgIHRoZSBDVFMgc28gdGhlIFBUUyB3aWxsIGJlIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc3OTUKCjIwMTctMTAtMDUgMTQ6MzY6MjggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSAgZG9jczogVXBkYXRlIGZvciBnaXQgY2hhbmdlcwoKMjAxNy0xMC0wNSAxNDozNToyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBidWlsZAoKMjAxNy0wNy0xMyAxNDo0Njo1NSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEhhbmRsZSBUQ1AgYXMgbG93ZXIgdHJhbnNwb3J0IHdpdGggUlRTUCAyLjAKCSAgTWVhbmluZyB0aGF0IHRoZSBpbnRlcmxlYXZlIGZpZWxkcyBoYXZlIHRvIGJlIHVwZGF0ZWQgYXMKCSAgaWYgc3RyZWFtcyBzZXR1cCB3YXMgd29ya2luZyB3aGVuIHVzaW5nIHBpcGVsaW5lZCBzZXR1cAoJICByZXF1ZXN0LiBPdGhlcndpc2UgdGhlcmUgaXMgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBzZXJ2ZXIKCSAgY2hhbm5lbCBjb3VudCBhbmQgb3VyIG93bi4KCSAgVGhpcyBhbHNvIG1ha2VzIFJUU1AgMi4wIG92ZXIgSFRUUCB3b3JraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDQ2CgoyMDE3LTA0LTIwIDE3OjQ1OjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwOiBTdGFydCBpbXBsZW1lbnRpbmcgc3VwcG9ydCBmb3IgUlRTUCAyLjAKCSAgLSBIYW5kbGUgdmVyc2lvbiBuZWdvdGF0aW9uOgoJICBBZGRlZCBhIGBkZWZhdWx0LXZlcnNpb25gIHByb3BlcnR5IHNvIHRoYXQgdGhlIHVzZXIgY2FuIGNvbmZpZ3VyZQoJICB3aGF0IHRvIHVzZSBpbiBjYXNlIHRoZSBzZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCB2ZXJzaW9uIG5lZ290YXRpb24KCSAgKHdoaWNoIGFjdHVhbGx5IGV4aXN0KQoJICAtIEhhbmRsZSBwaXBlbGluZWQgcmVxdWVzdHMsIHdoaWNoIGFsbG93IGF2b2lkaW5nIGZ1bGwgcm91bmQgdHJpcCB0bwoJICBzZXR1cCB0aGUgUlRQIHN0cmVhbXMgKHJlcXVlc3QgYXJlIHNlbnQgaW4gYSByYXcsIGFuZCByZXNwb25zZSBhcmUKCSAgaGFuZGxlZCBhcyB0aGV5IGFycml2ZSkuCgkgIC0gSGFuZGxlIHRoZSBuZXcgTWVkaWEtUHJvcGVydGllcyBoZWFkZXIKCSAgLSBIYW5kbGUgdGhlIG5ldyBTZWVrLVN0eWxlIGhlYWRlcgoJICAtIEhhbmRsZSB0aGUgbmV3IEFjY2VwdC1SYW5nZXMgaGVhZGVyCgkgIEhhbmRsaW5nIG9mIElQVjYgc2hvdWxkIGFscmVhZHkgYmUgT0suCgkgIFdlIGFyZSBzdGlsbCBtaXNzaW5nIChhdCBsZWFzdCkgdGhlIGZvbGxvd2luZyBmZWF0dXJlcyAod2hpY2ggZG8gbm90CgkgIHNlZW0gcmVhbGx5IG1hbmRhdG9yeSBhcyB0aGV5IHJlcXVpcmUgYSAicGVyc2lzdGVudCBjb25uZWN0aW9uIGJldHdlZW4KCSAgc2VydmVyIGFuZCBjbGllbnQiKToKCSAgLSBTZXJ2ZXIgdG8gQ2xpZW50IFRFQVJET1dOIGNvbW1hbmQgKE5vdCBzbyB1c2VmdWxsIGZtcG92KQoJICAtIFBMQVlfTk9USUZZIChub3QgbmVlZGVkIGZvciBvdXIgc2VydmVyIHlldCkKCSAgLSBTdXBwb3J0IGZvciB0aGUgbmV3IFJFRElSRUNUIGZlYXR1cmVzCgkgIGFuZCBwcm9iYWJseSBzb21lIG1vcmUgcHJvdG9jb2wgY2hhbmdlcyBtaWdodCBub3QgYmUgaGFuZGxlZCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0NDYKCjIwMTctMDUtMDMgMTE6MTk6MDMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgYSBtYWNybyB0byBkZWJ1ZyBSVFNQIG1lc3NhZ2VzCgkgIFNpbXBsaWZ5aW5nIHRoZSBjb2RlIGEgbGl0dGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDQ2CgoyMDE3LTEwLTAzIDE2OjMwOjEwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgcHJvcGVyIEd0a0RvYyBub3RhdGlvbiBmb3IgTlVMTC9GQUxTRS9UUlVFCgoyMDE3LTEwLTAyIDEyOjM1OjQ4IC0wNzAwICBDYXNzYW5kcmEgUm9tbWVsIDxjYXNzYW5kcmEucm9tbWVsQGdtYWlsLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgZ2w6IFVzZSBHc3RHTERpc3BsYXlFR0wgZGlyZWN0bHkgaW5zdGVhZCBvZiBjcmVhdGluZyBhIEdzdEdMRGlzcGxheVZJVkZiIHN1YmNsYXNzCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdCB3aXRob3V0IGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgYXBhcnQgZnJvbQoJICBub3QgY2xvc2luZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uLiBDbG9zaW5nIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24gaXMKCSAgbm90IHNhZmUgdG8gZG8gYXMgaXQgaXMgc2hhcmVkIGJldHdlZW4gYWxsIG90aGVyIGNvZGUgaW4gdGhlIHNhbWUKCSAgcHJvY2VzcyBhbmQgbm8gcmVmZXJlbmNlIGNvdW50aW5nIG9yIGFueXRoaW5nIGhhcHBlbnMgYXQgdGhlIHBsYXRmb3JtCgkgIGxheWVyLgoKMjAxNy0xMC0wMSAxNjowOToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogSWdub3JlIG1lZGlhcyBtYXJrZWQgYXMgc2VuZG9ubHkKCSAgV2UncmUgbmV2ZXIgZ29pbmcgdG8gcmVjZWl2ZSBhbnl0aGluZyBmcm9tIHRoZW0sIHNvIGRvbid0IGNyZWF0ZSBwYWRzCgkgIGZvciB0aGVtLiBUaGVzZSBtZWRpYXMgYXJlIGRlc3RpbmF0aW9ucyB3aGVyZSAqd2UqIGNvdWxkIHNlbmQgc29tZXRoaW5nLgoKMjAxNy0wOS0wNSAxMTo0MTozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5oOgoJICBzYmNkZXBheTogQWRkIHByb3BlcnR5IHRvIGlnbm9yZSBpbnB1dCB0aW1lc3RhbXBzCgkgIFRoaXMgdGhlbiBqdXN0IGNvdW50cyBzYW1wbGVzIGFuZCBjYWxjdWxhdGVzIHRoZSBvdXRwdXQgdGltZXN0YW1wcyBiYXNlZAoJICBvbiB0aGF0IGFuZCB0aGUgdmVyeSBmaXJzdCBvYnNlcnZlZCB0aW1lc3RhbXAuIFRoZSB0aW1lc3RhbXBzIG9uIHRoZQoJICBidWZmZXJzIGFyZSBjb250aW51ZWQgdG8gYmUgdXNlZCB0byBkZXRlY3QgZGlzY29udGludWl0aWVzIHRoYXQgYXJlIHRvbwoJICBiaWcgYW5kIHJlc2V0IHRoZSBjb3VudGVyIGF0IHRoYXQgcG9pbnQuCgkgIFdoZW4gcmVjZWl2aW5nIGRhdGEgdmlhIEJsdWV0b290aCwgbWFueSBkZXZpY2VzIHB1dCBjb21wbGV0ZWx5IHdyb25nCgkgIHZhbHVlcyBpbnRvIHRoZSBSVFAgdGltZXN0YW1wIGZpZWxkLiBGb3IgZXhhbXBsZSBpT1Mgc2VlbXMgdG8gcHV0IGEKCSAgdGltZXN0YW1wIGluIG1pbGxpc2Vjb25kcyBpbiB0aGVyZSwgaW5zdGVhZCBvZiBzb21ldGhpbmcgYmFzZWQgb24gdGhlCgkgIGN1cnJlbnQgc2FtcGxlIG9mZnNldCAoUlRQIGNsb2NrLXJhdGUgPT0gc2FtcGxlIHJhdGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3Mjk3CgoyMDE3LTA5LTIxIDEzOjU5OjAwICswNTMwICBQb25uYW0gU3Jpbml2YXMgPHAuc3Jpbml2YXNAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IEZpeCBNZW1vcnkgbGVhayBpbiBlcnJvciBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc5MzcKCjIwMTctMDktMjIgMTY6NTU6MjEgKzA1MzAgIERlZXBhayBTcml2YXN0YXZhIDxzcml2YXN0YXZhLmRAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeGVkIG1lbW9yeSBsZWFrIGluIGVycm9yIGNvZGUgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4MDQxCgoyMDE3LTA5LTIwIDA5OjM3OjU5ICswNTMwICBQb25uYW0gU3Jpbml2YXMgPHAuc3Jpbml2YXNAc2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IGZpeCBtZW1vcnkgbGVhayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgRG9uJ3QgbGVhayByb3dfcG9pbnRlcnMgaWYgZnJhbWUgY2FuJ3QgYmUgbWFwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3ODg1CgoyMDE3LTA5LTE5IDE3OjU1OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCBsZWFrIGNvZGVjIG5hbWUKCjIwMTctMDgtMDUgMTI6MjM6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3Qgc3RvcCBzdHJlYW1pbmcgd2hlbiBwb29sIGlzIGZsdXNoaW5nCgkgIFRoZSBwdXJwb3NlIG9mIGJlaW5nIGFibGUgdG8gZmx1c2ggdGhlIGJ1ZmZlciBwb29sIGlzIG9ubHkgdG8KCSAgdW5sb2NrIGFueSBibG9ja2VkIG9wZXJhdGlvbi4gRG9pbmcgc3RyZWFtb2ZmL3N0cmVhbW9uIGhhZCB0aGUKCSAgc2lkZSBlZmZlY3Qgb2YgdHVybmluZyBvZmYgYW5kIG9uIHRoZSBjYW1lcmEuIEFzIHdlIGRvIGEgZmx1c2hfc3RhcnQKCSAgLyBmbHVzaF9zdG9wIHNlcXVlbmNlIHdoZW4gc2h1dHRpbmcgZG93biwgdGhhdCB3b3VsZCBjYXVzZSBhIHJlYWxseQoJICBxdWljayBzZXF1ZW5jZSBvZiBzdHJlYW1vZmYvc3RyZWFtb24vc3RyZWFtb2ZmL2Nsb3NlIHdoaWNoIHdhcwoJICBjYXVzaW5nIHNvbWUgY2FtZXJhcyB0byBzdG9wIHdvcmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM5NDUKCjIwMTctMDktMTcgMTY6MTg6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXBsZW1lbnQgYmFzaWMgY2hhaW5fbGlzdCBmdW5jdGlvbgoJICBEb2Vzbid0IGRvIGFueXRoaW5nIGZhbmN5IHlldCwgYnV0IHN0aWxsIGF2b2lkcyBsb3RzIG9mCgkgIHVubmVjZXNzYXJ5IGxvY2tpbmcvdW5sb2NraW5nIHRoYXQgd291bGQgaGFwcGVuIGlmIHRoZQoJICBkZWZhdWx0IGNoYWluX2xpc3QgZmFsbGJhY2sgZnVuY3Rpb24gaW4gR3N0UGFkIGdvdCBpbnZva2VkLgoKMjAxNy0wOS0xNyAxMjo1MDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiB1c2UgbmV3IGdzdF9idWZmZXJfbGlzdF9jYWxjdWxhdGVfc2l6ZSgpCgoyMDE3LTA5LTE0IDEzOjAwOjU2ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHBiaW46IGFkZCBvcHRpb24gZm9yIHNhbml0eSBjaGVja2luZyB0aW1lc3RhbXAgb2Zmc2V0CgkgIFRpbWVzdGFtcCBvZmZzZXRzIG5lZWRzIHRvIGJlIGNoZWNrZWQgdG8gZGV0ZWN0IHVucmVhbGlzdGljIHZhbHVlcwoJICBjYXVzZWQgZm9yIGV4YW1wbGUgYnkgTlRQIGNsb2NrcyBub3QgaW4gc3luYy4gVGhlIG5ldyBwYXJhbWV0ZXIKCSAgbWF4LXRzLW9mZnNldCBsZXRzIHRoZSB1c2VyIGRlY2lkZSBhbiB1cHBlciBvZmZzZXQgbGltaXQuIFRoZXJlCgkgIGFyZSB0d28gZGlmZmVyZW50IGNhc2VzIGZvciBjaGVja2luZyB0aGUgb2Zmc2V0IGJhc2VkIG9uIGlmCgkgIG50cC1zeW5jIGlzIHVzZWQgb3Igbm90OgoJICAxKSBudHAtc3luYyBlbmFibGVkCgkgIE9ubHkgbmVnYXRpdmUgb2Zmc2VzdCBhcmUgYWxsb3dlZCBzaW5jZSBhIHBvc2l0aXZlIG9mZnNldCB3b3VsZAoJICBtZWFuIHRoYXQgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIgY2xvY2tzIGFyZSBub3QgaW4gc3luYy4KCSAgRGVmYXVsdCB2YXVsZSBvZiBtYXgtdHMtb2Zmc2V0ID0gMCAoZGlzYWJsZWQpCgkgIDIpIG50cC1zeW5jIGRpc2FibGVkCgkgIEJvdGggcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG9mZnNldHMgYXJlIGFsbG93ZWQuCgkgIERlZmF1bHQgdmF1bGUgb2YgbWF4LXRzLW9mZnNldCA9IDMwMDAwMDAwMDAKCSAgVGhlIHJlYXNvbiBmb3IgZGlmZmVyZW50IGRlZmF1bHQgdmFsdWVzIGlzIHRvIGJlIGJhY2t3YXJkcwoJICBjb21wYXRpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NzMzCgoyMDE3LTA5LTE0IDExOjIwOjE3ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmlja3JAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0cGJpbjogYWRkIG9wdGlvbiBmb3IgaW5jcmVhc2luZyB0c19vZmZzZXQgZ3JhZHVhbGx5CgkgIEluc3RhbnQgbGFyZ2UgY2hhbmdlcyB0byB0c19vZmZzZXQgbWF5IGNhdXNlIHRpbWVzdGFtcHMgdG8gbW92ZQoJICBiYWNrd2FyZHMgYW5kIGFsc28gY2F1c2UgdmlzaWJsZSBlZmZlY3RzIGluIG1lZGlhIHBsYXliYWNrLiBUaGUgbmV3CgkgIG9wdGlvbiBtYXgtdHMtb2Zmc2V0LWFkanVzdG1lbnQgbGV0cyB0aGUgYXBwbGljYXRpb24gY29udHJvbCB0aGUgcmF0ZSB0bwoJICBhcHBseSBjaGFuZ2VzIHRvIHRzX29mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAwMgoKMjAxNy0wOS0wNiAwNzo1OTo1NiArMDAwMCAgSm9jaGVuIEhlbm5lYmVyZyA8amhAaGVubmViZXJnLXN5c3RlbWRlc2lnbi5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHFtbGdsc2luazogRXhwb3NlIGl0ZW1Jbml0aWFsaXplZCBhcyBwcm9wZXJ0eQoJICBJbnN0ZWFkIG9mIGp1c3Qgc2lnbmFsbGluZyB3aGVuIHJlYWR5IGV4cG9zaW5nIHRoZSBzdGF0ZQoJICBhcyBhIHByb3BlcnR5IGFsbG93cyB1cyB0byBiaW5kIGF0IGFueSB0aW1lIGlmIHBsYXllciBpcwoJICBsb2FkZWQgYXN5bmMuCgoyMDE3LTA5LTEzIDE2OjA1OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEVuc3VyZSBhbGwgY2FwcyBhIGZpeGF0ZWQKCSAgVGhlIGNvZGUgcmVsaWVkIG9uIHRoZSBsaXN0IGNvbXBhcmUgZnVuY3Rpb24gdG8gZml4YXRlIHRoZSBjYXBzCgkgIGJ1dCBpZiB0aGUgY2FwcyBvbmx5IGhhcyBvbmUgc3RydWN0dXJlLCB0aGUgY29tcGFyZSBmdW5jdGlvbiB3aWxsCgkgIG5ldmVyIGdldCBjYWxsZWQuIENhcHR1cmUgZGV2aWNlIGZvciB3aGljaCB0aGVyZSBpcyBvbmx5IG9uZQoJICBzdHJ1Y3R1cmUgaW4gdGhlIGNhcHMgd291bGQgdGhlbiBnZXQgc29tZSBhc3NlcnRpb24gYW5kIGxhdGVyCgkgIGZhaWwgYmFkbHkuCgkgIEluc3RlYWQsIGZpeGF0ZSBiZWZvcmUgaW5zZXJ0aW5nIGludG8gdGhlIGxpc3QgYW5kIHNwbGl0IHRoZSByZWFkaW5nCgkgIGFuZCB0aGUgZml4YXRpb24gb2YgdGhlIHN0cnVjdHVyZXMuCgoyMDE3LTA5LTEzIDExOjUyOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgdGhlIHBhciB2YWx1ZQoKMjAxNy0wOS0xMyAxMTozODo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6CgkgIHY0bDItcmVuZWdvdGlhdGU6IERvbid0IGxlYWsgdGhlIG9wdGlvbiBjb250ZXh0CgoyMDE3LTA5LTEzIDExOjMzOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Y0bDJzcmMtcmVuZWdvdGlhdGUuYzoKCSAgdjRsMnNyYy1yZW5lZ290aWF0ZTogRG9uJ3QgbGVhayBwaXBlbGluZSBkZXNjIHN0cmluZwoKMjAxNy0wOS0xMyAxMTozMjowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6CgkgIHY0bDItcmVuZWdvdGlhdGU6IENoYW5nZSAtLWVuYWJsZS1kbWFidWYgaW50byAtLWlvLW1vZGU9CgkgIFRoaXMgZ2l2ZXMgYWxsb3cgdGVzdGluZyBkbWFidWYgaW1wb3J0YXRpb24gYnV0IGFsc28gZXhwb3J0YXRpb24gYnV5CgkgIGxldHRpbmcgdXNlciBwaWNrIGFueXRoaW5nIGZyb20gdGhlIGlvLW1vZGUgcHJvcGVydHkgb24gdjRsMnNyYy4KCjIwMTctMDktMTEgMjA6MjQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZWFyY2hfY2x1c3RlciBzaG91bGQgZmluZCBwcmVjZWRpbmcgY2x1c3RlciBiZWZvcmUgdGFyZ2V0CgkgIC4uLiBzaW5jZSBmYWlsaW5nIHRoaXMgY29uc3RyYWludCB0YWtlcyBzZWFyY2hfcG9zIGJ5IHN1cnByaXNlIHdoaWNoIG1pZ2h0CgkgIHRoZW4gZW5kIHVwIGluIGFuIGluZmluaXRlIGxvb3AuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc1MzgKCjIwMTctMDktMDcgMTQ6MzM6NTcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4e3NlbmQscmVjZWl2ZX06IGltcHJvdmUgdGhlIGRlYnVnIG1lc3NhZ2VzCgkgICogdXNlIElORk8vREVCVUcvTE9HL1RSQUNFIGVxdWFseSBhbmQgbWVhbmluZ2Z1bGx5OwoJICBwcmV2aW91c2x5IHJ0cHJ0eHNlbmQ6TE9HIGFuZCBydHBydHhyZWNlaXZlOkxPRyB3b3VsZCBnZW5lcmF0ZQoJICBhIHRvdGFsbHkgZGlmZmVyZW50IGFtb3VudCBvZiBsb2cgdHJhZmZpYyBhbmQgc29tZXRpbWVzIGl0IHdhcwoJICBpbXBvc3NpYmxlIHRvIHNlZSB0aGUgaW5mb3JtYXRpb24geW91IHdhbnRlZCB3aXRob3V0IHVzZWxlc3MKCSAgc3BhbSBiZWluZyBwcmludGVkIGFyb3VuZAoJICAqIGltcHJvdmUgdGhlIHdvcmRpbmcsIGdpdmUgYSByZWFzb25hYmxlIGFuZCBzZWxmLWV4cGxhbmF0b3J5CgkgIGFtb3VudCBvZiBpbmZvcm1hdGlvbgoJICAqIHByaW50IFNTUkNzIGluIGhleAoJICAqIGF2b2lkIEdfRk9PX0ZPUk1BVCBmb3IgcmVhZGFiaWxpdHkgKHdlIGFyZSBqdXN0IHByaW50aW5nIGludGVnZXJzKQoKMjAxNy0wOS0wNyAwOTozOToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9xdHBsdWdpbi5wcm86CgkgIHF0OiBmaXggYnVpbGQgd2l0aCBxbWFrZQoJICBNb3ZlIHRoZSBwYWNrYWdlIGRlZmluZXMgZm9yIEdTVF9QTFVHSU5fREVGSU5FIGZyb20gdGhlCgkgIGNvbW1hbmQgbGluZSBpbnRvIHRoZSBzb3VyY2UgZmlsZSB0byBhdm9pZCBxdW90aW5nIGlzc3VlcwoJICAoLURQQUNLQUdFX05BTUU9ImZvbyIgbWVhbnMgdGhlIHF1b3RlcyB3b24ndCBhY3R1YWxseSBtYWtlCgkgIGl0IHRvIHRoZSBjb21waWxlciBhbmQgdGhlbiBpdCBubyBsb25nZXIgZ2V0cyBhIHN0cmluZyBjb25zdGFudCkuCgoyMDE3LTA5LTA1IDE2OjIwOjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBSZXF1ZXN0IG1pbmltdW0gYnVmZmVyIGV2ZW4gaWYgbmVlZF9wb29sIGlzIEZBTFNFCgkgIFdoZW4gdGVlIGlzIHVzZWQsIGl0IHdpbGwgbm90IHJlcXVlc3QgYSBwb29sLCBidXQgc3RpbGwgaXQgd2FudHMgdG8KCSAga25vdyBob3cgbWFueSBidWZmZXJzIGFyZSByZXF1aXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDc1OAoKMjAxNy0wOS0wNSAxNjoyMDo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgUmVxdWVzdCBtaW5pbXVtIGJ1ZmZlciBldmVuIGlmIG5lZWRfcG9vbCBpcyBGQUxTRQoJICBXaGVuIHRlZSBpcyB1c2VkLCBpdCB3aWxsIG5vdCByZXF1ZXN0IGEgcG9vbCwgYnV0IHN0aWxsIGl0IHdhbnRzIHRvCgkgIGtub3cgaG93IG1hbnkgYnVmZmVycyBhcmUgcmVxdWlyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3NTgKCjIwMTctMDktMDUgMTU6MzA6NDAgKzAxMDAgIElhbiBKYW1pc29uIDxpYW4uZGV2QGFya3Zlci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEhhbmRsZSBCVDIwMjAgZm9yIGNvbG9yc3BhY2UgYW5kIHRyYW5zZmVyCgkgIFRoaXMgd2FzIG5vdCBmdWxseSBoYW5kbGVkIGluIHN3aXRjaGVzIGFuZAoJICB1YiBnc3RfdjRsMl9vYmplY3RfZ2V0X2NvbG9yc3BhY2UoKTsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzMxMwoKMjAxNy0wOS0wNSAxNToyOToyNCArMDEwMCAgSWFuIEphbWlzb24gPGlhbi5kZXZAYXJrdmVyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IGNvbG9yaW1ldHJ5IHRyYW5zZmVyIGxvb2t1cCBmb3IgNEsgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzE2MAoKMjAxNy0wOS0wNiAxMToyNTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBDaGVjayBpZiBjYXBzIGhhdmUgY2hhbmdlZCBhZnRlciB0cnlfZm10CgkgIHRyeV9mbXQgd2lsbCB1cGRhdGUgdGhlIGNhcHMgY29sb3JpbWV0cnkgYW5kIGludGVybGFjZS1tb2RlLiBCZWZvcmUgdGhpcwoJICBjYWxsLCB0aG9zZSBmaWVsZCBhcmUgbWlzc2luZy4gVGhlIGNhcHMgZXF1YWxpdHkgY2hlY2sgd2FzIGFsd2F5cwoJICBmYWlsaW5nIHdoZW4gYSBzcHVyaW91cyByZWNvbmZpZ3VyZSBldmVudCB3YXMgcmVjZWl2ZWQuCgoyMDE3LTA5LTA2IDIzOjU1OjM4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWxsb3cgTVBFRyBsYXllciAxLzIsIEFDMyBhbmQgT3B1cyBpbiBxdG11eAoJICBxdG11eCBpcyBzdXBwb3NlZCB0byBiZSB0aGUgbXV4ZXIgdGhhdCBhbGxvd3MgYWxsIGZvcm1hdHMsCgkgIHdpdGggb3RoZXJzIChtcDRtdXggYW5kIGZyaWVuZHMpIGJlaW5nIHByb2ZpbGUtcmVzdHJpY3RlZC4KCjIwMTctMDktMDUgMTI6NTY6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCBrZXl1bml0IGRldGVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MjU0CgoyMDE3LTA5LTA1IDE1OjQyOjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggZGVjb2Rpbmcgb2Ygc3RyZWFtcyB0aGF0IGRvbid0IHNpZ25hbCBleGFjdGx5IHR3aWNlIHRoZSBoZWlnaHQKCSAgLi4uIGFuZCBhbHNvIHByb2dyZXNzaXZlIHN0cmVhbXMuCgoyMDE3LTA5LTA1IDEzOjI4OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBIYW5kbGUgaW50ZXJsYWNlZCBNSlBFRyBzdHJlYW1zCgkgIFRoZXNlIGNvbWUgd2l0aCB0d28gSlBFRyBpbWFnZXMgcGVyIGJ1ZmZlciBvZiBoYWxmIGhlaWdodCB0aGFuIHNpZ25hbGxlZAoJICBpbiB0aGUgY29udGFpbmVyLgoJICBDaGFuZ2VzIGJhc2VkIG9uIFRpbS1QaGlsaXBwIE3DvGxsZXIncyAwLjEwIGJyYW5jaDoKCSAgaHR0cHM6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9+dHBtL2dzdC1wbHVnaW5zLWdvb2QvbG9nLz9oPWpwZWdkZWMtaW50ZXJsYWNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY4NTU1CgoyMDE3LTA5LTAxIDE1OjAwOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogZXhwb3NlIHRoZSBjcmVhdGVkIGRpc3BsYXkgYW5kIGNvbnRleHQgY29ycmVjdGx5CgkgIDEuIFByb3BhZ2F0ZSB0aGUgR3N0R0xEaXNwbGF5IHdlIGNyZWF0ZQoJICAyLiBBZGQgdGhlIGNyZWF0ZWQgR3N0R0xDb250ZXh0IHRvIHRoZSBwcm9wYWdhdGVkIEdzdEdMRGlzcGxheQoJICBPdGhlcndpc2Ugd2l0aCBtdWx0aS1icmFuY2ggR0wgcGlwZWxpbmVzIGludm9sdmluZyBndGtnbHNpbmssIHRoaW5ncwoJICB3aWxsIGZhbGwgYXBhcnQgYW5kIGVycm9ycyB3aWxsIGJlIGdlbmFyYXRlZCBzb21ld2hlcmUuCgoyMDE3LTA5LTA0IDE3OjA2OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogUmVhbGx5IGZpeCAidXNhZ2UgYmVmb3JlIHVubWFwIgoJICBQcmV2aW91cyBwYXRjaCB3b3VsZCB0cnkgdG8gdW5yZWYgYSBidWZmZXIgdGhhdCB3YXMgcHVzaGVkIGRvd25zdHJlYW0uCgkgIEluc3RlYWQgb25seSB1bnJlZiB3aGVuL2lmIG5lZWRlZCBhbmQga2VlcCB1c2FnZSBvZiB0aGUgY2xlYW51cDogZ290bwoJICBibG9jawoKMjAxNy0wOS0wMyAxNToyMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogRG9uJ3QgdW5tYXAgYnVmZmVyIGJlZm9yZSBhY2Nlc3NpbmcgZGF0YSBmcm9tIGl0CgkgIFRoZSBwcmV2aW91cyBwYXRjaCBhZGRlZCBhIGNoZWNrIGZvciBhIHN1YnN0cmVhbSBoZWFkZXIgYWZ0ZXIKCSAgZ3N0X2J1ZmZlcl91bm1hcCgpLCB3aGljaCBpcyBpbmNvcnJlY3QuCgoyMDE3LTA2LTI0IDE4OjQ3OjE0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogcHJlc2VydmUgRFRTIEhEIHN1YnN0cmVhbQoKMjAxNy0wOS0wMSAxNTo1NjowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsLmg6CgkgIHF0OiBPbmx5IGluY2x1ZGUgcXRndWktY29uZmlnLmggb24gcXQgPj0gNS45LjAKCSAgVGhlIGZpbGUgZG9lcyBub3QgZXhpc3QgaW4gcHJldmlvdXMgdmVyc2lvbnMKCjIwMTctMDgtMzEgMTQ6NDA6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsLmg6CgkgIHF0OiB0aGUgZGVmaW5lcyBmb3IgUVRfT1BFTkdMX0VTXzIgaGF2ZSBtb3ZlZAoJICBVcGRhdGUgdGhlIGluY2x1ZGVzIHRvIGFjY291bnQgZm9yIHRoYXQKCjIwMTctMDQtMjYgMTM6NTA6NDEgKzAyMDAgIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJICBxdDogZW5zdXJlIEdMX0RSQVdfRlJBTUVCVUZGRVIKCjIwMTctMDgtMTQgMTg6MTg6MDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRml4IHNvbWUgdGFicyB0aGF0IGNyZXB0IGluIHNvbWVob3cKCjIwMTctMDgtMjkgMTk6MTM6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBBbHNvIGxvZyBsb2NhbCBhbmQgU1IgUlRQIHJ1bm5pbmcgdGltZXMgd2hlbiBkb2luZyBudHAtc3luYz10cnVlCgoyMDE3LTA4LTI0IDE3OjA2OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhbHNvIGNyZWF0ZSBzZXNzaW9uIHdoZW4gY3JlYXRpbmcgdGhlIHNlbmRfcnRjcF9zcmNfJXUgcGFkCgkgIElmIG9uZSByZXF1ZXN0cyB0aGUgc2VuZF9ydGNwX3NyY18ldSBwYWQgYmVmb3JlIGEgcmVjdl9ydGNwX3NpbmtfJXUgcGFkLAoJICB0aGUgc2Vzc2lvbi9wYWQgd291bGQgbmV2ZXIgYmUgY3JlYXRlZCBhbmQgTlVMTCB3YXMgcmV0dXJuZWQuCgkgIFN3aXRjaGluZyB0aGUgcmVxdWVzdCBvcmRlciB3b3VsZCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2NzE4CgoyMDE3LTA4LTI2IDEyOjU5OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2Nicl9zdHJlYW0ubXAzOgoJKiB0ZXN0cy9maWxlcy9zdHJlYW0ubXAyOgoJKiB0ZXN0cy9maWxlcy92YnJfc3RyZWFtLm1wMzoKCSAgdGVzdHM6IG1wZzEyM2F1ZGlvZGVjOiBhZGQgZmlsZXMgbmVlZGVkIGJ5IHVuaXQgdGVzdHMKCjIwMTctMDgtMjYgMTA6MTA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3R3b2xhbWUuYzoKCSAgdGVzdHM6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIHR3b2xhbWUgYXMgd2VsbAoKMjAxNy0wOC0yNiAwOTo1OToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9sYW1lLmM6CgkgIHRlc3RzOiBsYW1lOiBmaXggYnVpbGQKCjIwMTctMDgtMjYgMDk6NTI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgYW5vdGhlciBiaW5hcnkKCjIwMTctMDgtMjYgMDk6NDE6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3R3b2xhbWUvbWVzb24uYnVpbGQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJICB0d29sYW1lOiBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjUyCgoyMDE3LTA4LTI2IDA5OjIxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTW92aW5nIHR3b2xhbWUgbXAyIGVuY29kZXIgcGx1Z2luIGZyb20gLXVnbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI1MgoKMjAxNy0wOC0yNiAwOTowMzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFtZS54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbGFtZTogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI1MgoKMjAxNy0wOC0yNSAyMToxMzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1vdmluZyBsYW1lIG1wMyBlbmNvZGVyIHBsdWdpbiBmcm9tIC11Z2x5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyNTIKCjIwMTctMDgtMjIgMTI6Mzk6NDMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGppc29yY2VAb2Jsb25nLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSAgcXQ6IGZpeCBicm9rZW4gYnVpbGQgZHVlIHRvIGNvbW1pdCAyZmQ4NGE2YyBmb3IgZ3N0Z2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDc3OQoKMjAxNy0wNy0wNyAxNjoxNToxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8amlzb3JjZUBvYmxvbmcuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsOiBkbyBub3QgaW5jbHVkZSBHTCBoZWFkZXJzIGluIHB1YmxpYyBnc3RnbCBoZWFkZXJzCgkgIEV4Y2VwdCBmb3IgZ3N0L2dsL2dzdGdsZnVuY3MuaAoJICBJdCBpcyB1cCB0byB0aGUgY2xpZW50IGFwcCB0byBpbmNsdWRlIHRoZXNlIGhlYWRlcnMuCgkgIEl0IGlzIGNvaGVyZW50IHdpdGggdGhlIGZhY3QgdGhhdCBnc3RyZWFtZXItZ2wucGMgZG9lcyBub3QKCSAgcmVxdWlyZSBhbnkgZWdsLnBjL2dsZXMucGMuIEkuZS4gaXQgaXMgdGhlIHJlc3BvbnNhYmlsaXR5CgkgIG9mIHRoZSBhcHAgdG8gc2VhcmNoIHRoZXNlIGhlYWRlcnMgd2l0aGluIGl0cyBidWlsZCBzZXR1cC4KCSAgRm9yIGV4YW1wbGUgZ3N0cmVhbWVyLXZhYXBpIGluY2x1ZGVzIGV4cGxpY2l0bHkgRUdML2VnbC5oCgkgIGFuZCBzZWFyY2ggZm9yIGl0IGluIGl0cyBjb25maWd1cmUuYWMuCgkgIEZvciBleGFtcGxlIHdpdGggdGhpcyBwYXRjaCwgaWYgYW4gYXBwIGluY2x1ZGVzIHRoZSBoZWFkZXJzCgkgIGdzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oCgkgIGdzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oCgkgIGdzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaAoJICBpdCB3aWxsICpubyBsb25nZXIqIGF1dG9tYXRpY2FsbHkgaW5jbHVkZSBFR0wvZWdsLmggYW5kIEdMRVMyL2dsMi5oLgoJICBXaGljaCBpcyBnb29kIGJlY2F1c2UgdGhlIGFwcCBtaWdodCB3YW50IHRvIHVzZSB0aGUgZ3N0Z2wgYXBpIG9ubHkKCSAgd2l0aG91dCB0aGUgbmVlZCB0byBib3RoZXIgYWJvdXQgZ2wgaGVhZGVycy4KCSAgQWxzbyBhZGRlZCBhIHRlc3Q6IGNkIHRlc3RzL2NoZWNrICYmIG1ha2UgbGlicy9nc3RnbGhlYWRlcnMuY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDc3OQoKMjAxNy0wOC0yMCAyMDo0MToxOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IExpbmsgbXBlZzEyM2F1ZGlvZGVjIHRlc3QgYWdhaW5zdCBnc3RmZnQKCSAgRml4aW5nIGJ1aWxkIGVycm9yOgoJICAvcnVuL2J1aWxkL2dzdC1wbHVnaW5zLWdvb2QvX2ZsYXRwYWtfYnVpbGQvLi4vdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoxNTA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdzdF9mZnRfczMyX25ldycKCSAgL3J1bi9idWlsZC9nc3QtcGx1Z2lucy1nb29kL19mbGF0cGFrX2J1aWxkLy4uL3Rlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6MTUxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnc3RfZmZ0X3MzMl93aW5kb3cnCgkgIC9ydW4vYnVpbGQvZ3N0LXBsdWdpbnMtZ29vZC9fZmxhdHBha19idWlsZC8uLi90ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOjE1MTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ3N0X2ZmdF9zMzJfZmZ0JwoJICAvcnVuL2J1aWxkL2dzdC1wbHVnaW5zLWdvb2QvX2ZsYXRwYWtfYnVpbGQvLi4vdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoxNDc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdzdF9mZnRfczMyX2ZyZWUnCgoyMDE3LTA4LTIwIDE3OjE1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiByZW1vdmUgZ3N0LWNoZWNrLXhtcC0qIHRlbXAgZmlsZXMgd2hlbiBkb25lCgkgIEFsc28gZml4IHRlbXAgZmlsZSBjcmVhdGlvbiBhIGJpdC4KCjIwMTctMDgtMjAgMTU6NDk6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGNoYW5nZXMgaW4gZ2l0CgoyMDE3LTA4LTIwIDE1OjQ4OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkgIG1wZzEyMzogYWRkIHRvIGRvY3MKCjIwMTctMDgtMjAgMTM6NTY6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC9tcGcxMjMvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbXBnMTIzOiBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjUyCgoyMDE3LTA4LTIwIDEzOjQ4OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTW92aW5nIG1wZzEyMyBwbHVnaW4gZnJvbSAtdWdseQoKMjAxNy0wOC0xNyAxMjoyMzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0OGE1ZDg1IHRvIDNmNGFhOTYKCjIwMTctMDgtMTQgMTU6Mjg6MjIgKzA4MDAgIFNreSBKdWFuIDxza3lqdWFuQHJlYWx0ZWsuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IG5vdC1saW5rZWQgaGFuZGxpbmcgY2F1c2luZyBnbGl0Y2hlcyB3aGVuIHNlbGVjdGluZyBzdHJlYW0KCSAgRml4IGNoYWluIGZ1bmN0aW9uIG5vdCBoYW5kbGluZyBub3QtbGlua2VkIGZyb20gYmFzZXBhcnNlLgoJICBXaGVuIGFuIGlucHV0IGRhdGEgaXMgc2VwYXJhdGVkIGludG8gMiBidWZmZXJzLCB0aGUgc2Vjb25kIGJ1ZmZlcgoJICB3b3VsZCBub3QgYmUgcHVzaGVkIGludG8gdGhlIGFkYXB0ZXIgaWYgYmFzZXBhcnNlIHJldHVybnMgbm90LWxpbmtlZAoJICBmb3IgZmlyc3QgYnVmZmVyLgoJICBUaGlzIGNhdXNlZCBnbGl0Y2hlcyB3aGVuIHN3aXRjaGluZyBzdHJlYW1zIGFuZCBzZWxlY3RpbmcKCSAgYSBzdHJlYW0gdGhhdCB3YXMgcHJldmlvdXNseSB1bnNlbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MjY4CgoyMDE3LTA4LTE2IDEzOjU3OjUwICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmg6CgkqIGdzdC9nb29tMmsxL2dvb21fY29yZS5jOgoJICBnb29tMmsxOiBDb252ZXJ0IHNvdXJjZSBmaWxlcyB0byBVVEYtOAoJICBDYXVzZXMgcHJvYmxlbXMgd2l0aCB0aGUgbmV3IGd0ay1kb2MgMS4yNiBvdGhlcndpc2UsCgkgIGJ1dCBpcyBhIGdvb2QgaWRlYSBpbiBhbnkgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjM2NAoKMjAxNy0wOC0xNCAwMzowODo0MSAtMDUwMCAgRWR1YXJkIFNpbmVsbmlrb3YgPGVkdWFyZEByZXBvcnR5LmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm93aW5nIFdBViBmaWxlcwoJICBXaXRoIHNvbWUgZml4ZXMgYnkgbWUuCgoyMDE3LTA4LTE0IDE3OjM5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IEZpeCBjb21waWxlIGVycm9yCgoyMDE3LTA1LTIxIDE2OjAxOjE0ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHFtbGdsc2luazogQWRkIGl0ZW1Jbml0aWFsaXplZCBzaWduYWwgdG8gUU1MIGl0ZW0KCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGF1dG9wbGF5IGZvciBleGFtcGxlLiBXaXRoIGF1dG9wbGF5LCBpdCBpcyBuZWNlc3NhcnkgdG8KCSAgd2FpdCB1bnRpbCB0aGUgc2NlbmUgZ3JhcGggaXMgZnVsbHkgc2V0IHVwLiBUaGlzIHNpZ25hbCBpcyBlbWl0dGVkIG9uY2UgdGhlCgkgIFFNTCBpdGVtIG5vZGUgaXMgcmVhZHkuIFNvLCBpbnNpZGUgYSBjb25uZWN0ZWQgc2xvdCwgdGhlIHBpcGVsaW5lJ3Mgc3RhdGUKCSAgY2FuIGJlIHNldCB0byBQTEFZSU5HIHRvIGF1dG9tYXRpY2FsbHkgc3RhcnQgcGxheWJhY2sgYXMgc29vbiBhcyB0aGUgUU1MCgkgIHNjcmlwdCBpcyBsb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYyNDYKCjIwMTctMDgtMTQgMTA6MzY6NTYgKzAwMDAgIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBmaXggaWYgYnVmZmVyIHNpemUgZXhjZWVkcyBNVFUKCSAgVGhlIHBsdWdpbiBxdWV1ZWQgYnVmZmVyIGRhdGEgaWYgbm90IGFsbCBidWZmZXIgZGF0YSBmaXQKCSAgaW50byBhIHNpbmdsZSBSVFAgcGFja2V0LiBOb3cgUlRQIHBhY2tldHMgYXJlIHB1c2hlZCBhcyBsb25nCgkgIGFzIGVub3VnaCBkYXRhIGlzIGF2YWlsYWJsZS4KCjIwMTctMDctMjcgMTc6MjE6NDggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJICB2cHhlbmM6IGRpc2NhcmQgZnJhbWVzIHRoYXQgaGF2ZSBiZWVuIGRyb3BwZWQgYnkgbGlidnB4CgkgIFRoaXMgZml4ZXMgYSBtZW1vcnkgbGVhay4gV2hlbiBkcm9wZnJhbWUtdGhyZXNob2xkIGhhcyBiZWVuIHNldCwKCSAgbGlidnB4IG1heSBvdXRwdXQgbGVzcyBmcmFtZXMgdGhhbiB0aGUgaW5wdXQgb25lcywgd2hpY2ggY2F1c2VzCgkgIHNvbWUgR3N0VmlkZW9Db2RlY0ZyYW1lcyB0byBxdWV1ZSB1cCBpbiBHc3RWaWRlb0VuY29kZXIncyBpbnRlcm5hbAoJICBmcmFtZSBxdWV1ZSB3aXRoIG5vIGNoYW5jZSBvZiBldmVyIGJlaW5nIGFsbCByZWxlYXNlZC4gQW5kIGJlY2F1c2UKCSAgdGhlIGZyYW1lcyBrZWVwIHJlZmVyZW5jZXMgdG8gdGhlIGlucHV0IGJ1ZmZlcnMsIHRoZSBpbnB1dCBidWZmZXIKCSAgcG9vbCBrZWVwcyBhbGxvY2F0aW5nIG5ldyBidWZmZXJzIGFuZCBtZW1vcnkgdXNhZ2UgZ3Jvd3MgdmVyeSBmYXN0LgoJICBGb3IgZXhhbXBsZSB0aGUgZm9sbG93aW5nIHBpcGVsaW5lJ3MgbWVtb3J5IHVzYWdlIGdyb3dzIGF0IGEgcmF0ZQoJICBvZiBhYm91dCAxR0IgcGVyIG1pbnV0ZSEKCSAgdmlkZW90ZXN0c3JjICEgY2Fwc2ZpbHRlciBjYXBzPXZpZGVvL3gtcmF3LHdpZHRoPTE5MjAsaGVpZ2h0PTEwODAsZnJhbWVyYXRlPTMwLzEsZm9ybWF0PUk0MjAgISBcCgkgIHZwOGVuYyB0YXJnZXQtYml0cmF0ZT0xMDAwMDAwIGVuZC11c2FnZT1jYnIgZHJvcGZyYW1lLXRocmVzaG9sZD05NSAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMwODYKCjIwMTctMDgtMDggMTM6MTE6NTggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBmaXggdW5zaWduZWQgaW50ZWdlciBjb21wYXJpc29ucy4KCSAgQ2FsbGVycyBvZiB0aGUgQVBJIChydHBzb3VyY2UsIHJ0cGppdHRlcmJ1ZmZlcikgcGFzcyBjbG9ja19yYXRlCgkgIGFzIGEgc2lnbmVkIGludGVnZXIsIGFuZCB0aGUgY29tcGFyaXNvbiAiPD0gMCIgaXMgdXNlZCBhZ2FpbnN0CgkgIGl0LCBsZWFkaW5nIG1lIHRvIHRoaW5rIHRoZSBpbnRlbnRpb24gd2FzIHRvIGhhdmUgdGhlIGZpZWxkCgkgIGJlIHR5cGVkIGFzIGdpbnQzMiwgbm90IGd1aW50MzIuCgkgIFRoaXMgbGVkIHRvIHNpdHVhdGlvbnMgd2hlcmUgd2UgY291bGQgY2FsbCBzY2FsZV9pbnQgd2l0aAoJICBhIE1BWF9VSU5UMzIgKC0xKSBndWludDMyIGFzIHRoZSBkZW5vbSwgdGh1cyByYWlzaW5nIGFuCgkgIGFzc2VydGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTk5MQoKMjAxNy0wOC0xMCAxNDo0NDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvbWVzb24uYnVpbGQ6CgkgIHRhZ2xpYjogdXNlIC1mdmlzaWJpbGl0eT1oaWRkZW4gd2l0aCB0aGlzIEMrKyBwbHVnaW4gaW4gbWVzb24gdG9vCgkgIEFsc28gcGFzcyBhcmdzIGFzIGNwcF9hcmdzLgoKMjAxNy0wMy0yMiAxNToyNToxNyArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxsb3cgbGFyZ2VyIGZpbGVzCgkgIEZvciByZWFsbHkgbG9uZyBmaWxlcyBzdWNoIGFzIGNvbnRpZ3VvdXMgcmVjb3JkaW5ncyBvZiBhIHdob2xlIGRheSwgdGhlCgkgIDUwTUIgbGltaXQgaXMgbm90IHN1ZmZpY2llbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0NTgKCjIwMTctMDgtMTAgMTY6MDg6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZnNldHMgZm9yIHJlYWRpbmcgbHBjbSBzcGVjaWZpYyBmaWVsZHMKCSAgV2Ugd2VyZSByZWFkaW5nIGF0IHRoZSBjb21wbGV0ZWx5IHdyb25nIHBvc2l0aW9ucywgMTYgYnl0ZXMgbGF0ZXIgaW4gdGhlCgkgIGRhdGEuCgkgIEFsc28gYWRkIHN1cHBvcnQgZm9yIGhpZ2gtYWxpZ25lZCBzYW1wbGVzLgoKMjAxNy0wOC0xMCAxNDowMTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZG9uJ3QgZXhwb3J0IHN5bWJvbHMgYnkgZGVmYXVsdAoJICBPbmx5IHBsdWdpbiBlbnRyeSBwb2ludHMgc2hvdWxkIGJlIGV4cG9ydGVkLgoJICBDdXJyZW50bHkgcGx1Z2lucyBtaWdodCBleHBvcnQgbW9yZSBzeW1ib2xzIHdpdGgKCSAgdGhlIG1lc29uIGJ1aWxkLCBhcyB3ZSBkb24ndCBoYXZlIHRoZSBleHBvcnRzCgkgIHJlZ2V4cCB0aGVyZSB0aGF0IHdlIHBhc3MgdG8gbGlidG9vbC4KCjIwMTctMDgtMTAgMTU6MTQ6MzEgKzA1MzAgIERlZXBhayBTcml2YXN0YXZhIDxzcml2YXN0YXZhLmRAc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCBtZW1vcnkgbGVhayBpbiB3YXZwYXJzZSBlbGVtZW50CgkgIEZpeGluZyBvZiBsZWFraW5nIHRoZSB0ZXh0IGZpZWxkIG9mIHRoZSBHc3RXYXZQYXJzZU5vdGUgYW5kCgkgIEdzdFdhdlBhcnNlTGFibCBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU0MjkKCjIwMTctMDgtMDggMTA6Mzc6MTIgKzAwMDAgIEN5cmlsIExhc2hrZXZpY2ggPG5vdG9yY2FAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IG1hcmsganBlZyBmcmFtZXMgYXMgZGVsdGFzCgkgIEpQRUcgZm9ybWF0cyBhcmUgZW5jb2RlZCwgYnV0IHRoZXkgbmV2ZXIgaGF2ZSBrZXlmcmFtZSBmbGFnLiBCdXQgaW4KCSAgZmFjdCB0aGV5IGFyZSBrZXlmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTk5MAoKMjAxNy0wOC0wNiAxMzowNjo0NSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW86IHJlbmFtZSBsaWJyYXJ5IGFjY29yZGluZyB0byB0aGUgcGx1Z2luIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTg4MAoKMjAxNy0wOC0wMiAxNzoxNjoyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvbid0IGRyb3AgYnVmZmVyIHJlZiBvbiBxYnVmCgkgIFRoaXMgZnVuY3Rpb24gbm8gbG9uZ2VyIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBidWZmZXIuCgkgIENJRCAxNDE0ODAwCgoyMDE3LTA4LTAyIDE3OjEzOjU1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBFbmFibGUgVlA5IGZvcm1hdAoJICBUaGlzIHdhcyBtaXNzaW5nLCBwcmV2ZW50aW5nIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyIHRvIHdvcmsKCSAgcHJvcGVybHkuIFRoaXMgYWxzbyBhZGRzIHN1cHBvcnQgZm9yIGNhbWVyYSB0aGF0IHdvdWxkIHByb2R1Y2UKCSAgVlA5IChpZiB0aGF0IGV4aXN0cykuCgoyMDE3LTA4LTAyIDEyOjI4OjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2M2VuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwybXBlZzRlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZwOGVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydnA5ZW5jLmg6CgkgIHY0bDI6IFJlbW92ZSBzcHVyaW91cyBDQVRFR09SWV9FWFRFUk4KCSAgVGhlc2UgaGF2ZSBiZWVuIGNvcHkgcGFzdGVkIGFsbCBvdmVyIHRoZSBwbGFjZSBhbmQgYXJlIG5vdCB1c2VkIGFueW1vcmUuCgkgIEFsbCBvYmplY3QgaGF2ZSBpdCdzIG93biBjYXRlZ29yeSBub3cuIFRoaXMgZml4ZXMgYnVpbGQgd2FybmluZyBzaW5jZQoJICB0aGUgVlA5IGRlY29kZXIgaGFkIHZwOCBjYXRlZ29yeSBkZWNsYXJlZC4KCjIwMTctMDgtMDIgMTA6Mzk6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJoMjY0ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJtcGVnNGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDhlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZwOWVuYy5jOgoJICB2NGwydmlkZW9lbmM6IE1vdmUgdGhlIHByb2ZpbGUvbGV2ZWwgbmVnb3RhdGlvbiBpbiB0aGUgYmFzZSBjbGFzcwoJICBUaGlzIHJlbW92ZXMgZHVwbGljYXRlZCBjb2RlIGFjcm9zcyBkaWZmZXJlbnQgY29kZWMuCgoyMDE3LTA4LTAyIDA5OjM2OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjYzZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjY0ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJtcGVnNGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDhlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZwOWVuYy5jOgoJICB2NGwydmlkZW9lbmM6IFR1cm4gZ3N0X3Y0bDJfaXNfdmlkZW9fZW5jIGludG8gYSBoZWxwZXIKCSAgVGhpcyByZWR1Y2VzIHRoZSBhbW91bnQgb2YgY29kZSBuZWVkZWQgaW4gZWFjaCBjb2RlYyBjbGFzcy4KCjIwMTctMDgtMDEgMTY6MDE6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDhlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZwOGVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydnA5ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2cDllbmMuaDoKCSogc3lzL3Y0bDIvbWVzb24uYnVpbGQ6CgkgIHY0bDI6IEFkZCBWUDgvOSBlbmNvZGVyIHN1cHBvcnQKCjIwMTctMDctMzEgMTE6NTY6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIG1tYXA2NCB0byBtYXRjaCBsaWJ2NGwyIHNpZ25hdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NjI4CgoyMDE3LTA4LTAxIDA5OjIyOjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ29weSBmbGFncyBhbmQgdGltZXN0YW1wIHdoZW4gaW1wb3J0aW5nCgkgIFdoZW5ldmVyIHdlIGltcG9ydCBmcm9tIGRvd25zdHJlYW0gcG9vbCAodXNlcnB0ciBvciBkbWFidWYtaW1wb3J0KSwgd2UKCSAgc2hvdWxkIGNvcHkgb3ZlciB0aGUgZmxhZ3MgYW5kIHRpbWVzdGFtcCwgb3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbCBub3QKCSAgZ2V0IHByb3BlciBzeW5jaHJvbml6YXRpb24gb3Igd2lsbCBub3QgYmUgYWJsZSB0byBub3RpY2UgZnJhbWVzIHRoYXQgaGFzCgkgIGNvcnJ1cHRpb24gaW4gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU2ODAKCjIwMTctMDctMzEgMTY6MDk6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjYzZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjYzZW5jLmg6CgkqIHN5cy92NGwyL21lc29uLmJ1aWxkOgoJICB2NGwyOiBBZGQgSDI2MyBFbmNvZGVyIHN1cHBvcnQKCjIwMTctMDctMjcgMTM6NTE6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBBZGQgbWlzc2luZyBuby1pbnN0IGhlYWRlcgoKMjAxNy0wNy0yNiAxNToxODowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm1wZWc0ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJtcGVnNGVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmg6CgkqIHN5cy92NGwyL21lc29uLmJ1aWxkOgoJICB2NGwyOiBBZGQgaW50ZXJmYWNlIGZvciBNUEVHNCBlbmNvZGluZwoKMjAxNy0wNy0yNyAxMDo1MTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmg6CgkgIHY0bDI6IElnbm9yZSByZWdpc3RlciBpc3N1ZSBhbmQga2VlcCBwcm9iaW5nCgkgIERvbid0IHN0b3AgcmVnaXN0ZXJpbmcgdGhlIG90aGVyIGR5bmFtaWMgcGx1Z2lucyBpZiBvbmUgcmVnaXN0cmF0aW9uCgkgIGZhaWxzLgoKMjAxNy0wNy0yNyAxNDoyMTozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIG11bGF3ZGVjOiBVbm1hcCBpbnB1dCBidWZmZXIgaWYgZmFpbGluZyB0byBtYXAgdGhlIG91dHB1dCBidWZmZXIKCjIwMTctMDctMjcgMDk6MjI6MjUgKzA1MzAgIFNhdHlhIFByYWthc2ggR3VwdGEgPHNwLmd1cHRhQHNhbXN1bmcuY29tPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjOiBGaXggTWVtb3J5IGxlYWsgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NDM1CgoyMDE3LTA3LTI2IDIwOjM2OjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb21tb24uaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29udHJvbHMuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJICB2NGwyOiBVcGRhdGUgZXh0ZXJuYWwgZmlsZXMgd2l0aCBsYXRlc3QKCSAgVGhpcyBpcyBjb3BpZWQgZnJvbSB0aGUgbGludXgga2VybmVsIHdpdGggb25seSBzb21lIGluY2x1ZGUgY2hhbmdlcyBzbwoJICBpdCB3b3JrcyBvdXRzaWRlIHRoZSBrZXJuZWwgaGVhZGVycy4KCjIwMTctMDctMTggMTA6NDE6NDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGb3IgYXVkaW8gdHJhY2tzLCB0YWtlIHRoZSBkZWZhdWx0IGR1cmF0aW9uIGZyb20gdGhlIGZpcnN0IGJ1ZmZlcgoJICAuLi4gaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyIGlkZWEgZnJvbSB0aGUgY2Fwcy4gVGhpcyBhbGxvd3Mgd3JpdGluZwoJICBTaW1wbGVCbG9ja3MgZm9yIGEgbWFqb3JpdHkgb2YgYXVkaW8gc3RyZWFtcyB3aGVyZSB0aGUgZHVyYXRpb24gb2YKCSAgZnJhbWVzIGlzIHVzdWFsbHkgZml4ZWQuIEFuZCBhcyBhIHNpZGUgZWZmZWN0LCBhbGxvd3MgVkxDIHRvIHBsYXkKCSAgc3RyZWFtcyB3aXRoIE9wdXMgYXMgaXQgb25seSB3b3JrcyB3aXRoIFNpbXBsZUJsb2NrcyBjdXJyZW50bHk6CgkgIGh0dHBzOi8vdHJhYy52aWRlb2xhbi5vcmcvdmxjL3RpY2tldC8xODU0NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0OTY5CgoyMDE3LTA3LTI0IDE2OjQ1OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogRml4IGNvbXBpbGF0aW9uIHdpdGhvdXQgbGlidjRsMgoKMjAxNy0wNy0yNCAxNjoxMzo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBLZWVwIHJlZiB0byBlbGVtZW50IGluIGFsbG9jYXRvci9wb29sCgkgIFJlbW92ZXMgdGhlIEZJWE1FL1F1ZXN0aW9uIGluIHRoZSBidWZmZXIgcG9vbCBhbmQgYWRkIGEgcmVmIHRvIHRoZQoJICBlbGVtZW50IGluIHRoZSBHc3RBbGxvY2F0b3IgdG9vLiBUaGlzIHJlZiBpcyBzdHJpY3RseSByZXF1aXJlZCB0byBrZWVwCgkgIHRoZSBHc3RWNGwyT2JqZWN0IHN0cnVjdHVyZSBhcm91bmQuCgoyMDE3LTA3LTI0IDE0OjI3OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogUmVtb3ZlZCB1bnVzZWQgbWVtYmVycwoKMjAxNy0wNy0yNCAxNDoxOTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjY0ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQWRkIHJ1bi10aW1lIGVudmlyb25tZW50IHRvIGVuYWJsZSBsaWJ2NGwyCgkgIFRoZSBsaWJyYXJ5IGhhcyBzdGFydGVkIHByZXZlbnRpbmcgYSBsb3Qgb2YgaW50ZXJlc3RpbmcgdXNlIGNhc2VzLAoJICBsaWtlIENSRUFURV9CVUZTLCBETUFCdWYsIHVzYWdlIG9mIFRSWV9GTVQuIEFzIHRoZSBsaWJ2NGwyIGlzIHRvdGFsbHkKCSAgaW5hY3RpdmUgYW5kIG5vdCBtYWludGFpbmVkLCB3ZSBkZWNpZGVkIHRvIGRpc2FibGUgaXQuIEFzIGEgY29udmVuaWVuY2UKCSAgd2UgYWRkZWQgYSBydW4tdGltZSBlbnZpcm9ubWVudCB0aGF0IGxldCB5b3UgZW5hYmxlIGl0IGZvciB0ZXN0aW5nLgoJICBHU1RfVjRMMl9VU0VfTElCVjRMMj0xCgkgIFRoaXMgb2YgY291cnNlIG9ubHkgd29ya3MgaWYgeW91IGhhdmUgZW5hYmxlZCBsaWJ2NGwyIGF0IGJ1aWxkIHRpbWUuCgoyMDE3LTA3LTE3IDEwOjA0OjAyICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZGVjbGFyZSBxdWFsaXR5IHByb3BlcnR5IGNoYW5nZWFibGUgaW4gUExBWUlORyBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MDEyCgoyMDE3LTA3LTIxIDIzOjM0OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBjb2xvcmltZXRyeSB2YWxpZGF0aW9uCgkgIFdoaWxlIG5vdCBkb2N1bWVudGVkLCBnc3RfdmlkZW9fY29sb3JpbWV0cnlfbWF0Y2hlcygpIG9ubHkgYWNjZXB0cyB3ZWxsCgkgIGtub3duIG5hbWVzLiBMb29raW5nIGF0IHRoZSBjb2RlIGFuZCB1bml0IHRlc3QsIHRoaXMgc2VlbXMgdG8gYmUgb24KCSAgcHVycG9zZSwgc28gZml4aW5nIGJ5IHBhcnNpbmcgdGhlIHN0cmluZyBhbmQgY29tcGF0aW5nIHRoZSBjb2xvcmltZXRyeQoJICBzdHJ1Y3R1cmVzLgoKMjAxNy0wNy0yMSAxNTo0MDoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJlbmNvZGVyOiBGaXggbmVnb3RpYXRpb24gZXJyb3IgaGFuZGxpbmcKCSAgVGhlIHN1YmNsYXNzIG5lZ290aWF0ZWQgZnVuY3Rpb24gd2lsbCBjYWxsIHNldF9mb3JtYXQsIGlmIHRoYXQgZmFpbHMgdGhlCgkgIHBvb2wgd2lsbCBub3QgYmUgY3JlYXRlZC4gV2UgZW5kZWQgdXAgd2l0aCBhbiBhc3NlcnRpb24uCgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X2J1ZmZlcl9wb29sX3NldF9hY3RpdmU6IGFzc2VydGlvbiAnR1NUX0lTX0JVRkZFUl9QT09MIChwb29sKScgZmFpbGVkCgoyMDE3LTA3LTE5IDIyOjI1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFNwZWVkdXAgY2FtZXJhIHN0YXJ0dXAgYnkgc2tpcHBpbmcgdHJ5X2ZtdAoJICBJbiB0aGlzIGNvbW1pdCwgd2UgZW5hYmxlZCBza2lwX3RyeV9mbXRfcHJvYmVzIHF1aXJrIGluIG9yZGVyIHRvIHNwZWVkCgkgIHVwIHRoZSBzdGFydCB3aGljaCBpcyBrbm93biB0byBiZSBkaXNhc3Ryb3VzbHkgc2xvdyB3aXRoIGNlcnRhaW4gVVNCCgkgIGNhbWVyYXMuCgkgIFRoaXMgaGFzIHRoZSBzaWRlIGVmZmVjdCB0aGF0IHdlIG5lZWRlZCB0byByZXdyaXRlIHRoZSBlbnRpcmUKCSAgbmVnb3RpYXRpb24gcHJvY2VzcyBpbiBhIHdheSB0aGF0IHdlIGl0ZXJhdGUgb3ZlciB0aGUgcG9zc2libGUgY2FwcwoJICB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IHdvcmtzLgoJICBUaGUgbmV3IG5lZ290aWF0aW9uIG1ldGhvZCBjb25zaXN0IG9mIGV4dHJhY3RpbmcgYSBwcmVmZXJyZWQgc3RydWN0dXJlCgkgIGZyb20gdGhlIHBlZXIgY2FwcyBhbmQgdXNpbmcgdGhpcyB0byBmaXhhdGUgYW5kIHNvcnQgdGhlIGNhcHMuIFRvCgkgIHJlZmxlY3QgdGhlIG9sZCBiZWhhdmlvdXIsIHdlIHNvcnQgYWxsIHJlc29sdXRpb24gc3RyaWN0bHkgYmlnZ2VyCgkgIHRvIHRoZSBwcmVmZXJyZWQgb25lIHdpdGggdGhlIGNsb3NlcyBvbmUgZmlyc3QuIFRoZSByZXN0IGlzIGFwcGVuZGVkLAoJICBrZWVwaW5nIHRoZSBzYW1lIG9yZGVyLiBXZSB0aGVuIG5vcm1hbGl6ZSB0aGUgY2FwcyBpbiBjYXNlIHRoZXJlIHdhcwoJICBzb21lIGxpc3Qgb2YgaW50ZXJsYWNlLW1vZGUgb3IgY29sb3JpbWV0cnkgbGVmdC4gV2UgZmluYWxseSBpdGVyYXRlCgkgIG92ZXIgYWxsIGZpeGVkIGNhcHMgYW5kIHRyeSBpdC4gOTklIG9mIHRoZSB0aW1lLCB0aGUgZmlyc3Qgb3IgdGhlCgkgIHNlY29uZCBvbmUgc2hvdWxkIHdvcmssIHdoaXQgdGhlIHJlc3VsdCBvZiBhIHNpbmdsZSBTX0ZNVCBiZWluZyBpc3N1ZXMuCgkgIEZyb20gdGhlcmUsIGl0IHdpbGwgYmUgcmVsYXRpdmVseSBlYXN5IHRvIGludHJvZHVjZSBuZXcgbmVnb3RpYXRpb24KCSAgYWxnb3JpdGhtLiBUaGUgY3VycmVudCBhbGdvcml0aG0gaXMgbWFkZSBmb3Igb3B0aW1hbCBpbWFnZSBxdWFsaXR5CgkgIHdpdGggYSBzY2FsaW5nIHNpbmsgdGhhdCBzZXRzIGl0J3Mgd2luZG93IHJlc29sdXRpb24gYXMgcHJlZmVyZW5jZS4KCSAgVGhpcyB0aGUgY2FzZSBpZiBmb3I6CgkgIHY0bDJzcmMgISB2aWRlb2NvbnZlcnQgISB2aWRlb3NjYWxlICEgeGltYWdlc2luawoJICBPdGhlciBzdHJhdGVneSB3b3VsZCBiZSBuZWVkZWQgdG8gb3B0aW1pemUgZm9yIG5vbi1zY2FsaW5nIHNpbmsgbGlrZQoJICB4aW1hZ2VzaW5rIG9yIGttc3Npbmsgd2hlbiB0aGUgZHJpdmVyIGRvZXMgbm90IHNjYWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTU2CgoyMDE3LTA3LTE5IDIyOjA5OjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogSW50cm9kdWNlIHF1aXJrIHRvIHNraXAgc2xvdyBwcm9iZXMKCSAgc2tpcF90cnlfZm10X3Byb2JlcyBxdWlyayBpcyBzZXQsIFY0TDIgb2JqZWN0IHdpbGwgbm90IHByb2JlIGZvcgoJICBpbnRlcmxhY2UtbW9kZSBhbmQgY29sb3JpbWV0cnkgdG8gYXZvaWQgcmVseWluZyBvbiB0cnlfZm10LiBUaGlzIHF1aXJrCgkgIHdpbGwgYmUgdXNlZCBieSB2NGwyc3JjIHRvIGF2b2lkIGRlc2FzdHJvdXMgc3RhcnR1cCB0aW1lIHdpdGggc2xvdwoJICBVU0Igd2ViY2Ftcy4KCSAgV2hlbiB0aGlzIHF1aXJrIGlzIGVuYWJsZWQsIGNhbGxlciB3aWxsIGhhdmUgdG8gaXRlcmF0ZSBvdmVyIHRoZQoJICBuZWdvdGlhdGVkIGNhcHMgYXMgaXQgbWF5IGNvbnRhaW5zIHVuc3VwcG9ydGVkIGZvcm1hdHMuIElmIHRoZSBwZWVyCgkgIGRpZG4ndCBjaG9vc2UgYSBzcGVjaWZpYyBpbnRlcmxhY2UtbW9kZSwgb3IgY29sb3JpbWV0cnksIHRoZSB2YWx1ZQoJICBjaG9zZW4gYnkgdGhlIGRyaXZlciBpcyBzZXQgaW50byB0aGUgY2Fwcy4gRm9yIHRoaXMgcmVhc29uLCB3aGVuIHRoaXMKCSAgbW9kZSBpcyBlbmFibGVkLCBnc3RfdjRsMl9vYmplY3Rfc2V0X2Zvcm1hdCgpIHdpbGwgcmVxdWlyZSB3cml0YWJsZQoJICBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTU2CgoyMDE3LTA3LTE5IDIyOjA3OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGFsd2F5cyBzZXQgdGhlIEdzdFY0bDJFcnJvciBvbiBlcnJvcgoJICBTb21lIG9mIHRoZSBlcnJvciBjYXNlIHdlcmUgY29uZGl0aW9uYWwgdG8gdXNpbmcgdHJ5X2ZtdCBvciBub3QuCgkgIFRoaXMgaXMgc2xpZ2h0bHkgdW5leHBlY3RlZCwgYWx3YXlzIHNldCB0aGUgZXJyb3Igc28gdGhlIGNhbGxlcgoJICBjYW4gZGVjaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTU2CgoyMDE3LTA3LTE5IDIyOjA1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1pbm9yIHN0eWxlIGZpeCBhbmQgdXNlZnVsIHRyYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUxNTYKCjIwMTctMDctMTkgMjI6MDM6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHRyeS9zX2ZtdCBlcnJvcnMKCSAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjLFRSWV9GTVQgY2Fubm90IHJldHVybiBFQlVTWSwgdGhvdWdoIGl0IGNhbgoJICByZXR1cm4gRUlOVkFMIGlmIGl0IHdhcyBub3QgcG9zc2libGUgdG8gdXBkYXRlIHRoZSBmb3JtYXQgdG8KCSAgc29tZXRoaW5nIHN1cHBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE1NgoKMjAxNy0wNy0xOSAyMjowMToyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBWYWxpZGF0ZSBjb2xvcmltZXRyeSBpbiBTL1RSWV9GTVQKCSAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgcmVtb3Zpbmcgc2xvdyBUUllfRk1UIHByb2JlcyBmb3IKCSAgY29sb3JpbWV0cnkuIEFzIHdlIHdvbid0IGhhdmUgdHJpZWQgdGhhdCBjb2xvcmltZXRyeSB3ZSBjYW5ub3QKCSAgYXNzdW1lIHRoZSBkcml2ZXIgd2lsbCBhY2NlcHQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUxNTYKCjIwMTctMDctMTkgMjE6NTY6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVmFsaWRhdGUgZmllbGQgaW4gUy9UUllfRk1UCgkgIFRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZnJvbSByZW1vdmluZyB0aGUgc2xvdyBUUllfRk1UIHByb2JlcyBmb3IKCSAgaW50ZXJsYWNpbmcuIEFzIHdlIHdvbid0IGhhdmUgdHJpZWQgdGhhdCBpbnRlcmxhY2UtbW9kZSBhbHJlYWR5CgkgIHdlIG5lZWQgdG8gdmFsaWRhdGUgdGhhdCB0aGUgZHJpdmVyIGlzbid0IHJlZnVzaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTU2CgoyMDE3LTA3LTIxIDE5OjAxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1hY2N1cmF0ZS1zZWVrLmM6CgkgIHRlc3RzOiBpY2xlczogZml4IGJ1aWxkCgkgIENhbid0IGRvIGFkZGl0aW9ucy9zdWJ0cmFjdGlvbnMgb24gdm9pZCogcG9pbnRlcnMuCgoyMDE3LTA3LTIxIDExOjA0OjE3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0czppY2xlczogRml4IHByZXZpb3VzIHBhdGNoIGJ5IGltcGxlbWVudGluZyBvdXIgbWVtbWVtCgkgIFVzaW5nIHRoZSBzdHJpbmcgdmVyc2lvbiBvZiBpdCB3aWxsIGZhaWwgb24gJ1wwJy4KCjIwMTctMDctMjEgMTA6MTc6MDAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1hY2N1cmF0ZS1zZWVrLmM6CgkgIHRlc3RzOmljbGVzOiBEbyBub3QgdXNlIG1lbW1lbSBHTlUgZXh0ZW5zaW9uIGZ1bmN0aW9uCgkgIEFzIGl0IGlzIG5vdCBhdmFsYWlibGUgb24gd2luZG93cy9tc3ZjIGFuZCB3ZSBjYW4gdXNlIHB1cmUgR0xpYiBmb3IgdGhhdAoKMjAxNy0wNy0yMCAxNzoyMTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBkaXJlY3Rzb3VuZDogRml4IC5jIGZpbGUgbmFtZSBpbiBNYWtlZmlsZQoJICBUaGlzIHdhcyBicm9rZW4gYnkgYWNjaWRlbnQsIGJhZCBzZWFyY2ggYW5kIHJlcGxhY2UuCgoyMDE3LTA3LTIwIDExOjAyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogRml4IERMTCBuYW1lIHRvIG1hdGNoIHBsdWdpbiBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUxNjgKCjIwMTctMDctMjAgMTA6Mzg6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSAgZGlyZWN0c291bmQ6IEZpeCBETEwgbmFtZSB0byBtYXRjaCBwbHVnaW4gbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTY4CgoyMDE3LTA3LTE5IDEyOjM4OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJlZmVyYWJseSBzZW5kIG9wZW4tZW5kZWQgc2VnbWVudCByYXRoZXIgdGhhbiByZXBlYXRlZCBzZWdtZW50IGV2ZW50cwoKMjAxNy0wNy0xOSAxMToyNzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzZWVraW5nIGluIGZyYWdtZW50ZWQgZmlsZSB3aXRob3V0IG1mcmEgcmFuZG9tIGFjY2VzcyBpbmZvCgkgIC4uLiB3aGljaCBubyBsb25nZXIgd29ya2VkIGR1ZSB0byB1bmNvbmRpdGlvbmFsbHkgY2xlYXJpbmcgc2FtcGxlIGluZm8gYW5kCgkgIGVuZGluZyB1cCBpbiBpbmNvbnNpc3RlbnQgc3RhdGUuICBMZXQncyB0cmVhZCBhIGJpdCBtb3JlIGNhcmVmdWxseSBhbmQgYWxzbwoJICBhbGxvdyBmb3IgdGhlIG9sZCBzZWVrIGhhbmRsaW5nIHRoYXQgcmVzb3J0cyB0byBzY2FubmluZyBpZiBubyBtZnJhIGluZm8KCSAgaXMgYXZhaWxhYmxlLgoKMjAxNy0wNy0xOSAxMDo0Mjo0NiArMDIwMCAgTmljb2xhcyBEZWNoZXNuZSA8bmljb2xhcy5kZWNoZXNuZUBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogYWRkIHNvbWUgdXNlZnVsIGRlYnVnIG1lc3NhZ2VzCgkgIEFkZCBhIGNvdXBsZSBvZiB1c2VmdWwgZGVidWcgdHJhY2VzICwgdGhleSBoYXBwZW5lZCB0byBiZSB1c2VmdWwgdG8KCSAgZGVidWcvaW52ZXN0aWdhdGUgYSA0SyB2aWRlbyBwbGF5YmFjayBpc3N1ZSB3aXRoIHY0bDIsIHNvIGxldCdzIG1ha2UgdGhlc2UKCSAgY2hhbmdlcyBtb3JlIHBlcm1hbmVudC4KCSAgU2lnbmVkLW9mZi1ieTogTmljb2xhcyBEZWNoZXNuZSA8bmljb2xhcy5kZWNoZXNuZUBsaW5hcm8ub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTA5CgoyMDE3LTA3LTE4IDExOjI4OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEZpeCA0SyBjb2xvcmltZXRyeQoJICBTaW5jZSAxLjYsIHRoZSB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgQlQyMDIwIGhhcyBiZWVuIGNoYW5nZWQgZnJvbSBCVDcwOQoJICB0byBCVDIwMjBfMTIuIEl0J3MgdGhlIHNhbWUgZnVuY3Rpb24sIGJ1dCB3aXRoIG1vcmUgcHJlY2lzaW9uLiBBcyBhIHNpZGUKCSAgZWZmZWN0LCB0aGUgVjRMMiBjb2xvcnBzYWNlIGRpZG4ndCBtYXRjaCBHU3RyZWFtZXIgY29sb3JzcGFjZS4gV2hlbgoJICBHU3RyZWFtZXIgZW5kZWQgdXAgbWFraW5nIGEgZ3Vlc3MsIGl0IHdvdWxkIG5vdCBtYXRjaCBhbnl0aGluZyBzdXBwb3J0ZWQKCSAgYnkgVjRMMiBhbnltb3JlLiBUaGlzIHRoaXMgYnkgdXNpbmcgQlQyMDIwXzEyIGZvciBCVDIwMjAgY29sb3JzcGFjZSBhbmQKCSAgQlQyMDIwIHRyYW5zZmVyIGZ1bmN0aW9uIGluIHJlcGxhY2VtZW50IG9mIEJUNzA5IHdoZW5ldmVyIGEgNEsKCSAgcmVzb2x1dGlvbiBpcyBkZXRlY3RlZC4KCjIwMTctMDctMTQgMTY6MjE6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogT25seSBjaGVjayBDUk9QQ0FQIGZvciBwYXIgb25jZQoJICBUaGUgcGl4ZWwgYXNwZWN0IHJhdGlvIGlzIGRvY3VtZW50ZWQgdG8gbm90IGNoYW5nZSB1bmxlc3MgdGhlIFRWCgkgIFN0YW5kYXJkIGlzIGNoYW5nZWQuIFNvIHRoaXMgbWVhbiB0aGF0IHRoaXMgd2lsbCBiZSB1bmlmb3JtIGFjcm9zcyBhbGwKCSAgcG9zc2libGUgZm9ybWF0IGFuZCByZXNvbHV0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDY3NAoKMjAxNy0wNy0xOCAxMDowMToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIFJldmVydCAibWF0cm9za2FtdXg6IGFkanVzdCB1bml0IHRlc3QgdG8gbW9kaWZpZWQgYmVoYXZpb3VyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhmZTQ3OGM4YTc3NDZjZDJjNjNmMjBkMjNlOTdlMjZlMWEwZTYxOTIuCgkgIFdlJ3JlIGJhY2sgdG8gcHJldmlvdXMgYmVoYXZpb3VyCgoyMDE3LTA3LTE4IDAwOjI2OjExICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogYWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCBjbHVzdGVyIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ5NzEKCjIwMTctMDctMTcgMjA6NDc6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogVVZDIGRyaXZlciBpcyBuYW1lZCB1dmN2aWRlbyB0aGVzZSBkYXlzCgkgIFRoZSBxdWlyayB0byBhdm9pZCBwcm9iaW5nIGludGVybGFjaW5nIGRpZG4ndCB3b3JrIGFueW1vcmUgYXMgdGhlIGRyaXZlcgoJICBpcyBub3cgbmFtZSB1dmN2aWRlby4gVGhpcyBzaG91bGQgc2xpZ2h0bHkgc3BlZWQgdXAgY2FtZXJhIHN0YXJ0dXAuCgoyMDE3LTA3LTEyIDIxOjAyOjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSB1bnVzZWQgZGVmaW5lcwoKMjAxNy0wNy0xMiAyMDo1Mzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IE1ha2UgZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyBzdGF0aWMKCSAgSXQncyBub3QgdXNlZCBvdXRzaWRlIG9mIHY0bDJfY2FsbHMuYwoKMjAxNy0wNy0xMiAyMDo0OTo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyaDI2NGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogTWVyZ2UgdjRsMl9jYWxscy5oIGludG8gZ3N0djRsMm9iamVjdC5oCgkgIEZpcnN0IHN0ZXAgb2YgYSBsYXJnZXIgY2xlYW51cCwgYWxsIGZ1bmN0aW9uIGZyb20gdjRsMl9jYWxscyBhcmUgaW4gZmFjdAoJICBtZXRob2RzIG9uIEdzdFY0bDJPYmplY3QuIFRoaXMgc3BsaXQgbWFrZXMgdGhlIGNvZGUgcmVhbGx5IGNvbmZ1c2luZy4KCSAgVGhpcyBhbHNvIHJlbW92ZSBubyBsb25nZXIgdW51c2VkIG1hY3Jvcy4KCjIwMTctMDctMTUgMTQ6NTc6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBmaXggY2FwcyBsZWFrCgkgIFRoZSBwYWQgdGVtcGxhdGUgdGFrZXMgaXRzIG93biByZWYsIHNvIHdlIHNob3VsZCB1bnJlZiB0aGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDk4MgoKMjAxNy0wNy0xNSAxMjo0ODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL21lc29uLmJ1aWxkOgoJICBtZXNvbjogcG86IHVzZSBnbGliIHByZXNldCBhbmQgcmVhZCBsYW5ndWFnZSBsaXN0IGZyb20gTElOR1VBUwoJICBTdXBwb3J0ZWQgc2luY2UgbWVzb24gMC4zNywgc28gd2UgY2FuIHVzZSBpdCBub3cuCgoyMDE3LTA3LTE0IDEyOjEyOjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFRyYWNlIHVua25vd24gZm91cmNjIGFzIHRleHQKCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gZmluZCBvdXQgd2hhdCBpcyBub3Qgc3VwcG9ydGVkLgoKMjAxNy0wNy0xNCAxMTo1NDo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDI6IERvbid0IHByb2JlIGZvciB1bm5lZWRlZCBmb3JtYXQKCSAgRm9yIHY0bDJ2aWRlb2RlYy9lbmMsIHdlIGdlbmVyYXRlIGVsZW1lbnRzIHBlciBmb3JtYXRzLCBhbmQgaW4KCSAgdGhpcyBjYXNlIHdlIGNhbiBzcGVlZCB1cCB0aGUgc3RhcnQgdXAgYnkgb25seSBwcm9iaW5nIHRoZSBmb3JtYXQKCSAgd2UgY2FyZSBhYm91dC4KCjIwMTctMDctMTMgMTI6MzI6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEltcGxlbWVudCBzdGFibGUgZWxlbWVudCBuYW1lcwoJICBCZWZvcmUgdGhhdCwgZWFjaCBtMm0gbm9kZSB3b3VsZCBiZSB3cmFwcGVkIGFzIGEgc2luZ2xlLCBtdWx0aS1mb3JtYXQKCSAgZGVjb2RlciBlbGVtZW50LiBBcyBhIHVuaXF1ZSBuYW1lIHdhcyBuZWVkZWQsIHdlIHdoZXJlIHVzaW5nIHRoZSBkZXZpY2UKCSAgbmFtZSwgd2hpY2ggY2hhbmdlcyBiZXR3ZWVuIHJlLWJvb3RzLiBUaGlzIGxlZCB0byB1bnByZWRpY3RhYmxlIGVsZW1lbnQKCSAgbmFtZXMuIEluIHRoaXMgcGF0Y2gsIHdlIGdlbmVyYXRlIGFuIGVsZW1lbnQgcGVyIGNvZGVjLCB1c2luZwoJICB2NGwyPGNvZGVjPmRlYyBuYW1lLiBJZiB0aGVyZSBpcyBtdWx0aXBsZSBkZWNvZGVyIGZvciB0aGUgc2FtZSBmb3JtYXQsCgkgIHRoZSBmb2xsb3dpbmcgZWxlbWVudHMgd2lsbCBiZSBuYW1lZCB2NGwyPG5vZGU+PGNvZGVjPmRlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDkwOAoKMjAxNy0wNy0xMyAxNDo1MDo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBQb3N0IGFuIGVsZW1lbnQgbWVzc2FnZSB3aXRoIHRoZSBIVFRQIGhlYWRlcnMgb24gdGhlIGJ1cyB0b28KCSAgSW5zdGVhZCBvZiBqdXN0IHNlbmRpbmcgYSBzdGlja3kgZXZlbnQgd2l0aCB0aGVtIGRvd25zdHJlYW0uIFRoaXMgYWxsb3dzCgkgIGdldHRpbmcgdGhlIEhUVFAgaGVhZGVycyBlYXNpbHkgaW4gdGhlIGFwcGxpY2F0aW9uLCBhbmQgZXNwZWNpYWxseSBhbHNvCgkgIG9uIGVycm9ycy4KCjIwMTctMDctMTMgMTI6NDc6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHBhcnNpbmcgb2YgUkxFIGRlcHRoCgkgIFJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSA4NmI0MjdkYzcwNTYyZjg5MWE1NTFmZmM5Zjk2Y2VmZTFjYWZjZGRkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ4MTIKCjIwMTctMDctMTIgMTU6Mjk6MzIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L2dzdHF0c2luay5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHF0OiBVc2UgYSBwcm94eSBvYmplY3QgZm9yIGFjY2VzcyB0byB0aGUgUU1MIHdpZGdldAoJICBRTUwgY2FuIGRlc3Ryb3kgdGhlIHZpZGVvIHdpZGdldCBhdCBhbnkgdGltZSwgbGVhdmluZwoJICB1cyB3aXRoIGEgZGFuZ2xpbmcgcG9pbnRlci4gVXNlIGEgbG9jayBhbmQgYSBwcm94eQoJICBvYmplY3QgdG8gY29wZSB3aXRoIHRoYXQsIGFuZCBibG9jayBpbiB0aGUgd2lkZ2V0CgkgIGRlc3RydWN0b3IgaWYgdGhlcmUgYXJlIG9uZ29pbmcgY2FsbHMgaW50byB0aGUgd2lkZ2V0LgoKMjAxNy0wNy0xMCAxODo1NzoxMSArMDIwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyOiB1c2UgZ2ludCBhbmQgZ3VpbnQgaW4gcGxhY2Ugb2YgaW50IGFuZCB1aW50CgkgIHRoaXMgZml4ZXMgYSBjb21waWxhdGlvbiBlcnJvciB3aXRoIGdjYyA3LjEuMCBvbiBteXMyIHdoZXJlIHVpbnQgaXMgbm90IGRlZmluZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDc1OAoKMjAxNy0wNy0wNyAyMToxNTo1NyArMDkwMCAgWWFzdXNoaSBTSE9KSSA8eWFzaGlAYXRtYXJrLXRlY2huby5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBydHBnc21wYXk6IGZpeCBhY2NpZGVudGFsIGdhcmJhZ2UgZGF0YSBiZWZvcmUgYWN0dWFsIHBheWxvYWQKCSAgRG8gbm90IGFsbG9jYXRlIHBheWxvYWQgc2l6ZSBvdXRidWYgaWYgYXBwZW5kaW5nIHBheWxvYWQgYnVmZmVyLgoJICBUaGUgY29tbWl0IDEzNzY3MmZmMTgyNDk0OGJkYTRiMWIxOTY3ZGU4YzI0YTAwNTViNjcgYXR0YWNoZWQgcGF5bG9hZAoJICB0byB0aGUgb3V0cHV0IGJ1ZmZlciBidXQgZm9yZ290IHRvIHJlbW92ZSBwYXlsb2FkIGFsbG9jYXRpb24uICBUaGF0CgkgIGVmZmVjdGl2ZWx5IGRvdWJsZWQgcGF5bG9hZCBzaXplIGFuZCBhZGQgemVybydlZCBvciByYW5kb20gYnl0ZXMuCgkgIE1ha2VzIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmUgd29yayBhZ2FpbjoKCSAgZ3N0LWxhdW5jaC0xLjAgLXYgYXVkaW90ZXN0c3JjIHdhdmU9MiAhIGdzbWVuYyAhIHJ0cGdzbXBheSAhIHJ0cGdzbWRlcGF5ICEgZ3NtZGVjICEgYXV0b2F1ZGlvc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NjE2CgoyMDE3LTA3LTAxIDE4OjU3OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VnbWVudCBzZWVrIHBvc2l0aW9uIGlzIGV4cHJlc3NlZCBpbiBidWZmZXIgdGltZQoJICAuLi4gc28gaXQgbmVlZCBub3QgYmUgY29ycmVjdGVkIGFnYWluIGZvciBzdHJlYW0gc3RhcnQKCjIwMTctMDctMDkgMTA6NTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByb3ZpZGUgYXZlcmFnZSBiaXRyYXRlIHRhZwoKMjAxNy0wNy0wNyAyMzo0OTo0NCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi92NGwyc3JjLXJlbmVnb3RpYXRlLmM6CgkgIGV4YW1wbGVzOiB2NGwyOiBmaXggd3JvbmcgaW5pdGlhbGl6YXRpb25zIGJyb3VnaHQgYnkgNGU4YWQ1ODMwMjI2NzFjNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDE1LTAyLTI3IDEzOjAzOjQyIC0wMzAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Y0bDJzcmMtcmVuZWdvdGlhdGUuYzoKCSAgZXhhbXBsZXM6IHY0bDI6IGFkZCBleGFtcGxlIGZvciB2NGwyc3JjIHJlbmVnb3RpYXRpb24KCSAgQmFzZWQgb24gd29yayBmcm9tIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxNy0wNy0wNyAxMTo1ODoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZmluZCBweXRob24zIHZpYSBweXRob24zIG1vZHVsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMTk4CgoyMDE3LTA3LTA1IDE0OjQ0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBydHBiaW46IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxNy0wNy0wNCAxNzo0MjoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBzZXNzaW9uOiBTZW5kIEVPUyBpZiBhbGwgaW50ZXJuYWwgc291cmNlcyBzZW50IGJ5ZQoJICBUaGUgb25lcyB3aGljaCBhcmUgbm90IGludGVybmFsIHNob3VsZCBub3QgbWF0dGVyLCBhbmQgd2Ugc2hvdWxkCgkgIHdhaXQgZm9yIGFsbCBzb3VyY2VzIHRvIGhhdmUgc2VudCB0aGVpciBCWUVzLgoJICBBbmQgYWRkIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE4CgoyMDE3LTA3LTA0IDEyOjI0OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IHNlbmQgRU9TIGlmIGFsbCBzb3VyY2VzIGhhdmUgYmVlbiBtYXJrZWQgYnllCgkgIE5vdyB0aGF0IG11bHRpcGxlIHNlbmRlciBSVFBTb3VyY2UgY2FuIHNoYXJlIHRoZSBzYW1lIFJUUFNlc3Npb24sIHdlCgkgIG11c3Qgbm90IHNlbmQgYW4gRU9TIHVubGVzcyB0aGV5J3JlIGFsbCBtYXJrZWQgYnllLgoKMjAxNy0wNy0wNCAxMTo0OToyOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhOiBEbyBub3QgaW5jbHVkZSwgdW51c2VkLCBzeXMvdGltZS5oCgkgIFdoaWNoIG1vcmVvdmVyIG1ha2VzIGJ1aWxkaW5nIG9uIHdpbmRvd3MgKG1pbmd3L21zdmMpIGZhaWw6CgkgIGh0dHBzOi8vY2kuYXBwdmV5b3IuY29tL3Byb2plY3QvdGhpYmxhaHV0ZS9nc3QtYnVpbGQtZ2U5bTUKCjIwMTctMDctMDMgMTE6NDc6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogQWRkIG1lbW9yeSBhbmQgYm91ZGFyeSBjaGVja3MKCSAgVGhpcyBlbGVtZW50IHdhcyBub3QgY2hlY2tpbmcgaWYgbWFwcGluZyB0aGUgUlRQIGJ1ZmZlciBhbmQgdGhlIHBheWxvYWQKCSAgd29ya2VkLCBhbmQgd2FzIG5vdCBjaGVja2luZyBpZiB0aGUgUlRYIHBheWxvYWQgd2FzIGxhcmdlIGVub3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDQ4NAoKMjAxNy0wNy0wNCAxNDo1ODowMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVW5zZXQgbGltaXQgb24gdGhlIG51bWJlciBvZiBjb25uZWN0aW9uIGlmIHNvdXAgc2Vzc2lvbiBzaGFyaW5nIGlzIHVzZWQKCSAgU291cCBhbGxvd3Mgb25seSB1cCB0byB0d28gY29ubmVjdGlvbnMgcGVyIGhvc3QgaW4gYSBzZXNzaW9uLAoJICBpZiB3ZSB1c2UgZGVmYXVsdCB2YWx1ZS4gV2hlbiBzZXNzaW9uIHNoYXJpbmcgaXMgdXNlZCwgaG93ZXZlciwKCSAgbW9yZSBjb25uZWN0aW9ucyBtaWdodCBiZSByZXF1aXJlZCBpbiBhIHNlc3Npb24uCgkgIChlLmcuLCBtdWx0aS1hdWRpbyBhZGFwdGl2ZSBzdHJlYW1pbmcgY2FzZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDQ5NQoKMjAxNy0wNy0wMyAyMDoyNzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogZml4IHVzZS1hZnRlci1mcmVlIG9uIHNlZWsgZXZlbnQKCSAgR2V0IHNlcW51bSBiZWZvcmUgdW5yZWZmaW5nIHRoZSBzZWVrIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NDg2CgoyMDE3LTA3LTAxIDE4OjU5OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByb2J1c3RpZnkgdGltZSB0cmFja2luZyBmb3Igc3BhcnNlIHN1YnRpdGxlIHN0cmVhbQoKMjAxNy0wNy0wMSAxODo1OTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogY29ycmVjdGx5IHRyYWNrIGNodW5rIHNpemUgb2Ygc3VidGl0bGUgc3RyZWFtCgkgIC4uLiB0aGVyZWJ5IGVuc3VyaW5nIGNvcnJlY3QgY2h1bmsgb2Zmc2V0IHRyYWNraW5nIGZvciBhbGwgc3RyZWFtcy4KCjIwMTctMDYtMjcgMTU6NTk6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGppc29yY2VAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBmaXggYXNzZXJ0aW9uICdkZW5vbSA+IDAnIGZhaWxlZAoJICBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IHRha2VzIGEgZ2ludCBhcyBkZW5vbSBwYXJhbWV0ZXIKCSAgd2hlcmVhcyBjdHgtPmNsb2NrX3JhdGUgaXMgYSBndWludDMyLgoJICBJdCBoYXBwZW5zIHdoZW4gZ3N0X3J0cF9wYWNrZXRfcmF0ZV9jdHhfcmVzZXQgc2V0IGNsb2NrX3JhdGUKCSAgdG8gLTEuCgkgIFNvIGp1c3QgZGVmaW5lIGNsb2NrX3JhdGUgYXMgZ2ludCBsaWtlIGl0IGlzIGRvbmUgaW4gcnRwc291cmNlLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDI1MAoKMjAxNy0wNi0yOCAxNDowNToyNyAtMDUwMCAgTWF0dCBGaXNjaGVyIDxtYXR0LmZpc2NoZXJAZ2FybWluLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEJsb2NrIHJlY3Vyc2l2ZSBjYWxscyB0byByZXN1cmVjdF9idWZmZXIKCSAgV2hlbiByZXN1cnJlY3RpbmcgYSBidWZmZXIsIHRoZSBzdWJzZXF1ZW50IGZyZWUgY2FsbCBjYW4gcmVzdWx0CgkgIGluIHRoZSBncm91cC1yZWxlYXNlZCBoYW5kbGVyIGJlaW5nIGNhbGxlZCBhZ2Fpbiwgd2hpY2ggY2F1c2VzCgkgIGEgcmVjdXJzaXZlIGxvb3AuICBUaGlzIHBhdGNoIGJsb2NrcyB0aGUgc2lnbmFsIGhhbmRsZXIgZHVyaW5nCgkgIHRoZSB0aW1lIHRoYXQgaXQgZXhlY3V0ZXMsIGVuc3VyaW5nIHRoYXQgdGhlIGxvb3Agd2lsbCBub3Qgb2NjdXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkyOTIKCjIwMTctMDYtMjAgMTY6Mzk6MzYgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IEF2b2lkIGRlcHJlY2F0ZWQgc3NsLWNhLWZpbGUgcHJvcGVydHkKCSAgU291cFNlc3Npb24ncyBzc2wtY2EtZmlsZSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBVc2UgdGhlIHJlY29tbWVuZGVkCgkgIHRscy1kYXRhYmFzZSBwcm9wZXJ0eS4KCSAgVGhpcyBpcyBhIGJpdCBtb3JlIGNvbXBsZXggYXMgaXQgcmVxdWlyZXMgY3JlYXRpbmcgYSBHVGxzRmlsZURhdGFiYXNlCgkgIG9iamVjdCBmb3IgYW4gYWJzb2x1dGUgKCEpIHBhdGggdG8gdGhlIENBIGNlcnRpZmljYXRlcyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MDA1CgoyMDE3LTA2LTIwIDE2OjM3OjU1ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBBdm9pZCBkZXByZWNhdGVkIHNlcnZlciBzc2wgcHJvcGVydGllcwoJICBUaGUgc3NsLWNlcnQtZmlsZSBhbmQgc3NsLWtleS1maWxlIHByb3BlcnRpZXMgYXJlIGRlcHJlY2F0ZWQuIFVzZSB0aGUKCSAgc291cF9zZXJ2ZXJfc2V0X3NzbF9jZXJ0X2ZpbGUgZnVuY3Rpb24gdG8gbG9hZCB0aGUgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQwMDUKCjIwMTctMDYtMjAgMTY6MzQ6NDEgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IE1ha2Ugc3NsX2NlcnQva2V5X2ZpbGUgc3RhdGljCgkgIEp1c3QgYSBiaXQgb2YgY2xlYW51cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAwNQoKMjAxNy0wNi0yMCAxNjoyODozNSArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogVXBkYXRlIHRlc3QtY2VydC5wZW0KCSAgUmVjZW50IEdudVRMUyBkaXNyZWdhcmRzIHRoZSBDb21tb24gTmFtZSBhbmQgb25seSBsb29rcyBhdCB0aGUgU3ViamVjdAoJICBBbHRlcm5hdGl2ZSBOYW1lIGV4dGVuc2lvbi4gU2luY2Ugb3VyIHRlc3QtY2VydCBoYXMgbm8gU0FOIGV4dGVuc2lvbiwKCSAgdmFsaWRhdGlvbiBmYWlscy4KCSAgR2VuZXJhdGUgYSBuZXcgY2VydGlmaWNhdGUgd2l0aCBTQU4uIEluIGFkZGl0aW9uIHRvIDEyNy4wLjAuMSwgZm9yIGdvb2QKCSAgbWVhc3VyZSBtYWtlIGl0IHZhbGlkIGZvciBsb2NhbGhvc3QgYW5kIDo6MSwgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MDA1CgoyMDE3LTA2LTI5IDE1OjIyOjM5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWxsb3cgYW55IHR5cGUgb2YgcHJveHkKCSAgQ3VycmVudGx5IHdlIG9ubHkgYWxsb3dlZCBIVFRQIHByb3h5LiBEb24ndCBmaWx0ZXIgZm9yIHRoZSBzY2hlbWUsIGp1c3QgY2hlY2sKCSAgaWYgaXQgbG9va3MgbGlrZSBhbiBVUkkuIFNvdXAgd2lsbCB3YXJuIGlmIHRoZSBVUkkgaXMgaW52YWxpZCBvciBpZgoJICBwcm94eSBwcm90b2NvbCBpcyBub3Qgc3VwcG9ydGVkLiBUaGlzIGVuYWJsZXMgdXNpbmcgU09DS1MgNC81IHdoaWNoIGlzCgkgIGRpcmVjdGx5IGltcGxlbWVudGVkIGludG8gR0lPLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDEyCgoyMDE3LTA1LTI0IDE1OjA3OjUxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW5jcmVhc2UgYnkgb25lIHRoZSBudW1iZXIgb2YgYWxsb2NhdGVkIGJ1ZmZlcnMKCSAgSW5jcmVhc2luZyB0aGlzIG51bWJlciBmaXggYSBidWZmZXIgc3RhcnZhdGlvbiBwcm9ibGVtIEknbSBoaXR0aW5nCgkgIHdpdGggYSAidjRsMnNyYyAhIGttc3NpbmsiIHBpcGVsaW5lLgoJICBrbXNzaW5rIHJlcXVlc3RzIDIgYnVmZmVyIGFzIGl0IGtlZXBzIGEgcmVmZXJlbmNlIG9uIHRoZSBsYXN0IHJlbmRlcmVkCgkgIG9uZS4gU28gd2Ugd2VyZSBhbGxvY2F0aW5nIDMgYnVmZmVycyBmb3IgdGhlIHBpcGVsaW5lLgoJICBPbmNlIHRoZSBmaXJzdCAyIGJ1ZmZlcnMgaGF2ZSBiZWVuIHB1c2hlZCB3ZSBlbmRlZCB1cCB3aXRoOgoJICAtIG9uZSBidWZmZXIgcXVldWVkIGluIHY0bDIKCSAgLSBvbmUgYmVpbmcgcHVzaGVkCgkgIC0gb25lIGtlcHQgYXMgbGFzdCByZW5kZXJlZAoJICBJZiB0aGlzIDNyZCBidWZmZXIgaXMgcmVsZWFzZWQgYWZ0ZXIgdGhhdCB2NGwyIHVzZWQgdGhlIGZpcnN0IG9uZSB0bwoJICBjYXB0dXJlIHdlIGVuZCB1cCB3aXRoIGEgYnVmZmVyIHN0YXJ2YXRpb24gcHJvYmxlbSBhcyBubyBidWZmZXIgaXMgY3VycmVudGx5CgkgIHF1ZXVlZCBpbiB2NGwyIGZvciBjYXB0dXJlLgoJICBGaXhpbmcgdGhpcyBieSBhZGRpbmcgb25lIGV4dHJhIGJ1ZmZlciB0byB0aGUgcGlwZWxpbmUgc28gd2hlbiBvbmUKCSAgYnVmZmVyIGlzIGJlaW5nIHB1c2hlZCBkb3duc3RyZWFtIHRoZSBvdGhlciBjYW4gYWxyZWFkeSBiZSBxdWV1ZWQgdG8KCSAgY2FwdHVyZSB0aGUgbmV4dCBmcmFtZS4KCSAgV2Ugd2VyZSBhbHJlYWR5IGFkZGluZyAzIGJ1ZmZlcnMgaWYgZG93bnN0cmVhbSBkaWRuJ3QgcmVwbHkgdG8gdGhlCgkgIGFsbG9jYXRpb24gcXVlcnkuIEkgcmVkdWNlZCB0aGlzIG51bWJlciB0byAyIHRvIGNvbXBlbnNhdGUgdGhlIGV4dHJhCgkgIGJ1ZmZlciB3aGljaCBpcyBub3cgYWx3YXlzIGFkZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDQ5CgoyMDE3LTA2LTI5IDE4OjU5OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBDcmVhdGUgc2VuZC9yZWN2IG11dGV4ZXMgb25jZSwgbm90IG9uIGV2ZXJ5IGNvbm5lY3QoKQoJICBBbHNvIGZpeGVzIGEgY3Jhc2ggY2F1c2VkIGJ5IGZyZWVpbmcgYW4gdW5pbml0aWFsaXplZCBtdXRleCBpbiBhbiBlcnJvcgoJICBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc4NDI4MgoKMjAxNy0wNi0yNyAxODoyMDoxNyAtMDUwMCAgTWF0dCBGaXNjaGVyIDxtYXR0LmZpc2NoZXJAZ2FybWluLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IG1lbW9yeSBsZWFrIHdpdGggZG1hYnVmCgkgIFRoaXMgcGF0Y2ggZml4ZXMgYSBtZW1vcnkgbGVhayB0aGF0IGlzIGNhdXNlZCBpZiB0aGUgZG1hYnVmIGZpbGUKCSAgZGVzY3JpcHRvciBkdXAgZmFpbHMuICBQcmV2aW91c2x5LCBfY2xlYW51cF9mYWlsZWRfYWxsb2MoKSB3b3VsZAoJICBub3QgdW5yZWYgdGhlIG1lbW9yeSBiZWNhdXNlIG1lbXNfYWxsb2NhdGVkIGhhZCBub3QgeWV0IGJlZW4KCSAgaW5jcmVtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQzMDIKCjIwMTctMDYtMjggMTk6NDY6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBzcGVjaWZ5ICdfc3dyJyBhdG9tIGFzIGEgY29udGFpbmVyIGF0b20KCSAgLi4uIHNvIGl0IGlzIHBhcnNlZCBhcyBhbiBtcDQgc3R5bGUgbWV0YWRhdGEgYXRvbSBhcyB3cml0dGVuIGJ5IG11eGVyCgoyMDE3LTA2LTI3IDIwOjE0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIHF0bXV4OiBpbml0aWFsaXplIG1kaGQgbGFuZ3VhZ2UgY29kZSBhcyB1bmRlZmluZWQKCjIwMTctMDYtMjIgMTU6MzQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIGEgZmFzdHN0YXJ0LW1pbi1wYWNrZXRzIHByb3BlcnR5CgkgIFdoZW4gc2V0IHRoaXMgcHJvcGVydHkgd2lsbCBhbGxvdyB0aGUgaml0dGVyYnVmZmVyIHRvIHN0YXJ0IGRlbGl2ZXJpbmcKCSAgcGFja2V0cyBhcyBzb29uIGFzIE4gbW9zdCByZWNlbnQgcGFja2V0cyBoYXZlIGNvbnNlY3V0aXZlIHNlcW51bS4gQQoJICBmYXN0c3RhcnQtbWluLXBhY2tldHMgb2YgemVybyBkaXNhYmxlcyB0aGlzIGZlYXR1cmUuIFRoaXMgaGV1cmlzdGljIGlzCgkgIGFsc28gdXNlZCBpbiBydHBzb3VyY2Ugd2hpY2ggaW1wbGVtZW50cyB0aGUgcHJvYmF0aW9uIG1lY2hhbmlzbSBhbmQgYQoJICBzaW1pbGFyIGhldXJpc3RpYyBpcyB1c2VkIHRvIGhhbmRsZSBsb25nIGdhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk1MzYKCjIwMTctMDYtMjMgMTY6MTg6NTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBbGxvdyB1c2luZyBnbGliIGFzIGEgc3VicHJvamVjdAoKMjAxNy0wNi0yNiAxMTowOTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9tZXNvbi5idWlsZDoKCSAgbWVzb246IGJ1aWxkIGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQxMzQKCjIwMTctMDYtMjYgMDk6NDc6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCB3aXRoLXBhY2thZ2UtbmFtZSBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDA4MgoKMjAxNy0wNi0yNiAwOTozODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL21lc29uLmJ1aWxkOgoJICBtZXNvbjogdGVzdHM6IGljbGVzOiBzaW1wbGlmeSBidWlsZCBmaWxlCgoyMDE3LTA2LTI2IDAwOjIyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL21lc29uLmJ1aWxkOgoJICBtZXNvbjogYnVpbGQgdGVzdHMvaWNsZXMvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQxMzQKCjIwMTctMDYtMTkgMjE6MTM6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogY29ycmVjdGx5IGNhbGN1bGF0ZSBvdmVyYWxsIGZpcnN0X3RzIHRvIGVuc3VyZSBzdHJlYW0gc3luYwoJICAuLi4gYnkgbWluZGluZyBhbmQgY29tcGVuc2F0aW5nIGZvciB0aGUgZHRzX2FkanVzdG1lbnQgdGhhdCBtYXkgaGF2ZQoJICBiZWVuIGludHJvZHVjZWQgaW4gdGhlIFBUUyB0aW1lbGluZS4KCjIwMTctMDYtMTAgMTU6MTQ6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdHJhY2sgaGlnaGVzdCBrbm93biBjbHVzdGVyIHBvc2l0aW9uIGFuZCB0aW1lCgkgIC4uLiB0byB1c2UgYXMgYSBmYWxsYmFjayBpbml0aWFsIGR1cmF0aW9uIGVzdGltYXRlIGFuZCB0byBwcm92aWRlIGZvcgoJICBpbnRlcnBvbGF0aW9uIHdoZW4gc2Nhbm5pbmcgZm9yIHBvc2l0aW9uLgoKMjAxNy0wNi0xMCAxMzo0NjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgYW5kIHNpbXBsaWZ5IHNlYXJjaGluZyBmb3IgY2x1c3RlciBhbmQgcG9zaXRpb24KCSAgLi4uIGF2b2lkaW5nIGluZWZmaWNpZW5jeSBwcm9wb3J0aW9uYWwgdG8gZmlsZSBzaXplCgoyMDE3LTA2LTA4IDE2OjU1OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW5jcmVhc2UgY2h1bmsgc2l6ZSB3aGVuIHNjYW5uaW5nIGZvciBjbHVzdGVyCgoyMDE3LTA2LTA4IDE2OjM5OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFpbnRhaW4gdmFyaWFibGUgc3RhdGUgd2hlbiBzZWFyY2hpbmcgZm9yIHBvc2l0aW9uCgkgIC4uLiBzbyBza2lwcGluZyB0byBuZXh0IGNsdXN0ZXIgaGFwcGVucyBlZmZpY2llbnRseQoKMjAxNy0wNi0yNCAwMDoyMTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3JhdzEzOTQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCByYXcxMzk0IHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTM0CgoyMDE3LTA2LTIzIDIzOjUwOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2FhbGliL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCBhYWxpYiBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDEzNAoKMjAxNy0wNi0yMyAyMzozODoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJjYWNhL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCBjYWNhIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTM0CgoyMDE3LTA2LTIzIDIwOjAxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxNy0wNi0yMyAxOTo1MjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFQURNRToKCSogY29uZmlndXJlLmFjOgoJKiBtZXNvbi5idWlsZDoKCSogcG8vUE9URklMRVMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdW5hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgc3lzOiByZW1vdmUgc3VuYXVkaW8gcGx1Z2luCgkgIEV2ZW4gdGhvdWdoIGhvb2tlZCB1cCB0byB0aGUgYnVpbGQgc3lzdGVtLCBpdCdzIGNsZWFyIHRoYXQgbm8gb25lCgkgIGhhcyBldmVyIGJ1aWx0IG9yIHVzZWQgdGhpcyB3aXRoIEdTdHJlYW1lciAxLnguIEl0IHdhbnRzIHRvIGxpbmsKCSAgYWdhaW5zdCBsaWJnc3RpbnRlcmZhY2VzLCB3aGljaCBubyBsb25nZXIgZXhpc3RzLiBBbmQgdXNlcyAwLjEwLXN0eWxlCgkgIHJhdyBhdWRpbyBjYXBzLiBBbmQgdGhlIGxhc3QgbWVhbmluZ2Z1bCBjaGFuZ2Ugd2FzIGRvbmUgaW4gMjAwOS4KCSAgTGV0J3MganVzdCByZW1vdmUgaXQuCgoyMDE3LTA2LTIzIDE5OjM1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvb3NzNC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGJ1aWxkIG9zczQgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQxMzQKCjIwMTctMDYtMjMgMTk6MjM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbWVzb24uYnVpbGQ6CgkqIHN5cy9vc3MvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCBvc3MgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQxMzQKCjIwMTctMDYtMjIgMTE6Mzg6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEFjdHVhbGx5IHVzZSB0aGUgcmVjZWl2ZSBsb2NrIHdoZW4gcmVjZWl2aW5nLCBub3QgdGhlIHNlbmQgbG9jawoKMjAxNy0wNi0yMiAwMTowMTo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL0NNYWtlTGlzdHMudHh0OgoJICBxbWxzaW5rIGV4YW1wbGU6IEFkZCBDTWFrZUxpc3RzLnR4dAoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHVzaW5nIGNtYWtlIGluc3RlYWQgb2YgcW1ha2UKCjIwMTctMDYtMjIgMDE6MDE6NDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcXQ6IFJlbW92ZSBtaXNsZWFkaW5nIHJlZmVyZW5jZSB0byBHVEsgaW4gcXRpdGVtLmNjCgoyMDE3LTA2LTE1IDExOjQ2OjU0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogRml4IHdhcm5pbmcgd2l0aCB0aGUgbmV3bHkgYWRkZWQgR3N0U3RhdGVDaGFuZ2UgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM3OTgKCjIwMTctMDYtMTUgMTk6MDk6MjYgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG8gbm90IGNoZWNrc3VtIHRoZSBzdHJlYW0gaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzMwNwoKMjAxNy0wNi0xNSAyMzozMToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRtdXg6IGFkZCBzdXBwb3J0IGZvciBtdXhpbmcgUE5HCgkgIERlbXV4ZXIgYWxyZWFkeSBzdXBwb3J0ZWQgaXQuCgoyMDE3LTA2LTE1IDEwOjQwOjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVzZSBhIG11dGV4IGZvciBwcm90ZWN0aW5nIGFnYWluc3QgY29uY3VycmVudCBzZW5kL3JlY2VpdmVzCgkgIFdlIGN1cnJlbnRseSBzZW5kIGRhdGEgdG8gdGhlIFJUU1AgY29ubmVjdGlvbiBmcm9tIG11bHRpcGxlIHRocmVhZHM6CgkgIHdoZW5ldmVyIGEgY29tbWFuZCBpcyB0byBiZSBoYW5kbGVkIGFuZCB3aGVuZXZlciBSVENQIGlzIGdlbmVyYXRlZC4gVGhpcwoJICBjYW4gY2F1c2UgZGF0YSBjb3JydXB0aW9uIG9yIHdvcnNlIGlmIGJvdGggaGFwcGVuIGF0IHRoZSBzYW1lIHRpbWUuCgkgIEFzIHN1Y2gsIHByb3RlY3QgZ3N0X3J0c3BfY29ubmVjdGlvbl9zZW5kKCkgYW5kIGdzdF9ydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSgpCgkgIGNhbGxzIHdpdGggYSBtdXRleC4gV2hpbGUgdGhpcyBtZWFucyB0aGF0IHdlIGhvbGQgYSBtdXRleCBkdXJpbmcgdGhlIElPCgkgIG9wZXJhdGlvbiwgdGhpcyBpcyBub3QgYWN0dWFsbHkgYSBwcm9ibGVtIGFzIHRoZSBJTyBvcGVyYXRpb24gY2FuIGJlCgkgIGludGVycnVwdGVkIChnc3RfcnRzcF9jb25uZWN0aW9uX2ZsdXNoKCkpIGF0IGFueSB0aW1lIGFuZCBpcyBibG9ja2luZyBieQoJICBpdHNlbGYgYW55d2F5LgoKMjAxNy0wNi0xNSAxMTo1MDo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IFVuLW1lcmdlIHRoZSBsYXN0IHR3byBzdHNjIGVudHJpZXMgYWZ0ZXIgc2VyaWFsaXppbmcKCSAgVGhlIGxhc3QgZW50cnkgd2lsbCBtb3N0IGxpa2VseSBnZXQgbmV3IHNhbXBsZXMgYWRkZWQgdG8gaXQgaW4gInJvYnVzdCIKCSAgbXV4aW5nIG1vZGUsIGNoYW5naW5nIHRoZSBzYW1wbGVzX3Blcl9jaHVuayBhbmQgdGh1cyBtYWtpbmcgaXQgd3JvbmcgdG8KCSAga2VlcCB0aGUgbGFzdCB0d28gZW50cmllcyBtZXJnZWQuIEl0IHdpbGwgcnVuIGludG8gYW4gYXNzZXJ0aW9uIGxhdGVyCgkgIHdoZW4gYWRkaW5nIGEgbmV3IHNhbXBsZSB0byB0aGUgY2h1bmsuCgkgIFRoYW5rcyB0byBnZGllbmVyQGNhcmRpbmFscGVhay5jb20gZm9yIHRoZSBhbmFseXNpcyBvZiB0aGUgYnVnIGFuZAoJICBwcm9wb3NhbCBmb3IgYSBzb2x1dGlvbi4KCjIwMTctMDYtMTQgMDA6MDk6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEFjdHVhbGx5IGNsaXAgdG8gdXBzdHJlYW0gc2l6ZSBpbnN0ZWFkIG9mIHNpemUgb2YgdGhlIGRhdGEgY2h1bmsKCSAgVGhlcmUgbWlnaHQgYmUgb3RoZXIgY2h1bmtzIGFmdGVyIHRoZSBkYXRhIGNodW5rLCBzbyBjbGlwcGluZyB0aGUgY2h1bmsKCSAgc2l6ZSB3aXRoIHRoZSBkYXRhIHNpemUgY2FuIGxlYWQgdG8gYSBuZWdhdGl2ZSBudW1iZXIgYW5kIGFsbCBmb2xsb3dpbmcKCSAgY2FsY3VsYXRpb25zIGdvIHdyb25nIGFuZCBjYXVzZSBjcmFzaGVzIG9yIHdvcnNlLgoJICBUaGlzIHdhcyBpbnRyb2R1Y2VkIGluIDNhYzExOWJiZTJjMzYwZTI4YzA4N2NmMzg1MmVhNzY5ZDYxMWIxMjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM3NjAKCjIwMTctMDYtMTMgMTc6NDA6MTkgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IERyb3AgYWxsb2NhdGlvbiBxdWVyaWVzCgkgIFRoZXkgY2FuIGNhdXNlIHVzIHRvIGRlYWRsb2NrLCB3aGlsZSB3ZSdyZSB3YWl0aW5nIGZvciBhIG5ldyBmcmFtZSBhbmQKCSAgdXBzdHJlYW0gaXMgd2FpdGluZyBmb3IgdGhlIGFsbG9jYXRpb24gcXVlcnkgdG8gYmUgYW5zd2VyZWQgYmVmb3JlCgkgIHNlbmRpbmcgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNzUzCgoyMDE3LTA2LTAxIDAyOjAzOjI3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdW5pcXVpZnkgc3RyZWFtIGlkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMzA3CgoyMDE3LTA2LTA3IDEyOjQ3OjU5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogRG8gbm90IHVzZSBwYXRoIHNlcGFyYXRvciBpbiB0ZXN0IG5hbWVzCgkgIEF2b2lkaW5nIHdhcm5pbmdzIGxpa2U6CgkgIFdBUk5JTkc6IFRhcmdldCAiZWxlbWVudHMvYXVkaW9hbXBsaWZ5IiBoYXMgYSBwYXRoIHNlcGFyYXRvciBpbiBpdHMgbmFtZS4KCjIwMTctMDYtMDYgMTE6Mjk6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBGaXggdjRsMiBleGFtcGxlCgoyMDE3LTA2LTA1IDE2OjU1OjEzICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIG5vdCBuZWVkZWQgY29kZQoJICByZW1vdmUgbm90IG5lZWRlZCBjb2RlIGFib3V0IHJlcyB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzQyMgoKMjAxNy0wNi0wMiAxNDowMToxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZW5jLmM6CgkgIHY0bDJ2aWRlb2VuYzogTWFrZSBzdXJlIG1pbl9idWZmZXJzIGlzIHZhbGlkCgkgIFdoZW4gdXBzdHJlYW0gZG9lcyBubyB1c2UgdGhlIHY0bDJ2aWRlb2VuYyBwb29sLCB3ZSBuZWVkIHRvIGFjdGl2YXRlCgkgIHRoYXQgaW50ZXJuYWwgcG9vbC4gVGhvdWdoLCB3ZSByZWxpZWQgdGhlIGRyaXZlciB0byBwcm92aWRlIGEgbWluaW11bQoJICByZXF1aXJlZCBidWZmZXIsIHdoaWNoIFF1YWxjb21tIFZlbnVzIGRyaXZlciBkb24ndCBjdXJyZW50bHkgcHJvdmlkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzM2MQoKMjAxNy0wNi0wMiAxMTozMDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IGNhcHMgbGVhawoKMjAxNy0wNS0yNiAxNjozMDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogc2ltcGxpZnkgYnVmZmVyIGFjY3VtdWxhdGlvbiBjb250cm9sIGZsb3cKCSAgVGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIHB1c2hpbmcgb3V0IGEgYnVmZmVyIGRpcmVjdGx5CgkgIHdpdGggZ3N0X3J0cF9iYXNlX2RlcGF5bG9hZF9wdXNoKCkgYW5kIHJldHVybmluZyBpdCBmcm9tIHRoZQoJICBwcm9jZXNzIGZ1bmN0aW9uLiBUaGUgYmFzZSBjbGFzcyB3aWxsIGp1c3QgY2FsbCBfZGVwYXlsb2FkX3B1c2goKQoJICBvbiB0aGUgcmV0dXJuZWQgYnVmZmVyIGFzIHdlbGwuCgkgIFNvIGluc3RlYWQgb2YgbWFyc2hhbGxpbmcgYnVmZmVycyB0aHJvdWdoIHRocmVlIGxheWVycyBhbmQgYmFjaywKCSAganVzdCBwdXNoIHRoZW0gZnJvbSBvbmUgcGxhY2UgaW4gaGFuZGxlX25hbCgpIGFuZCBhbHdheXMgcmV0dXJuCgkgIE5VTEwgZnJvbSB0aGUgcHJvY2VzcyB2ZnVuYy4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbGl0dGxlLgoJICBBbHNvIHJlbmFtZSBfcHVzaF9mcmFnbWVudGF0aW9uX3VuaXQoKSB0byBfZmluaXNoX2ZyYWdtZW50YXRpb25fdW5pdCgpCgkgIGZvciBjbGFyaXR5LiBQdXNoIHNvdW5kcyBsaWtlIGl0IG1lYW5zIGJlaW5nIHB1c2hlZCBvdXQsIHdoZXJlYXMKCSAgaXQgbWlnaHQganVzdCBiZSBwdXNoZWQgaW50byBhbiBhZGFwdGVyLgoJICBUaGlzIGNoYW5nZSBoYXMgdGhlIHNpZGUtZWZmZWN0IHRoYXQgbXVsdGlwbGUgTkFMcyBpbiBhIHNpbmdsZSBTVEFQCgkgIChzdWNoIGFzIFNQUy9QUFMpIG1heSBubyBsb25nZXIgYmUgcHVzaGVkIG91dCBhcyBhIHNpbmdsZSBidWZmZXIgaWYKCSAgd2Ugb3V0cHV0IE5BTHMgaW4gYnl0ZS1zdHJlYW0gZm9ybWF0IChpLmUuIG5vdCBhZ2dyZWdhdGUgQVVzKSwgYnV0CgkgIHRoYXQgc2hvdWxkbid0IHJlYWxseSBtYWtlIGFueSBkaWZmZXJlbmNlIHRvIGFueW9uZS4KCjIwMTctMDUtMzAgMjI6MjM6MTAgKzAyMDAgIEp1YW4gTmF2YXJybyA8anVhbi5uYXZhcnJvQGdteC5lcz4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJpbnQgdmFsdWUgb2YgdW5rbm93biBSVENQIFBheWxvYWQgVHlwZQoJICBUaGlzIGFkZHMgcHJpbnRpbmcgdGhlIGFjdHVhbCB2YWx1ZSBvZiBhbnkgdW5rbm93biBSVENQIFBUCgkgIHRvIHRoZSBhbHJlYWR5IGV4aXN0aW5nIFdBUk5JTkcgbG9nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMyNDgKCjIwMTctMDUtMjYgMTc6NTI6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuYzoKCSAgdjRsMnZpZGVvZW5jOiBEb24ndCBsZWFrIFZpZGVvQ29kZWNTdGF0ZQoJICBDSUQgIzE0MDk4NTIKCjIwMTctMDUtMjYgMTc6NDg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBSZW1vdmUgdW4tbmVlZGVkIHZhcmlhYmxlIGNoZWNrCgkgIGlmIHBhZCB3YXNuJ3QgcHJlc2VudCBieSBub3cgZXZlcnl0aGluZyB3b3VsZCBoYXZlIGJyb2tlbiBiZWZvcmUKCSAgQ0lEICMxNDA5ODU0CgoyMDE3LTA1LTI1IDE1OjI2OjM3ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMwOTMKCjIwMTctMDUtMjUgMTA6MDk6MDQgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogY2hlY2sgZnJhbWUgYnVmZmVyIHN0YXR1cyBuZWVkIHVzZSBzcGVjaWZpYyBmYm8gdGFyZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMwNjUKCjIwMTctMDUtMjQgMTQ6MTk6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJICB2NGwydmlkZW9lbmM6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24KCjIwMTctMDUtMjEgMTU6Mjk6MTEgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2V4dC90eXBlcy1jb21wYXQuaDoKCSAgdjRsMjogRG9uJ3QgcmVkZWZpbmUgX19iaXR3aXNlIGlmIGFscmVhZHkgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzgKCjIwMTctMDUtMjMgMTQ6NDA6NTYgLTA0MDAgIEF5YWthIDxheWFrYUBzb3VsaWsuaW5mbz4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjY0ZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJoMjY0ZW5jLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9lbmMuaDoKCSogc3lzL3Y0bDIvbWVzb24uYnVpbGQ6CgkgIHY0bDI6IEFkZCBWaWRlbyBFbmNvZGVyIHN1cHBvcnQKCSAgVGhpcyBpbXBsZW1lbnRzIEgyNjQgZW5jb2Rpbmcgc3VwcG9ydCB1c2luZyBnZW5lcmljIFY0TDIgaW50ZXJmYWNlLiBJdCBpcwoJICByZXBvcnRlZCB0byB3b3JrIHdpdGggU2Ftc3VuZyBNRkMgZHJpdmVyLCBJWE0uNiBDT0RBIGRyaXZlciBhbmQKCSAgUXVhbGNvbW0gbWFpbmxpbmUgVmVudXMgZHJpdmVyLiBPdGhlciBwbGF0Zm9ybSBzaG91bGQgYmUgc3VwcG9ydGVkIGFzCgkgIG5vbmUgb2YgdGhpcyB3b3JrIGlzIHBsYXRmb3JtIHNwZWNpZmljLgoJICBUaGUgaW1wbGVtZW50YXRpb24gY29uc2lzdCBvZiBhIEdzdFY0bDJWaWRlb0VuYyBiYXNlIGNsYXNzLCB3aGljaAoJICBpbXBsZW1lbnRzIHRoZSBjb3JlIHN0cmVhbWluZyBmdW5jdGlvbmFsaXR5LiBUaGlzIGJhc2UgY2xhc3MgaXMgaW1wbGVtZW50ZWQKCSAgYnkgR3N0VjRsMkgyNjRFbmMgY2xhc3MgdGhhdCBpbXBsZW1lbnRzIHRoZSBjYXBzIG5lZ290aWF0aW9uIHNwZWNpZmljIHRvCgkgIEgyNjQgcHJvZmlsZXMgYW5kIGxldmVsLiBUaGlzIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIGhhcmR3YXJlIHdpdGggbXVsdGlwbGUKCSAgSDI2NCBlbmNvZGVyLiBUaG91Z2gsIHRvIG1ha2UgaXQgc2ltcGxpZXIgdG8gdXNlLCB0aGUgZmlyc3QgZGlzY292ZXJlZCBIMjY0CgkgIGVuY29kZXIgd2lsbCBiZSBuYW1lZCB2NGwyaDI2NGVuYy4gT3RoZXIgZW5jb2RlciBmb3VuZCBkdXJpbmcgZGlzY292ZXJ5IHdpbGwKCSAgaGF2ZSBhIHVuaXF1ZSBuYW1lIGxpa2UgdjRsMnZpZGVvMGgyNjRlbmMuCgkgIFRoaXMgd29yayBpcyB0aGUgY29tYmluZWQgd29yayBvZiBtdWx0aXBsZSBkZXZlbG9wcGVycyBpbiB0aGUgbGFzdCAzCgkgIHllYXJzLiBUaGFua3MgdG8gYWxsIG9mIHRoZSBjb250cmlidXRvcnM6CgkgIEF5YWthIDxheWFrYUBzb3VsaWsuaW5mbz4KCSAgRnLDqWTDqXJpYyBTdXJlYXUgPGZyZWRlcmljLnN1cmVhdUB2b2RhbHlzLmNvbT4KCSAgSmVhbi1NaWNoZWwgSGF1dGJvaXMgPGplYW4tbWljaGVsLmhhdXRib2lzQHZlby1sYWJzLmNvbT4KCSAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoJICBQYWJsbyBBbnRvbiA8cGFibG8uYW50b25Adm9kYWx5cy1sYWJzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzOAoKMjAxNy0wNS0yMyAxNDozNjozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUmVtb3ZlIHVudXNlZCBmb3J3YXJkIGRlY2xhcmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzgKCjIwMTUtMTAtMDUgMTY6MzA6NDYgKzAxMDAgIEF5YWthIDxheWFrYUBzb3VsaWsuaW5mbz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBGaXggd3JvbmcgZXJyb3IgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM4CgoyMDE1LTEwLTA1IDE2OjIwOjE5ICswMTAwICBBeWFrYSA8YXlha2FAc291bGlrLmluZm8+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGluY3JlYXNlIHByZS1hbGxvY2F0ZWQgZW5jb2RlZCBidWZmZXIgc2l6ZQoJICBBcyBvZiB0b2RheSwgdGhlIE1GQyBlbmNvZGVyIG9mdGVuIG5lZWQgdG8gZXhjZWVkIHRoYXQgMSBNQgoJICBzaXplIGZvciBlbmNvZGVkIGJ1ZmZlciB3ZSBmaXhlZCBlYXJsaWVyIGZvciBkZWNvZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzOAoKMjAxNy0wNS0yNCAxNjozMjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkgIHJ0cG9wdXNkZXBheTogbWlub3IgcGVyZiBpbXByb3ZlbWVudHMKCSAgVXNlIHRoZSA6OnByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jIHRvIGF2b2lkIG1hcHBpbmcgdGhlCgkgIFJUUCBidWZmZXIgdHdpY2UuCgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX2J1ZmZlcigpIHJldHVybnMgYSBuZXcgc3ViLWJ1ZmZlcgoJICB3aGljaCB3aWxsIGFsd2F5cyBiZSB3cml0YWJsZSwgc28gbm8gbmVlZCB0byBtYWtlIGl0IHdyaXRhYmxlLgoKMjAxNy0wNS0yNCAxNjoxNDo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHA6IG9wdXM6IHVzZSBleGlzdGluZyB1dGlsaXR5IGZ1bmNzIGZvciBjb3B5aW5nL2Ryb3BwaW5nIG1ldGFzCgkgIFdlIGhhZCBvdXIgb3duIGNvcGllcyBvZiB0aG9zZSB3aGlsZSB0aGUgY29kZSB3YXMgaW4gLWJhZCwgYnV0IG5vdwoJICB3ZSBjYW4gdXNlIHRoZSBleGlzdGluZyB1dGlsaXR5IGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHJlLWltcGxlbWVudGluZwoJICB0aGVtLgoKMjAxNy0wNS0yNCAxMjo1NzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IGNhY2hlIG1ldGEgdGFnIHF1YXJrcyBhbmQgYWRkIG1vcmUgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIG1ldGFzCgkgIEV2ZXJ5IGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKCkgaXMgYSBoYXNoIHRhYmxlIGxvb2t1cCBzZXJpYWxpc2VkCgkgIG9uIHRoZSBnbG9iYWwgcXVhcmsgbG9jayBpbiBHTGliLiBMZXQncyBqdXN0IGxvb2sgdXAgdGhlIHR3byBxdWFya3MKCSAgd2UgbmVlZCBvbmNlIGFuZCBjYWNoZSB0aGVtIGxvY2FsbHkgZm9yIGZ1dHVyZSB1c2UuIFdoaWxlIHdlJ3JlIGF0IGl0LAoJICBhZGQgbmV3IHV0aWxpdHkgZnVuY3Rpb25zIGZvciB0aGUgdHdvIG1vc3QgY29tbW9ubHkgdXNlZCB0YWdzCgkgIChhdWRpbyArIHZpZGVvKS4gTWFrZSBmaXJzdCBhcmd1bWVudCBhIGdwb2ludGVyIHNvIHdlIGRvbid0IGhhdmUgdG8KCSAgY2FzdCBhbmQgbWFrZSB0aGUgY29kZSB1Z2x5LiBUaGVzZSBhcmUgdXNlZCBmb3IgbG9nZ2luZyBwdXJwb3NlcwoJICBvbmx5IGFueXdheS4KCjIwMTctMDUtMjQgMTE6MzM6MDUgKzA1MzAgIHZpamF5IDx2aWpheS5wYWxhbmlzd2FteUBpbi5ib3NjaC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlIDogRml4LCBDYXBzIHdlcmUgbm90IHNldCB3aGlsZSByZXVzaW5nIGFhY3BhcnNlCgkgIFdoaWxlIHJldXNpbmcgYWFjcGFyc2UgY2FwcyB3ZXJlIG5vdCBzZXQuVGhpcyBmaXggZW5hYmxlcyBhYWNwYXJzZSB0byByZXVzZSBpbiBzYW1lIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDI3CgoyMDE3LTA1LTIxIDE3OjQ1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZy5oLm1lc29uOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGRvbid0IG5lZWQgY29uZmlnLmgubWVzb24gYW55IGxvbmdlcgoKMjAxNy0wNS0yMSAxNToyNjoxMiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkgIHFtbGdsc2luazogQWRkIGR1bW15IHRleHR1cmUgdGhhdCBpcyBzaG93biBhcyBwbGFjZWhvbGRlciBmb3IgTlVMTCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI5MTcKCjIwMTctMDQtMjQgMTY6NTU6MjIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiB1c2Ugbm9uLWJsb2NraW5nIEkvTyBhbmQgYSBjb25maWd1cmFibGUgbmV0d29yayBvcGVyYXRpb25zIHRpbWVvdXQKCSAgVGhpcyBhbGxvd3MgdGltaW5nIG91dCBvbiBuZXR3b3JrIGVycm9ycyBtdWNoIGVhcmxpZXIKCSAgKGN1cnJlbnRseSBpdCB0YWtlcyB+MTVtaW4gdG8gdGltZW91dCkgYW5kIHdlIGNhbiBzdGlsbAoJICB1bmxvY2sgYW5kIGNoYW5nZSBzdGF0ZSBpbiB0aGUgbWVhbnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzE3MjIKCjIwMTctMDUtMjEgMTA6Mzc6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IG1ha2UgQysrIGNvbXBpbGVyIG9wdGlvbmFsCgkgIEl0J3Mgb25seSBuZWVkZWQgZm9yIHRoZSB0YWdsaWIgcGx1Z2luIHdoaWNoIGlzIG9wdGlvbmFsLgoKMjAxNy0wNS0yMSAxMDozMzo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICBtdWx0aWZpbGU6IHJlbW92ZSBzb21lIGNydWZ0CgoyMDE3LTA1LTIwIDE3OjA5OjUyICswMjAwICBKb3NlcCBUb3JyYSA8anRvcnJhQG9ibG9uZy5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBmaXhlcyBwbGF5YmFjayBvZiBtb25vIHN0cmVhbXMgd2l0aCBubyBjaGFubmVsLW1hc2sgZmllbGQgaW4gY2FwcwoJICBGaXhlcyBhIG5lZ290aWF0aW9uIGVycm9yIHNlZW4gd2hlbiB0cnlpbmcgdG8gcGxheWJhY2sgb2YgYSAuTU9WIGZpbGUgd2l0aAoJICBhIG1vbm8gQUFDIGF1ZGlvIHN0cmVhbSBkZWNvZGVkIGJ5IGF2Y2RlY19hYWMgdGhhdCBkb2Vzbid0IHNldCBjaGFubmVsLW1hc2sKCSAgZmllbGQgYnV0IHNpbmsgd2FzIHJlcXVpcmluZyBjaGFubmVsLW1hc2s9MHgzLgoKMjAxNS0wOS0wNiAyMDo0OTo1OSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBQdXNoIHRhZyBldmVudCB0byBib3RoIHBhZHMKCSAgVGFncyBhcmUgcHVzaGVkIHRvICJ2aWRlb3NyY3BhZCIvImF1ZGlvc3JjcGFkIiBpbgoJICBnc3RfZHZkZW11eF9hZGRfcGFkKCkgbWV0aG9kLCBob3dldmVyIHRoZXkgd2lsbCBiZSBOVUxMCgkgIGluIHRoaXMgbWV0aG9kLCBoZW5jZSB0YWdzIGFyZSBub3QgcHVzaGVkLgoJICBJbnN0ZWFkLCBzZW5kIHRhZyBldmVudCB0byAicGFkIiBjcmVhdGVkIGdzdF9kdmRlbXV4X2FkZF9wYWQoKS4KCSAgU2lnbmFsIG5vLW1vcmUtcGFkcyB3aGVuIGJvdGggcGFkcyBhcmUgY3JlYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNjU3CgoyMDE3LTA1LTIwIDE0OjUzOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIG1lc29uX29wdGlvbnMudHh0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIG1lc29uOiBhZGQgb3B0aW9ucyB0byBzZXQgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjE3MgoKMjAxNy0wNS0yMCAxMTo0MDozMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBmaXggcHJvcGVydHkgbmFtZSBpbiBleGFtcGxlIHBpcGVsaW5lCgkgIFNpbmNlIHRoZSBtb3ZlIGZyb20gQ1ZTIHRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBkb2N1bWVudGF0aW9uIGV4YW1wbGUKCSAgaGFzIGJlZW4gZmlsZW5hbWUgaW5zdGVhZCBvZiBsb2NhdGlvbi4gVXNlcnMgdHJ5aW5nIHRoZSBnc3QtbGF1bmNoCgkgIGNvbW1hbmQgYXMgaXMgd2lsbCBnZXQ6CgkgIG5vIHByb3BlcnR5IG5hbWUgImZpbGVuYW1lIiBpbiBlbGVtZW50CgkgIEZpeGluZyBpdC4KCjIwMTctMDUtMjAgMTE6MTM6NDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxqdG9ycmFAb2Jsb25nLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBmaXggbWFjT1MgMTAuMTIgZGVwcmVjYXRpb24gd2FybmluZ3MKCSAgQWRkICNkZWZpbmVzIHRvIGFsbG93IG9sZGVyIHZlcnNpb25zIG9mIG1hY09TIHRvIHVzZSB0aGUgbmV3IGNvbnN0YW50IG5hbWVzLgoKMjAxNy0wNS0xMyAwOTowNTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBTYWZlbHkgaWdub3JlIFtza2lwXSBhdG9tcwoJICBJbnN0ZWFkIG9mIHdhcm5pbmcgYWJvdXQgdGhlbQoKMjAxNy0wNS0xOCAxNToyMzoxNCArMDMwMCAgU2ltb24gSGltbWVsYmF1ZXIgPHNoaW1tZWxiYXVlckB0b29sc29uYWlyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IFVzZSBHU1RfR0xfSEFWRV9QTEFURk9STV9DR0wgaW5zdGVhZCBvZiBHU1RfR0xfSEFWRV9QTEFURk9STV9DT0NPQQoJICBUaGUgbGF0dGVyIGlzIG5vdCB1c2VkL2F2YWlsYWJsZSBhbnltb3JlIHNpbmNlIHllYXJzLiBBbHNvIGZpeCBhIHR5cG8KCSAgaW4gdGhlIGluY2x1ZGUgcGF0aCBmb3IgdGhlIENvY29hIEdMIGRpc3BsYXkgaGVhZGVyLgoKMjAxNy0wNS0xOCAxNToxMDozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBNYWtlIHNlc3Npb24gc2hhcmluZyB0aHJlYWQtc2FmZSBvbiBvdXIgc2lkZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMTQwCgoyMDE3LTA1LTE4IDEwOjQzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJICBGaXggdXAgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4gaW4gc29tZSBwbHVnaW5zCgoyMDE3LTA1LTE1IDE5OjUxOjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBnc3Q6IENsZWFyIGZsb2F0aW5nIGZsYWcgaW4gY29uc3RydWN0b3Igb2YgYWxsIEdzdE9iamVjdCBzdWJjbGFzc2VzIHRoYXQgYXJlIG5vdCBvd25lZCBieSBhbnkgcGFyZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwNjIKCjIwMTctMDUtMTUgMTQ6MjI6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgMTM5NDogU2luayB0aGUgY2xvY2sgcmVmZXJlbmNlIGluIHRoZSBjb25zdHJ1Y3RvcgoJICBUaGlzIGlzIG5vdyBuZWVkZWQgYXMgR3N0Q2xvY2sgZG9lcyBub3QgZG8gdGhhdCBpbnRlcm5hbGx5IGFueW1vcmUsCgkgIGJlY2F1c2UgdGhhdCBicm9rZSBiaW5kaW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzA2MgoKMjAxNy0wNS0xNyAxMDo1ODowNSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxbWw6IEFkZCBFR0wgcGxhdGZvcm0gc3VwcG9ydCBmb3IgeDExIGJhY2tlbmQKCSAgQWRkIHN1cHBvcnQgZm9yIEVHTCBwbGF0Zm9ybSB3aGVuIHgxMSBpcyBhdmFpbGFibGUuIFRoaXMgY2FuIHdvcmsKCSAgZS5nLiBvbiBpbXg2IHBsYXRmb3JtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNzE4CgoyMDE3LTA0LTI4IDIzOjA1OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBBY2NlcHQgTVBFRyAxIGxheWVyIDMgdmVyc2lvbiAyLjUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTkyOQoKMjAxNy0wNS0xNiAxMzo1MDoxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHBsdWdpbiBzcGVjaWZpYyBzdGF0aWMgYnVpbGQgb3B0aW9uCgkgIFN0YXRpYyBhbmQgZHluYW1pYyBwbHVnaW5zIG5vdyBoYXZlIHRoZSBzYW1lIGludGVyZmFjZS4gVGhlIHN0YW5kYXJkCgkgIC0tZW5hYmxlLXN0YXRpYy8tLWVuYWJsZS1zaGFyZWQgdG9nZ2xlIGFyZSBzdWZmaWNpZW50LgoKMjAxNy0wNS0xNiAxNDowNzo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBwbHVnaW4gc3BlY2lmaWMgc3RhdGljIGJ1aWxkIG9wdGlvbgoJICBTdGF0aWMgYW5kIGR5bmFtaWMgcGx1Z2lucyBub3cgaGF2ZSB0aGUgc2FtZSBpbnRlcmZhY2UuIFRoZSBzdGFuZGFyZAoJICAtLWVuYWJsZS1zdGF0aWMvLS1lbmFibGUtc2hhcmVkIHRvZ2dsZSBhcmUgc3VmZmljaWVudC4KCjIwMTctMDUtMTYgMTQ6MDc6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcGx1Z2luIHNwZWNpZmljIHN0YXRpYyBidWlsZCBvcHRpb24KCSAgU3RhdGljIGFuZCBkeW5hbWljIHBsdWdpbnMgbm93IGhhdmUgdGhlIHNhbWUgaW50ZXJmYWNlLiBUaGUgc3RhbmRhcmQKCSAgLS1lbmFibGUtc3RhdGljLy0tZW5hYmxlLXNoYXJlZCB0b2dnbGUgYXJlIHN1ZmZpY2llbnQuCgoyMDE3LTA1LTE2IDE0OjA3OjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcGx1Z2luIHNwZWNpZmljIHN0YXRpYyBidWlsZCBvcHRpb24KCSAgU3RhdGljIGFuZCBkeW5hbWljIHBsdWdpbnMgbm93IGhhdmUgdGhlIHNhbWUgaW50ZXJmYWNlLiBUaGUgc3RhbmRhcmQKCSAgLS1lbmFibGUtc3RhdGljLy0tZW5hYmxlLXNoYXJlZCB0b2dnbGUgYXJlIHN1ZmZpY2llbnQuCgoyMDE3LTA1LTE2IDE0OjA1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcGx1Z2luIHNwZWNpZmljIHN0YXRpYyBidWlsZCBvcHRpb24KCSAgU3RhdGljIGFuZCBkeW5hbWljIHBsdWdpbnMgbm93IGhhdmUgdGhlIHNhbWUgaW50ZXJmYWNlLiBUaGUgc3RhbmRhcmQKCSAgLS1lbmFibGUtc3RhdGljLy0tZW5hYmxlLXNoYXJlZCB0b2dnbGUgYXJlIHN1ZmZpY2llbnQuCgoyMDE3LTA1LTE2IDE0OjA1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBwbHVnaW4gc3BlY2lmaWMgc3RhdGljIGJ1aWxkIG9wdGlvbgoJICBTdGF0aWMgYW5kIGR5bmFtaWMgcGx1Z2lucyBub3cgaGF2ZSB0aGUgc2FtZSBpbnRlcmZhY2UuIFRoZSBzdGFuZGFyZAoJICAtLWVuYWJsZS1zdGF0aWMvLS1lbmFibGUtc2hhcmVkIHRvZ2dsZSBhcmUgc3VmZmljaWVudC4KCjIwMTctMDUtMTIgMTc6NTM6NTcgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgYWxpZ25tZW50LXRocmVzaG9sZCBhcmd1bWVudAoJICBJZiBhIG5vbi1yZWZlcmVuY2Ugc3RyZWFtIGlzIGJlaGluZCB0aGUgcmVmZXJlbmNlIHN0cmVhbSBieSBhbiBhbW91bnQgb2YKCSAgdGltZSBzbWFsbGVyIHRoYW4gdGhlIGFsaWdubWVudCB0aHJlc2hvbGQgKGluIG5zZWMpLCBpdCBjb3VudHMgYXMgYmVpbmcKCSAgYWZ0ZXIgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI1NjMKCjIwMTctMDUtMTYgMTI6NTY6MTUgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gbm90IGNoZWNrIHRpbWVjb2RlIGRhdGEgZm9yIG1wNCBjb250YWluZXIKCSAgVGltZWNvZGUgdHJhayBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgbW92IHJpZ2h0IG5vdywgbm90IGZvciBtcDQuIFRoYXQKCSAgY29kZSB3b3VsZCBvdGhlcndpc2UgY3JlYXRlIGFuIGludmFsaWQgdHJhayBpZiB0aGUgbXV4ZWQgdmlkZW8gY29udGFpbmVkCgkgIHRpbWVjb2RlIG1ldGFkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNjg0CgoyMDE3LTA1LTExIDIwOjAxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogV2hlbiBhY2NlcHRpbmcgcmVuZWdvdGlhdGlvbiwganVzdCByZXR1cm4gVFJVRSBhbmQgY2hhbmdlIG5vdGhpbmcKCSAgV2Ugb25seSBhY2NlcHQgbmV3IGNhcHMgaWYgdGhleSBhcmUgYmFzaWNhbGx5IHRoZSBzYW1lLiBXZSBkb24ndCB3YW50IHRvCgkgIHJlc2V0IGFueXRoaW5nIGFzIGlmIHRoZSBjYXBzIGFyZSBuZXcsIG90aGVyd2lzZSB2YXJpb3VzIHN0YXRlIGNvdWxkIGdldAoJICBvdXQgb2Ygc3luYyB3aXRoIHRoZSBjdXJyZW50IHJ1bi4KCjIwMTctMDUtMTEgMTk6MjE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbiBwcmVmaWxsIG1vZGUsIG9ubHkgcGFkIGJ1ZmZlcnMgd2l0aCA+IDAgc2l6ZWQgbWVtb3JpZXMgYXMgbmVlZGVkCgkgIEFkZGluZyBhIDAtYnl0ZSBtZW1vcnkgaGFzIG5vdCBtdWNoIGVmZmVjdC4KCSAgQWxzbyBhZGQgc29tZSBkZWJ1ZyBvdXRwdXQuCgoyMDE3LTA1LTEwIDE1OjU4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogTGF0ZW5lc3MgaXMgaW4gUVQgdGltZXNjYWxlLCBkaWZmIGluIEdzdENsb2NrVGltZQoJICBQcmludCB0aGUgcmlnaHQgb25lIGluIGRlYnVnIG91dHB1dCB0byBnZXQgbWVhbmluZ2Z1bCBudW1iZXJzLgoKMjAxNy0wNS0xMCAxNDozMTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEVycm9yIG91dCBpZiBhIGdhcCBlZGl0IGxpc3QgaGFzIHRvIGJlIHdyaXR0ZW4gaW4gcHJlZmlsbCBtb2RlCgkgIFdlIGRvbid0IGhhdmUgYW55IHNwYWNlIHJlc2VydmVkIGZvciB0aGlzIGluIHRoZSBtb292IGFuZCB0aGUKCSAgcHJlLWZpbmFsaXplZCBtb292IHdvdWxkIGhhdmUgYnJva2VuIEEvViBzeW5jaHJvbml6YXRpb24uIEVycm9yIG91dCBoZXJlCgkgIG5vdwoKMjAxNy0wNS0xMCAxMTo0MjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IENhbGN1bGF0ZSB3aXRoIHJlc2VydmVkIG1vb3Ygc2l6ZSBpbnN0ZWFkIG9mIGxhc3QgbW9vdiBzaXplCgkgIFdlIGhhdmUgc29tZSBwYWRkaW5nIGFkZGVkIGFmdGVyIHRoZSBpbml0aWFsIG1vb3YsIHNvIGEgYmlnZ2VyIHVwZGF0ZWQKCSAgbW9vdiBjYW4gYmUgaGFuZGxlZCB0byBzb21lIGRlZ3JlZSBhbmQgaXMgZXhwZWN0ZWQuIFByZXZpb3VzbHkgd2UganVzdAoJICBpZ25vcmVkIHRoZSBwYWRkaW5nIGFuZCBlcnJvcmVkIG91dCBpbiBjYXNlcyB3aGVuIHRoZSBwYWRkaW5nIHdvdWxkJ3ZlCgkgIGp1c3QgYmVlbiBlbm91Z2guCgoyMDE3LTA1LTEwIDExOjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRXJyb3Igb3V0IGRpcmVjdGx5IGlmIHNlbmRpbmcgZmlsbGVyIGRhdGEgcmVzdWx0cyBpbiBhIGZsb3cgZXJyb3IKCSAgQ0lEIDE0MDU5OTQKCjIwMTctMDUtMDkgMTY6MDI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbiBwcmVmaWxsIG1vZGUsIGhhbmRsZSB0aGUgY2FzZSB3aGVuIG9ubHkgdGhlIGZpcnN0IGNodW5rIHdhcyBldmVyIHVzZWQKCjIwMTctMDUtMDkgMDk6NDc6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkgIHFtbGdsOiBNYWtlIHRoZSBwbHVnaW4gbmFtZSBtYXRjaCB0aGUgcHVnaW4gZmlsZSBuYW1lCgoyMDE3LTAzLTE2IDE1OjEyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFVzZSBhIGluLW1lbW9yeSBjb29raWUgamFyIGJ5IGRlZmF1bHQgaW4gc2Vzc2lvbnMgd2UgY3JlYXRlZAoJICBUaGlzIGVuc3VyZXMgdGhhdCBjb29raWVzIGFyZSBzdG9yZWQgYW5kIHVzZWQgYXMgc2V0IGJ5IHRoZSBzZXJ2ZXIsIGFuZAoJICBzaGFyZWQgd2l0aCBvdGhlciBzb3VwaHR0cHNyYyB0aGF0IHVzZSB0aGUgc2FtZSBTb3VwU2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDE0MAoKMjAxNy0wMy0xNiAxMzo1ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBJbXBsZW1lbnQgc291cCBzZXNzaW9uIHNoYXJpbmcKCSAgc291cGh0dHBzcmMgbm93IHNoYXJlcyBpdHMgU291cFNlc3Npb24gd2l0aCBvdGhlciBlbGVtZW50cyBpbiB0aGUKCSAgcGlwZWxpbmUgdmlhIEdzdENvbnRleHQgaWYgcG9zc2libGUgKHNlc3Npb24td2lkZSBzZXR0aW5ncyBhcmUgYWxsIHRoZQoJICBkZWZhdWx0cyksIG9yIGlmIHRoZSBjb250ZXh0IHdhcyBmb3JjZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBUaGlzIGFsbG93cyBtdWx0aXBsZSBzb3VwaHR0cHNyY3MgdG8gcmV1c2UgY29ubmVjdGlvbnMsIGNvb2tpZXMsIGV0Yy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDE0MAoKMjAxNy0wMy0wOSAxMDoxNTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEFkZCBuZXcgcHJlZmlsbCByZWNvcmRpbmcgbW9kZQoJICBUaGlzIHNldHMgdXAgYSBtb292IHdpdGggdGhlIGNvcnJlY3Qgc2FtcGxlIHBvc2l0aW9ucyBiZWZvcmVoYW5kIGFuZAoJICBvbmx5IHdvcmtzIHdpdGggY29uc3RhbnQgZnJhbWVyYXRlLCBJLWZyYW1lIG9ubHkgc3RyZWFtcy4KCSAgQ3VycmVudGx5IG9ubHkgc3VwcG9ydCBmb3IgUHJvUmVzIGFuZCByYXcgYXVkaW8gaXMgaW1wbGVtZW50ZWQgYnV0CgkgIGFkZGluZyBuZXcgY29kZWNzIGlzIGp1c3QgYSBtYXR0ZXIgb2YgZGVmaW5pbmcgYXBwcm9wcmlhdGUgbWF4aW11bSBmcmFtZQoJICBzaXplcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTQ0NwoKMjAxNy0wMy0yOSAxNDowMToyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogRXJyb3Igb3V0IG9uIGRpc2NvbnRpbnVpdGllcy9nYXBzIHdoZW4gbXV4aW5nIHJhdyBhdWRpbwoJICBXaGVuIG11eGluZyByYXcgYXVkaW8sIHdlIGhhdmUgbm8gd2F5IG9mIHN0b3JpbmcgdGltZXN0YW1wcyBidXQgYXJlIGp1c3QKCSAgc3RvcmluZyBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIGF1ZGlvIHNhbXBsZXMuIElmIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KCSAgdGhlIGV4cGVjdGVkIGFuZCB0aGUgcmVhbCB0aW1lc3RhbXAgYmVjb21lcyB0byBiaWcsIHdlIHNob3VsZCBlcnJvciBvdXQKCSAgaW5zdGVhZCBvZiBzaWxlbnRseSBjcmVhdGluZyBmaWxlcyB3aXRoIHdyb25nIEEvViBzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNjc5CgoyMDE3LTA1LTA5IDExOjQxOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBTZXQgZmItPnByaXYgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGp1c3QgaW4gY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMzU5CgoyMDE3LTA1LTA4IDE1OjIyOjAwICswMDAwICBEdXN0aW4gU3BpY3V6emEgPGR1c3RpbkB2aXJ0dWFscm9hZHNpZGUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogVXNlIEdzdENsb2NrIEFQSSBpbnN0ZWFkIG9mIFNsZWVwKCkgZm9yIHdhaXRpbmcKCSAgSXQncyBtb3JlIGFjY3VyYXRlIGFuZCBhbGxvd3MgY2FuY2VsbGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjgxCgoyMDE3LTA1LTA4IDE1OjA1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4OiBmaXggYnVpbGQgYWdhaW5zdCBvbGRlciBsaWJ2cHggdmVyc2lvbnMKCSAgU3VjaCBhcyAxLjMuMCBhcyBvbiByYXNwYmlhbi4KCjIwMTctMDUtMDMgMjM6MjM6MTAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY29ybmVyIGNhc2UgY2F1c2luZyBsYXJnZSBDUFUgdXNhZ2UKCSAgV2Ugd2VyZSB1bm5lY2Vzc2FyaWx5IGxvb3BpbmcvZ290by1pbmcgcmVwZWF0ZWRseSB3aGVuIHdlIGhhZCBleGFjdGx5CgkgIHRoZSBhbW91bnQgb2YgZGF0YSBhcyB0aGUgZnJlZSBzcGFjZSwgYW5kIGFsc28gd2hlbiB0aGUgZnJlZSBzcGFjZSB3YXMKCSAgdG9vIHNtYWxsLiBUaGlzLCBhcyBpdCB0dXJucyBvdXQsIGlzIGEgdmVyeSBjb21tb24gc2NlbmFyaW8gd2l0aAoJICBEaXJlY3Rzb3VuZCBvbiBXaW5kb3dzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjgxCgkgIFdlIGhhdmUgdG8gZG8gcG9sbGluZyBoZXJlIGJlY2F1c2UgdGhlIGV2ZW50IG5vdGlmaWNhdGlvbiBBUEkgdGhhdAoJICBEaXJlY3Rzb3VuZCBleHBvc2VzIGNhbm5vdCBiZSB1c2VkIHdpdGggbGl2ZSBwbGF5YmFjayBzaW5jZSBhbGwgZXZlbnRzCgkgIG11c3QgYmUgcmVnaXN0ZXJlZCBpbiBhZHZhbmNlIHdpdGggdGhlIGNhcHR1cmUgYnVmZmVyLCB5b3UgY2Fubm90CgkgIGFkZC9yZW1vdmUgdGhlbSBvbmNlIHBsYXliYWNrIGhhcyBiZWd1bi4gRGlyZWN0c291bmRzcmMgaGFkIHRoZSBzYW1lCgkgIHByb2JsZW0uCgkgIFNlZSBhbHNvOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMjQ5CgoyMDE3LTA1LTAzIDIzOjMxOjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2xlYW4gdXAgc29tZSBkZWJ1ZyBsb2dnaW5nCgkgIERvbid0IG5lZWQgdG8gcHJpbnQgdGhlIGZ1bmN0aW9uIG5hbWUsIGdzdHJlYW1lciBkb2VzIGl0IGZvciB5b3UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2ODEKCjIwMTctMDUtMDYgMjI6MzA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgaW5kZXggbWVtb3J5IHVzYWdlCgkgIFJlLWFycmFuZ2Ugb3JkZXIgb2YgaW5kZXggZW50cnkgc3RydWN0IG1lbWJlcnMgdG8gYXZvaWQgcGFkZGluZwoJICBieXRlcyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzdHJ1Y3QsIHRodXMgcG90ZW50aWFsbHkgcmVkdWNpbmcgdGhlCgkgIG92ZXJhbGwgc2l6ZSBvZiB0aGUgc3RydWN0IGFuZCByZWR1Y2luZyBtZW1vcnkgdXNlZCBieSB0aGUgaW5kZXguCgkgIE9uIExpbnV4IHg4Nl82NCB0aGUgc2l6ZSBnb2VzIGRvd24gZnJvbSAzMiBieXRlcyB0byAyNCBieXRlcyBmb3IKCSAgZWFjaCBpbmRleCBlbnRyeS4KCjIwMTctMDUtMDQgMTg6NTk6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIG1lc29uLmJ1aWxkOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEyLjAgPT09CgoyMDE3LTA1LTA0IDE1OjM4OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTIuMAoKMjAxNy0wNS0wNCAxNTowNzoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZnVyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTA1LTA0IDEzOjQ3OjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTA1LTAyIDEwOjMyOjMwICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY3Jhc2ggb24gbXNzIHN0cmVhbSBjYXVzZWQgYnkgaW52YWxpZCBzdHNkIGVudHJ5IGFjY2VzcwoJICBTaW5jZSBtc3MgaGFzIG5vIG1vb3YsIGRlZmF1bHQgc3RzZCBlbnRyeSBzaG91bGQgYmUgY3JlYXRlZCB3aXRoIG1lZGlhLWNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIwNDIKCj09PSByZWxlYXNlIDEuMTEuOTEgPT09CgoyMDE3LTA0LTI3IDE3OjI5OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTEuOTEKCjIwMTctMDQtMjcgMTU6NTg6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2Z1ci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wNC0yNyAxNToyODowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9mdXIucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTA0LTI3IDEyOjU2OjI3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGNyYXNoIGluIGRlYnVnIG91dHB1dCBpZiBzdHJlYW09PU5VTEwKCSAgVGhhdCBjYXNlIGlzIGNvcnJlY3RseSBoYW5kbGVkIGJlbG93IGJ1dCBub3QgaW4gdGhlIGRlYnVnIG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTI3MAoKMjAxNy0wNC0yNSAxNzoxMToyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBwZXJmb3JtIHNlZWtzIHdpdGggaW5jb25zaXN0ZW50IHNlZWsgdmFsdWVzCgkgIElmIGdzdF9zZWdtZW50X2RvX3NlZWsoKSBmYWlscywgd2Ugc2hvdWxkbid0IHRyeSBzZWVraW5nIG9uIHRoYXQKCSAgcmVzdWx0aW5nIHNlZ21lbnQgYnV0IGp1c3QgZXJyb3Igb3V0LiBDcmFzaGVzIGZ1cnRoZXIgZG93biB0aGUgbGluZQoJICBvdGhlcndpc2UuCgoyMDE3LTA0LTI0IDIwOjI3OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MGFlZWY2IHRvIDQ4YTVkODUKCjIwMTctMDQtMjQgMTc6MzE6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGQgdGVzdCBmb3IgcnRwaDI2NGRlcGF5IGF2Yy9ieXRlLXN0cmVhbSBvdXRwdXQKCSAgTWFrZSBzdXJlIGF2YyBvdXRwdXQgZG9lc24ndCBjb250YWluIFNQUy9QUFMgaW5saW5lLCBidXQKCSAgYnl0ZS1zdHJlYW0gb3V0cHV0IGRvZXMuCgoyMDE3LTA0LTI0IDE3OjI5OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBkb24ndCBpbnNlcnQgU1BTL1BQUyBpbmxpbmUgZm9yIEFWQyBvdXRwdXQKCSAgU1BTL1BQUyBhcmUgaW4gdGhlIGNhcHMgaW4gdGhpcyBjYXNlIGFuZCBzaG91bGRuJ3QgYmUgaW4KCSAgdGhlIHN0cmVhbSBkYXRhLgoKMjAxNy0wNC0yMSAxOTowOToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgcHJvdmlkZV9jbG9jaygpIGltcGxlbWVudGF0aW9uCgkgIElmIG5vIGNsb2NrIHdhcyBwcm92aWRlZCBkaXJlY3RseSBieSBydHNwc3JjLiBUaGlzIGJlaGF2aW91ciB3YXMgcmVtb3ZlZAoJICBieSBmODAxMzQ4N2M5MWE2ZmZjNTUyYTRiMjVhYTFhNzBmMGJkNTM3N2Y4IGFuZCByZXN1bHRzIGluIHJ0c3BzcmMgbm90CgkgIHByb3ZpZGluZyB0aGUgc3lzdGVtIGNsb2NrIHZpYSB0aGUgcnRwaml0dGVyYnVmZmVyLgoJICBBcyBhIHJlc3VsdCwgaWYgYW5vdGhlciBlbGVtZW50IGxpa2UgYW4gYXVkaW8gc2luaywgcHJvdmlkZXMgYSBjbG9jaywKCSAgdGhlIHBpcGVsaW5lIHdvdWxkIHNlbGVjdCB0aGF0ICh3aGVuIGdvaW5nIHRvIFBBVVNFRC9QTEFZSU5HIGFnYWluIGxhdGVyKS4KCSAgQXVkaW8gY2xvY2tzIHVzdWFsbHkgZG9uJ3QgcHJvZ3Jlc3MgaW4gUEFVU0VELCBhbmQgdGh1cyBvdXIgbGl2ZSBzb3VyY2UKCSAgd29uJ3QgYmUgYWJsZSB0byB1c2UgdGhlIGNsb2NrIHRvIHByb2R1Y2UgZGF0YSwgbWFraW5nIHRoZSBzaW5rIG5ldmVyCgkgIHByZXJvbGwgYW5kIGV2ZXJ5dGhpbmcgaXMgc3R1Y2suCgoyMDE3LTA0LTIwIDExOjIyOjE1ICswMjAwICBKw7xyZ2VuIFNhY2hzIDxqdWVyZ2VuLnNhY2hzQG1ldHotY2UuZGU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgc2FtcGxlX2Rlc2NyaXB0aW9uX2lkIHRvIGRlZmF1bHQKCSAgRml4ZXMgc3RyZWFtIHdoZXJlIHNhbXBsZV9kZXNjcmlwdGlvbl9pZCBpcyBzcGVjaWZpZWQgaW4gdGhlIHRmaGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODMzNwoKMjAxNy0wNC0yMCAxMzoxNjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRG9uJ3QgdXNlIGFuIGV4cGxpY2l0IG5hbWUgZm9yIHJlcXVlc3RpbmcgYXVkaW8gcGFkcwoJICAuLi4gdW5sZXNzIHRoZSBtdXhlciB1c2VzIHRoZSBzYW1lIGF1ZGlvIHBhZCB0ZW1wbGF0ZSBuYW1lIGFzCgkgIHNwbGl0bXV4c2luay4gV2UgY2FuJ3QgcmVxdWVzdCBhIHBhZCBjYWxsZWQgImF1ZGlvXzAiIG9uIGEgbXV4ZXIgdGhhdAoJICB3YW50cyBwYWRzIHRvIGJlICJzaW5rXyVkIi4KCjIwMTctMDItMjMgMDk6MzE6MzYgKzA5MDAgIENoYW5nQm9rIENoYWUgPGNoYW5nYm9rLmNoZWFAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVtb3ZlIGR1cGxpY2F0ZWQgc2VnbWVudCBpbml0aWFsaXphdGlvbgoJICBJdCdzIGFsc28gZG9uZSBpbiBnc3RfZmx2X2RlbXV4X2NsZWFudXAoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTEwNgoKMjAxNy0wNC0yMCAyMDoxNzozNSArMTAwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBDb3JyZWN0bHkgY2F0Y2ggRkxVU0ggZXZlbnRzIGluIHByb2JlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDk4CgoyMDE3LTA0LTE5IDEyOjI4OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmV2ZXJ0ICJydHBiaW46IHBpcGVsaW5lIGdldHMgYW4gRU9TIHdoZW4gYW55IHJ0cHNvdXJjZXMgYnllcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlZWVhMmE3ZmU4OGExN2IxNTMxOGQ1YjZhZTZlMTkwYjJmNzc3MDMwLgoJICBJdCBicmVha3MgRU9TIGluIHNvbWUgc2VuZGVyIHBpcGVsaW5lcywgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyMTgjYzIwCgoyMDE3LTA0LTE0IDE3OjAxOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlc2V0IGFkYXB0ZXIgaW4gbW9yZSBkaXNjb250aW51aXR5IGNhc2VzCgkgIEluIHB1c2ggbW9kZSB3ZSBwcm9jZXNzIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gdGhlIGFkYXB0ZXIuIFdoZW4gd2UgcmVjZWl2ZQoJICBhIERJU0NPTlQgYnVmZmVyIHdoaWNoIHdlIGNhbid0IG1hdGNoIHRvIGFuIGFjdHVhbCBzYW1wbGUgKGJhc2VkIG9uIHRoZSBleGlzdGluZwoJICBzYW1wbGUgdGFibGUpIGFuZCB0aGVyZSBpcyBzdGlsbCBkYXRhIHJlbWFpbmluZyBpbiB0aGUgaW5jb21pbmcgYWRhcHRlcix0aGVyZSBpcwoJICBvbmUgb2YgdHdvIGNhc2VzIGhhcHBlbmluZzoKCSAgMSkgV2UgYXJlIGRvaW5nIHJldmVyc2UgcGxheWJhY2ssIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkIGZsdXNoIG91dCBhbGwgcGVuZGluZwoJICBkYXRhCgkgIDIpIFdlIGhhdmUgbGVmdG92ZXIgZGF0YSBmcm9tIHRoZSBwcmV2aW91cyBpbmNvbWluZyBidWZmZXIuLi4gd2hpY2ggd2UgY2FuJ3QgZG8KCSAgYW55dGhpbmcgYWJvdXQuCgkgIEZvciB0aGUgc2Vjb25kIGNhc2UsIG1ha2Ugc3VyZSB3ZSBmbHVzaCBvdXQgdGhlIHJlbWFpbmluZyBkYXRhIHNvIHRoYXQgd2UgY2FuIHN0YXJ0CgkgIHBhcnNpbmcgYWdhaW4gZnJvbSBzY3JhdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMzE5CgoyMDE3LTA0LTE0IDEwOjU2OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgR1NUX0VMRU1FTlRfRVJST1JfV0lUSF9ERVRBSUxTCgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8ga25vdyB0aGUgZXhhY3Qgc3RhdHVzIGNvZGUgdGhhdCB3YXMgcmV0dXJuZWQKCSAgYnkgdGhlIHNlcnZlciBpbiBhIHByb2dyYW1tYXRpYyBmYXNoaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMzA0CgoyMDE3LTA0LTE2IDE4OjQ3OjU2ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggbGVhayBvbiBRdERlbXV4U3RyZWFtU3RzZEVudHJ5CgkgIEZpeCB1bml0IHRlc3QgZmFpbHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMzYyCgoyMDE3LTA0LTE0IDEzOjM4OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCB0aW1lc2NhbGUgb2YgdGltZWNvZGUgdHJhY2tzCgkgIFRoZXkgc2hvdWxkIGhhdmUgaWRlYWxseSB0aGUgc2FtZSB0aW1lc2NhbGUgb2YgdGhlIHZpZGVvIHRyYWNrLCB3aGljaCB3ZQoJICBjYW4ndCBndWFyYW50ZWUgaGVyZSBhcyBpbiB0aGVvcnkgdGltZWNvZGUgY29uZmlndXJhdGlvbiBhbmQgdmlkZW8KCSAgZnJhbWVyYXRlIGNvdWxkIGJlIGRpZmZlcmVudC4gSG93ZXZlciB3ZSBzaG91bGQgc2V0IGEgY29ycmVjdCB0aW1lc2NhbGUKCSAgYmFzZWQgb24gdGhlIGZyYW1lcmF0ZSBnaXZlbiBpbiB0aGUgdGltZWNvZGUgY29uZmlndXJhdGlvbiwgYW5kIG5vdCBqdXN0CgkgIHVzZSB0aGUgZnJhbWVyYXRlIG51bWVyYXRvci4KCjIwMTctMDQtMTMgMTM6MjU6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUHJvcGVybHkgcmVzZXQgZGVtdXhlciB3aGVuIGFsbCBzdHJlYW1zIGFyZSBFT1MKCSAgTWFrZSBzdXJlIG9mZnNldCBhbmQgbmVlZGVkYnl0ZXMgYXJlIHByb3Blcmx5IHJlc2V0dGVkIHdoZW4gYWxsCgkgIHN0cmVhbXMgYXJlIEVPUyBpbiBwdXNoLW1vZGUuCgkgIEF2b2lkcyBjYXNlcyB3aGVuIHNvbWUgZGF0YSBtaWdodCBzdGlsbCBiZSBwdXNoZWQgYnkgdXBzdHJlYW0gKGJlY2F1c2UKCSAgaXQgZGlkbid0IHlldCBzZWUgdGhlIHJlc3VsdGluZyBHU1RfRkxPV19FT1MgeWV0KSBhbmQgcXRkZW11eCBnZXRzCgkgIGNvbXBsZXRlbHkgbG9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTI2NgoKMjAxNy0wNC0xMyAwODowMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBNYWtlIG1vcmUgdXNhZ2Ugb2YgZXJyb3IgbWFjcm8KCSAgQW5kIG1ha2Ugc3VyZSB3ZSBhY3R1YWxseSB1c2UgdGhlIHByb3ZpZGVkIHNvdXBfbXNnIGFyZ3VtZW50IGluIHRoZSBtYWNybwoKMjAxNy0wMy0wOCAxNTowMToxMyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGRvY3M6IFBvcnQgYWxsIGRvY3N0cmluZyB0byBndGstZG9jIG1hcmtkb3duCgoyMDE3LTA0LTEyIDE4OjQ2OjUzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBQcmludCBtZXNzYWdlIHdoZW4gZGlzYWJsaW5nIHRhZ2xpYiBvbiBNU1ZDCgoyMDE3LTA0LTEyIDEzOjI2OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgZm9yZ2V0IHRvIHVwZGF0ZSBwYWQtPmxhc3RfYnVmCgkgIGJ1ZiBpcyB0aGUgY3VycmVudCBwYWQtPmxhc3RfYnVmIHZhbHVlLiBJZiBldmVyIGl0IGdldHMgY29waWVkL3VucmVmZmVkLAoJICB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0byB3cml0ZSBiYWNrIHRoZSBuZXcgIHBvaW50ZXIgdG8gdGhlIGxhc3RfYnVmCgkgIHZhcmlhYmxlLgoJICBGaXhlcyB1c2luZyB3cm9uZyBwb2ludGVyIHZhbHVlcyBpbiB0aGUgY2FzZSBvZiBkZWNyYXNpbmcgRFRTIHZhbHVlCgoyMDE3LTA0LTEyIDExOjMzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IEFkZCB2cDllbmMgdG8gZ2l0aWdub3JlCgoyMDE3LTA0LTExIDEzOjQxOjQ4ICswMjAwICBKw7xyZ2VuIFNhY2hzIDxqdWVyZ2VuLnNhY2hzQG1ldHotY2UuZGU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4OiBzYW1wbGUgZGVzY3JpcHRpb24gaW5kZXggb3ZlcnJpZGUgaW4gdGZoZCBub3QgZXZhbHVhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzMzcKCjIwMTctMDQtMTIgMTE6MDM6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIG91dC1vZi1ib3VuZCBjaGVjawoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBpbnZhbGlkIG1lbW9yeQoKMjAxNi0wNC0yNyAxMjoxNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vdmUgcGFyc2luZyBvZiB0a2hkIG91dCBvZiBzdHNkIGVudHJ5IGxvb3AKCSAgSXQgbmVlZHMgb25seSB0byBiZSByZWFkIG9uY2UuCgoyMDE2LTA0LTA3IDEyOjIzOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgZm9yIGEgZGlmZmVyZW50IHN0c2QgZW50cnkgYmVmb3JlIHB1c2hpbmcgYSBzYW1wbGUKCSAgQmVmb3JlIHB1c2hpbmcgYSBzYW1wbGUsIGNoZWNrIGlmIHRoZXJlIHdhcyBhIGNoYW5nZSBpbiB0aGUgY3VycmVudAoJICBzdHNkIGVudHJ5LiBUaGlzIHBhdGNoIGFsc28gYXNzdW1lcyB0aGF0IHRoZSBmaXJzdCBzdHNkIGVudHJ5IGlzCgkgIHVzZWQgYXMgZGVmYXVsdCBmb3IgdGhlIGZpcnN0IHNhbXBsZS4gSXQgbWlnaHQgY2F1c2UgYW4gdW5lZWRlZAoJICBjYXBzIHJlbmVnb3RpYXRpb24gd2hlbiB0aGlzIGlzbid0IHRoZSBjYXNlLgoKMjAxNi0wNC0wNiAxMjo1NToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIGFsbCBzdHNkIGVudHJpZXMKCSAgc3RzZCBjYW4gaGF2ZSBtdWx0aXBsZSBmb3JtYXQgZW50cmllcywgcGFyc2UgdGhlbSBhbGwuCgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gcGxheSBEVkIgREFTSCBwcm9maWxlIHRoYXQgdXNlcyBtdWx0aXBsZSBlbnRyaWVzCgkgIHRvIGlkZW50aWZ5IHRoZSBkaWZmZXJlbnQgYXZhaWxhYmxlIGJpdHJhdGVzL29wdGlvbnMgb24gZGFzaCBzdHJlYW1zCgkgIFRoZSBzdHJlYW0gZm9ybWF0LXNwZWNpZmljIGRhdGEgaXMgbm90IHN0b3JlZCBpbnRvIFF0RGVtdXhTdHJlYW1TdHNkRW50cnkKCjIwMTYtMDQtMDUgMTQ6MzQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXdvcmsgc3RzZCBzYW1wbGUgZW50cmllcyBhY2Nlc3MKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgc3RzZCBhcyBhIGJhc2UgcG9pbnRlciwgdXNlIHRoZSBhY3R1YWwgc3RzZAoJICBlbnRyeSBhcyB0aGUgc3RzZCBjYW4gaGF2ZSBtdWx0aXBsZSBlbnRyaWVzLiBUaGlzIGlzIHJhcmVseSB1c2VkCgkgIGZvciBmaWxlIHBsYXliYWNrIGJ1dCBpcyBhIHBvc3NpYmxlIHByb2ZpbGUgd2l0aCBpbiBEVkIgREFTSCBzcGVjcy4KCSAgVGhpcyBzdGlsbCBkb2Vzbid0IHN1cHBvcnQgc3RzZCB3aXRoIG11bHRpcGxlIGVudHJpZXMgYnV0IG1ha2VzIGl0CgkgIGVhc2llciB0byBkbyBzby4KCjIwMTYtMDQtMDUgMTg6MDA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBnZXQgc3RzZCBjaGlsZCBieSBpbmRleCBpbnN0ZWFkIG9mIHR5cGUKCSAgVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgY2hpbGRyZW4gd2l0aCB0aGUgc2FtZSB0eXBlCgoyMDE3LTA0LTA3IDE2OjMzOjE4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrL3J0cHJ0eDogYWRkIGNoZWNrcyBmb3IgcnRwcnR4cXVldWUncyBtYXgtc2l6ZS17dGltZSxwYWNrZXRzfSBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA4NjcKCjIwMTctMDQtMDQgMTc6MzM6MzEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHBydHhxdWV1ZTogaW1wbGVtZW50IGhhbmRsaW5nIG9mIHRoZSBtYXgtc2l6ZS10aW1lIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA4NjcKCjIwMTctMDQtMTAgMjM6NDk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM5YWMyZjUgdG8gNjBhZWVmNgoKMjAxNy0wNC0xMCAwODo1NjowMCArMDAwMCAgVG9kb3IgVG9tb3YgPHRvZG9yLnRvbW92QGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyb2JqZWN0OiBDb3B5IHRpbWVzdGFtcCB3aGVuIGltcG9ydGluZyBidWZmZXJzCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBWNEwyX09VVFBVVCBpbnRlcmZhY2UsIGFuZCBpcyBoYXJtbGVzcyBvZgoJICBWNEwyX0NBUFRVUkUgaW50ZXJmYWNlcy4gVGhpcyB3aWxsIGZpeCB0aW1lc3RhbXAgaW4gY2FzZXMgbGlrZToKCSAgdjRsMnNyYyBpby1tb2RlPWRtYWJ1ZiAhIHY0bDJ2aWRlb05lbmMgb3V0cHV0LWlvLW1vZGU9ZG1hYnVmLWltcG9ydCAhICAuLi4KCSAgU2FtZSBhcHBseSBmb3IgdXNlcnB0ci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTExOQoKMjAxNy0wNC0xMCAxNTo1NTozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBsYXN0X2R0cyB0cmFja2luZyBmb3IgcmF3IGF1ZGlvIGFuZCBzaW1pbGFyIGZvcm1hdHMKCSAgQWNjdW11bGF0ZSB0aGUgZHVyYXRpb25zIGRpcmVjdGx5IGFuZCBkb24ndCBzY2FsZSB5ZXQgYW5vdGhlciB0aW1lIGJ5CgkgIHRoZSBudW1iZXIgb2Ygc2FtcGxlcy4KCjIwMTctMDQtMDcgMTA6NDg6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IGZpeCBsZWFrIGluIHNwbGl0bXV4IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTAyNQoKMjAxNy0wNC0wNyAxNToyOTo0MyArMDgwMCAgTHlvbiBXYW5nIDxseW9uLndhbmdAbnhwLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogU2NhbGUgR0FQIGV2ZW50IHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gbGlrZSBmb3IgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMDA4CgoyMDE3LTAyLTE3IDEwOjAxOjA4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuaDoKCSAgdjRsMmRlYzogRml4IHJhY2Ugd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoJICBSdW5uaW5nIGBnc3QtdmFsaWRhdGUtbGF1bmNoZXIgLXQgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5jaGFuZ2Vfc3RhdGVfaW50ZW5zaXZlLnZvcmJpc192cDhfMV93ZWJtYAoJICBvbiBvZHJvaWQgWFU0IChzNXAtbWZjIHY0bDIgZHJpdmVyKSBvZnRlbiBsZWFkcyB0bzoKCSAgRVJST1I6Li4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9zeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoyMTU6Z3N0X3Y0bDJfdmlkZW9fZGVjX3N0b3A6IGFzc2VydGlvbiBmYWlsZWQ6IChnX2F0b21pY19pbnRfZ2V0ICgmc2VsZi0+cHJvY2Vzc2luZykgPT0gRkFMU0UpCgkgIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBmb2xsb3dpbmcgcmFjZSBoYXBwZW5zOgoJICAtIFQwOiBNYWluIHRocmVhZAoJICAtIFQxOiBVcHN0cmVhbSBzdHJlYW1pbmcgdGhyZWFkCgkgIC0gVDIuIHY0bDJkZWMgcHJvY2Vzc2luZyB0aHJlYWQpCgkgIFtUaGUgZGVjb2RlciBpcyBpbiBQQVVTRUQgc3RhdGVdCgkgIFQwLiBUaGUgdmFsaWRhdGUgc2NlbmFyaW8gcnVucyBgRXhlY3V0aW5nICgzNi80MCkgc2V0LXN0YXRlOiBzdGF0ZT1udWxsIHJlcGVhdD00MGAKCSAgVDEtIFRoZSBkZWNvZGVyIGhhbmRsZXMgYSBmcmFtZQoJICBUMi0gQSBkZWNvZGVkIGZyYW1lIGlzIHB1c2ggZG93bnN0cmVhbQoJICBUMi0gRG93bnN0cmVhbSByZXR1cm5zIEZMVVNISU5HIGFzIGl0IGlzIGFscmVhZHkgZmx1c2hpbmcgY2hhbmdpbmcgc3RhdGUKCSAgVDItIFRoZSBkZWNvZGVyIHN0b3BzIGl0cyBwcm9jZXNzaW5nIHRocmVhZCBhbmQgc2V0cyBgLT5wcm9jZXNzaW5nID0gRkFMU0VgCgkgIFQxLSBUaGUgZGVjb2RlciBoYW5kbGVzIGFub3RoZXIgZnJhbWUKCSAgVDEtIGAtPnByb2Nlc3NgIGlzIEZBTFNFIHNvIHRoZSBkZWNvZGVyIHJlc3RhcnRzIGl0cyBzdHJlYW1pbmcgdGhyZWFkCgkgIFQwLSBJbiB2NGwyZGVjLT4gc3RvcCB0aGUgcHJvY2Vzc2luZyB0aHJlYWQgaXMgc3RvcHBlZAoJICBOT1RFOiBBdCB0aGlzIHBvaW50IHRoZSBwcm9jZXNzaW5nIHRocmVhZCBsb29wIG5ldmVyIHN0YXJ0ZWQuCgkgIFQwLSBhc3NlcnRpb24gZmFpbGVkOiAoZ19hdG9taWNfaW50X2dldCAoJnNlbGYtPnByb2Nlc3NpbmcpID09IEZBTFNFKQoJICBIZXJlIEkgYW0gcmVtb3ZpbmcgdGhlIHdob2xlIC0+cHJvY2Vzc2luZyBsb2dpYyB0byBiYXNlIGl0IGFsbCBvbiB0aGUKCSAgR3N0VGFzayBzdGF0ZSB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUga25vd2xlZGdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4ODMwCgo9PT0gcmVsZWFzZSAxLjExLjkwID09PQoKMjAxNy0wNC0wNyAxNjozMTo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjExLjkwCgoyMDE3LTA0LTA3IDE1OjE4OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTA0LTA3IDE1OjA2OjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTA0LTA2IDEyOjAxOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBhbmQgaW1wcm92ZSBBdWRpb1NwZWNpZmljQ29uZmlnIHBhcnNpbmcKCSAgQXVkaW9TcGVjaWZpZ0NvbmZpZyBpcyB1c2VkIGluIGEgdmFyaWV0eSBvZiBBQUMgc3RyZWFtcyBidXQgd2FzCgkgIGJlaW5nIHBhcnNlZCBkaWZmZXJlbnRseS4gSW5zdGVhZCwgbWFrZSBldmVyeW9uZSB1c2UgdGhlIHNhbWUgcGFyc2luZy4KCSAgKiBSZW1vdmUgdW51c2VkICdiaXRzJyBmaWVsZCAoaXQgd2FzIGFsd2F5cyBzZXQgdG8gMCBpZiBwcmVzZW50KQoJICAqIEFkZCBwcm9wZXIgR0FDb25maWcgcGFyc2luZyAodG8ga25vdyB0aGUgIG51bWJlciBvZiBzYW1wbGVzIHBlciBmcmFtZQoJICBpZiBwcmVzZW50KS4KCSAgRml4ZXMgd3JvbmcgcmF0ZS9jaGFubmVscyBjb25maWd1cmF0aW9uIGluIHN0cmVhbXMgY29taW5nIGZyb20gcXRkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwOTY2CgoyMDE3LTA0LTA1IDA5OjQ2OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggMzJiaXQgb25seSBwcmludGYgZm9ybWF0CgkgIFRoZSBwcmV2aW91cyBwYXRjaCB3YXMgdXNpbmcgJWxsdSBmb3IgNjRiaXRzIHByaW50Ziwgd2hpY2ggaXMgMzJiaXQKCSAgc3BlY2lmaWMuIFdlIGFsc28gdHJhY2UgdGhlIGxhdGVuY3kgaW4gdGltZSBodW1hbiByZWFkYWJsZSBmb3JtIG5vdy4KCjIwMTYtMDMtMTYgMTY6MjI6NDggKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBzdHJlYW1wYXJtIGZvciBvdXRwdXRzIHRoYXQgc3VwcG9ydCBpdAoJICBXaXRob3V0IGEgc3BlY2lmaWVkIGZyYW1lcmF0ZSBmcm9tIHRoZSBzaW5rLCB0aGUgZGVjb2RlciBmcmFtZSBpbnRlcnZhbAoJICBzaG91bGQgYmUgc2V0IHVzaW5nIHRoZSBmcmFtZXJhdGUgb2YgdGhlIGVuY29kZWQgdmlkZW8gc3RyZWFtLgoJICBUaGVyZWZvcmUsIHRoZSB2NGwyb2JqZWN0IHNob3VsZCBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgZnJhbWVyYXRlIG9uIHRoZQoJICBvdXRwdXQgaWYgdGhlIFY0TDIgZGV2aWNlIGFjY2VwdHMgaXQuCgkgIFRoaXMgaXMgYWxzbyBuZWNlc3NhcnkgZm9yIG1lbTJtZW0gZW5jb2RlcnMgc28gdGhhdCB0aGVpciBiaXRyYXRlCgkgIGNhbGN1bGF0aW9uIGNvZGUgbWF5IHdvcmsgY29ycmVjdGx5IGFuZCB0aGV5IG1heSByZXBvcnQgdGhlIGNvcnJlY3QKCSAgZnJhbWUgZHVyYXRpb24gb24gdGhlIGNhcHR1cmUgcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NjYKCjIwMTYtMDMtMTYgMTY6MjQ6NTUgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBvbmx5IHNldCBsYXRlbmN5IGlmIHRoZSBmcmFtZSBkdXJhdGlvbiBpcyB2YWxpZAoJICBJZiB0aGUgZHVyYXRpb24gb2YgdGhlIHY0bDJvYmplY3QgaXMgR1NUX0NMT0NLX1RJTUVfTk9ORSwgYmVjYXVzZSB0aGUKCSAgc2luayBkaWQgbm90IHNwZWNpZnkgYSBmcmFtZXJhdGUgaW4gdGhlIGNhcHMgYW5kIHRoZSBkcml2ZXIgYWNjZXB0cyB0aGUKCSAgZnJhbWVyYXRlLCB0aGUgZGVjb2RlciBlbGVtZW50IHVzZXMgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBjYWxjdWxhdGUgYW5kCgkgIHNldCB0aGUgZWxlbWVudCBsYXRlbmN5LgoJICBXaGlsZSB0aGlzIGlzIGEgYnVnIG9mIHRoZSBjYXB0dXJlIGRyaXZlciwgdGhlIGRlY29kZXIgZWxlbWVudCBzaG91bGQKCSAgbm90IHVzZSB0aGUgaW52YWxpZCBkdXJhdGlvbiB0byBjYWxjdWxhdGUgYSBsYXRlbmN5LCBidXQgcHJpbnQgYSB3YXJuaW5nCgkgIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NjYKCjIwMTYtMTEtMjMgMTI6MTc6NTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogQmxvY2sgaW4gcHJlcm9sbF93YWl0IG9uIHVubG9jawoJICBUaGUgY29ycmVjdCBiZWhhdmlvdXIgb2YgYW55dGhpbmcgc3R1Y2sgaW4gdGhlIC0+cmVuZGVyKCkgZnVuY3Rpb24KCSAgYmV0d2VlbiAtPnVubG9jaygpIGFuZCAtPnVubG9ja19zdG9wKCkgaXMgdG8gY2FsbAoJICBnc3RfYmFzZV9zaW5rX3dhaXRfcHJlcm9sbCgpIGFuZCBvbmx5IHJldHVybiBhbiBlcnJvciBpZiB0aGlzIHJldHVybnMgYW4KCSAgZXJyb3IsIG90aGVyd2lzZSwgaXQgbXVzdCBjb250aW51ZSB3aGVyZSBpdCBsZWZ0IG9mZiEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDk0NQoKMjAxNy0wNC0wNSAxNTo1NToyMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEFkZCB3YXJuaW5ncyBmb3IgdW5zdXBwb3J0ZWQgZnJhbWUgZm9ybWF0cwoJICBBdCBsZWFzdCBvdXRwdXQgYW4gZWxlbWVudCB3YXJuaW5nIG9uIHRoZSBidXMgd2hlbiB3ZQoJICBlbmNvdW50ZXIgYSBmcmFtZSBmb3JtYXQgR1N0cmVhbWVyIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQuCgoyMDE3LTA0LTA0IDE3OjU1OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSGFuZGxlIFBhcmFtZXRyaWMgU3RlcmVvIHdpdGggSEUtQUFDKHYyKQoJICBBY2NvcmRpbmcgdG8gSVNPL0lFQzoxNDQ5Ni0yOjIwMDkgLCBpbiB0aGUgY2FzZSBvZiBIRS1BQUN2MiAoYXVkaW9PYmplY1R5cGUKCSAgMjkpIHBhcmFtZXRyaWMgc3RlcmVvIGlzIHVzZWQgKGEgc2luZ2xlIG1vbm8gdHJhY2sgaXMgdXNlZCBhbmQgdGhlbgoJICB0cmFuc2Zvcm1hdGlvbnMgYXJlIGFwcGxpZWQgdG8gaXQgdG8gcHJvdmlkZSBhIHN0ZXJlbyBvdXRwdXQpLgoJICBXZSB0aGVyZWZvcmUgcmVwb3J0IHR3byBjaGFubmVscyBpbiB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBvbmUgcmVwb3J0ZWQKCSAgaW4gdGhlIGF1ZGlvQ2hhbm5lbENvbmZpZ3VyYXRpb24uCgkgIEZpeGVzIHRoZSB2YXJpb3VzIGlzc3VlcyB3aGVyZSBhIGRlbXV4ZXIgd291bGQgcmVwb3J0IHR3byBjaGFubmVscywgYnV0CgkgIHRoZW4gdGhlIHBhcnNlciB3b3VsZCBzYXkgdGhlcmUncyBvbmx5IG9uZSBjaGFubmVsLCBhbmQgdGhlbiB0aGUgZGVjb2RlcgoJICB3b3VsZCBvdXRwdXQgdHdvIGNoYW5uZWxzLgoKMjAxNy0wNC0wNCAxNToyMjoyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFNpbXBsaWZ5IGJ1ZmZlciByZWZjb3VudGluZyBpbiBhZGRfYnVmZmVyKCkgYW5kIHJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrcwoKMjAxNy0wNC0wNCAxNTowODozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFNlbGVjdCB0aGUgYmVzdCBwYWQgYmFzZWQgb24gdGhlIGNhY2hlZCBsYXN0X2J1ZiBpZiBhbnkKCSAgbGFzdF9idWYgaXMgdGhlIG9uZSB3ZSdyZSBnb2luZyB0byB3cml0ZSBuZXh0LCBub3QgYnVmLiBBcyBzdWNoIHdlCgkgIHNob3VsZCBjaGVjayB0aW1lc3RhbXBzIGFnYWluc3QgdGhhdCBvbmUgaWYgdGhlcmUgaXMgb25lIHRvIHNlbGVjdCB0aGUKCSAgZWFybGllc3QgcGFkLgoJICBBbHNvIHJlbWVtYmVyIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFkIGluIHRoZSB2ZXJ5IGJlZ2lubmluZyB3aGVuCgkgIHN0b3JpbmcgdGhlIGZpcnN0IGxhc3RfYnVmLgoJICBUaGlzIGJvdGggc29sdmVzIHNvbWUgZWRnZSBjYXNlcyB3aGVyZSBub3QgdGhlIGNvcnJlY3QgbmV4dCBwYWQgd2FzCgkgIHNlbGVjdGVkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHRhcmdldCBpbnRlcmxlYXZlLgoKMjAxNy0wNC0wNCAxNTowNzo0MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBhIHRpbWVjb2RlIGlzIHRvIGJlIHdyaXR0ZW4gYnV0IGRvd25zdHJlYW0gcmV0dXJuIG5vdC1PSwoKMjAxNy0wNC0wMyAxMTozNDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVcGRhdGUgdmFyaWFibGVzIGJlZm9yZSBlYXJseSBleGl0CgkgIFRoaXMgaXMgYW4gdXBkYXRlIG9mIGQ3OGQ1ODk2MjcyZDc4ZGY0MWU2OTZmYWM5MjllN2RmYjNiYjNkZmEKCSAgV2Ugc3RpbGwgZXhpdCBhcyBlYXJseSBhcyBwb3NzaWJsZSBpbiBjYXNlIG9mIG5vbi1vay9ub24tdW5saW5rZWQgY29tYmluZWQKCSAgZmxvdywgYnV0IHdlIGZpcnN0IG1ha2Ugc3VyZSB0aGF0IHdlIHVwZGF0ZSB0aGUgaW50ZXJuYWwgcG9zaXRpb24gdmFyaWFibGVzLgoJICBUaGlzIGVuc3VyZXMgdGhhdCBpZiB1cHN0cmVhbXMgImlnbm9yZXMiIHRoZSBmbG93IHJldHVybiAoYW5kIGNhcnJpZXMgb24gcHVzaGluZyksCgkgIHdlIGRvbid0IGVuZCB1cCBwcm9jZXNzaW5nIGRhdGEgd2l0aCBjb21wbGV0ZWx5IGJvZ3VzIHZhcmlhYmxlcy9wb3NpdGlvbnMuCgoyMDE3LTAzLTI0IDAwOjExOjEzICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogYXZvaWQgdXNpbmcgdW5pbml0aWFsaXNlZCBvcmRlcmluZ19tYXAKCSAgSWYgc2VsZi0+Y2hhbm5lbF9wb3NpdGlvbnMgPT0gTlVMTCAod2hpY2ggc2VlbXMgdW5saWtlbHkpLAoJICBzZWxmLT5kZWZhdWx0X2NoYW5uZWxzX29yZGVyaW5nX21hcCB3aWxsIGJlIHVzZWQgdW5pbnRpYWxpc2VkLgoJICBXZSBhdm9pZCB0aGF0IGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIGNoYW5uZWxfbWFzaywgd2hpY2ggaXMgc2V0IHdoZW4KCSAgdGhlIG9yZGVyaW5nIG1hcCBpcyBpbml0aWFsaXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDMzMQoKMjAxNy0wMy0yMyAyMzo1NjozMSArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQGhhbG8uZ2VuLm56PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBkb24ndCBvdmVyZmxvdyBjaGFubmVsIG1hcCB3aXRoID42NCBjaGFubmVscwoJICBXaGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gNjQgY2hhbm5lbHMsIHdlIGRvbid0IHdhbnQgdG8gZXhjZWVkIHRoZQoJICBib3VuZHMgb2YgdGhlIG9yZGVyaW5nX21hcCBidWZmZXIsIGFuZCBpbiB0aGVzZSBjYXNlcyB3ZSBkb24ndCB3YW50IHRvCgkgIHJlbXBhIGF0IGFsbC4gSGVyZSB3ZSBhdm9pZCBkb2luZyB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMzMxCgoyMDE3LTAzLTI4IDE0OjIzOjE2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogVXNlIGdldF9wa2djb25maWdfdmFyaWFibGUgaW5zdGVhZCBvZiBjYWxsaW5nIHBrZy1jb25maWcgb3Vyc2VsZgoJICBJdCBpcyBhdmFsYWlibGUgaW4gbWVzb24gMC4zNiB3aGljaCBpcyBub3cgYXJlIHJlcXVpcmVtZW50CgoyMDE3LTAzLTI4IDE0OjIyOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLnBjLmluOgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIHBrZ2NvbmZpZzogRG8gbm90IGV2ZXIgYnVpbGQgYW4gaW5zdGFsbGVkIC5wYyBmaWxlCgoyMDE3LTAzLTI4IDExOjE1OjUzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogdGVzdDogRml4IGVudmlyb25tZW50IG9iamVjdCB1c2FnZQoKMjAxNy0wMy0yOCAxMToxNDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QucGMuaW46CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgcGtnY29uZmlnOiBHZW5lcmF0ZSB0aGUgcGtnLWNvbmZpZyB3aXRoIG1lc29uIHRvbwoKMjAxNy0wMy0yNyAyMTo1MjowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbiBnYXAgbW9kZSwgY29uc2lkZXIgdGhlIG1kYXQgb2Zmc2V0IHdoZW4gY2FsY3VsYXRpbmcgdGhlIHJlbWFpbmluZyBtZGF0IHNpemUKCSAgVGhlIG1kYXQgZ2VuZXJhbGx5IGRvZXMgbm90IHN0YXJ0IGF0IG9mZnNldCAwLCB3ZSBoYXZlIHRvIGluY2x1ZGUgdGhlCgkgIHNpemUgb2YgdGhlIG1vb2YgYW5kIHdoYXRldmVyIGVsc2Ugd2FzIGluIGZyb250IG9mIHRoZSBtZGF0LgoKMjAxNy0wMy0yNyAxMTo0MzozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBhdG9tc3JlY292ZXJ5OiBFcnJvciBvdXQgd2hlbiBmc2VlaygpIGZhaWxzIGluc3RlYWQgb2Ygc2lsZW50bHkgaWdub3JpbmcKCSAgQ0lEIDE0MDMyNjIKCjIwMTctMDMtMjMgMjI6MTM6MDUgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWxzbyBhZGQgdmlkZW9tZXRhIGlmIHRoZXJlIGlzIHBhZGRpbmcgdG8gdGhlIHJpZ2h0IGFuZCBib3R0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQ3OAoKMjAxNy0wMy0yMSAxMjo1NDoyNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBvdXRwdXQgc2VnbWVudCBhbmQgYnVmZmVyIERUUyB0byBjb3JyZXNwb25kIHRvIHRoZSBmbGF0dGVuZWQgUFRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAzNDcKCjIwMTctMDMtMjMgMTc6NTM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMKCjIwMTctMDMtMjMgMTU6MDE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZW1vdmUgYSBjb3VwbGUgb2YgdW5uZWVkZWQgbGV2ZWxzIG9mIGluZGVudGF0aW9uCgoyMDE3LTAzLTIyIDE4OjE4OjQwICswMDAwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogPGVvY2FuaGFAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkaXN0aW5ndWlzaCBURkRUIHdpdGggdmFsdWUgMCBmcm9tIG5vIFRGRFQgYXQgYWxsCgkgIFRGRFRzIHdpdGggdGltZSAwIGFyZSBiZWluZyBpZ25vcmVkIHNpbmNlIGNvbW1pdCAxZmMzZDQyZi4gVGhleSdyZQoJICBtaXN0YWtlbiB3aXRoIHRoZSBjYXNlIG9mIG5vdCBoYXZpbmcgVEZEVCwgYnV0IHRob3NlIHR3byBjYXNlcwoJICBtdXN0IGJlIGRpc3Rpbmd1aXNoZWQgaW4gc29tZSB3YXkuCgkgIFRoaXMgcGF0Y2ggcGFzc2VzIGFuIGV4dHJhIGJvb2xlYW4gZmxhZyB3aGVuIHRoZSBURkRUIGlzIHByZXNlbnQuCgkgIFRoaXMgaXMgbm93IHRoZSBjb25kaXRpb24gYmVpbmcgZXZhbHVhdGVkLCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZvcgoJICAwIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0MTAKCjIwMTctMDMtMjIgMTk6MTU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBSZXNldCBjdXJyZW50IGNodW5rIGFmdGVyIHdyaXRpbmcgb3V0IHRpbWVjb2RlCgkgIElmIHdlIGhhdmUgbXVsdGlwbGUgdHJhY2tzIHdpdGggdGltZWNvZGVzLCBvciBpdCdzIG5vdCB0aGUgZmlyc3QgdHJhY2sKCSAgdGhhdCBoYXMgdGltZWNvZGVzLCBvciBub3QgdGhlIGZpcnN0IGJ1ZmZlciwgd2UgYWxyZWFkeSBzdGFydGVkIGEgY2h1bmsKCSAgZm9yIG1lZGlhIGRhdGEuIFdlIG5vdyBuZWVkIHRvICJjbG9zZSIgdGhhdCBjaHVuayBiZWNhdXNlIHdlIHdyb3RlIGRhdGEKCSAgZm9yIHRoZSB0aW1lY29kZSB0cmFjayBhbmQgYSBuZXcgY2h1bmsgaGFzIHRvIGJlIHN0YXJ0ZWQgZm9yIHRoZQoJICBvcmlnaW5hbCB0cmFjayB0aGUgbmV4dCB0aW1lIGl0IGhhcyBkYXRhLgoKMjAxNy0wMy0yMiAxODo1Mjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogRG8gdGltZWNvZGUgaGFuZGxpbmcgcGVyIHRyYWNrLCBub3QgcGVyIG11eGVyIGluc3RhbmNlCgkgIFRoZXJlIGNvdWxkIGJlIG11bHRpcGxlIHZpZGVvIHRyYWNrcyB3aXRoIHRpbWVjb2Rlcy4KCjIwMTctMDMtMjIgMDA6Mzg6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBxdGRlbXV4OiBtYXRyb3NrYWRlbXV4OiBJZ25vcmUgcmVwZWF0ZWQgc2VlayBldmVudHMKCSAgU2ltaWxhciB0byB3aGF0IHdhcyBkb25lIGluIGFkYXB0aXZlZGVtdXgsIGlnbm9yZSBzZWVrCgkgIGV2ZW50cyB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQgLSBzdWNoIGFzIHdoZW4gdGhleSBhcmUgcmVjZWl2ZWQKCSAgb24gZXZlcnkgc3JjcGFkIG9mIGZpbGVzIHdpdGggbG90cyBvZiBzdHJlYW1zLgoKMjAxNy0wMy0yMSAxNDo1NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgbWRhdGxlZnQgZnJvbSBvdmVyYWxsIG1kYXRzaXplIGFuZCBvZmZzZXQgd2hlbiBvYnNlcnZpbmcgYSBnYXAKCSAgT3RoZXJ3aXNlIG1kYXRsZWZ0IHdpbGwgaGF2ZSBhIHZhbHVlIGNhbGN1bGF0ZWQgZnJvbSB0aGUgaW5pdGlhbAoJICBtZGF0c2l6ZSBtaW51cyB0aGUgcGFydHMgb2YgdGhlIHN0cmVhbSB0aGF0IHdlIHNhdywgd2hpY2ggaXMgbm90CgkgIGluY2x1ZGluZyBhbGwgdGhlIHBhcnRzIG9mIHRoZSBzdHJlYW0gdGhhdCBtaWdodCd2ZSBiZWVuIHNraXBwZWQuCgoyMDE3LTAzLTIwIDE3OjAzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBkb2NzOiB1cGRhdGUgdHdvIHJlZmVyZW5jZXMgdG8gdGhlIHJlbW92ZWQgJ21hZCcgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYxNDAKCjIwMTctMDMtMjAgMTI6MDM6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJICBydHBydHhxdWV1ZTogYWRkIGJhc2ljIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGUgcGlwZWxpbmVzCgkgIE1vc3RseSBleHBsYWluaW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcnRwcnR4cXVldWUgYW5kIHJ0cHJ0eHNlbmQuCgoyMDE3LTAzLTE3IDIwOjU4OjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9tZXNvbi5idWlsZDoKCSAgdjRsMjogRml4IG1lc29uIHBsdWdpbiBzaGFyZWQgb2JqZWN0IG5hbWUKCSAgSXQgZGlkbid0IG1hdGNoIGJldHdlZW4gQXV0b01ha2UgYW5kIE1lc29uLCBhbmQgdGhlIE1lc29uIG5hbWUKCSAgZGlkbid0IG1hdGggdGhlIHBsdWdpbiBuYW1lICh2aWRlbzRsaW51eDIpLgoKMjAxNy0wMy0xNiAxODoyMDo1NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogZml4IGV4YW1wbGUgcGlwZWxpbmVzIGFuZCBpbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEzODMKCjIwMTctMDMtMTcgMTQ6MTA6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBmaXggcGxheWJhY2sgaWYgc2FtcGxlIG51bWJlciBkb2VzIG5vdCBzdGFydCBhdCAwCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjliODA3Njg1ZDNjOTYyYmJlOGFmZTM1MWM1ZGNhOTdkNTllYjVlMCwgd2hpbGUKCSAgZml4aW5nIHRoZSBvcmlnaW5hbCBicmVha2luZyB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy4KCjIwMTctMDMtMTcgMTE6MzA6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IGZpeCBwbGF5YmFjayBpZiBzYW1wbGUgbnVtYmVyIGRvZXMgbm90IHN0YXJ0IGF0IDAiCgkgIFRoaXMgYnJlYWtzIGdzdC12YWxpZGF0ZSBvbiB0aGUgYnVpbGQgc2VydmVyICh0aG91Z2ggbm90IGxvY2FsbHkpLAoJICBhbmQgYSB1bml0IHRlc3QsIGFuZCBJIGNhbid0IHJ1biB1bml0IHRlc3RzIHJpZ2h0IG5vdyBmb3Igc29tZQoJICB1bnJlbGF0ZWQgcmVhc29uLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA3NDdiNTZmOGU3ZjQ3MzFkNjdmOGQxM2E0YmRjNDUzZGRlMGZkZjcuCgoyMDE3LTAzLTE2IDE3OjQ0OjQxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBwcmludCB0aGUgY29ycmVjdCB2YXJpYWJsZSBpbiBkZWJ1ZyBzdGF0ZW1lbnQKCSAgVGhpcyBkZWJ1ZyBzdGF0ZW1lbnQgaXMgbWVhbnQgdG8gcHJpbnQgdGhlIHRpbWUgc2luY2UgdGhlIGxhc3QgKGVhcmx5KQoJICBSVENQIHRyYW5zbWlzc2lvbiwgbm90IHRoZSBsYXN0IHJlZ3VsYXIgUlRDUCB0cmFuc21pc3Npb24gKHdoaWNoIGFsc28KCSAgaGFwcGVucyB0byBiZSBzZXQgYSBmZXcgbGluZXMgYWJvdmUgdG8gY3VycmVudF90aW1lLCBzbyB0aGUgZGVidWcgb3V0cHV0CgkgIGlzIGp1c3QgY29uZnVzaW5nKQoKMjAxNy0wMy0xNiAxNzo0MjoyNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogY29udmVydCBMT0cgbWVzc2FnZSB0byBUUkFDRQoJICBUaGlzIGlzIHByaW50ZWQgdG9vIG9mdGVuIChmb3IgZXZlcnkgY2hhaW5lZCBidWZmZXIhKSBhbmQganVzdCBjbHV0dGVycyB0aGUgbG9ncy4KCjIwMTctMDMtMTYgMTQ6NTg6NDUgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZml4IHdhcm5pbmcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMTA1CgoyMDE3LTAzLTE2IDEzOjU0OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZml4IHBsYXliYWNrIGlmIHNhbXBsZSBudW1iZXIgZG9lcyBub3Qgc3RhcnQgYXQgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NzM4CgoyMDE3LTAzLTE1IDE4OjU4OjU1ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiBnZXQgY2xvY2stcmF0ZSBmcm9tIHB0IGlmIG5lZWRlZCB0byBnZW5lcmF0ZSBTUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMTA1CgoyMDE3LTAzLTE2IDEzOjUyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEluY2x1ZGUgR1N0cmVhbWVyIHNvdXBodHRwc3JjIHZlcnNpb24gaW4gZGVmYXVsdCBVc2VyLUFnZW50IHN0cmluZwoKMjAxNy0wMy0xNiAwMDo0MTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IGNyYXNoIHdpdGggZW1wdHkgc3Byb3BzLXBhcmFtZXRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDA0MAoKMjAxNy0wMy0xMSAyMToyMDo0MCAtMDgwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkgIGF0b21zcmVjb3Zlcnk6IGFsc28gaGFuZGxlIGV4dHJhIGF0b21zIGFmdGVyICdtZGlhJyBpbiBhICd0cmFrJwoJICBUYWtlIGludG8gYWNjb3VudCB0aGUgYXRvbXMgYXQgdGhlIGVuZCBvZiB0aGUgJ3RyYWsnIGF0b20gd2hlbgoJICByZWNvdmVyaW5nIGl0LiBTbyB0aGF0IGl0cyBzaXplIChhbHJlYWR5IGNvbXB1dGVkIGFuZCBhZGRlZCBpbiB0aGUgdHJhawoJICBzaXplKSBpc24ndCBtYWtpbmcgb2Zmc2V0cyB3cm9uZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTQ3OAoKMjAxNy0wMy0xMSAxMjo1NjozMyAtMDgwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCBmYWxsdGhyb3VnaCB0byBtb292cmVjb3ZlcnkgZmFpbHVyZSBzZWN0aW9uCgkgIFJldHVybiBiZWZvcmUgdGhhdCB0byBwcmVzZXJ2ZSBvdXIgc3VjY2Vzc2Z1bGwgcmVzdWx0cywgb3RoZXJ3aXNlIG5vCgkgIG1vb3YgcmVjb3ZlcnkgaW5mb3JtYXRpb24gd291bGQgYmUgd3JpdHRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNDc4CgoyMDE3LTAzLTExIDEyOjI3OjI4IC0wODAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBhdG9tc3JlY292ZXJ5OiBleHBlY3QgbW9yZSBhdG9tIHR5cGVzIGF0IHRoZSBoZWFkZXJzCgkgIFNraXAgbW9yZSBhdG9tcyBhdCB0aGUgaGVhZGVyIHVudGlsIGl0IGZpbmRzIHRoZSAnbWRhdCcgdG8gY29udGludWUgdGhlCgkgIG1vb3YgcmVjb3ZlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTQ3OAoKMjAxNy0wMy0xNCAxNjo0MjoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSAgcHVsc2UgZXhhbXBsZTogUmVtb3ZlCgkgIFRoYXQgZXhhbXBsZSBvbmx5IHRlc3RlZCB0aGUgcHJvcGVydHkgcHJvYmUgaW50ZXJmYWNlLCB3aGljaCBoYXMgYmVlbiByZW1vdmVkLgoJICBUaGUgc2FtZSBraW5kIG9mIHRoaW5nIGNhbiBub3cgYmUgZG9uZSB3aXRoIHRoZSBnZW5lcmljIGdzdC1kZXZpY2UtbW9uaXRvciB0b29sLgoKMjAxNy0wMy0xNCAxNjozODowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogUmVtb3ZlIHVudXNlZCBtYWNybwoKMjAxNy0wMy0xNCAxNjozNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBSZW1vdmUgdW51c2VkIGRlZmluaXRpb25zCgoyMDE3LTAzLTE0IDEwOjEwOjE5ICswMTAwICBFbWVyaWMgR3JhbmdlIDxlZ3JhbmdlQGdvcHJvLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0bXV4OiBhZGQgQ2luZUZvcm0gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMDI0CgoyMDE3LTAzLTE0IDE1OjA5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBjcmVhdGUgbmV3IGNodW5rcyBpZiB3ZSBoYXZlIG1vcmUgdGhhbiBhIHNpbmdsZSBzdHJlYW0KCSAgVGhlcmUncyBubyBwb2ludCBpbiBjcmVhdGluZyBtdWx0aXBsZSBjaHVua3Mgb3RoZXJ3aXNlLCBpdCBvbmx5IHdhc3RlcwoJICBzb21lIGJ5dGVzIGZvciBzdG9yaW5nIHRoZSBjaHVuayBvZmZzZXRzLgoKMjAxNy0wMy0xNCAxMDowOTo0NiArMDEwMCAgRW1lcmljIEdyYW5nZSA8ZWdyYW5nZUBnb3Byby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIFMxNkwgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMDIyCgoyMDE3LTAzLTE0IDE1OjQ4OjA4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4IHRlc3Q6IFVzZSBwYXNzZWQgZmlyc3QvbGFzdCB0aW1lc3RhbXBzCgkgIERvbid0IGhhcmQtY29kZSB0aGUgZXhwZWN0ZWQgdGltZXN0YW1wIHJhbmdlLCB1c2UgdGhlCgkgIHZhbHVlcyB0aGUgY2FsbGVyIGlzIHBhc3NpbmcgaW4uCgoyMDE3LTAzLTE0IDE0OjE1OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdsOiBHTF9BUlJBWV9CVUZGRVIgaXMgbm90IGEgcGFydCBvZiBWQU8gc3RhdGUKCSAgQXMgYSByZXN1bHQgd2UgbmVlZCB0byBiaW5kIGl0IG9uIGV2ZXJ5IGRyYXcgaW4gb3JkZXIgdG8gaGF2ZSB0aGUKCSAgY29ycmVjdCBzdGF0ZSBpbiB0aGUgR0wgc3RhdGUgbWFjaGluZS4KCjIwMTctMDMtMTMgMTQ6Mjg6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSAgZ2wvZm9ybWF0OiB1c2Ugb3VyIG93biBHTCBmb3JtYXQgZW51bSdzIGluc3RlYWQgb2YgZ3N0dmlkZW8ncwoJICBUaGV5IGNhbiBkZXNjcmliZSBpbiBtb3JlIGRldGFpbCAoc3VjaCBhcyBjb21wb25lbnQgc2l6ZXMpIHRoZSByZXF1ZXN0ZWQgZm9ybWF0LgoKMjAxNy0wMy0xMiAxMTo0MjoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgQWRkIG9sZCBwbHVnaW4gbmFtZXMgdG8gY3J1ZnQgbGlzdAoJICBUaGlzIHdpbGwgaGVscCBmaXhpbmcgdW5pbnN0YWxsZWQgc2V0dXAuIEFsc28gZml4IG1pc3NpbmcgcGF0aAoJICBjb3JyZWN0aW9uIGluIG9uZSBvZiB0aGUgcGx1Z2luIHhtbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNi0xMi0xNSAxMjozODo0MCArMDEwMCAgTWljaGFlbCBEdXRrYSA8bWFpbEBtaWNoYWVsLWR1dGthLmRlPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5LCBydHBoMjY1ZGVwYXk6IHJlbW92ZSBzdHJheSBnX2RlYnVnKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTg1OAoKMjAxNy0wMy0xMCAxMToyNDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbml0IGZvdXJjYwoJICBJbml0aWFsaXplIHRoZSBmb3VyY2MgdG8gMCBzbyB0aGF0IHdlIGNhbiBkZXRlY3QgZmFpbHVyZSBsYXRlci4KCjIwMTctMDMtMDggMjI6NTA6NTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgdGVzdHM6IEFkZCBtaXNzaW5nIExEQUREIGZvciBsaWJtIGluIHRlc3RzIHVzaW5nIG1hdGguaAoJICBBbHNvLCByZW1vdmUgdGhlIG1hdGguaCBpbmNsdWRlIGZvciB0aGUgb25lIHRoYXQganVzdCBwcmVudGVuZCB0byBuZWVkCgkgIGl0LgoKMjAxNy0wMy0wOCAyMjoxNTo0NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBGaXggc2hvdXQyIHBsdWdpbiBkb2MgZ2VuZXJhdGlvbgoJICBJbiB0aGUgcHJldmlvdXMgcGF0Y2gsIHdlIGFsc28gcmVuYW1lZCBzaG91dDJzZW5kIHRvIHNob3V0Miwgc28gaXQgZG9lcwoJICBub3QgY2xhc2ggd2l0aCBpdCdzIGZlYXR1cmUuIFRob3VnaCB3ZSBmb3Jnb3QgdG8gcmVuYW1lIGl0IGluIHRoZSBkb2MKCSAgcmVmZXJlbmNlLiBUaGlzIHBhdGNoIGFsc28gYWRkIGEgY3J1ZnQgZGV0ZWN0aW9uIG9uIHRoZSB4bWwgdGhhdCBtYWRlIG1lCgkgIG1pc3MgdGhpcyBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNy0wMy0wNCAxMTowMzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RwbHVnaW4uYzoKCSAgUmVuYW1lIHBsdWdpbiBmaWxlc25hbWVzIHRvIG1hdGNoIHBsdWdpbiBuYW1lcwoJICAtIGxpYmdzdGd0a3Npbmsuc28gLT4gbGliZ3N0Z3RrLnNvCgkgIC0gbGliZ3N0dGVsZXRleHRkZWMuc28gLT4gbGliZ3N0dGVsZXRleC5zbwoJICAtIGxpYmdzdGNhbWVyYWJpbjIuc28gLT4gbGliZ3N0Y2FtZXJhYmluLnNvCgkgIC0gbGliZ3N0b252aWYuc28gLT4gbGliZ3N0cnRwb252aWYuc28gKG1lc29uIG9ubHkpCgkgIC0gc2RwIC0+IHNkcGVsZW0gKGF2b2lkIGNsYXNoIHdpdGggbGliZ3N0c2RwKQoJICAtIGdzdHNpcmVuIC0+IHNpcmVuCgkgIC0gbGliZ3N0a21zc2luay5zbyAtPiBsaWJnc3RrbXMuc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNy0wMy0wNCAxMDo1Mjo0NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDIueG1sOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9tZXNvbi5idWlsZDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL21lc29uLmJ1aWxkOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgRml4IHBsdWdpbiBmaWxlbmFtZXMgdG8gbWF0Y2ggcGx1Z2luIG5hbWVzCgkgIC0gbGliZ3N0cHVsc2Uuc28gYmVjb21lcyBsaWJnc3RwdWxzZWF1ZGlvLnNvCgkgIC0gbGliZ3N0c291cGh0dHBzcmMuc28gYmVjb21lcyBsaWJnc3Rzb3VwLnNvCgkgIC0gbGliZ3N0b3NzNGF1ZGlvLnNvIGJlY29tZXMgbGliZ3N0b3NzNC5zbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzQ0CgoyMDE3LTAzLTA4IDE2OjAxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogRnJlZSBFRFRTIGluc3RlYWQgb2YganVzdCBjbGVhcmluZyBpdCBhbmQgc2V0dGluZyBpdCB0byBOVUxMCgoyMDE3LTAzLTA4IDE1OjI3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggc29tZSBtZW1vcnkgbGVha3MgcmVsYXRlZCB0byB0aW1lY29kZSB0cmFja3MKCjIwMTctMDMtMDQgMDA6MzQ6NDQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEFkZCB1bml0IHRlc3QgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgRW5zdXJlIHRoYXQgcmV2ZXJzZSBwbGF5YmFjayB3b3JrcyBhbmQgZ2VuZXJhdGVzIHRoZSByYW5nZQoJICBvZiB0aW1lc3RhbXBzICgwLTNzKSB3ZSBleHBlY3QsIGluIG1vbm90b25pY2FsbHkgZGVzY2VuZGluZyBvcmRlci4KCjIwMTctMDItMjggMTE6NTA6NDUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogRml4IHJldmVyc2UgcGxheWJhY2sKCSAgRml4IHRoZSBjaGVjayBmb3Igd2hldGhlciB0aGUgc3RhcnQgdGltZSBvZiB0aGUgc2VnbWVudCBoYXMKCSAgYmVlbiByZWFjaGVkIHdoZW4gcGxheWluZyBpbiByZXZlcnNlLiBPdGhlcndpc2UsIHBsYXliYWNrCgkgIHN0b3BzIGFmdGVyIHJlYWNoaW5nIHRoZSBzdGFydCBvZiBhbnkgZmlsZSBwYXJ0LCBpbnN0ZWFkIG9mCgkgIGNvbnRpbnVpbmcgdW50aWwgYWxsIHBhcnRzIHdpdGhpbiB0aGUgc2VnbWVudCBoYXZlIHBsYXllZAoKMjAxNy0wMi0yMiAwMzowMTozMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgbG9zZSBjcnlwdG8gaW5mbyBvbiBhIG5ldyBtb29mCgkgIFdlIHBhcnNlIHRoZSBuZXh0IG1vb2YgaW4gYWR2YW5jZSBvZiBoYXZpbmcgcHVzaGVkCgkgIGFsbCBzYW1wbGVzIGZyb20gdGhlIHByZXZpb3VzIG9uZSBpbiBzb21lIGNhc2VzLCBhbmQKCSAgd2UnbGwgc3RpbGwgbmVlZCB0aGUgY3J5cHRvIGluZm8gZnJvbSB0aGUgcHJldmlvdXMKCSAgZnJhZ21lbnQgc28ga2VlcCBhcm91bmQgYW55IHVudXNlZCBjcnlwdG8gaW5mbyBlbnRyaWVzCgkgIHdoZW4gYWRkaW5nIG5ldyBvbmVzCgoyMDE3LTAyLTI3IDEzOjU1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVwZGF0ZSBtb2RpZmljYXRpb24gdGltZXMgd2hlbiBzZW5kaW5nIHRoZSBtb292CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0MjIKCjIwMTctMDMtMDEgMTY6MTE6NDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1scnNtaXRoQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjcGFyc2U6IEZpeCB1cCB2YWx1ZXMgZm9yIGFsbG9jYXRpb24gZW51bWVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkzODkKCjIwMTctMDItMjggMTM6MTA6NTAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0cHJ0eHJlY2VpdmU6IGZpeCBwb3RlbnRpYWwgbGVhayBvZiBvbGQsIHVuYXNzb2NpYXRlZCwgYXNzb2NpYXRpb24gcmVxdWVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU2MAoKMjAxNy0wMi0yOCAxNTo0NzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IGluY3JlbWVudCAtMSAvIHVuc2V0IGluZGljZXMKCSAgQ0lEIDEzOTg1NDUKCjIwMTctMDItMjggMTU6MjA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUHJvdGVjdCBhZ2FpbnN0IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBmb3Igc3RyZWFtcyB3aXRob3V0IGNhcHMKCSAgQ0lEIDEzNjMzMzIKCjIwMTctMDItMjggMTI6NTc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogRnJlZSBtYWMgb24gZXJyb3JzCgkgIENJRCAxMjEyMTQ5CgoyMDE3LTAyLTI4IDEyOjQ1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBBZGQgbWlzc2luZyBicmVhayB0byBmb3IgbG9vcAoKMjAxNy0wMi0yOCAxMTowMjo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRml4IHNwbGl0bXV4IHRlc3QgQ0ZMQUdTCgkgIE5lZWRzIHRvIGtub3cgd2hlcmUgdGhlIGdzdGFwcCBoZWFkZXJzIGFyZQoKMjAxNy0wMi0yNyAyMTowMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgNwoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uIOKAmHF0ZGVtdXhfcGFyc2Vfc2FtcGxlc+KAmToKCSAgcXRkZW11eC5jOjg0NTA6Mzk6IGVycm9yOiDigJgq4oCZIGluIGJvb2xlYW4gY29udGV4dCwgc3VnZ2VzdCDigJgmJuKAmSBpbnN0ZWFkIFstV2Vycm9yPWludC1pbi1ib29sLWNvbnRleHRdCgkgIGlmIChzdHJlYW0tPnNhbXBsZXNfcGVyX2ZyYW1lICogc3RyZWFtLT5ieXRlc19wZXJfZnJhbWUpIHsKCSAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE3LTAyLTI3IDIxOjAxOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDcKCSAgZ3N0bXBlZ2F1ZGlvcGFyc2UuYzogSW4gZnVuY3Rpb24g4oCYZ3N0X21wZWdfYXVkaW9fcGFyc2VfcmVzZXTigJk6CgkgIGdzdG1wZWdhdWRpb3BhcnNlLmM6MjA5OjM6IGVycm9yOiDigJhtZW1zZXTigJkgdXNlZCB3aXRoIGxlbmd0aCBlcXVhbCB0byBudW1iZXIgb2YgZWxlbWVudHMgd2l0aG91dCBtdWx0aXBsaWNhdGlvbiBieSBlbGVtZW50IHNpemUgWy1XZXJyb3I9bWVtc2V0LWVsdC1zaXplXQoJICBtZW1zZXQgKG1wM3BhcnNlLT54aW5nX3NlZWtfdGFibGVfaW52ZXJzZSwgMCwgMjU2KTsKCSAgXn5+fn5+CgkgIGdzdG1wZWdhdWRpb3BhcnNlLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9tcGVnX2F1ZGlvX3BhcnNlX2hhbmRsZV9maXJzdF9mcmFtZeKAmToKCSAgZ3N0bXBlZ2F1ZGlvcGFyc2UuYzo5NTE6NzogZXJyb3I6IOKAmG1lbXNldOKAmSB1c2VkIHdpdGggbGVuZ3RoIGVxdWFsIHRvIG51bWJlciBvZiBlbGVtZW50cyB3aXRob3V0IG11bHRpcGxpY2F0aW9uIGJ5IGVsZW1lbnQgc2l6ZSBbLVdlcnJvcj1tZW1zZXQtZWx0LXNpemVdCgkgIG1lbXNldCAobXAzcGFyc2UtPnhpbmdfc2Vla190YWJsZV9pbnZlcnNlLCAwLCAyNTYpOwoJICBefn5+fn4KCjIwMTctMDItMjcgMTk6MzE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IFdoZW4gZ2V0dGluZyBuZXcgaGVhZGVycywgcmVwbGFjZSB0aGUgb2xkIHZlcnNpb24gb2YgdGhlbQoJICBUaGlzIHByZXZlbnRzIHN0b3JpbmcgYW4gaW5maW5pdGUgYW1vdW50IG9mIGUuZy4gY29tbWVudCBoZWFkZXJzIGlmIHRoZXkKCSAgY29tZSB3aXRob3V0IGEgbmV3IGluaXRpYWxpemF0aW9uIGhlYWRlciBpbiBmcm9udCBvZiB0aGVtLiBUaGVyZSBjYW4KCSAgb25seSBiZSBvbmUgaGVhZGVyIG9mIGVhY2ggdHlwZS4KCjIwMTctMDItMjcgMTk6MjU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwLXBheWxvYWRpbmc6IEFkZCBuZXcgdGVzdCBmb3IgVm9yYmlzIHJlbmVnb3RpYXRpb24KCSAgQ2hlY2sgaWYgZW5jb2RpbmcsIHBheWxvYWRpbmcsIGRlcGF5bG9hZGluZyBhbmQgZGVjb2Rpbmcgd29ya3MgaWYgdGhlCgkgIHN0cmVhbSBjb25maWd1cmF0aW9uIChhbmQgdGh1cyB0aGUgaGVhZGVycykgY2hhbmdlLgoKMjAxNy0wMi0yNyAxOToyNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogT25seSByZXBsYWNlIGhlYWRlcnMgd2hlbiByZWNlaXZpbmcgYSBuZXcgY29uZmlnIGhlYWRlcgoJICBJZiB3ZSBhbHNvIHJlcGxhY2UgYWxsIGhlYWRlcnMgd2hlbiByZWNlaXZpbmcgYW55IHBvc3NpYmx5IGZvbGxvd2luZwoJICBjb21tZW50cyBoZWFkZXIsIHdlIHdvdWxkIHRocm93IGF3YXkgdGhlIGNvbmZpZyBoZWFkZXIgYmVmb3JlIGJlaW5nIGFibGUKCSAgdG8gbWFrZSB1c2Ugb2YgaXQuCgoyMDE3LTAyLTIzIDEyOjExOjE1ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzOiBzcGxpdG11eDogYWRkIHVuaXQgdGVzdCBmb3IgY29udGVudCB3aXRoIHNwYXJzZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwODYKCjIwMTctMDItMjIgMTE6MjM6MTkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHBhcnRyZWFkZXI6IGlnbm9yZSBzcGFyc2Ugc3RyZWFtcyB3aGVuIGNhbGN1bGF0aW5nIHRoZSBlbmQgb2Zmc2V0IG9mIGEgcGFydAoJICBBIHNwYXJzZSBzdHJlYW0ncyBlbmRpbmcgdGltZXN0YW1wIGNhbiBiZSBjb25zaWRlcmFibHkgc21hbGxlcgoJICB0aGFuIHRoZSBlbmRpbmcgdGltZXN0YW1wcyBvZiB0aGUgb3RoZXIgc3RyZWFtcywgd2hpY2ggY2FuIGxlYWQKCSAgdG8gc2tpcHBpbmcgY29uc2lkZXJhYmxlIHRpbWUgZnJvbSB0aGUgbmV4dCBwYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDg2CgoyMDE3LTAyLTIyIDExOjIxOjA2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhwYXJ0cmVhZGVyOiBpZGVudGlmeSBzcGFyc2Ugc3RyZWFtcwoKMjAxNy0wMi0xNyAxNDozNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcW1sOiBBZGQgc3VwcG9ydCBmb3IgVml2YW50ZSBFR0wgRlMgd2luZG93aW5nIHN5c3RlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4ODI1CgoyMDE3LTAyLTI1IDIxOjQ3OjAzIC0wMzAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIFVwZGF0ZSBFZGdhcmQgTGltYSdzIGVtYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkyMzAKCjIwMTctMDItMDggMTM6MzY6MDAgKzAwMDAgIEFuZHJldyA8bmlmaWdhc2VAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBhbHdheXMgcmVzZXQgUFRTIHRvIDAgYWZ0ZXIgYSBnYXAKCSAgSW4gZnVuY3Rpb24gcnRwX2ppdHRlcl9idWZmZXJfY2FsY3VsYXRlX3B0czogSWYgZ2FwIGluIGluY29taW5nIFJUUAoJICB0aW1lc3RhbXBzIGlzIG1vcmUgdGhhbiAoMyAqIGpidWYtPmNsb2NrX3JhdGUpIHdlIGNhbGwKCSAgcnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyB3aGljaCByZXNldHMgcHRzIHRvIDAuIFNvIGNvbXBvbmVudHMgZG93bgoJICB0aGUgcGlwZWxpbmUgKHBsYXllcywgbWl4ZXJzKSBqdXN0IHNraXAgZnJhbWVzL3NhbXBsZXMgdW50aWwgcHRzIGJlY29tZXMKCSAgZXF1YWwgdG8gcHRzIGJlZm9yZSBnYXAuCgkgIEluIHZlcnNpb24gMS4xMC4yIGFuZCBiZWZvcmUgdGhpcyBjaGVja2luZyB3YXMgYnlwYXNzZWQgZm9yIHBhY2tldHMgd2l0aAoJICAiZXN0aW1hdGVkIGR0cyIsIGFuZCBnYXBzIHdlcmUgaGFuZGxlZCBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgzNDEKCjIwMTctMDItMjQgMTU6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFVwZGF0ZSB2ZXJzaW9uCgoyMDE3LTAyLTI0IDE1OjM3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjExLjIgPT09CgoyMDE3LTAyLTI0IDE1OjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBSZWxlYXNlIDEuMTEuMgoKMjAxNy0wMi0yNCAxMjo1MDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wMi0yNCAxMjo0NDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2VsLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wMi0xMCAyMDo1MDoxNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRXh0cmFjdCByZWRpcmVjdGlvbiB1cmkgb24gbGlic291cCdzIHJlc3RhcnRlZCBjYWxsYmFjawoJICBMZXQgbGlic291cCBoYW5kbGUgcmVkaXJlY3Rpb24gYXV0b21hdGljYWxseS4KCSAgQW5kIHRoZW4sIHRvIGZpZ3VyZSBvdXQgcmVkaXJlY3Rpb24gdXJpLCBleHRyYWN0IGl0IG9uICJyZXN0YXJ0ZWQiCgkgIGNhbGxiYWNrIHdoaWNoIHdpbGwgYmUgZmlyZWQgYmVmb3JlIHNvdXBfc2Vzc2lvbl9zZW5kKCkgaXMgcmV0dXJuZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg0MjgKCjIwMTctMDEtMDIgMTk6Mjk6MDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXBkYXRlIGltYWdlIHNpemUgd2hlbiBleHRyYXBvbGF0aW5nCgkgIFVwZGF0ZSB0aGUgaW1hZ2Ugc2l6ZSBhY2NvcmRpbmcgdGhlIGFtb3VudCBvZiBkYXRhIHdlIGFyZSBnb2luZyB0bwoJICByZWFkL3dyaXRlLiBUaGlzIHdvcmthcm91bmQgYnVncyBpbiBkcml2ZXIgd2hlcmUgdGhlIHNpemVpbWFnZSBwcm92aWRlZAoJICBieSBUUlkvU19GTVQgcmVwcmVzZW50IHRoZSBidWZmZXIgbGVuZ3RoIChtYXhpbXVtIHNpemUpIHJhdGhlciB0aGVuIHRoZSBleHBlY3RlZAoJICBieXRlc3VzZWQgKGJ1ZmZlciBzaXplKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTU2NAoKMjAxNy0wMi0xNyAxNTo1MDozMiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggdHlwbyBpbiBfYWNxdWlyZV9mb3JtYXQoKSBlcnJvciBtZXNzYWdlcwoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODgxNQoKMjAxNy0wMi0wNyAxNzoyNzo1NiArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogbWF0cm9za2FtdXgsIHF0bXV4OiBkb24ndCBhZGQgY29kZWNfZGF0YSBidWZmZXJzIHRvIHRlbXBsYXRlIGNhcHMKCSAgc3RyZWFtaGVhZGVyIGFuZCBjb2RlY19kYXRhIGJ1ZmZlcnMgZmllbGRzIGFyZSBvbmx5IG1lYW50IHRvIGJlCgkgIGluIHRoZSBuZWdvdGlhdGVkIGNhcHMsIG5vdCB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgRml4ZXMgZmFsc2UtcG9zaXRpdmUgbGVha3Mgb2YgdGhvc2UgYnVmZmVycyBkZXRlY3RlZCBieSB0aGUgbGVha3MKCSAgdHJhY2VyLCBhcyB0ZW1wbGF0ZSBjYXBzIGFyZSBzdGF0aWMsIGFuZCB3ZSBkZWNpZGVkIHRvIG5vdCBpbmNsdWRlCgkgIGNvZGUgaW4gZ3N0cmVhbWVyIGNvcmUgdG8gaGFuZGxlIHRoaXMgdW51c3VhbCBjYXNlIG9mIHRlbXBsYXRlIGNhcHMKCSAgaGF2aW5nIGJ1ZmZlcnMgaW4gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODc2MgoKMjAxNy0wMi0wOSAxMjo0Njo1NCArMDAwMCAgSm9jaGVuIEhlbm5lYmVyZyA8amhAaGVubmViZXJnLXN5c3RlbWRlc2lnbi5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IFVwZGF0ZSBhbmQgc2VuZCBvdXQgaGVhZGVycyB3aGVuIG5ldyBoZWFkZXJzIGFyZSByZWNlaXZlZAoJICBUaGUgcGF5bG9hZGVyIG5lZWRzIHRvIHJlc2V0IGFuZCB1cGRhdGUgdGhlIHZvcmJpcyBjb25maWcgZGF0YSB3aGljaCBpcwoJICBwdXNoZWQgb24gdGhlIG5ldHdvcmsgaWYgaXQgcmVjZWl2ZXMgbmV3IGhlYWRlcnMsIG9yIGF0IGxlYXN0LCBpdCBtYXkKCSAgaGF2ZSB0byBkbyBzby4KCSAgV2l0aG91dCB0aGlzLCB0aGUgc3RyZWFtIGNvbmZpZ3VyYXRpb24gY291bGQgY2hhbmdlIHdpdGhvdXQgdGhlCgkgIHBheWxvYWRlciBzZW5kaW5nIHRoZSBuZXcgY29uZmlndXJhdGlvbiB0byB0aGUgb3RoZXIgc2lkZS4KCjIwMTctMDItMTUgMTQ6NDg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IENoYW5nZSBmaWxlcyBvbiBpbmNvbXBhdGlibGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE1IDE2OjM1OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBSZXNldCByZWFkeV9mb3Jfb3V0cHV0IG9uIHN0YXRlIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE1IDE1OjA5OjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBSZW1vdmUgdW51c2VkIG5leHRfbWF4X291dF9ydW5uaW5nX3RpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTc2MQoKMjAxNy0wMi0xNSAxNTowNzozMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogUmVtb3ZlIHVudXNlZCBtdXhlZF9vdXRfdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzYxCgoyMDE3LTAyLTE3IDEzOjA3OjA1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IEFsd2F5cyBzbmFwIHRvIHRoZSBzdGFydCBvZiB0aGUga2V5ZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTA3OTAyZWM1MTRiZDgyNmFhMjlkMjI5ODEwN2UyYzA5MWUxYzc3OS4KCSAgVGhpcyBjb21taXQgaW50ZW5kZWQgdG8gZW5zdXJlIHRoYXQga2V5ZnJhbWUgc2Vla3MgbGFuZCBhdCB0aGUKCSAgc3RhcnQgdGltZXN0YW1wIG9mIGEga2V5ZnJhbWUsIHJhdGhlciB0aGFuIGluIHRoZSBtaWRkbGUgb2Ygb25lLAoJICBidXQgdGhleSBjYXVzZSB0cm91YmxlIG9uIGZpbGVzIHdpdGggc3BhcnNlIHN0cmVhbXMsIG9yIHdpdGgKCSAgSlBFRyAnY292ZXIgYXJ0JyB0cmFja3MgdGhhdCBoYXZlIG9ubHkgb25lIG9yIGEgZmV3IEpQRUcgc2FtcGxlcwoJICB3aXRoIHZlcnkgbG9uZyBkdXJhdGlvbnMuCgkgIFRoYXQncyBzdGlsbCBkZXNpcmFibGUgZm9yIGRvaW5nIHNlYW1sZXNzIGN1dHRpbmcgb2YgdmlkZW9zLAoJICBidXQgbmVlZHMgYSByZXRoaW5rIGZvciBpbXBsZW1lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODY5MAoKMjAxNy0wMi0xNyAwMToyMjoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkgIGF1ZGlvZngvZWNobzogYWRkZWQgc3Vycm91bmQtZGVsYXkgYW5kIHN1cnJvdW5kLW1hc2sKCSAgQWRkIGEgbmV3IGJvb2xlYW4gc3Vycm91bmQtZGVsYXkgcHJvcGVydHkgdGhhdCBtYWtlcwoJICBhdWRpb2VjaG8ganVzdCBhcHBseSBhIGRlbGF5IHRvIGNlcnRhaW4gY2hhbm5lbHMgdG8gY3JlYXRlCgkgIGEgc3Vycm91bmQgZWZmZWN0LCByYXRoZXIgdGhhbiBhbiBlY2hvIG9uIGFsbAoJICBjaGFubmVscy4gVGhpcyBpcyB1c2VmdWwgd2hlbiB1cG1peGluZyBmcm9tIHN0ZXJlbyAtIGZvciBleGFtcGxlLgoJICBBZGQgYSBzdXJyb3VuZC1tYXNrIHByb3BlcnR5IHRvIGNvbnRyb2wgd2hpY2ggY2hhbm5lbHMKCSAgYXJlIGNvbnNpZGVyZWQgc3Vycm91bmQgc291bmQgY2hhbm5lbHMgd2hlbiBhZGRpbmcgYQoJICBkZWxheSB3aXRoIHN1cnJvdW5kLWRlbGF5ID0gdHJ1ZQoJICBPcmlnaW5hbCBwYXRjaCBmcm9tIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKMjAxNy0wMi0xNSAwMDoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogVXNlIElQX01VTFRJQ0FTVF9BTEwgZm9yIGZpbHRlcmluZyBJUHY0IHBhY2tldHMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgZ29lcyBhcm91bmQgdGhlIGluZWZmaWNpZW50IGNvbnRyb2wgbWVzc2FnZSBiYXNlZCBmaWx0ZXJpbmcgYW5kCgkgIGRvZXMgYWxsIHRoZSBmaWx0ZXJpbmcga2VybmVsLXNpZGUuIFVuZm9ydHVuYXRlbHkgdGhpcyBpcyBMaW51eC1vbmx5IGFuZAoJICB0aGVyZSBpcyBubyBJUHY2IHZhcmlhbnQgb2YgaXQgKHlldCkuCgoyMDE3LTAyLTE0IDE5OjUzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIG1lc29uOiBkaXN0IG1lc29uIGJ1aWxkIGZpbGVzCgkgIFNoaXAgbWVzb24gYnVpbGQgZmlsZXMgaW4gdGFyYmFsbHMsIHNvIHBlb3BsZSB3aG8gdXNlIHRhcmJhbGxzCgkgIGluIHRoZWlyIGJ1aWxkcyBjYW4gc3RhcnQgcGxheWluZyB3aXRoIG1lc29uIGFscmVhZHkuCgoyMDE3LTAyLTEwIDEwOjUzOjA1ICswMTAwICBTw7hyZW4gSnV1bCA8enBvbi5ka0BnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHJlc2V0IHRhZ3Mgb24gZW1wdHkgdmFsdWUKCSAgU29tZSByYWRpbyBzdHJlYW1zIHVzZXMgU3RyZWFtVGl0bGU9JycgdG8gcmVzZXQgdGhlIHRpdGxlIGFmdGVyIGEKCSAgdHJhY2sgc3RvcHBlZCBwbGF5aW5nLCBlLmcuIHdoaWxlIHRoZSBob3N0IHRhbGtzIGJldHdlZW4gdHJhY2tzIG9yCgkgIGR1cmluZyBuZXdzIHNlZ21lbnRzLgoJICBUaGlzIGNoYW5nZSBmb3JjZXMgYW4gZW1wdHkgdGFnIG9iamVjdCB0byBiZSBkaXN0cmlidXRlZCBpZgoJICBTdHJlYW1UaXRsZSBvciBTdHJlYW1VcmwgaXMgcmVjZWl2ZWQgd2l0aCBlbXB0eSB2YWx1ZSwgdGh1cyBhbGxvd2luZwoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIGdldCBub3RpZmllZCBhYm91dCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDM3CgoyMDE3LTAyLTEzIDExOjE3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBub3RpZnkgbWlzc2luZyBlbGVtZW50cwoJICBJZiB0aGUgc3J0cCBlbGVtZW50cyBhcmUgbm90IHByZXNlbnQsIHBvc3QgYSBtZXNzYWdlIG9uIHRoZSBidXMKCSAgaW5mb3JtaW5nIGFib3V0IHRoZSBtaXNzaW5nIHBsdWdpbnMuCgoyMDE3LTAyLTEwIDEwOjMyOjU3IC0wMzAwICBKdWFuIFBhYmxvIFVnYXJ0ZSA8dWdhcnRlQGVuZGxlc3NtLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogbWFyayBzaW5nbGV0b24gY2FwcyBhcyAibWF5IGJlIGxlYWtlZCIgb2JqZWN0cy4KCSAgU2V0IE1BWV9CRV9MRUFLRUQgZmxhZyBvbiBzdGF0aWMgcGFkcyByZXR1cm5lZCBieSBnc3RfdjRsMl9vYmplY3RfZ2V0XypfY2FwcygpCgkgIGZ1bmN0aW9ucy4gTWFkZSBmdW5jdGlvbnMgdGhyZWFkIHNhZmUgYnkgdXNpbmcgZ19vbmNlX2luaXRbZW50ZXJ8bGVhdmVdCgkgIGZ1bnRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDUzCgoyMDE3LTAyLTA5IDE0OjE4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgbm93IHVudXNlZCBkb25lIGxhYmVsCgoyMDE3LTAyLTA5IDEyOjU1OjMyICswMTAwICBOaWNrIEthbGxlbiA8bmlja2thbGxlbkBtZS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGRvIG5vdCBjYWNoZSBjYXBzCgkgIFVwc3RyZWFtIGVsZW1lbnRzIGxpa2UgdmlkZW9mbGlwIGNhbiB0cmFuc2Zvcm0gY2Fwcywgc3VjaCBhcyBjaGFuZ2luZyB3aWR0aCBhbmQgaGVpZ2h0LgoJICBXaGVuIGFuIGltYWdlZnJlZXplIGRvd25zdHJlYW0gcmVjZWl2ZXMgYW4gQUNDRVBUX0NBUFMgcXVlcnkgaXQgd2lsbCBOT1cgcmV0dXJuCgkgIGFsbCBjYXBzIHRoYXQgaXQgY2FuIGFjY2VwdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODM4OQoKMjAxNy0wMi0wOSAxMToyOTo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgYSBjb21tZW50IGFib3V0IGhvdyBhdG9tX3RyYWtfc2V0X2Vsc3RfZW50cnkoKSB3b3JrcwoKMjAxNC0wOC0yMiAwOTo1NTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGRlbW90ZSBzb21lIGxvZyBtZXNzYWdlcyB0byBUUkFDRSBsZXZlbAoJICBEb24ndCBzcGFtIGRlYnVnIGxvZyB3aXRoIHVuaW50ZXJlc3Rpbmcgc3R1ZmYuCgoyMDE3LTAyLTA4IDE3OjI0OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IENsZWFyIGVkaXQgbGlzdHMgZXZlcnkgdGltZSB3ZSByZWNhbGN1bGF0ZSB0aGVtCgkgIFdlIHJlY2FsY3VsYXRlIHRoZW0sIHNvIGFueSBvbGQgaW5mb3JtYXRpb24gaGFzIHRvIGJlIGZvcmdvdHRlbi4KCSAgT3RoZXJ3aXNlIHdlIHdyaXRlIGludmFsaWQgZWRpdCBsaXN0cyB3aGVuIHdyaXRpbmcgaGVhZGVycyBtdWx0aXBsZQoJICB0aW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODMzMAoKMjAxNy0wMi0wNyAxMzoxMDoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogQWxsb3cgZm9yIGJ1ZmZlcnMgYmVmb3JlIHRoZSBzZWdtZW50IHdoZW4gbWVhc3VyaW5nCgkgIFVzZWQgc2lnbmVkIGNhbGN1bGF0aW9ucyB3aGVuIG1lYXN1cmluZyB0aGUgbWF4X3RzIG9mIGFuIGlucHV0CgkgIGZyYWdtZW50LCBzbyBhcyB0byBjYWxjdWxhdGUgdGhlIGNvcnJlY3QgZHVyYXRpb24gYW5kIG9mZnNldAoJICB3aGVuIGJ1ZmZlcnMgaGF2ZSB0aW1lc3RhbXBzIHByZWNlZGluZyB0aGVpciBzZWdtZW50CgoyMDE3LTAyLTAyIDEyOjU1OjI1ICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogcmVsYXRlIHJlY2VpdmVkIEZJUnMgYW5kIFBMSXMgdG8gc291cmNlCgkgIFRoaXMgaXMgbmVlZGVkIGluIG9yZGVyIHRvOgoJICAtIEF2b2lkIGlnbm9yaW5nIHJlcXVlc3RzIGZvciBkaWZmZXJlbnQgbWVkaWEgc291cmNlcy4KCSAgLSBBZGQgU1NSQyBmaWVsZCBpbiB0aGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MDEzCgoyMDE3LTAxLTMwIDIwOjIwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNhbml0eSBjaGVjayBudW1iZXIgb2Ygc2VnbWVudHMgaW4gZWRpdCBsaXN0CgkgIEZpeGVzIGNyYXNoIHdpdGggZnV6emVkIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc5NDAKCjIwMTctMDEtMDIgMjI6MTY6MzkgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNraXAgc2Vla2luZyBxdWVyeSBpZiB1cHN0cmVhbSBmb3JtYXQgaXMgdGltZQoJICBEb24ndCBuZWVkIHRvIHF1ZXJ5aW5nIGJ5dGUtZm9ybWF0IHNlZWtpbmcgZm9yIHRpbWUtZm9ybWF0CgkgIHVwc3RyZWFtIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjcxNQoKMjAxNi0xMi0wMSAxMjo0NzowOCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHVwc3RyZWFtJ3MgU3RyZWFtRmxhZ3MgaWYgdGhlcmUgYXJlCgkgIFdoZW4gbXVsdGlwbGUgZGVtdXhlcidzIGFyZSB1c2VkLCB1cHN0cmVhbSBtaWdodCB3YW50IHRvIGluZGljYXRlCgkgIGRlZmF1bHQgc3RyZWFtcyB1c2luZyBHU1RfU1RSRUFNX0ZMQUdfe1NFTEVDVCwgVU5TRUxFQ1R9CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NDAKCjIwMTctMDEtMjcgMTY6MTQ6MTYgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogVGltZWNvZGUgdHJhY2sgZml4ZXMgZm9yIFNUU0QgZW50cnkKCSAgVGhlIG5fZnJhbWVzIGZpZWxkIChmcmFtZXMgcGVyIHNlY29uZCkgc2hvdWxkIGZvbGxvdyB0aGUgbm9taW5hbCBmcmFtZQoJICByYXRlIGZvciBkcm9wLWZyYW1lIHRpbWVjb2Rlcy4KCSAgQWxzbywgdGhlIHRyYWsncyB0aW1lc2NhbGUgKGFuZCBkdXJhdGlvbiwgYWNjb3JkaW5nbHkpIHNob3VsZCBmb2xsb3cgdGhlCgkgIFNUU0QgZW50cnkncyB0aW1lc2NhbGUgYW5kIGZyYW1lIGR1cmF0aW9uIChmcHNfbiBhbmQgZnBzX2QgYWNjb3JkaW5nbHkpLAoJICBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc4MzIKCjIwMTctMDEtMTkgMTE6MDg6MTEgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJldHJ5IHJlcXVlc3Qgb24gZWFybHkgdGVybWluYXRpb24gZnJvbSB0aGUgc2VydmVyCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgMTgzNjk1YzYxYTU0ZjEgKHJlZmFjdG9yIHRvIHVzZQoJICBTb3VwJ3Mgc3luYyBBUEkpLiBUaGUgY29kZSBwcmV2aW91c2x5IGF0dGVtcHRlZCB0byByZWNvbm5lY3Qgd2hlbiB0aGUKCSAgc2VydmVyIGNsb3NlZCB0aGUgY29ubmVjdGlvbiBlYXJseSwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgc3RyZWFtIHdhcyBwdXQKCSAgaW4gcGF1c2UgZm9yIHNvbWUgdGltZS4KCSAgUmVpbnRyb2R1Y2UgdGhpcyBmZWF0dXJlIGJ5IGNoZWNraW5nIGlmIEVPUyBpcyByZWNlaXZlZCBiZWZvcmUgdGhlCgkgIGV4cGVjdGVkIGNvbnRlbnQgc2l6ZSBpcyBkb3dubG9hZGVkLiBJbiB0aGlzIGNhc2UsIGRvIHRoZSByZXF1ZXN0CgkgIHN0YXJ0aW5nIGF0IHRoZSBwcmV2aW91cyByZWFkIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NzIwCgoyMDE3LTAxLTEwIDA5OjQwOjU2IC0wNzAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaW5kX3N0cmVhbV9ieV9jaGFubmVsIHNob3VsZCBpZ25vcmUgdW5jb25maWd1cmVkIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEwMQoKMjAxNy0wMS0yNSAxODo0MzowMCArMDAwMCAgQnJlbmRhbiBTaGFua3MgPGJyZW5kYW4uc2hhbmtzQHRlcmFkZWsuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHR5cG8gYW5kIHJlbW92ZSBtaXNsZWFkaW5nIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM2MgoKMjAxNy0wMS0yNSAyMDo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJICBydHA6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgaW4gZXhhbXBsZQoJICBjbGllbnQtUENNQS5jOjg0OjIyOiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2lzcmMnIFstV3VudXNlZC12YXJpYWJsZV0KCSAgR09iamVjdCAqc2Vzc2lvbiwgKmlzcmMsICpvc3JjOwoJICBeCgoyMDE3LTAxLTI1IDE5OjIxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogVGhlIGNvZGUgcmVxdWlyZXMgYXQgbGVhc3QgQysrMTEKCSAgLi4uIGFuZCBjbGFuZyByZXF1aXJlcyB0aGlzIHRvIGJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUgd2hpbGUgZ2NjCgkgIG5vd2FkYXlzIGRlZmF1bHRzIHRvIEMrKzExIG9yIGV2ZW4gbmV3ZXIuCgoyMDE3LTAxLTA5IDExOjMyOjM1ICswNTMwICBSYWh1bCBCZWRhcmthciA8cmFodWwuYmVkYXJrYXJAaW1ndGVjLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2hlY2sgZm9yIG5vdCBOVUxMIGJlZm9yZSBjbGVhcmluZyBhZGFwdGVyCgkgIEluIGNhc2Ugd2F2cGFyc2UgcmVjZWl2ZXMgYSBtYW51YWxseSBpbmplY3RlZCBGTFVTSF9TVE9QIGV2ZW50CgkgIHdoaWxlIG9wZXJhdGluZyBpbiBwdWxsIG1vZGUgd2UgZ2V0IGNyaXRpY2FscyBiZWNhdXNlIHdlJ2QgdHJ5CgkgIHRvIGNsZWFyIGEgTlVMTCBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTIzCgoyMDE3LTAxLTI0IDE5OjIzOjQ0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogUHJvcGVybHkgdXNlICc6JyBmb3IgZGVmaW5pbmcga2V5d29yZHMKCjIwMTctMDEtMTcgMTY6NDE6NTggKzAxMDAgIEplYW4tQ2hyaXN0b3BoZSBUcm90aW4gPGplYW4tY2hyaXN0b3BoZS50cm90aW5Ac3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiByZWZlcmVuY2UgbWVtb3J5IGJlZm9yZSB0aGUgYnVmZmVyIGlzIHF1ZXVlZAoJICBJbiBnc3RfdjRsMl9hbGxvY2F0b3JfcWJ1ZigpLCB0aGUgbWVtb3J5IGlzIHJlZmVyZW5jZWQgYWZ0ZXIgdGhlCgkgIGJ1ZmZlciBpcyBxdWV1ZWQuIE9uY2UgcXVldWVkIChWSURJT0NfUUJVRiksIHRoZSBidWZmZXIgbWlnaHQgYmUgaGFuZGxlZAoJICBieSB0aGUgVjRMMiBkcml2ZXIgKGUuZy4gZGVjb2RlZCkgYW5kIGRlcXVldWVkIChnc3RfdjRsMl9hbGxvY2F0b3JfZHFidWYpLAoJICB0aHJvdWdoIGEgZGlmZmVyZW50IHRocmVhZCwgYmVmb3JlIHRoZSBtZW1vcnkgaXMgcmVmZXJlbmNlZCAoZ3N0X21lbW9yeV9yZWYpLgoJICBJbiB0aGlzIGNhc2UsIGluIGdzdF92NGwyX2FsbG9jYXRvcl9kcWJ1ZigpLCB0aGUgbWVtb3J5IGlzIHVucmVmZXJlbmNlZAoJICAoZ3N0X21lbW9yeV91bnJlZikgYmVmb3JlIGhhdmluZyBiZWVuIHJlZmVyZW5jZWQ6IHRoZSBtZW1vcnkgcmVmY291bnQKCSAgcmVhY2hlcyAwLCBhbmQgdGhlIG1lbW9yeSBpcyBmcmVlZC4KCSAgU28sIHRvIGF2b2lkIHRoaXMgY3Jvc3NpbmcgY2FzZSwgaW4gZ3N0X3Y0bDJfYWxsb2NhdG9yX3FidWYoKSwgdGhlCgkgIG1lbW9yeSBzaGFsbCBiZSByZWZlcmVuY2VkIGJlZm9yZSB0aGUgYnVmZmVyIGlzIHF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM5OQoKMjAxNy0wMS0yNCAxNzo1OTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IE9ubHkgd3JpdGUgNCBieXRlIHplcm8gcGFkZGluZyB0byB0aGUgVmlkZW8gU2FtcGxlIERlc2NyaXB0aW9uIGluIE1PVgoJICBGb3IgTVA0IHRoaXMgaXMgbm90IGRlZmluZWQsIGFuZCBpdCBhY3R1YWxseSBicmVha3MgdGhpbmdzIGZvciBNU0UgaW4KCSAgQ2hyb21lIGlmIHdlIGRvIHRoaXMuIEZvciBNT1YgdGhpcyBpcyByZXF1aXJlZCBieSBzb21lIGJyb2tlbiBzb2Z0d2FyZQoJICBidXQgdGhlIG9mZmljaWFsIHNwZWNpZmljYXRpb24gc2F5cyBpdCdzIG9wdGlvbmFsOgoJICBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9jb250ZW50L2RvY3VtZW50YXRpb24vUXVpY2tUaW1lL1FURkYvUVRGRkNoYXAzL3F0ZmYzLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzU0MAoKMjAxNy0wMS0wMiAxMzo0MjowNCArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2Nhcm90QHR3aWxpby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogS2VlcCBudW1iZXIgb2YgbmFja3Mgc2VudC9yZWNlaXZlZCBwZXIgc291cmNlCgkgIEN1cnJlbnRseSwgdGhlIG5hY2sgcGFja2V0cyBzZW50IG9yIHJlY2VpdmVkIGFyZSBrZXB0IGF0IHNlc3Npb24gbGV2ZWwsCgkgIHdoaWNoIG1ha2VzIGl0IGltcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggaG93IG1hbnkgb2YgdGhlc2UgcGFja2FnZXMgd2VyZQoJICBzZW50L3JlY2VpdmVkIHBlciBzc3JjIHdoZW4gc2V2ZXJhbCBzb3VyY2VzIGFyZSBpbiB0aGUgc2FtZSBzZXNzaW9uLiBUaGlzCgkgIHBhdGNoIGlzIGFsaWduZWQgd2l0aCB0aGUgaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYnJ0Yy1zdGF0cy8jZG9tLXJ0Y3J0cHN0cmVhbXN0YXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3MTQKCjIwMTYtMTItMDggMTU6NTk6MzMgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IEZpeCBoYW5kbGluZyBvZiBjb25maWctaW50ZXJ2YWwKCSAgSW5zZXJ0IFZQUy9TUFMvUFBTIGJlZm9yZSB0aGUgZmlyc3QgTkFMIHVuaXQgY29udGFpbmluZyBhbiBJLWZyYW1lIGluIGFuCgkgIGFjY2VzcyB1bml0IG9ubHkuIElmIGFuIGFjY2VzcyB1bml0IGNvbnNpc3RzIG9mIHNldmVyYWwgc3VjaCBOQUwgdW5pdHMKCSAgKHRpbGVzKSBWUFMvU1BTL1BQUyBzaG91bGQgb25seSBiZSBpbnNlcnRlZCBiZWZvcmUgdGhlIGZpcnN0IG9mIHRoZW0gc28KCSAgdGhhdCBwYXJhbWV0ZXJzIGFyZSBvbmx5IHVwZGF0ZWQgYmV0d2VlbiBmcmFtZXMuCgkgIERvIG5vdCBpbnNlcnQgVlBTL1NQUy9QUFMgYmVmb3JlIFAtZnJhbWVzIHdoZW4gY29uZmlnLWludGVydmFsIGlzIC0xLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1ODE3CgoyMDE3LTAxLTE5IDEyOjI5OjQ0ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXBvcnQgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSB3aGVuIHNvdXBfc2Vzc2lvbl9zZW5kIGZhaWxzCgkgIFRoaXMgaGVscHMgdG8gdW5kZXJzdGFuZCBjYXNlcyB3aGVyZSBsaWJzb3VwIGRvZXNuJ3Qgc2V0IHRoZSBtZXNzYWdlCgkgIHN0YXR1cyBjb2RlIGFmdGVyIHJ1bm5pbmcgc291cF9zZXNzaW9uX3NlbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTkgMTE6MDU6MDAgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHByb3Blcmx5IGNoZWNrIHRoYXQgc2VlayByYW5nZSB3YXMgcmVzcGVjdGVkCgkgIFRoaXMgY2hlY2sgbXVzdCBiZSBkb25lIG9ubHkgd2hlbiB3ZSBhcmUgc3VyZSB0aGUgcmVxdWVzdCB3YXMKCSAgc3VjY2Vzc2Z1bGx5IHNlbnQuIHNvdXBfc2Vzc2lvbl9zZW5kKCkgbWlnaHQgZmFpbCB3aXRob3V0IHNldHRpbmcgdGhlCgkgIHN0YXR1cyBjb2RlLiBJbiB0aGlzIGNhc2Ugc3RhdHVzIGNvZGUgaXMgMCBzbyB3ZSB3b3VsZCBvbmx5IGNhdGNoIHRoZQoJICBlcnJvciBhZnRlciB0aGUgc2VlayByYW5nZSBjaGVjay4gSW4gdGhpcyBjYXNlIHdlIHdvdWxkIHJlcG9ydCBhbiBlcnJvcgoJICBzYXlpbmcgdGhhdCB0aGUgc2VlayByYW5nZSB3YXMgbm90IHJlc3BlY3RlZCwgaW5zdGVhZCBvZiByZXBvcnRpbmcgdGhlCgkgIHVuZGVybHlpbmcgZXJyb3IgdGhhdCB0cmlnZ2VyZWQgdGhlIHNvdXBfc2Vzc2lvbl9zZW5kKCkgZmFpbHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYXR0YWNobWVudC5jZ2k/YnVnaWQ9Nzc3MjIyCgoyMDE3LTAxLTA5IDIxOjA0OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkIGEgcG9zaXRpb25pbmcgY29lZmZpY2llbnQgcGFpcgoJICAuLi4gc28gYXMgdG8gYWxsb3cgb25lIGNsZWFybHkgZGVmaW5lZCAoYWJzb2x1dGUpIHBvc2l0aW9uaW5nIG1vZGUKCSAgdGhhdCBjYW4gY2F0ZXIgZm9yIGEgdmFyaWV0eSBvZiBhYnNvbHV0ZSBidXQgYWxzbyByZWxhdGl2ZSBwb3NpdGlvbmluZwoJICB3aXRoIHJlc3BlY3QgdG8gZWRnZSBvciBjZW50ZXIuCgoyMDE3LTAxLTIxIDIwOjQ4OjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IHVwZGF0ZSBjb21wb3NpdGlvbiBpbiBfYmVmb3JlX3RyYW5zZm9ybQoJICAuLi4gc2luY2Ugd2UgbmVlZCB0byBkZXRlcm1pbmUgcGFzc3Rocm91Z2ggbW9kZSBmb3IgYnVmZmVyIHByZXBhcmF0aW9uIGJlZm9yZQoJICBjYWxsaW5nIGludG8gX3RyYW5zZm9ybV9pcC4KCjIwMTctMDEtMDcgMjA6MTE6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogaGFuZGxlIHNldHRpbmcgTlVMTCBnZGtwaXhidWYKCSAgLi4uIHdoaWNoIGlzIGEgY2xlYXJlciB3YXkgdG8gY2xlYXIgYW55IGN1cnJlbnQgb3ZlcmxheSwgb3RoZXIgdGhhbgoJICBmaWRkbGluZyB3aXRoIGFscGhhIG9yIHBvc2l0aW9uaW5nIHByb3BlcnRpZXMgdG8gbWFrZSBpdCB2aXJ0dWFsbHkgZ28gYXdheS4KCjIwMTctMDEtMjAgMTc6MTY6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHJlYWRpbmcgYSBuY2R0IHN1Yi10YWcgaWYgaXQgZ29lcyBiZWhpbmQgdGhlIHN1cnJvdW5kaW5nIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NTMyCgoyMDE3LTAxLTIwIDA3OjU4OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHZhcmlvdXMgb3V0IG9mIGJvdW5kcyByZWFkcyB3aGVuIHBhcnNpbmcgbmNkdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc1MDAKCjIwMTctMDEtMTkgMTM6NDY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW5jcmVtZW50IGN1cnJlbnQgc3R0cyBpbmRleCB3aGVuZXZlciB3ZSBmaW5pc2hlZCBvbmUgc3R0cyBlbnRyeQoJICBPdGhlcndpc2Ugd2UgY291bGQgcmVhZCBtb3JlIGNodW5rcyB0aGFuIHRoZXJlIGFyZSBhdmFpbGFibGUsIGRvaW5nIGFuCgkgIG91dCBvZiBib3VuZHMgcmVhZCBhbmQgcG90ZW50aWFsbHkgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc0NjkKCjIwMTctMDEtMTkgMTM6MjU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBJbmNyZW1lbnQgY3VycmVudCBzdHRzIGluZGV4IGluIGFsbCBjb2RlIHBhdGhzIGFmdGVyIHJlYWRpbmcgb25lIGNodW5rIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk5ZDVkNzU3MGQwYjUzZGFkM2JjOGViNjUzYjEzMjBlZTQyMmFhY2UuIEl0IGJyb2tlCgkgIHBsYXliYWNrIG9mIHZhcmlvdXMgdmFsaWQgZmlsZXMuCgoyMDE3LTAxLTE5IDA3OjUyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluY3JlbWVudCBjdXJyZW50IHN0dHMgaW5kZXggaW4gYWxsIGNvZGUgcGF0aHMgYWZ0ZXIgcmVhZGluZyBvbmUgY2h1bmsKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIHJlYWQgbW9yZSBjaHVua3MgdGhhbiB0aGVyZSBhcmUgYXZhaWxhYmxlLCBkb2luZyBhbgoJICBvdXQgb2YgYm91bmRzIHJlYWQgYW5kIHBvdGVudGlhbGx5IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDY5CgoyMDE3LTAxLTE5IDA4OjM3OjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEluaXRpYWxpemUgcmV0dXJuIHZhcmlhYmxlCgkgIEluIHRoZSBub3JtYWwgdXNlLWNhc2Ugd2Ugd291bGQgZW5kIHVwIHdpdGggcmV0IGJlaW5nIHVuaXRpYWxpemVkCgkgIGNhdXNpbmcgaGF2b2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTMgMTI6Mjc6NDAgKzAwMDAgIERhdmlkIFdhcm1hbiA8ZHdhcm1hbkBtYW5nbGViaXQub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIFhNUCB0YWcgcGFyc2luZyBmYXRhbCBlcnJvci4KCSAgcXRkZW11eF9oYW5kbGVfeG1wX3RhZ2xpc3QoKSByZXF1aXJlcyBhIHdyaXRhYmxlIHRhZ2xpc3QsCgkgIGJ1dCBxdGRlbXV4LT50YWdfbGlzdCBjYW4gYmVjb21lIG5vbi13cml0YWJsZSwgc3BlY2lmaWNhbGx5CgkgIGFmdGVyIHNlbmRpbmcgZ2xvYmFsIHRhZ3MgKHF0ZGVtdXguYzo5NTgpLCB3aGljaCBhZGRzIGEKCSAgc2Vjb25kIHJlZmVyZW5jZS4gIEVuc3VyZSB0aGUgbGlzdCBpcyBtYWRlIHdyaXRhYmxlIGJlZm9yZQoJICBjYWxsaW5nIChtYWtlX3dyaXRhYmxlIHdpbGwgY29weSB0aGUgbGlzdCBpZiBuZWNlc3NhcnkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTc3CgoyMDE2LTA1LTMxIDEzOjE3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXdvcmsgdGFnbGlzdCBoYW5kbGluZwoJICBLZWVwIHRhZ2xpc3QgYXJvdW5kIGR1cmluZyBlbGVtZW50IGV4aXN0YW5jZSB0byBhdm9pZCBoYXZpbmcgdG8KCSAgY3JlYXRlIGl0IGF0IGRpZmZlcmVudCBwbGFjZXMgYmVmb3JlIHVzYWdlLiBNYWtlcyBjb2RlIHNpbXBsZXIgdG8gaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTc3CgoyMDE3LTAxLTE2IDExOjU4OjAyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBtYWtlIGZsb3cgcmV0dXJuIHZhbHVlcyBoYW5kbGluZyBjbGVhcmVyCgkgIFRoZSBmbG93IHJldHVybiB2YWx1ZXMgd2FzIHN0b3JlZCBpbiB0aGUgZWxlbWVudCBiZWZvcmUgYmVjYXVzZSB0aGUKCSAgcmVzdWx0IGhhZCB0byBiZSBzZXQgZnJvbSBjYWxsYmFja3MuIFRoaXMgaXMgbm90IHRoZSBjYXNlIGFueW1vcmUsIHdlCgkgIGNhbiByZXR1cm4gdGhlIGZsb3cgcmVzdWx0IGRpcmVjdGx5IGZyb20gZnVuY3Rpb25zLCBtYWtpbmcgdGhlIGNvZGUKCSAgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcyMjIKCjIwMTctMDEtMTMgMTY6NDA6NDMgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHByb3Blcmx5IHRyYWNrIHJlZGlyZWN0aW9ucwoJICBUaGUgY3VycmVudCBjb2RlIGNvbmZpZ3VyZXMgbGlic291cCB0byBoYW5kbGUgcmVkaXJlY3Rpb25zCgkgIHRyYW5zcGFyZW50bHksIHdpdGhvdXQgaW5mb3JtaW5nIHRoZSBjYWxsZXIsIHRodXMgcHJldmVudGluZyB0aGUgZWxlbWVudAoJICB0byByZWNvcmQgdGhlIHJlZGlyZWN0IGNvZGUgYW5kIGxvY2F0aW9uIHVyaS4KCSAgRml4IHRoaXMgYnkgYWx3YXlzIHNldHRpbmcgdGhlIFNPVVBfTUVTU0FHRV9OT19SRURJUkVDVCwgcHJldmVudGluZwoJICBsaWJzb3VwIGZyb20gaGFuZGxpbmcgdGhlIHJlZGlyZWN0aW9uLiBXaGVuIHdlIHJlY2VpdmUgYSByZWRpcmVjdGlvbgoJICByZXF1ZXN0IGFuZCBsaWJzb3VwIGNhbiBzYWZlbHkgaGFuZGxlIGl0LCByZXR1cm4gYSBjdXN0b20gZXJyb3Igd2hpY2gKCSAgdHJpZ2dlcnMgYSByZXRyeSB3aXRoIHRoZSBuZXcgVVJJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjIyCgoyMDE3LTAxLTE3IDEwOjUzOjM5ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDQ0NDQgYW5kIDQ0NDR4cSB2YXJpYW50cyB0byB2aWRlby94LXByb3JlcyBwYWQgdGVtcGxhdGUgY2FwcwoJICBUaGV5IGFyZSBoYW5kbGVkIHNpbmNlIGNvbW1pdCA3YjU2NTQ3NWJmNTUxYzUzYjhlZWQ0NmY3MDg2ZjNiMzcyZjFmNmM0CgkgIChxdDogQWRkIHN1cHBvcnQgZm9yIFByb1JlcyA0NDQ0IFhRKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM3NwoKMjAxNy0wMS0xNyAxMDo0ODo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBRdWlldCBhIFdBUk4gd2hlbiBwYXJzaW5nIHB1c2ggbW9kZQoJICBUaGlzIHdhcm5pbmcgd2FzIG5vaXN5IHdoZW4gcmV0dXJuaW5nIEVPUywgd2hpY2ggaXMKCSAganVzdCB1c2VkIHRvIGluZGljYXRlIG1vcmUgZGF0YSBpcyBuZWVkZWQgZnJvbSB1cHN0cmVhbS4KCjIwMTctMDEtMTYgMTQ6NTA6MjIgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHdyaXRlIFN5bmMgU2FtcGxlIEF0b20gZm9yIFByb1JlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MzMxCgoyMDE1LTAxLTI4IDA4OjU4OjI2ICswMTAwICBFbnJpY28gSm9ybnMgPGVqb0BwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IFJlbW92ZSB1c2FnZSBhbmQgZGVmaW5pdGlvbiBvZiBMT0dfQ0FQUyBtYWNybwoJICBVbmxpa2UgZm9ybWVyIGRlZmluaXRpb25zIG9mIExPR19DQVBTLCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzaW1wbHkKCSAgZXhwYW5kcyB0byBHU1RfREVCVUdfT0JKRUNULiBUaGUgTE9HX0NBUFMgbWFjcm8gaXMgcmFyZWx5IHVzZWQgYW5kIG1vc3QKCSAgdXNlcyBkdXBsaWNhdGUgYWxyZWFkeSBleGlzdGluZyBHU1RfREVCVUdfT0JKRUNUIGxpbmVzLiBUaGVyZWZvcmUsIHRoZQoJICBjYXBzIGFyZSBvZnRlbiBwcmludGVkIHR3aWNlIHdoaWNoIHVubmVjZXNzYXJpbHkgY2x1dHRlcnMgdGhlIGRlYnVnIGxvZy4KCSAgUmVwbGFjZSBMT0dfQ0FQUyBjYWxscyB3aXRoIEdTVF9ERUJVR19PQkpFQ1QsIHJlbW92ZSBMT0dfQ0FQUyBjYWxscywgYW5kCgkgIGRlbGV0ZSB0aGUgZGVmaW5pdGlvbiBvZiBMT0dfQ0FQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Njg5OQoKMjAxNy0wMS0xNiAxNTo0MDo0MyArMDEwMCAgSmVhbi1DaHJpc3RvcGhlIFRyb3RpbiA8amVhbi1jaHJpc3RvcGhlLnRyb3RpbkBzdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogcmVtb3ZlIGR1cGxpY2F0ZWQgbGluZSBvZiBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczMzAKCjIwMTctMDEtMTYgMTU6MTc6MTUgKzAxMDAgIEplYW4tQ2hyaXN0b3BoZSBUcm90aW4gPGplYW4tY2hyaXN0b3BoZS50cm90aW5Ac3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggbWVtb3J5IHR5cGUgaW4gYWxsb2NhdG9yIHByb2JlCgkgIFRoZSBidWZmZXIgbWVtb3J5IHR5cGUgcHJvdmlkZWQgdG8gdGhlIFZJRElPQ19DUkVBVEVfQlVGUyBpb2N0bCBzaGFsbAoJICBiZSBzZXQgd2l0aCB0aGUgdmFsdWUgKCJtZW1vcnkiKSBnaXZlbiBhcyBpbnB1dCBwYXJhbWV0ZXIgb2YgdGhlCgkgIGdzdF92NGwyX2FsbG9jYXRvcl9wcm9iZSgpIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MzI3CgoyMDE3LTAxLTE0IDE1OjI3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggb3RoZXIgaWNvbiBjb3VudGVyIGNoZWNrCgkgIEl0J3MgbmV2ZXIgZ29pbmcgdG8gYmUgMCBpZiB3ZSBmaXJzdCBpbmNyZW1lbnQgYW5kIHRoZW4gY2hlY2suCgoyMDE3LTAxLTE0IDE1OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGJvbGRseSBhc3N1bWUgdGhhdCBmaXJzdCAnY292cicgaW1hZ2UgaXMgdGhlIGZyb250IGNvdmVyCgoyMDE3LTAxLTE0IDE1OjA5OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgY292ZXIgYXJ0IGltYWdlcyBpbnRvIEdTVF9UQUdfSU1BR0Ugbm90IFBSRVZJRVdfSU1BR0UKCSAgVGhlc2UgYXJlIHVzdWFsbHkgbXVjaCBiaWdnZXIgdGhhbiBpY29uIHNpemUgYW5kIHJlcXVpcmVkIGJ5CgkgIGlUdW5lcyB0byBiZSBjZXJ0YWluIGZhaXJseSBsYXJnZSBzaXplcy4gSW4gcXRtdXggaXQgaXMgYWxzbwoJICB0aGUgSU1BR0UgdGFncyB3aGljaCB3ZSB3cml0ZSBvdXQgYXMgJ2NvdnInIGF0b21zLgoKMjAxNy0wMS0xNCAxNTowNTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWxzbyBzZXQgUElDVFVSRSB0YWcgd2lkdGggYW5kIGhlaWdodCBpZiBhdmFpbGFibGUKCjIwMTctMDEtMTQgMTQ6NTg6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBlbmNvZGVyIGluaXQgZXJyb3Igd2l0aCBzb21lIEdTVF9UQUdfUFJFVklFV19JTUFHRXMKCSAgVGhlIGVuY29kZXIgZmFpbHMgdG8gaW5pdGlhbGlzZSB3aGVuIHdlIHRyeSB0byBzZXQgR1NUX1RBR19QUkVWSUVXX0lNQUdFcwoJICBzZW50IHRvIHVzZSBieSBxdGRlbXV4IGZyb20gaVR1bmVzLWdlbmVyYXRlZCBtNGEgZmlsZXMuIFdlIHNob3VsZAoJICBub3QganVzdCBibGluZGx5IHRyYW5zbGF0ZSB0aGUgUFJFVklFVyB0YWcgdG8gZmlsZSBpY29uIGltYWdlIHR5cGVzLAoJICBidXQgY2hlY2sgaWYgdGhlIHNwZWNpZmljIGNvbmRpdGlvbnMgcmVxdWlyZWQgYXJlIG1ldCAoaS5lLiBpbWFnZQoJICB0eXBlIDEgbXVzdCBiZSBhIDMyeDMyIFBORyBpY29uLCBhbmQgd2hhdCB3ZSdyZSBnZXR0aW5nIGlzIDUwMHg1MDApLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTYyCgoyMDE3LTAxLTEzIDEyOjM5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidW1wIHZlcnNpb24KCjIwMTctMDEtMTEgMTA6MzI6MjMgLTAzMDAgIEp1YW4gUGFibG8gVWdhcnRlIDx1Z2FydGVAZW5kbGVzc20uY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbC9leGFtcGxlcy9ndGs6IGZpeGVkIGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgd2l0aG91dCBHTF9HRU9NRVRSWV9TSEFERVIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE0MwoKMjAxNy0wMS0xMiAyMTozNToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L2dzdHF0c3JjLmNjOgoJICBnbC91dGlsczogYWxzbyB0YWtlIGNhcmUgb2YgdGhlIGxvY2FsIEdMIGNvbnRleHQgaW4gcXVlcnkgZnVuY3Rpb25zCgkgIFNpbXBsaWZpZXMgYSBkZWR1cGxpY2F0ZXMgYSBsb3Qgb2YgY29kZSBpbiBlbGVtZW50cyByZXRyaWV2aW5nL3NldHRpbmcKCSAgdGhlIGxvY2FsIE9wZW5HTCBjb250ZXh0LgoKMjAxNy0wMS0xMiAyMTozNToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgZ2wvdXRpbHM6IGFsc28gdGFrZSBjYXJlIG9mIHRoZSBsb2NhbCBHTCBjb250ZXh0IGluIHF1ZXJ5IGZ1bmN0aW9ucwoJICBTaW1wbGlmaWVzIGEgZGVkdXBsaWNhdGVzIGEgbG90IG9mIGNvZGUgaW4gZWxlbWVudHMgcmV0cmlldmluZy9zZXR0aW5nCgkgIHRoZSBsb2NhbCBPcGVuR0wgY29udGV4dC4KCjIwMTYtMTItMjIgMTc6NDA6NDAgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBBZGQgb3B0aW9uIGZvciB0aW1lY29kZS1iYXNlZCBzcGxpdAoJICBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiwgaXQgd2lsbCBjYWxjdWxhdGUgdGhlIG5leHQgc3BsaXQgcG9pbnQgYmFzZWQgb24KCSAgdGltZWNvZGUgZGlmZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDIwOQoKMjAxNy0wMS0xMyAwMDowMTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXNldCByZXF1ZXN0IHBhZCBudW1iZXJpbmcgYWNyb3NzIHVzZXMKCSAgV2hlbiByZXNldCwgZG9uJ3QgcmVzdGFydCByZXF1ZXN0IHBhZCBudW1iZXJpbmdzLCBhcwoJICByZXF1ZXN0IHBhZHMgY2FuIHN1cnZpdmUgYWNyb3NzIHN0YXRlIGNoYW5nZXMuIE9ubHkKCSAgcmVzdGFydCBhdCAwIGlmIGFsbCByZXF1ZXN0IHBhZHMgYXJlIGhhbmRlZCBiYWNrIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTc0CgoyMDE3LTAxLTExIDE4OjUyOjI4ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHhxdWV1ZTogRXhwb3NlIGJhc2ljIHN0YXRpc3RpY3MgYXMgcHJvcGVydGllcy4KCSAgU3RhdGlzdGljcyBhYm91dCB0aGUgdG90YWwgbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzCgkgIGFuZCB0aGUgYWN0dWFsIG51bWJlciBvZiByZXRyYW5zbWl0dGVkIHBhY2tldHMgY2FuIGJlIGhlbHBmdWwKCSAgYXQgYXBwbGljYXRpb24tbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxODIKCjIwMTctMDEtMTIgMTc6NDU6MzUgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSB2aWRlby94LWgyNjQgY2FwcyBoYW5kbGluZwoJICAnc3RyZWFtLWZvcm1hdCcgYW5kICdhbGlnbm1lbnQnIGFyZSBkZWZpbmVkIGluIHBhZCB0ZW1wbGF0ZSBjYXBzIHNvCgkgIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgdGhlbSBhZ2FpbiBoZXJlLiBBbHNvIHJlbW92ZSBiaXRyYXRlIHBhcnNpbmcgZnJvbQoJICBjYXBzIGFzIGJpdHJhdGUgaW4gY2FwcyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYnV0IGZyb20gdGFncywgd2hpY2ggaXMKCSAgYWN0dWFsbHkgdGhlIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxODEKCjIwMTYtMTItMDggMTc6MDI6MjIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBiYXNpYyBIRVZDL0guMjY1IG11eGluZyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3NTIKCjIwMTctMDEtMTEgMTg6Mjk6MDUgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IENhbGN1bGF0ZSBjbGVhbiBhcGVydHVyZSBzaXplCgkgIENhbGN1bGF0ZSBjbGVhbiBhcGVydHVyZSBkaW1lbnNpb25zIGJ5IGZpcnN0IGd1ZXNzaW5nCgkgIGRpc3BsYXkgYXNwZWN0IHJhdGlvIGJhc2VkIG9uIHBpeGVsIGFzcGVjdCByYXRpbyBhbmQKCSAgZnJhbWUgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEwMAoKMjAxNy0wMS0xMCAxODoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdG11eDogV3JpdGUgdGFwdCBhdG9tIGZvciBNT1YgZmlsZXMgaWYgUEFSIG5vdCAxLzEKCSAgTmVlZGVkIGZvciBRdWlja1RpbWUgNyB0byBwcm9wZXJseSBwbGF5IGZpbGVzLgoJICBBbHNvIHdyaXRlIHRoZSBjbGFwIGF0b20gZm9yIE1PViBmaWxlcyBhbHdheXMsIG5vdCBvbmx5IHdoZW4gUHJvUmVzIGlzCgkgIHVzZWQgYXMgYSB2aWRlbyBjb2RlYy4gSXQncyBtYW5kYXRvcnkgZm9yIE1PVi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzEwMAoKMjAxNy0wMS0xMiAxNjozMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xMS4xID09PQoKMjAxNy0wMS0xMiAxNTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgUmVsZWFzZSAxLjExLjEKCjIwMTctMDEtMTIgMTQ6Mzg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDEtMTIgMTQ6MzY6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2lkLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDEtMTEgMTc6NTM6MzIgLTA4MDAgIEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJlZSBzZXFoIGFmdGVyIGNhbGxpbmcgcXRkZW11eF9wYXJzZV9zdnEzX3N0c2RfZGF0YSgpCgkgIFRoZSBzZXFoIGJ1ZmZlciBhbGxvY2F0ZWQgaW4gcXRkZW11eF9wYXJzZV9zdnEzX3N0c2RfZGF0YSgpIG5lZWRzIHRvCgkgIGJlIGZyZWVkIGJ5IHRoZSBjYWxsZXIgYWZ0ZXIgdXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTU3CgkgIFNpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CgoyMDE3LTAxLTEwIDE2OjAxOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogRG9uJ3Qgc3BhbSBkZWJ1ZyBsb2cgd2l0aCBrbm9udy9wYWRkaW5nIGF0b21zCgkgIE9ubHkgb3V0cHV0IFdBUk5JTkcgbWVzc2FnZXMgZm9yIGF0b21zIHdlIGRvbid0IGtub3cgaG93IHRvIGhhbmRsZQoJICBpbnN0ZWFkIG9mIGZvciBwYWRkaW5nL2tub3duIGF0b21zIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55IHByb2Nlc3NpbmcKCSAgb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzA5NQoKMjAxNy0wMS0xMCAxNjo1NDo0OCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuaDoKCSAgcW1sZ2xzcmM6IHVzZSBnbEJsaXRGcmFtZWJ1ZmZlciB0byBjb3B5IHRleHR1cmUgZm9yIEdMRVMzLjAKCSAgSWYgc3VwcG9ydCBnbEJsaXRGcmFtZUJ1ZmZlciwgdXNlIGl0IGZvciB0ZXh0dXJlIGNvcHkgaW5zdGVhZAoJICBvZiBnbENvcHlUZXhJbWFnZTJECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcwNzgKCjIwMTctMDEtMDkgMTk6MDU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIEZpeCBpbmRlbnRhdGlvbgoKMjAxNy0wMS0wOSAxOTowNDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZyBkdWUgdG8gYzk5LWlzbQoJICBydHBqaXR0ZXJidWZmZXIuYzo1OTI6MzogZXJyb3I6IOKAmGZvcuKAmSBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUKCjIwMTYtMTEtMTEgMTQ6MzE6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogYnJpbmcgdGhlIGVsZW1lbnQgc3RhdGUgZG93biBhZnRlciBzdWNjZXNzCgkgIE90aGVyd2lzZSBzb21lIG1lc3NhZ2VzIHRoYXQgYXJlIGVtaXR0ZWQgYnkgdGhlIGVsZW1lbnQgb24gTlVMTC0+UkVBRFkKCSAgd2lsbCBub3QgcmVhY2ggdGhlIGFwcGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTQ3CgoyMDE3LTAxLTA4IDAxOjEzOjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB0ZmR0IGF0b20gaW50byBmcmFnbWVudGVkIGZpbGVzLgoJICBUaGUgREFTSCBzcGVjIHJlcXVpcmVzIHRoYXQgdGZkdCBhdG9tcyBiZSBwcmVzZW50LCBzbwoJICB3cml0ZSBvbmUgb3V0LiBJU08vSUVDIDIzMDA5LTE6MjAxNCA2LjMuNC4yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgyMjEKCjIwMTctMDEtMDcgMjM6NTU6NDIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IHJlc2V0IG91dHB1dCB0aW1lc3RhbXBzIHdoZW4gbm8gdGZkdAoJICBJZiBhIGZyYWdtZW50ZWQgc3RyZWFtIGRvZXNuJ3QgaGF2ZSBhIHRmZHQsIGRvbid0CgkgIHJlc2V0IHRoZSBvdXRwdXQgdGltZXN0YW1wcyBhdCBlYWNoIGZyYWdtZW50IGJvdW5kYXJ5CgkgIGJ5IGVycm9uZW91c2x5IHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIG9mIDAuIEludHJvZHVjZWQKCSAgYnkgY29tbWl0IDY5ZmM0OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjMwCgoyMDE2LTEyLTE2IDE2OjUxOjQ4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvbWVzb24uYnVpbGQ6CgkqIGdzdC9lcXVhbGl6ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9pc29tcDQvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogSW5zdGFsbCBwcmVzZXRzIGZpbGVzCgoyMDE3LTAxLTAzIDEwOjEyOjMwICswNTMwICBHYXJpbWEgR2F1ciA8Z2FyaW1hLmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggc29tZSBjYXBzIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2Nzg5CgoyMDE2LTEyLTIyIDE3OjM0OjA4ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogUmV0dXJuIGEgYmluIHdpdGggYSAibG9jYXRpb24iIHByb3BlcnR5IGFzIGEgc2luawoJICBTcGxpdG11eHNpbmsgbWlnaHQgYmUgY2FsbGVkIHdpdGggYSBjdXN0b20gYmluIGFzIGEgc2luay4gSWYgaXQgaGFzIGEKCSAgImxvY2F0aW9uIiBwcm9wZXJ0eSwgaXQgY2FuIGJlIHVzZWQuCgoyMDE2LTExLTE4IDIyOjQyOjE4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4OiBSZXdyaXRlIGJ1ZmZlciBjb2xsZWN0aW9uIGFuZCBzY2hlZHVsaW5nCgkgIE1ham9ybHkgY2hhbmdlIHRoZSB3YXkgdGhhdCBzcGxpdG11eHNpbmsgY29sbGVjdHMKCSAgaW5jb21pbmcgZGF0YSBhbmQgc2VuZHMgaXQgdG8gdGhlIG91dHB1dCwgc28gdGhhdCBpdAoJICBtYWtlcyBhbGwgZGVjaXNpb25zIGFib3V0IHdoZW4gLyB3aGVyZSB0byBzcGxpdCBmaWxlcwoJICBvbiB0aGUgaW5wdXQgc2lkZS4KCSAgVXNlIHNlcGFyYXRlIHF1ZXVlcyBmb3IgZWFjaCBzdHJlYW0sIHNvIHRoZXkgY2FuIGJlCgkgIGdyb3duIGluZGl2aWR1YWxseSBhbmQga2VwdCBhcyBzbWFsbCBhcyBwb3NzaWJsZS4KCSAgVGhpcyByZW1vdmVzIHJhY2luZXNzIEkgb2JzZXJ2ZWQgd2hlcmUgc29tZXRpbWVzCgkgIHNvbWUgZGF0YSB3b3VsZCBlbmQgdXAgcHV0IGluIGEgZGlmZmVyZW50IG91dHB1dCBmaWxlCgkgIG92ZXIgbXVsdGlwbGUgcnVucyB3aXRoIHRoZSBzYW1lIGlucHV0LgoJICBBbHNvIGZpeGVzIGhhbmdzIHdpdGggaW5wdXQgcXVldWVzIGdldHRpbmcgZnVsbAoJICBhbmQgY2F1c2luZyBtdXhpbmcgdG8gc3RhbGwgb3V0LgoKMjAxNi0xMS0xNyAyMzo0MDoyNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eHNpbms6IEFkZCBmb3JtYXQtbG9jYXRpb24tZnVsbCBzaWduYWwKCSAgQWRkIGEgbmV3IHNpZ25hbCBmb3IgZm9ybWF0dGluZyB0aGUgZmlsZW5hbWUsIHdoaWNoIHJlY2VpdmVzCgkgIGEgR3N0U2FtcGxlIGNvbnRhaW5pbmcgdGhlIGZpcnN0IGJ1ZmZlciBmcm9tIHRoZSByZWZlcmVuY2UKCSAgc3RyZWFtIHRoYXQgd2lsbCBiZSBtdXhlZCBpbnRvIHRoYXQgZmlsZS4KCSAgVXNlZnVsIGZvciBjcmVhdGluZyBmaWxlbmFtZXMgdGhhdCBhcmUgYmFzZWQgb24gdGhlCgkgIHJ1bm5pbmcgdGltZSBvciBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBidWZmZXIuCgkgIFRvIG1ha2UgaXQgd29yaywgb3BlbmluZyBvZiBmaWxlcyBhbmQgc2V0dGluZyBmaWxlbmFtZXMgaXMKCSAgbm93IGRlZmVycmVkIHVudGlsIHRoZXJlIGlzIHNvbWUgZGF0YSB0byB3cml0ZSB0byBpdCwKCSAgd2hpY2ggYWxzbyByZXF1aXJlcyBzb21lIGNoYW5nZXMgdG8gaG93IGFzeW5jIHN0YXRlIGNoYW5nZXMKCSAgYW5kIGdhcCBldmVudHMgYXJlIGhhbmRsZWQuCgoyMDE2LTEyLTMxIDAxOjU0OjAxICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBbHdheXMgc25hcCB0byB0aGUgc3RhcnQgb2YgdGhlIGtleWZyYW1lCgkgIFdoZW4gcGVyZm9ybWluZyBhIGtleS11bml0IHNlZWssIGFsd2F5cyBzbmFwIHRvIHRoZSBzdGFydCB0cwoJICBvZiB0aGUga2V5ZnJhbWUgYnVmZmVyIHdlIGxhbmRlZCBvbiBzbyB0aGF0IHRoZSBrZXlmcmFtZSBpcwoJICBlbnRpcmVseSB3aXRoaW4gdGhlIHJlc3VsdGluZyBvdXRnb2luZyBzZWdtZW50LiBUaGF0IHNlZW1zCgkgIHRoZSBtb3N0IHNlbnNpYmxlIHJlc3VsdCwgc2luY2UgdGhlIHVzZXIgcmVxdWVzdGVkIHNuYXBwaW5nCgkgIHRvIHRoZSBrZXlmcmFtZSBwb3NpdGlvbi4KCjIwMTYtMTItMzEgMDE6NDg6MDQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE9taXQgY3NsZ19zaGlmdCB3aGVuIHNuYXBwaW5nIHNlZWtzCgkgIFNlZ21lbnRzIHRpbWVzIGFuZCBzZWVrIHJlcXVlc3RzIGFyZSBzdG9yZWQgYW5kIGhhbmRsZWQKCSAgaW4gcmF3ICdQVFMnIHRpbWUsIHdpdGhvdXQgdGhlIGNzbGdfc2hpZnQgLSB3aGljaCBvbmx5IGFwcGxpZXMKCSAgdG8gb3V0Z29pbmcgc2FtcGxlcy4gT21pdCB0aGUgY3NsZ19zaGlmdCBwb3J0aW9uIHdoZW4KCSAgZXh0cmFjdGluZyBQVFMgdG8gY29tcGFyZSBmb3IgaW50ZXJuYWwgc2VlayBzbmFwcy4KCSAgSWYgdGhlIGNzbGdfc2hpZnQgaXMgaW5jbHVkZWQsIHRoZW4ga2V5ZnJhbWUrc25hcC1iZWZvcmUgc2Vla3MKCSAgZ2VuZXJhdGUgYSBzZWdtZW50IHN0YXJ0L3N0b3AgdGltZSB0aGF0IGFscmVhZHkgaW5jbHVkZXMgdGhlCgkgIGNzbGdfc2hpZnQsIGFuZCBpdCdzIHRoZW4gYWRkZWQgYSAybmQgdGltZSwgY2F1c2luZyB0aGUKCSAgZmlyc3QgYnVmZmVyKHMpIHRvIGhhdmUgdGltZXN0YW1wcyB0aGF0IGFyZSBvdXQgb2Ygc2VnbWVudC4KCjIwMTYtMTItMzAgMjI6MzE6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogUmVtb3ZlIGJvZ3VzIGNoZWNrIGluIGF0b21fc3RzY19hZGRfbmV3X2VudHJ5KCkKCSAgUmVtb3ZlIGFuIG9sZCBjaGVjayBmcm9tIGF0b21fc3RzY19hZGRfbmV3X2VudHJ5KCkgdGhhdAoJICBleHRlbmRzIHRoZSBsYXN0IGVudHJ5IGluIHRoZSBTVFNDIGlmIHRoZSBzYW1wbGVzIHBlciBjaHVuawoJICBtYXRjaGVzLCBhcyB0aGUgbmV3IGludGVybGVhdmUgbWVyZ2luZyBsb2dpYyByZXF1aXJlcyB0aGF0CgkgIHRoZSBmaW5hbCBlbnRyeSBieSB1cGRhdGVhYmxlLiBUaGVyZSdzIGFscmVhZHkgY29kZQoJICBiZWxvdyB3aGljaCBzaW1wbHkgbWVyZ2VzIHRoZSBmaW5hbCBlbnRyeSBpbnRvIHRoZSBwcmV2aW91cwoJICBvbmUgd2hlbiBuZWVkZWQsIHNvIHJlbHkgb24gdGhhdCBpbnN0ZWFkLgoJICBGaXhlcyBhc3NlcnRzIGxpa2U6CgkgIEVSUk9SOmF0b21zLmM6Mjk0MDphdG9tX3N0c2NfdXBkYXRlX2VudHJ5OiBhc3NlcnRpb24gZmFpbGVkOgoJICAoYXRvbV9hcnJheV9pbmRleCAoJnN0c2MtPmVudHJpZXMsIGxlbiAtIDEpLmZpcnN0X2NodW5rID09IGZpcnN0X2NodW5rKQoKMjAxNi0wNC0yNCAyMTozODo1MSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGtleV90aW1lIGluIGdzdF9xdGRlbXV4X2FkanVzdF9zZWVrKCkKCSAgdGltZSBpbiBzZWdtZW50IHNob3VsZCBiZSBQVFMgYmFzZWQgKG5vdCBEVFMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NDk4CgoyMDE2LTEyLTI4IDIyOjQ5OjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IFBhc3Mgc2VlayBmbGFncyB3aGVuIGFjdGl2YXRpbmcuCgkgIFBhc3MgYWxsIHNlZWsgZmxhZ3Mgd2hlbiBhY3RpdmF0aW5nIGEgcGFydAoJICBiYXNlZCBvbiBhIHNlZWssIHNvIHRoYXQgU05BUCBmbGFncyBhcmUgcHJlc2VydmVkLgoKMjAxNi0xMS0yNiAwMToxMzoxOSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eDogRml4IGEgc21hbGwgcmFjZSBpbiB0aGUgc3BsaXRtdXhzcmMKCSAgTWFrZSBzdXJlIHRoZSBzdGF0ZSBvZiB0aGUgcGFyc2VyIGlzIHNldCB0bwoJICBjb2xsZWN0aW5nIHN0cmVhbXMgYmVmb3JlIGNoYWluaW5nIHVwIHRvIHRoZQoJICBwYXJlbnQgY2hhbmdlX3N0YXRlKCkgbWV0aG9kLCB0byBjbG9zZSBhCgkgIHNtYWxsIHdpbmRvdyB0aGF0IGNhbiBjYXVzZSBwbGF5YmFjayB0bwoJICBuZXZlciBjb21tZW5jZS4KCjIwMTctMDEtMDIgMTU6MDY6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogUmVtb3ZlIGRlYWQgY29kZQoKMjAxNi0xMi0zMSAwOTo1MjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogcmVmYWN0b3IgbWF4X2ZpbGVzIGhhbmRsaW5nIGEgYml0CgkgIFVzZSBHUXVldWUgaW5zdGVhZCBvZiBhIEdTTGlzdCBzbyB3ZSBkb24ndCBoYXZlIHRvIHRyYXZlcnNlCgkgIHRoZSB3aG9sZSBsaXN0IHRvIGFwcGVuZCBzb21ldGhpbmcgZXZlcnkgdGltZS4gQW5kIGl0IGFsc28KCSAga2VlcHMgdHJhY2sgb2YgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBpdCBmb3IgdXMuCgkgIEFkZCBhIGZ1bmN0aW9uIHRvIGFkZCBmaWxlbmFtZXMgdG8gdGhlIGxpc3Qgb2Ygb2xkIGZpbGVzIGFuZAoJICB1c2UgaXQgaW4gbW9yZSBwbGFjZXMsIHNvIHRoYXQgbWVtb3J5IGRvZXNuJ3QgYnVpbGQgdXAgaW4KCSAgb3RoZXIgbW9kZXMgZWl0aGVyIGlmIG5vIG1heF9maWxlcyBsaW1pdCBpcyBzcGVjaWZpZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5OTEKCjIwMTYtMDUtMjkgMTc6MjE6NDcgKzAxMDAgIFVyc3VsYSBNYXBsZWh1cnN0IDx1cnN1bGFAa2FuZ2F0cm9uaXguY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3QgbGVhayBtZW1vcnkgd2hlbiBubyBtYXgtZmlsZXMgbGltaXQgaXMgc2V0CgkgIFRlY2huaWNhbGx5IHdlIHdlcmVuJ3QgbGVha2luZyB0aGUgbWVtb3J5LCBqdXN0IHN0b3JpbmcgaXQgaW50ZXJuYWxseQoJICBhbmQgbmV2ZXIgdXNpbmcgaXQgdW50aWwgdGhlIGVsZW1lbnQgaXMgZnJlZWQuIEJ1dCB3ZSdkIHN0aWxsIHVzZSBtb3JlCgkgIGFuZCBtb3JlIG1lbW9yeSBvdmVyIHRpbWUsIHNvIHRoaXMgaXMgbm90IGdvb2Qgb3ZlciBsb25nZXIgcGVyaW9kcwoJICBvZiB0aW1lLiBPbmx5IGtlZXAgdHJhY2sgb2YgZmlsZXMgaWYgdGhlcmUncyBhY3R1YWxseSBhIGxpbWl0IHNldCwKCSAgc28gdGhhdCB3ZSB3aWxsIHBydW5lIHRoZSBsaXN0IGZyb20gdGltZSB0byB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTkxCgoyMDE2LTEyLTI5IDEyOjM5OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRqdXN0IHNlZ21lbnQgc3RvcCBmb3IgS0VZX1VOSVQgbmVnYXRpdmUgcmF0ZSBzZWVraW5nCgoyMDE2LTEyLTI5IDEyOjI1OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wbGVtZW50IHB1bGwgbW9kZSBTTkFQIGZsYWcgc2Vla2luZwoKMjAxNi0xMi0yOSAxMToyNjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgS0VZX1VOSVQgU05BUCBzZWVrIGhhbmRsaW5nCgkgIFByZXZpb3VzbHksIHNlZWtpbmcgdG8gcG9zaXRpb24geSB3aGVyZSB5IGlzIChzdHJpY3RseSkgd2l0aGluIGEga2V5ZnJhbWUKCSAgd291bGQgc2VlayB0byB0aGF0IGtleWZyYW1lIGJvdGggd2l0aCBTTkFQX0JFRk9SRSBhbmQgU05BUF9BRlRFUiwKCSAgd2hlcmUgdGhlIGxhdHRlciBpcyBub3cgYWRqdXN0ZWQgdG8gcmVhbGx5IHNuYXAgdG8gdGhlIG5leHQga2V5ZnJhbWUuCgoyMDE2LTEyLTI4IDEzOjIzOjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3JyZWN0bHkgcGVyZm9ybSBwdWxsIG1vZGUgS0VZX1VOSVQgc2Vla2luZwoJICBSYXRoZXIgYW1hemluZ2x5IChhbmQgZXF1YWxseSB1bm5vdGljZWQpLCBrZXl1bml0IHNlZWtpbmcgcmVzdWx0ZWQgaW4gc2VnbWVudHMKCSAgd2hlcmUgc3RhcnQgIT0gdGltZSAod2hpY2ggaXMgYm9ndXMgZm9yIHNpbXBsZSBhdmkgdGltZWxpbmUpLiAgU28sIHByb3Blcmx5CgkgIGFkanVzdCB0aGUgc2VnbWVudCAoc3RhcnQpIHJhdGhlciB0aGFuIGZpZGRsaW5nIHdpdGggc2VnbWVudCB0aW1lIChvbmx5KS4KCjIwMTYtMTItMjggMTM6MDQ6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc3RvcmUgY29uc2lkZXJpbmcgb2YgcHVsbCBtb2RlIEtFWV9VTklUIHNlZWtpbmcKCSAgLi4uIGJ5IHVzaW5nIHRoZSBvcmlnaW5hbCBzZWVrIGV2ZW50J3MgZmxhZ3MgcmF0aGVyIHRoYW4gdGhlIGNvcnJlc3BvbmRpbmcKCSAgc2VnbWVudCBmbGFncywgd2hpY2ggZG8gbm90IGhhdmUgc3VjaCBjb3VudGVycGFydCBmbGFncyAoYW5kCgkgIGRvIG5vIGxvbmdlciBoYXZlIHRoZW0gY292ZXJ0bHkgc25lYWtpbmcgaW4gbm93YWRheXMpLgoKMjAxNS0wNS0wOCAxMjo0NDowMSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBvbmx5IGRyb3AgYWN0dWFsIHN0cmVhbWhlYWRlciBidWZmZXJzIHdpdGggeGlwaCBjb2RlY3MKCSAgV2l0aCBYaXBoIGNvZGVjcyB0aGUgc3RyZWFtIGhlYWRlciBidWZmZXJzIGFyZSBib3RoIGluIHRoZSBjYXBzIGFuZCBhcmUKCSAgdXN1YWxseSBhbHNvIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBpbnB1dCBzdHJlYW0sIGJ1dCBpdCdzIHBlcmZlY3RseQoJICBwb3NzaWJsZSB0aGF0IHRoZSBpbnB1dCBzdHJlYW0gZG9lcyBub3QgaGF2ZSB0aGUgc3RyZWFtIGhlYWRlciBidWZmZXJzCgkgIGlubGluZSBpbiB0aGUgZGF0YS4gTWF0cm9za2FtdXggd291bGQgZHJvcCB0aGUgZmlyc3QgTiBidWZmZXJzIGFzc3VtaW5nCgkgIHRoZXkncmUgc3RyZWFtIGhlYWRlcnMsIGJ1dCB0aGlzIG1lYW50IGl0IHdvdWxkIGRyb3AgYWN0dWFsIHBheWxvYWQgZGF0YQoJICB3aGVuIHRoZSBzdHJlYW0gZGlkbid0IGNvbnRhaW4gdGhlIHN0cmVhbSBoZWFkZXJzIGlubGluZS4gRml4IHRoaXMgYnkKCSAgb25seSBkcm9wcGluZyBsZWFkaW5nIGJ1ZmZlcnMgaWYgdGhleSdyZSBmbGFnZ2VkIGFzIHN0cmVhbSBoZWFkZXJzLiBUaGlzCgkgIGZpeGVzIGlzc3VlcyB3aXRoIHN0cmVhbXMgdGhhdCBhcmUgYmVpbmcgdGFwcGVkIGludG8gYWZ0ZXIgc3RyZWFtaW5nCgkgIGhhcyBzdGFydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MDk4CgoyMDE2LTEyLTIxIDE3OjQzOjU4ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91cgoJICBOb3cgbWF0cm9za2FtdXggbWFyayBhbGwgcGFja2V0cyBvZiBhdWRpby1vbmx5IHN0cmVhbXMgYXMga2V5ZnJhbWVzIHNvCgkgIGluIHRlc3RfYmxvY2tfZ3JvdXAgYWZ0ZXIgcHVzaGluZyB0aGUgdGVzdCBhdWRpbyBkYXRhIDQgYnVmZmVycyBhcmUgcHJvZHVjZWQKCSAgYW5kIG5vdCBtb3JlIDIuIFRoZSBsYXN0IGJ1ZmZlciBpcyB0aGUgb3JpZ2luYWwgZGF0YSBhbmQgbXVzdCBtYXRjaCB3aXRoIHdoYXQKCSAgcHVzaGVkLiBUaGUgcmVtYWluaW5nIG9uZXMgYXJlIG1hdHJvc2thbXV4IGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY5NgoKMjAxNi0wNS0zMCAwMToxNTozMSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYXJrIGFsbCBwYWNrZXRzIG9mIGF1ZGlvLW9ubHkgc3RyZWFtcyBhcyBrZXlmcmFtZXMKCSAgVGhpcyBoZWxwcyB3aXRoIHN0cmVhbWluZyBhdWRpby1vbmx5IHN0cmVhbXMgdmlhIG11bHRpZmRzaW5rLAoJICB0Y3BzZXJ2ZXJzaW5rIGFuZCBzdWNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Njk2CgoyMDE1LTAzLTI4IDE4OjE1OjM2ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZCBHNzIyIGF1ZGlvIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU3NAoKMjAxNi0xMi0xMyAxMToxMTowNyArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWwubGVlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRzcmM6IEFkZCB0byBqb2luIG11bHRpcGxlIG11bHRpY2FzdCBpbnRlcmZhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYwMzAKCjIwMTUtMDMtMjUgMTM6NTE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkgIHJ0cGtsdmRlcGF5OiBhZGQgdGhlIFNQQVJTRSBmbGFnIHRvIHRoZSBvdXRnb2luZyBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTYtMTItMTcgMTM6NDI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvZ3N0cXRzcmMuY2M6CgkgIHF0OiBpbXByb3ZlIGVsZW1lbnQgYW5kIHByb3BlcnR5IGRlc2NyaXB0aW9ucyBhIGJpdAoKMjAxNi0xMi0xNCAxNDozNzo0NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogcGxhY2UgY29udGVudCBiZWZvcmUgU2luY2UtdmVyc2lvbiBBUEkgbWFya2VyCgkgIEF2b2lkcyBjb25mdXNpbmcgdGhlIHBhcnNlcgoKMjAxNi0xMi0xNCAxNDoxNjo1MyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBmaXggNDA0IGluIHBhY2thZ2Ugb3JpZ2luCgoyMDE2LTEyLTE0IDIxOjQ1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGlmIHdlIGhhdmUgZW5vdWdoIGRhdGEgYXZhaWxhYmxlIHdoZW4gcGFyc2luZyBlZGl0IGxpc3RzCgkgIEFsc28gY29uc3VtZSB0aGUgZGF0YSBlbnRyeSBieSBlbnRyeSB0byBnZXQgY29tcGxpY2F0ZWQgaW5kZXhpbmcgb3V0IG9mCgkgIHRoZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MTA3CgoyMDE2LTEyLTE0IDE5OjE1OjAzICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgY2hlY2sgc2l6ZSBpbiBhIG5vbi1saXN0IHZhbHVlCgkgIEFmdGVyIGNvbW1pdCAxZWE5NzM1YSBJIHNlZSB0aGVzZSBlcnJvciB3aGlsZSB1c2luZyB0aGUgd2ViY2FtCgkgIGludGVncmF0ZWQgaW4gbXkgbGFwdG9wOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF92YWx1ZV9saXN0X2dldF9zaXplOiBhc3NlcnRpb24gJ0dTVF9WQUxVRV9IT0xEU19MSVNUICh2YWx1ZSknIGZhaWxlZAoJICBUaGUgaXNzdWUgaXMgZ3N0X3Y0bDJzcmNfdmFsdWVfc2ltcGxpZnkoKSB3YXMgZG9pbmcgaXRzIGpvYiBvZgoJICBnZW5lcmF0aW5nIGEgc2luZ2xlIHZhbHVlLCByYXRoZXIgdGhhbiB0aGUgb3JpZ2luYWwgbGlzdC4gVGhhdCB3aHksCgkgIHdoZW4gZ2V0dGluZyB0aGUgbGlzdCBzaXplLCBhIGNyaXRpY2FsIHdhcm5pbmcgd2FzIHJhaXNlZC4KCSAgVGhpcyBwYXRjaCB0YWtlcyBhZHZhbnRhZ2Ugb2YgdGhlIGNvbXBpbGVyIG9wdGltaXphdGlvbnMgdG8gdmVyaWZ5CgkgIGZpcnN0IGlmIHRoZSBsaXN0IHdhcyBzaW1wbGlmaWVkLCB0aHVzIHVzZSBpdCBkaXJlY3RseSwgb3RoZXJ3aXNlLAoJICBpZiBpdCBpcyBhIGxpc3QsIHZlcmlmeSBpdHMgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjEwNgoKMjAxNi0xMi0xNCAxMDozOToxMiArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzL2ppdHRlcmJ1ZmZlcjogTWFqb3IgcmVmYWN0b3JpbmcgYW5kIGNsZWFudXBzCgkgICogQ2hhbmdlZCBQQ01VLT5URVNUIGZvciBjb21tb24gbWFjcm9zCgkgICogQ2hhbmdlZCB2ZXJpZnktZnVuY3Rpb25zIChsb3N0ICYgcnR4KSBpbnRvIG1hY3Jvcy4KCSAgKiBSZW1vdmUgb3B0aW9uIHRvIGFkZCBtYXJrZXItYml0IGZvciB0ZXN0LWJ1ZmZlcnMgKG5vdCB1c2VkIGFueXdoZXJlKQoJICAqIEFkZCBuZXcgcHVzaF90ZXN0X2J1ZmZlciBmdW5jdGlvbiB0aGF0IG1ha2VzIHN1cmUgdGhlcmUgYXJlIGNvcnJlbGF0aW9uCgkgIGJldHdlZW4gZHRzIGFuZCB0aGUgdGltZSBvbiB0aGUgY2xvY2suIChjbGFzc2ljIHRlc3QtbWlzdGFrZSkKCSAgKiBFc3RhYmxpc2hlZCBhIGdlbmVyaWMgc3RhcnRpbmctcG9pbnQgZm9yIHRlc3RzIHdpdGggdGhlCgkgIGNvbnN0cnVjdF9kZXRlcm1pbmlzdGljX2luaXRpYWxfc3RhdGUgZnVuY3Rpb24gYW5kIHVzZSBpdCB3aGVyZQoJICBhcHBsaWNhYmxlLCB3aGljaCByZW1vdmVzIGxvdHMgb2YgImJvaWxlcnBsYXRlIiBldmVyeXdoZXJlLgoJICAqIEFkZCBiYXNpYyBsb3N0LWV2ZW50IHRlc3QKCSAgKiBSZW1vdmUgYXMgbXVjaCAibWFnaWMgY29uc3RhbnRzIiBhcyBwb3NzaWJsZS4KCSAgKiBSZW1vdmUgMyB0ZXN0cyB0aGF0IG5vIGxvbmdlciBhcmUgdGVzdGluZyBhbnl0aGluZyB0aGF0IG90aGVycyBkb24ndCwKCSAgYW5kIHdhcyBjb21wbGV0ZWx5IHVubWFpbnRhaW5hYmxlLgoJICAqIFJlbW92ZSB1bm5lY2Vzc2FyeSB1c2Ugb2YgdGhlIHRlc3RjbG9jawoJICAqIFZlcmlmeSBlYWNoIHRlc3QgaXMgdGVzdGluZyB3aGF0IGl0IGFjdHVhbGx5IHNheXMgaXQgZG9lcyAoYW5kIG1vZGlmeQoJICB3aGVyZSBpdCBkb2Vzbid0KQoJICBJbiBnZW5lcmFsLCBtYWtlIHRoZSB0ZXN0cyBtdWNoIHNtYWxsZXIsIGJldHRlciwgbW9yZSBtYWludGFpbmFibGUgYW5kCgkgIHJlYWRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDA5CgoyMDE2LTEyLTE0IDA5OjU0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBSZW1vdmUgZ2VuZXJhdGVkIC5zcGVjIGZpbGUKCSAgTGlrZWx5IGV4dHJlbWVseSBiaXRyb3R0ZW4sIGFuZCB3ZSBzaG91bGQgbm90IHNoaXAgdGhpcyBhbnl3YXkuCgoyMDE2LTEyLTE0IDEwOjE1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIHRoYXQgdGhlIFhpVGggc2l6ZSBpcyBiaWcgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3OTQKCjIwMTYtMTItMDkgMjA6Mjc6NTMgKzA5MDAgIEhlZWt5b3VuZyBTZW8gPGhlZWt5b3VuZy5zZW9AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBub2RlIGxlbmd0aCBvZiB2aWRlbyBzYW1wbGUgZGVzY3JpcHRpb24KCSAgQWRkIGNoZWNrIGZvciBub2RlIGxlbmd0aCBvZiB2aWRlbyBzYW1wbGUgZGVzY3JpcHRpb24gYW5kIGl0cyBmaWVsZHMgYW5kCgkgIGZvciB0aGUgWGlUaCBhdG9tLgoJICBBbHNvIHVuaWZ5IHRoZSBjb2RlIGEgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Nzk0CgoyMDE2LTEyLTA4IDE4OjUwOjUyICswOTAwICBIZWVreW91bmcgU2VvIDxoZWVreW91bmcuc2VvQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRW5hYmxlIHh2aWQvbXAyIGNvZGVjIHN1cHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yIHh2aWQgdmlkZW8gYW5kIG1wMiBhdWRpbywgYWRkIG0ydjEgZm91cmNjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Nzk0CgoyMDE2LTEyLTEzIDIyOjMyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOWVuYy5jOgoJICBnc3Q6IERvbid0IGRlY2xhcmUgdmFyaWFibGVzIGluc2lkZSB0aGUgZm9yIGxvb3AgaGVhZGVyCgkgIFRoaXMgaXMgYSBDOTkgZmVhdHVyZS4KCjIwMTYtMTItMTEgMTM6Mjc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEVuc3VyZSB0byByZWluaXQgYnVmZmVycyB3aGVuZXZlciB0aGV5IHdlcmUgbm90IGFsbG9jYXRlZCB5ZXQKCSAgVGhhdCBpcywgd2hlbmV2ZXIgd2UgZ28gdGhyb3VnaCBzdGFydC9zdG9wIHdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgb24gdGhlCgkgIG5leHQgb3Bwb3J0dW5pdHkgdGhlIGJ1ZmZlcnMgYXJlIHJlYWxsb2NhdGVkIGFnYWluLiBPdGhlcndpc2UgdGhlCgkgIGJ1ZmZlcnMgbWlnaHQgYmUgTlVMTCBiZWNhdXNlIHRoZSBlbGVtZW50IHdhcyByZXVzZWQgd2l0aCB0aGUgc2FtZQoJICBjb25maWd1cmF0aW9uIGFzIGJlZm9yZSAoaS5lLiBzZXRfY2FwcygpIHdvdWxkbid0IGhhdmUgcmVpbml0ZWQgdGhlCgkgIGJ1ZmZlcnMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1ODk4CgoyMDE2LTEyLTEwIDEyOjUyOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBhdXhpbGlhcnkudHh0OgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwY29sbGlzaW9uLnR4dDoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cHJldHJhbnNtaXNzaW9uLnR4dDoKCSAgZG9jczogZGVzaWduOiByZW1vdmUsIG1vdmVkIHRvIGdzdC1kb2NzCgoyMDE2LTEyLTA5IDE3OjE3OjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFN1cHBvcnQgYnVpbGRpbmcgd2l0aG91dCBHc3QgZGVidWcKCjIwMTYtMTItMDkgMTc6NTU6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBmbHhkZWM6IE9ubHkgc2VuZCBTRUdNRU5UIGV2ZW50cyBhZnRlciBDQVBTCgkgIEkuZS4sIGRvbid0IGp1c3QgZm9yd2FyZCB0aGUgZXZlbnQgYnV0IGRlbGF5IGl0IGlmIHdlIGRvbid0IGhhdmUgY2FwcyBvbgoJICB0aGUgc3JjcGFkIHlldC4KCjIwMTYtMTItMDkgMTc6NDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IFVucmVmIGFuZCB1bm1hcCBidWZmZXJzIGluIGFsbCBjb2RlIHBhdGhzIGFzIG5lZWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1ODg4CgoyMDE2LTEyLTA4IDEyOjM3OjI1ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHFtbDogRml4IGVnbCBiZWluZyBkZWluaXRpYWxpemVkIG9uIGRpc3BsYXkgY2xlYW51cAoJICBVc2UgdGhlIHdpdGhfZWdsX2Rpc3BsYXkoKSB2YXJpYW50IGluIG9yZGVyIHRvIG5vdCBkZXN0cm95IHRoZQoJICBFR0xEaXNwbGF5IG9uIGRlc3RydWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzkzCgoyMDE2LTEyLTA2IDE3OjQyOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qgc2V0IGVtcHR5IGludGVybGFjZS1tb2RlIGxpc3QKCSAgSWYgZm9yIHNvbWUgcmVhc29uIHdlIGZhaWwgdG8gcHJvYmUgZm9ybWF0cyAoYWxsIHRyeV9mbXQgY2FsbHMgZmFpbCwgZm9yCgkgIGV4YW1wbGUpLCB0aGlzIGlzIG5vdCBhIGNyaXRpY2FsIGVycm9yLCBidXQgd2UgZW5kIHVwIHdpdGggYW4gZW1wdHkgbGlzdAoJICBvZiBpbnRlcmxhY2UgbW9kZXMuIFRoaXMgY2F1c2VzIGFsbCBzdWJzZXF1ZW50IG5lZ290aWF0aW9uIHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaW50ZXJsYWNlLW1vZGUgc2V0dGluZyB0byBiZSBza2lwcGVkIGlmIHdlIGZhaWxlZCB0bwoJICBkZXRlY3QgYW55LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzAyCgoyMDE2LTEyLTA3IDE3OjIyOjIyICswNTMwICBHYXJpbWEgR2F1ciA8Z2FyaW1hLmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IFVucmVmIGFsbG9jYXRpb24gcXVlcnkgYWZ0ZXIgZmluaXNoZWQgd2l0aCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzUyCgoyMDE2LTEyLTA3IDIyOjU1OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWwvaXRlbTogYWxzbyB1bnJlZiB0aGUgZGlzcGxheSBvbiBkZXN0cnVjdGlvbgoJICBMZWFraW5nIG9iamVjdHMgKGFuZCBhIHRocmVhZCEpIGlzIG5ldmVyIGEgZ29vZCBpZGVhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzQ2CgoyMDE2LTEyLTA3IDIyOjU4OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL21haW4uY3BwOgoJICB0ZXN0cy9leGFtcGxlcy9xbWxzaW5rOiBzY29wZSBRQXBwbGljYXRpb24vRW5naW5lCgkgIFNvIHRoZXkgYXJlIGRlc3Ryb3llZCBiZWZvcmUgZ3N0X2RlaW5pdCgpIGlzIHJ1biBhbmQgdGhlIGxlYWtzIHRyYWNlcgoJICBkb2Vzbid0IHNob3cgZmFsc2UtcG9zaXRpdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzQ2CgoyMDE2LTEyLTA2IDA3OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBBbGxvY2F0ZSAwLWluaXRpYWxpemVkIG1lbW9yeSBmb3IgdGhlIGRlY29kZWQgZnJhbWUKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGxlYWsgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGZyb20gdGhlIHVuaW5pdGlhbGl6ZWQKCSAgbWVtb3J5IGlmIG5vdCBldmVyeSBwaXhlbCBpcyB3cml0dGVuLgoJICBodHRwczovL3NjYXJ5YmVhc3RzZWN1cml0eS5ibG9nc3BvdC5nci8yMDE2LzEyLzFkYXlzLTBkYXlzLXBvY3MtbW9yZS1nc3RyZWFtZXItZmxpYy5odG1sCgoyMDE2LTEyLTA1IDA3OjU3OjE5IC0wNzAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggc2Vzc2lvbiBjbGVhbnVwIHdoZW4gaGFuZGxpbmcgcmVkaXJlY3Qgb24gUExBWQoJICBSZWRpcmVjdCBvbiBQTEFZIHdhc24ndCBkb2luZyB0aGUgbmVjZXNzYXJ5IHNlc3Npb24gY2xlYW51cC4gRml4ZWQgYnkKCSAgcmVtb3ZpbmcgY29kZSBmcm9tIGdzdF9ydHNwc3JjX3NlbmQgdGhhdCBjaGFuZ2VkIHRoZSBzdGF0ZSB2YXJhYmxlIHVwb24KCSAgZW5jb3VudGVyaW5nIGEgcmVkaXJlY3QuIEJldHRlciB0byBsZXQgdGhlIHJlZGlyZWN0IGhhbmRsZXJzIGluCgkgIGdzdF9ydHNwc3JjX3JldHJpZXZlX3NkcCBhbmQgZ3N0X3J0c3BzcmNfcGxheSBkbyB0aGVpciBvd24KCSAgc3RhdGUtZGVwZW5kZW50IGNsZWFudXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU1NDMKCjIwMTYtMDktMDcgMTY6MTA6MjcgKzAzMDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsd2F5cyBzZW5kIHRlYXJkb3duIHJlcXVlc3QKCSAgQWxsb3cgQ01EX0NMT1NFIHRvIGNhbmNlbCBhbGwgY29tbWFuZHMgbm90IG9ubHkgQ01EX1BBVVNFCgkgIGFuZCBpZ25vcmUgQ01EX1dBSVQgd2hpbGUgY2xvc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM2MAoKMjAxNi0xMi0wMyAwODoxOToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTgwZmQ5IHRvIDM5YWMyZjUKCjIwMTYtMTItMDEgMTc6MDg6MDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogRG9uJ3QgbGVhayBkdXBsaWNhdGUgaXRlbXMKCSAgV2hlbiBwcm92aWRpbmcgaXRlbXMgd2l0aCBhIHNlcW51bSwgdGhlcmUgaXMgYSAodmVyeSBzbWFsbCkgcHJvYmFiaWxpdHkKCSAgdGhhdCBhbiBlbGVtZW50IHdpdGggdGhlIHNhbWUgc2VxbnVtIGFscmVhZHkgZXhpc3RzLiBEb24ndCBmb3JnZXQKCSAgdG8gZnJlZSB0aGF0IGl0ZW0gaWYgaXQgd2Fzbid0IGluc2VydGVkLgoJICBBbmQgYXZvaWQgcmV0dXJuaW5nIHVuZGVmaW5lZCB2YWx1ZXMgd2hlbiBkZWFsaW5nIHdpdGggZHVwbGljYXRlIGl0ZW1zCgoyMDE2LTEyLTAxIDExOjIzOjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNhbml0aXplIHVua25vd24gY29kZWMgY2FwcwoJICBXZSBtaWdodCBoYXZlIG5vbi1wcmludGFibGUgY2hhcmFjdGVycyBpbiB0aGUgdW5rbm93biBmb3VyY2MsIHJlcGxhY2UKCSAgdGhlbSB3aXRoICdfJywgaW4gdGhlIHNhbWUgd2F5IHdlIGRvIGl0IGZvciB1bmtub3duIHRhZ3MuCgoyMDE2LTEyLTAxIDIwOjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRnJlZSB2cHJwIGNodW5rIGFsc28gaWYgaXQgZXhpc3RlZCBidXQgd2UgbWFkZSBubyB1c2Ugb2YgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ3OQoKMjAxNi0xMi0wMSAxNzozODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbWVtb3J5IGxlYWsgd2hlbiBwYXJzaW5nIGF0dGFjaG1lbnRzCgkgIGdzdF90YWdfaW1hZ2VfZGF0YV90b19pbWFnZV9zYW1wbGUoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgcGFzc2VkIG1lbW9yeSwgc28gZG9uJ3Qgc2V0IGl0IHRvIE5VTEwgdG8gYWxsb3cgdXMgdG8gZnJlZSBpdCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTQ3MgoKMjAxNi0xMi0wMSAxNDo1NjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbmlmeSB6bGliL2J6aXAyIGRlY29tcHJlc3MgbG9vcHMgd2l0aCB0aGUgb25lcyBmcm9tIHF0ZGVtdXgKCSAgRXNwZWNpYWxseSwgc2ltcGxpZnkgdGhlIGNvZGUgYSBiaXQuCgoyMDE2LTEyLTAxIDE0OjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluY3JlYXNlIGluZmxhdGUgYnVmZmVyIGluIGJpZ2dlciBzdGVwcwoJICAxMDI0IGJ5dGVzIGlzIHF1aXRlIHNtYWxsLCBsZXQncyBkbyA0MDk2IGJ5dGVzIChvciBvbmUgcGFnZSkuCgkgIEFsc28gcmVtb3ZlIHJlZHVuZGFudCBpZiwgd2UncmUgYWx3YXlzIGluIHRoYXQgY2FzZSB3aGVuIGdldHRpbmcgaGVyZS4KCjIwMTYtMTItMDEgMTQ6MzA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRW5zdXJlIHRoYXQgc2l6ZSBvZiB0aGUgcGFzcCBhdG9tIGlzIGFzIG11Y2ggYXMgd2UgbmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDE0OjMwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZyZWUgY29tcHJlc3NlZCBtb292IG5vZGUgYW5kIGl0J3MgY29ycmVzcG9uZGluZyBkZWNvbXByZXNzZWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDE0OjI5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIHNpemUgb2YgY29tcHJlc3NlZCBNT09WIGhlYWRlciBhZ2FpbnN0IGF2YWlsYWJsZSBkYXRhCgkgIEFuZCBhY3R1YWxseSByZWFkIHRoZSBzaXplIG9mIHRoZSBjbXZkIGF0b20gZnJvbSB0aGUgcmlnaHQgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTUKCjIwMTYtMTItMDEgMTQ6Mjc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHpsaWIgaW5mbGF0ZSBsb29wCgkgIEhhbmRsZSBlcnJvcnMgY2xlYW5seSwgZGVhbGxvY2F0ZSBhbGwgbWVtb3J5IGFuZCByZXR1cm4gdGhlIGFjdHVhbCBzaXplCgkgIG9mIHRoZSBpbmZsYXRlZCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDU1CgoyMDE2LTEyLTAxIDEzOjM4OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogTWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIGRhdGEgaW4gdGhlIGNvZGVjX2RhdGEgdG8gYmUgYWJsZSB0byBwYXJzZSBpdAoJICBBbHNvIGVycm9yIG91dCBjbGVhbmx5IGlmIG1hcHBpbmcgdGhlIGJ1ZmZlciBmYWlsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTAKCjIwMTYtMTItMDEgMTM6MzI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG91dCBvZiBib3VuZHMgcmVhZCBpbiB0YWcgcGFyc2luZyBjb2RlCgkgIFdlIGNhbid0IHNpbXBseSBhc3N1bWUgdGhhdCB0aGUgbGVuZ3RoIG9mIHRoZSB0YWcgdmFsdWUgYXMgZ2l2ZW4KCSAgaW5zaWRlIHRoZSBzdHJlYW0gaXMgY29ycmVjdCBidXQgc2hvdWxkIGFsc28gY2hlY2sgYWdhaW5zdCB0aGUgYW1vdW50IG9mCgkgIGRhdGEgd2UgaGF2ZSBhY3R1YWxseSBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0NTEKCjIwMTYtMTItMDEgMTU6MDY6MDYgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwOiBGaXggc29tZSBtZW1vcnkgbGVha3MgaW4gdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTA3MQoKMjAxNi0xMS0zMCAxNzo1NjowMiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVhZCBpbnRlcmxhY2luZyBpbmZvcm1hdGlvbiBmcm9tICdmaWVsJyBhdG9tCgkgIFJlYWQgaW50ZXJsYWNpbmcgYW5kIFRGRi9CRkYgaW5mb3JtYXRpb24gZnJvbSB0aGUgJ2ZpZWwnIGF0b20gYW5kIHBhc3MgaXQKCSAgaW50byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDE0CgoyMDE2LTExLTI5IDEzOjU1OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIHF0ZGVtdXguYzogSW4gZnVuY3Rpb24g4oCYcXRkZW11eF9wYXJzZV90cmFr4oCZOgoJICBxdGRlbXV4LmM6MTAxODQ6Mzg6IGVycm9yOiBmb3JtYXQg4oCYJWx14oCZIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSDigJhsb25nIHVuc2lnbmVkIGludOKAmSwgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUg4oCYZ2ludCB7YWthIGNvbnN0IGludH3igJkgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgR1NUX0RFQlVHX09CSkVDVCAocXRkZW11eCwgIkZvdW5kIGpwZWc6IGxlbiAldSwgbmVlZCAlbHUiLCBsZW4sCgkgIF4KCjIwMTYtMTEtMjggMTM6NDU6MjQgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoYW5nZSBvZmZfdCB0eXBlIHRvIGdpbnQKCSAgb2ZmX3QgaXMgYSBzaWduZWQgaW50ZWdlciB0eXBlIHByb3ZpZGVkIGJ5IHN5cy90eXBlcy5oIG9uIHBvc2l4IHN5c3RlbXMuCgkgIFJlcGxhY2Ugd2l0aCBnaW50IGZvciBidWlsZGluZyBvbiBub24tcG9zaXggc3lzdGVtcyAobGlrZSB3aW5kb3dzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTI4NwoKMjAxNi0xMS0yMiAyMTowMDoyNSAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCBsaWJtIHRvIGhhc19mdW5jdGlvbiBjaGVja3MKCSAgVGhlIGZ1bmN0aW9ucyBmcm9tIG1hdGguaCBtYXkgYmUgaW1wbGVtZW50ZWQgaW4gbGlibS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg3NgoKMjAxNi0xMC0yNyAyMzowMjozNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBSZXZlcnQgIm1lc29uOiBkdiBwbHVnaW4gbm93IHdvcmtzIG9uIE1TVkMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDVhODk2MTNmZWZmNzBjZmY0MTYzNjdmNWFhODA3YTFkNWM2OGI2My4KCSAgTGV0J3Mgbm90IHB1dCBpbiBzdHVmZiB0aGF0IG5lZWRzIHVucmVsZWFzZWQgTWVzb24uIFRoaXMgY2FuIGdvIGluCgkgIGZvciB0aGUgbmV4dCBjeWNsZS4KCjIwMTYtMTEtMjggMTM6NTE6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBFbnN1cmUgdGhhdCB0YWdzIGFyZSB2YWxpZCBVVEYtOCBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIHRhZ2xpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTIxOQoKMjAxNi0xMS0yOCAxMjoyMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHdlIGdvdCBFT1Mgd2l0aG91dCBoYXZpbmcgYWRkZWQgYW55IHBhZHMKCjIwMTYtMTEtMjggMTI6MDA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSGFuZGxlIG5vbi1VVEY4IGhlYWRlcnMgYW5kIGVycm9yIHJlYXNvbnMgbW9yZSBncmFjZWZ1bGx5CgkgIEVzcGVjaWFsbHkgZG9uJ3QgcHV0IHRoZW0gaW50byBHc3RTdHJ1Y3R1cmVzIGluIG9uZSB3YXkgb3IgYW5vdGhlciwganVzdAoJICBpZ25vcmUgdGhlbSBvciBlcnJvciBvdXQgY2xlYW5seSBkZXBlbmRpbmcgb24gdGhlIGltcG9ydGFuY2Ugb2YgdGhlaXIKCSAgY29udGVudC4KCjIwMTYtMTEtMjggMDk6MzA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogRXJyb3Igb3V0IGNsZWFubHkgaWYgbWFwcGluZyB0aGUgdmlkZW8gZnJhbWUgZmFpbHMKCSAgSW5zdGVhZCBvZiBsYXRlciBkZXJlZmVyZW5jaW5nIE5VTEwgYW5kIGNyYXNoaW5nLgoKMjAxNi0xMS0yNyAxMToxNDoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogVXBkYXRlIHN0YXRpc3RpY3MgYmVmb3JlIHB1c2hpbmcKCSAgSWYgYW4gZWxlbWVudCBxdWVyaWVzIHRoZSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb24gYnVmZmVycyBwdXNoZWQKCSAgKndoaWxlKiB0aGUgcHVzaCBpcyBzdGlsbCB0YWtpbmcgcGxhY2UgKGFuZCBiZWZvcmUgdGhlIG9iamVjdCBsb2NrCgkgIGlzIHRha2VuIGp1c3QgYWZ0ZXIpIGl0IHdvdWxkIGVuZCB1cCB3aXRoIHRoZSB3cm9uZyBzdGF0aXN0aWMKCSAgYmVpbmcgcmVwb3J0ZWQuCgkgIEluY3JlbWVudCBpdCBqdXN0IGJlZm9yZSB0aGUgcHVzaCwgYXZvaWRzIHJhY2VzIHdoZW4gZ2V0dGluZyBzdGF0aXN0aWNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3MjMKCjIwMTYtMTEtMjYgMTE6MjA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0bW9kdWxlczoKCSAgY29tbW9uOiB1c2UgaHR0cHMgcHJvdG9jb2wgZm9yIGNvbW1vbiBzdWJtb2R1bGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTExMAoKMjAxNi0wNy0yOCAxODo1MToyNCArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGdzdHY0bDJidWZmZXJwb29sOiBsb2NrIGZsdXNoX3N0b3AgYWdhaW5zdCByZWd1bGFyIHFidWYKCSAgVGhlc2UgY2FuIGJlIGNhbGxlZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGFuZCBib3RoIG1hbmlwdWxhdGUgdGhlCgkgIHBvb2wtPmJ1ZmZlcnMgYXJyYXkuIExvY2sgdGhlbSBwcm9wZXJseSBhbmQgbGV0IGZsdXNoX3N0b3AgbW92ZSB0aGUKCSAgYXJyYXkgY29udGVudHMgaW50byBhIHRlbXBvcmFyeSBhcnJheSBvbiB0aGUgc3RhY2sgdG8gYXZvaWQgaGF2aW5nCgkgIHRvIGNhbGwgcmVsZWFzZV9idWZmZXIgdW5kZXIgdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MDE1CgoyMDE2LTExLTI0IDE0OjI1OjIyICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZ3N0djRsMmJ1ZmZlcnBvb2w6IHJlbW92ZSBjcml0aWNhbCBlcnJvciBtZXNzYWdlIHdoZW4gcHJvY2VzcyBpcyBjYWxsZWQgb24gYW4gaW5hY3RpdmUgcG9vbAoJICBJZiB0aGUgcG9vbCBpcyBpbmFjdGl2ZSwgaXQgaXMgZ3VhcmFudGVlZCB0byBhbHNvIGJlIGZsdXNoaW5nLCBzbyB0aGUKCSAgZm9sbG93aW5nIGNoZWNrIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0ZMVVNISU5HIGFueXdheS4KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIGEgdjRsMnNyYyBpcyBibG9ja2luZyBvbiBEUUJVRiBpbiBjcmVhdGUgYW5kIGlzIHNlbnQKCSAgYW4gRU9TIGV2ZW50IG9uIGFub3RoZXIgdGhyZWFkLiBJbiB0aGF0IGNhc2UgdGhlIHBvb2wgaXMgc2V0IHRvCgkgIGZsdXNoaW5nL2luYWN0aXZlIHdpdGhvdXQgbG9ja2luZywgdGhlIHY0bDJzcmMgaXMgdW5ibG9ja2VkLCBhbmQgbWF5CgkgIGNhbGwgcG9vbF9wcm9jZXNzIHdpdGggYSB2YWxpZCBidWZmZXIgb24gdGhlIGFscmVhZHkgaW5hY3RpdmUgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTAxNAoKMjAxNi0xMS0yNCAxNDo0MTo1MiArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogcmVsZWFzZSBidWZmZXIgaWYgY3JlYXRlIGZhaWxzCgkgIGdzdF9iYXNlX3NyY19nZXRfcmFuZ2UgZG9lcyBub3QgZXhwZWN0IGEgYnVmZmVyIHRvIGJlIHJldHVybmVkIGluCgkgIHRoZSBlcnJvciBjYXNlLCBzbyB3ZSBhcmUgbGVha2luZyBhIHJlZmVyZW5jZSBoZXJlIGlmIGNyZWF0ZSBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTAxNAoKMjAxNi0xMS0yMyAxODozNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEhhbmRsZSBjcmVhdGVfc2Vzc2lvbigpIHJldHVybmluZyBOVUxMIGluIGJ1bmRsZSBjb2RlCgkgIENJRCAxMzk0NDkyLgoKMjAxNi0xMS0yMiAxNjo0Mjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE1ha2Ugc3VyZSB0byBvbmx5IGNoYW5nZSBEVFMgb2Ygd3JpdGFibGUgYnVmZmVycwoJICBBbmQgdHJpdmlhbCBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjIgMTY6NDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBFcnJvciBvdXQgbXVjaCBlYXJsaWVyIGlmIHdlIGRvbid0IGhhdmUgYSB2YWxpZCBQVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMiAxNjoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgdXNlIGJ1ZmZlciBkdXJhdGlvbnMgaWYgdGhleSBhcmUgYWN0dWFsbHkgdmFsaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg0MAoKMjAxNi0xMS0yMiAxNTo1OToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJldmVydCBjb21taXRzIHRoYXQgc2V0IERUUyBhbmQgZHVyYXRpb24gb24gYnVmZmVycyB1bmNvbmRpdGlvbmFsbHkKCSAgMzlmN2U1MjI2NmZkZTNiM2MwMzVlMjJjYmNiYjJiYjFmYTIwN2IxNyB3YXMgc2V0dGluZyB0aGUgYnVmZmVyIGR1cmF0aW9uCgkgIHRvIDAgaWYgaXMgbm90IHZhbGlkLCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgInRoZSBsYXN0IgoJICBidWZmZXIgYW5kIG5vIG90aGVycyBhcmUgY29taW5nIG5leHQuIFRoaXMgaXMgd3JvbmcsIGxhc3RfYnVmIGlzIHRoZQoJICBwcmV2aW91cyBidWZmZXIgYW5kIG5vdCB0aGUgdmVyeSBsYXN0IG9uZS4KCSAgNGUzYzEzYzg3YzI1OGM5Yzk1ZTIyMTdkMzJhYjMxNGQxMmI1ZmZmYyB3YXMgc2V0dGluZyBEVFMgdG8gMCBpZiB0aGVyZQoJICB3YXMgbm9uZS4gVGhpcyB3aWxsIHNldCBEVFMgdG8gMCBmb3IgYWxsIGUuZy4gYXVkaW8gc3RyZWFtcywgY29tcGxldGVseQoJICBtZXNzaW5nIHVwIGNhbGN1bGF0aW9ucyBpZiBzdHJlYW1zIGRvbid0IHN0YXJ0IGF0IDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NDAKCjIwMTYtMTEtMjIgMTU6NTg6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHdyaXRlICJnYXAiIGVkaXQgbGlzdCBpZiB0aGVyZSBpcyBhIG5vbi16ZXJvIGdhcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODQwCgoyMDE2LTExLTIzIDA3OjA5OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4ZGVjOiByZXdyaXRlIGxvZ2ljIGJhc2VkIG9uIEdzdEJ5dGVSZWFkZXIvV3JpdGVyCgkgIFNvbHZlcyBvdmVycmVhZGluZy93cml0aW5nIHRoZSBnaXZlbiBhcnJheXMgYW5kIHdpbGwgZXJyb3Igb3V0IGlmIHRoZQoJICBzdHJlYW1zIGFza3MgdG8gZG8gdGhhdC4KCSAgQWxzbyBkb2VzIG1vcmUgZXJyb3IgY2hlY2tpbmcgdGhhdCB0aGUgc3RyZWFtIGlzIHZhbGlkIGFuZCB3b24ndAoJICBvdmVycnVuIGFueSBhbGxvY2F0ZWQgYXJyYXlzLiAgQWxzbyBtaXRpZ2F0ZSBpbnRlZ2VyIG92ZXJmbG93IGVycm9ycwoJICBjYWxjdWxhdGluZyBhbGxvY2F0aW9uIHNpemVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODU5CgoyMDE2LTExLTIzIDExOjIwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBEb24ndCB1bnJlZigpIHBhcmVudCBpbiB0aGUgY2hhaW4gZnVuY3Rpb24KCSAgV2UgZG9uJ3Qgb3duIHRoZSByZWZlcmVuY2UgaGVyZSwgaXQgaXMgb3duZWQgYnkgdGhlIGNhbGxlciBhbmQgZ2l2ZW4gdG8KCSAgdXMgZm9yIHRoZSBzY29wZSBvZiB0aGlzIGZ1bmN0aW9uLiBMZWZ0b3ZlciBtaXN0YWtlIGZyb20gMC4xMCBwb3J0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODk3CgoyMDE2LTExLTIyIDIwOjMzOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBsaWJ2cHgncyByZWxlYXNlIGJ1ZmZlciBpcyBzb21ldGltZXMgY2FsbGVkIHdpdGggZmItPnByaXY9PU5VTEwKCSAgRG9uJ3QgYXNzZXJ0IG9uIHRoaXMgYnV0IGp1c3QgaWdub3JlIHRoZXNlIGNhc2VzLgoKMjAxNi0xMS0yMiAyMDoyNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggY2x1c3RlciBzZWFyY2hpbmcgaWYgd2Ugc2VhcmNoIG11bHRpcGxlIHRpbWVzIGluIG9uZSBjaHVuawoJICBBZnRlciBmaW5kaW5nIGEgY2x1c3RlciBpZCBpbiB0aGUgYnl0ZSByZWFkZXIsIHdlIHNraXAgYWhlYWQgdGhlIHJlYWRlcgoJICBwb3NpdGlvbiBieSBvbmUgZnVydGhlciBieXRlIHRvIGJlIGFibGUgdG8gY29udGludWUgc2VhcmNoaW5nIGZyb20gdGhlcmUKCSAgaW5zaWRlIHRoZSBzYW1lIGNodW5rIGlmIHRoZSBjbHVzdGVyIGNhbmRpZGF0ZSB3YXMgYSBmYWxzZSBwb3NpdGl2ZS4KCSAgV2UgaGF2ZSB0byBhY2NvbW9kYXRlIGZvciB0aGF0IGFkZGl0aW9uYWwgYnl0ZSB3aGVuIHJlc3VtaW5nIHRoZSBzZWFyY2gsCgkgIG90aGVyd2lzZSBhbGwgZm9sbG93aW5nIHB1bGxzIGFyZSBvZmYtYnktb25lIGZvciBldmVyeSByZXN1bWUgYW5kIHdlIHJ1bgoJICBpbnRvIGFuIGFzc2VydGlvbi4KCjIwMTYtMTEtMjIgMjA6MDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thOiBBZGQgc2l6ZSBjaGVja3MgdG8gdGhlIHBhcnNpbmcgb2YgRkxBQyBoZWFkZXJzCgoyMDE2LTExLTIyIDIzOjQ2OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGZpeCBzb21lIHdhcm5pbmdzIGNvbXBhcmluZyB1bnNpZ25lZCA8IDAKCSAgYmY0M2Y0NGZjZmFkYTVlYzRhM2NlNjBjYjM3NDM0MDQ4NmZlOWZhYyB3YXMgY29tcGFyaW5nIGFuIHVuc2lnbmVkCgkgIGV4cHJlc3Npb24gdG8gYmUgPCAwIHdoaWNoIHdhcyBhbHdheXMgZmFsc2UuCgkgIGdzdGZseGRlYy5jOiBJbiBmdW5jdGlvbiDigJhmbHhfZGVjb2RlX2JydW7igJk6CgkgIGdzdGZseGRlYy5jOjMyMjozMzogd2FybmluZzogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UgWy1XdHlwZS1saW1pdHNdCgkgIGlmICgoZ2xvbmcpIHJvdyAtIGNvdW50IDwgMCkgewoJICBeCgkgIGdzdGZseGRlYy5jOjMzMjozMzogd2FybmluZzogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UgWy1XdHlwZS1saW1pdHNdCgkgIGlmICgoZ2xvbmcpIHJvdyAtIGNvdW50IDwgMCkgewoJICBeCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4MzQKCjIwMTYtMTEtMjEgMTY6MTc6MzEgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogRW5hYmxlIHVwIHRvIDE2IHVucG9zaXRpb25lZCByYXcgYXVkaW8gY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc4OQoKMjAxNi0xMS0yMiAxOTowNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBhZGQgc29tZSB3cml0ZSBib3VuZHMgY2hlY2tpbmcKCSAgV2l0aG91dCBjaGVja2luZyB0aGUgYm91bmRzIG9mIHRoZSBmcmFtZSB3ZSBhcmUgd3JpdGluZyBpbnRvLCB3ZSBjYW4KCSAgd3JpdGUgb2ZmIHRoZSBlbmQgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KCSAgaHR0cHM6Ly9zY2FyeWJlYXN0c2VjdXJpdHkuYmxvZ3Nwb3QuZGsvMjAxNi8xMS8wZGF5LWV4cGxvaXQtYWR2YW5jaW5nLWV4cGxvaXRhdGlvbi5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4MzQKCjIwMTYtMTEtMjEgMTU6MjU6MjMgKzAwMDAgIERhdmlkIEV2YW5zIDxiYmNyZGRhdmVAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEJlIHN1cmUgbm90IHRvIHJlYWQgb2ZmIGVuZCBvZiBGTEFDIGRmTGEgYm94CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3MTIKCjIwMTYtMTEtMjEgMTE6NDg6NTggKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBza2lwcGluZyBpbnZhbGlkIGRhdGEgaW4gcHVzaCBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1NjYKCjIwMTYtMTEtMjEgMTE6NDg6MjkgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2FwYXJzZTogYWRkIHN1cHBvcnQgZm9yIHNraXBwaW5nIGludmFsaWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTY2CgoyMDE2LTExLTE4IDE3OjAwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBNb3ZlIHRvIG5ldyBoZWxwZXIgZnVuY3Rpb24gdG8gcGFyc2UgYXV0aGVudGljYXRpb24gcmVzcG9uc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MTYKCjIwMTYtMTEtMjAgMTQ6MTI6MTYgKzAxMDAgIGNocmlzdG9waGVjdnIgPHN0ZWZhbnNhdEB0ZWxlbmV0LmJlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB3cm9uZyBjb21waWxlciB3YXJuaW5nIHdpdGggZ2NjIDYuMgoJICB8IC4uLy4uLy4uL2dpdC9nc3QvaXNvbXA0L3F0ZGVtdXguYzogSW4gZnVuY3Rpb24gJ3F0ZGVtdXhfcGFyc2VfdHJlZSc6CgkgIHwgLi4vLi4vLi4vZ2l0L2dzdC9pc29tcDQvcXRkZW11eC5jOjEwMjI0OjI0OiBlcnJvcjogJ3NpemUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICB8ICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHNpemU7CgkgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KCSAgfCAuLi8uLi8uLi9naXQvZ3N0L2lzb21wNC9xdGRlbXV4LmM6MTAxOTc6MjU6IG5vdGU6ICdzaXplJyB3YXMgZGVjbGFyZWQgaGVyZQoJICB8ICAgICAgICAgICAgICAgICAgZ3VpbnQzMiBzaXplLCB0YWc7CgkgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc0NwoKMjAxNi0xMS0yMCAxNjoxNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiByZW1vdmUgY29waWVzIG9mIGdlbmVyYXRlZCBoZWFkZXJzCgoyMDE2LTExLTIwIDEzOjE0OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBFbnN1cmUgdGhhdCByYXcgdmlkZW8gaGF2ZSBwcm9wZXJseSBhbGlnbmVkIGJ1ZmZlcnMKCSAgVGhhdCBpcywgYWxpZ25lZCB0byB0byAzMiBieXRlcyBmb3IgdmlkZW8uIEZpeGVzIGNyYXNoZXMgaWYgdGhlIHJhdwoJICBidWZmZXJzIGFyZSBwYXNzZWQgdG8gU0lNRCBwcm9jZXNzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQyOAoKMjAxNi0xMS0yMCAxMzowODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFbnN1cmUgdGhhdCByYXcgYXVkaW8gYW5kIHZpZGVvIGhhdmUgcHJvcGVybHkgYWxpZ25lZCBidWZmZXJzCgkgIFRoYXQgaXMsIGFsaWduZWQgdG8gdGhlIGJhc2ljIHR5cGUgZm9yIGF1ZGlvIGFuZCB0byAzMiBieXRlcyBmb3IgdmlkZW8uCgkgIEZpeGVzIGNyYXNoZXMgaWYgdGhlIHJhdyBidWZmZXJzIGFyZSBwYXNzZWQgdG8gU0lNRCBwcm9jZXNzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQyOAoKMjAxNi0xMS0xNCAxNDo0NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFsd2F5cyB3cml0ZSBlZGl0IGxpc3RzIGZvciB0aGUgdHJhY2tzIHRvIGdpdmUgYSBtb3JlIGFjY3VyYXRlIGR1cmF0aW9uCgkgIEFsd2F5cyB3cml0ZSBhbiBlZGl0IGxpc3QgZm9yIHRoZSB3aG9sZSB0cmFjay4gSW4gZ2VuZXJhbCB0aGlzIGlzIG5vdAoJICBuZWNlc3NhcnkgZXhjZXB0IGZvciB0aGUgY2FzZSBvZiBoYXZpbmcgYSBnYXAgb3IgRFRTIGFkanVzdG1lbnQgYnV0CgkgIGl0IGFsbG93cyB0byBnaXZlIHRoZSB3aG9sZSB0cmFjaydzIGR1cmF0aW9uIGluIHRoZSB1c3VhbGx5IG1vcmUKCSAgYWNjdXJhdGUgbWVkaWEgdGltZXNjYWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAzCgoyMDE2LTExLTE4IDIyOjQ1OjQ1ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdXNlbGVzcyByZXR1cm4gdmFyaWFibGUKCSAgcXRkZW11eF9leHBvc2Vfc3RyZWFtcygpIHJldHVybnMgZmxvdyBlcnJvciBpbW1lZGlhdGVseSwgaWYgdGhlcmUgaXMgYW4gZXJyb3IuCgkgIFNvLCB0aGUgdmFyaWFibGUgZm9yIHRoZSBmbG93IHJldHVybiBpcyBub3QgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0Njc0CgoyMDE2LTExLTE3IDEzOjU5OjQ4ICswMDAwICBEYXZpZCBFdmFucyA8YmJjcmRkYXZlQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIEZMQUMgZW5jYXBzdWxhdGVkIGluIElTT0JNRkYKCSAgQXMgZGVmaW5lZCBieQoJICBodHRwczovL2dpdC54aXBoLm9yZy8/cD1mbGFjLmdpdDthPWJsb2JfcGxhaW47Zj1kb2MvaXNvZmxhYy50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzcxMgoKMjAxNi0xMS0xNyAxOTo1OTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1hcmsgcGFkIGFzIG5lZWRpbmcgcmVjb25maWd1cmF0aW9uIGFnYWluIGlmIGl0IGZhaWxlZAoJICBBbmQgcmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgTk9UX05FR09USUFURUQgb24gZmx1c2hpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAxOTo1OToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogTWFyayBwYWQgYXMgbmVlZGluZyByZWNvbmZpZ3VyYXRpb24gYWdhaW4gaWYgaXQgZmFpbGVkCgkgIEFuZCByZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBOT1RfTkVHT1RJQVRFRCBvbiBmbHVzaGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDE5OjU4OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBNYXJrIHBhZCBhcyBuZWVkaW5nIHJlY29uZmlndXJhdGlvbiBhZ2FpbiBpZiByZWNvbmZpZ3VyYXRpb24gZmFpbGVkCgkgIEFuZCBjb25zaWRlciBuZWdvdGlhdGlvbiBmYWlsdXJlcyBvbiBmbHVzaGluZyBwYWRzIGFzIEZMVVNISU5HLCBub3QgYXMKCSAgTk9UX05FR09USUFURUQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjMKCjIwMTYtMTEtMTcgMTk6NTY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IEZpeCBoYW5kbGluZyBvZiBuZWdvdGlhdGlvbiBmYWlsdXJlcwoJICBSZXR1cm4gTk9UX05FR09USUFURUQgaWYgc2VuZGluZyB0aGUgY2FwcyBldmVudCBmYWlscywgb3IgRkxVU0hJTkcgaWYKCSAgdGhlIHBhZCB3YXMgZmx1c2hpbmcgYXQgdGhhdCBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAxNzoxNjoyNiAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZF9nbG9iYWxfYXJndW1lbnRzIC0+IGFkZF9wcm9qZWN0X2FyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjU2CgoyMDE2LTExLTE2IDEwOjUzOjUxICswNTMwICBWaW5vZCBLZXN0aSA8dmlub2RrZXN0aUB5YWhvby5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IHBhZCByZXF1ZXN0IGZhaWxzIGZvciBmbHZtdXgKCSAgc3BsaXRtdXhzaW5rIHJlcXVlc3RzIHBhZCBmcm9tIGVsZW1lbnQgdXNpbmcgcGFkIHRlbXBsYXRlIGxpa2UgInZpZGVvXyV1IiwgImF1ZGlvXyV1IiBhbmQgInNpbmtfJWQiLiBUaGlzIGlzIHRydWUgZm9yIG1vc3Qgb2YgdGhlIG11eGVycy4KCSAgQnV0IHNwbGl0bXV4c2luayBub3QgYWJsZSB0byByZXF1ZXN0IHBhZCB0byBmbHZtdXggYXMgZmx2bXV4IGhhcyAiYXVkaW8iIGFuZCAidmlkZW8iIGFzIHBhZCB0ZW1wbGF0ZXMuCgkgIGZpeDogc3BsaXRtdXhzaW5rIHNob3VsZCBmYWxsYmFjayB0byAiYXVkaW8iIGFuZCAgInZpZGVvIiB3aGVuIHRlbXBsYXRlIG5vdCBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUwNwoKMjAxNi0xMS0xNyAxMDoyNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBBZGQgcmVtYWluaW5nIHJlbGV2YW50IHBhcnRzIGZyb20gYTNhNTUzMDUgdG8gdGhlIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTY2CgoyMDE2LTExLTE2IDIyOjM5OjAxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBpZ25vcmUgcGFyc2luZyBlcnJvcnMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZQoJICBUaGlzIGlzIHRoZSBzYW1lIGNoYW5nZSBhcyBhM2E1NTMwNSBmb3IgdGhlIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDU2NgoKMjAxNi0xMS0xNiAwODo1NjozNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYnVuZGxlLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGJ1bmRsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGJ1bmRsZS5jOgoJICBydHBiaW46IHJlY2VpdmUgYnVuZGxlIHN1cHBvcnQKCSAgQSBuZXcgc2lnbmFsIG5hbWVkIG9uLWJ1bmRsZWQtc3NyYyBpcyBwcm92aWRlZCBhbmQgY2FuIGJlCgkgIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uIHRvIHJlZGlyZWN0IGEgc3RyZWFtIHRvIGEgZGlmZmVyZW50CgkgIEdzdFJ0cFNlc3Npb24gb3IgdG8ga2VlcCB0aGUgUlRYIHN0cmVhbSBncm91cGVkIHdpdGhpbiB0aGUKCSAgR3N0UnRwU2Vzc2lvbiBvZiB0aGUgc2FtZSBtZWRpYSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNzQwCgoyMDE2LTExLTE1IDE2OjUyOjM5ICswNTMwICBWaW5vZCBLZXN0aSA8dmlub2RrZXN0aUB5YWhvby5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhc3NlcnRpb24gd2hpbGUgY29udmVydGluZyBBRFRTIHN0cmVhbSB0byBSQVcKCSAgYWFjcGFyc2UgcmVzaXplcyBpbnB1dCBidWZmZXIgd2hpbGUgY29udmVydGluZyBBRFRTIHN0cmVhbSB0byBSQVcsCgkgIER1cmluZyBidWZmZXIgcmVzaXplIGJ1ZmZlciB3cml0ZSBwZXJtaXNzaW9uIGlzIG5vdCBjaGVja2VkLgoJICBUaGlzIHRocm93cyBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlIGFzc2VydGlvbiBhbmQgbGVhZHMgdG8gQVYgc3luYyBpc3N1ZSBzb21lIHRpbWVzLgoJICBJdCBpcyBjb3JyZWN0ZWQgYnkgbWFraW5nIGJ1ZmZlciB3cml0ZWFibGUgdXNpbmcgZ3N0X2J1ZmZlcl9tYWtlX3dyaXRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxMjkKCjIwMTYtMTEtMTUgMjE6MTc6NTEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IG1vZGlmeSB1cHN0cmVhbSBUSU1FIHNlZ21lbnQKCSAgVElNRSBzZWdtZW50IGltcGxpZXMgdGhhdCBzdHJlYW0vcnVubmluZyB0aW1lIGlzIGJlaW5nIGhhbmRsZWQgYnkgdXBzdHJlYW0uCgkgIFNvLCB3ZSBzaG91bGRuJ3Qgb3ZlcnJpZGUgaXQgd2l0aG91dCBhbnkgY2x1ZS4KCSAgVGhpcyBwYXRjaCBpcyBmb3IgZml4aW5nIHNlZWsgaW4gREFTSCBzdHJlYW1pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxOTYKCjIwMTYtMTEtMTQgMjI6MzM6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5Ab3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlnLmgubWVzb246CgkgIG1lc29uOiBBZGQgZGVmaW5lIGZvciB2NGwyLXByb2JlIGNvbmZpZyBvcHRpb24KCjIwMTYtMTEtMTQgMTc6Mzc6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBSZXNldCBjYXBzIGFjY3VtdWxhdG9yIHRvIEFOWSB3aGVuIHJlc3luY2luZyB0aGUgYWRhcHRlciwgbm90IEVNUFRZCgkgIFRoZSBhY2N1bXVsYXRvciBpcyBmaWxsZWQgYnkgaW50ZXJzZWN0aW5nIHdpdGggYWxsIHRoZSBwYWQgY2FwcywgYXMgc3VjaAoJICBpdCBtdXN0IGJlIGluaXRpYWxpemVkIHdpdGggQU5ZIChsaWtlIGl0IGlzIGJlZm9yZSB0aGUgaXRlcmF0aW9uIGlzCgkgIHN0YXJ0ZWQpIGFuZCBub3QgdG8gRU1QVFkuCgkgIEZpeGVzIHRoZSBDQVBTIHF1ZXJ5IGFsd2F5cyByZXR1cm5pbmcgRU1QVFkgY2FwcyB3aGVuIHJlc3luY2luZyBoYXBwZW5lZAoJICBkdXJpbmcgdGhlIHF1ZXJ5LCBlLmcuIGJlY2F1c2UgcGFkcyB3ZXJlIGFkZGVkL3JlbW92ZWQuCgoyMDE2LTExLTE0IDEyOjEzOjE0ICswMTAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiByZW1vdmUgcmVkdW5kYW50IHNhZGRyIHVucmVmCgkgIFRoZSBnX29iamVjdF91bnJlZiAoc2FkZHIpIGJlZm9yZSByZWNlaXZpbmcgbWVzc2FnZSBzZWVtcyB0byBiZSByZWR1bmRhbnQgYXMgaXQKCSAgaXMgZG9uZSBqdXN0IGJlZm9yZSBqdW1waW5nIHRvIHJldHJ5CgkgIFRob3VnaCBub3QgZGlyZWN0bHkgcmVsYXRlZCwgcGFydCBvZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyODQxCgoyMDE2LTExLTEyIDIzOjM0OjIzICswMTAwICBQZXRyIEt1bGhhdnkgPGJyYWluQGppa29zLmN6PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiByZWNlaXZlIGNvbnRyb2wgbWVzc2FnZXMgb25seSBpbiBtdWx0aWNhc3QKCSAgQ29udHJvbCBtZXNzYWdlcyBhcmUgdXNlZCBvbmx5IGluIG11bHRpY2FzdCBtb2RlIC0gdG8gZGV0ZWN0IGlmIHRoZSBkZXN0aW5hdGlvbgoJICBhZGRyZXNzIGlzIG5vdCBvdXJzIGFuZCBwb3NzaWJseSBkcm9wIHRoZSBwYWNrZXQuIEhvd2V2ZXIgaW4gbm9uLW11bHRpY2FzdAoJICBtb2RlcyB0aGUgbWVzc2FnZXMgYXJlIHN0aWxsIGFsbG9jYXRlZCBhbmQgZnJlZWQgZXZlbiBpZiBub3QgdXNlZC4gVGhlcmVmb3JlCgkgIHJlcXVlc3QgY29udHJvbCBtZXNzYWdlcyBmcm9tIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpIG9ubHkgaW4gbXVsdGljYXN0CgkgIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI4NDEKCjIwMTYtMTEtMTEgMTA6NDU6MDEgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBVc2UgaW50ZXJtZWRpYXRlIGd1aW50IHdoZW4gaGFuZGxpbmcgR3N0VmlkZW9NdWx0aXZpZXdGbGFncwoJICBUaGUgdW5kZXJseWluZyBpbnRlZ2VyIHR5cGUgb2YgdGhlIGVudW0gR3N0VmlkZW9NdWx0aXZpZXdGbGFncyBpcwoJICBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGFuZCBtYXkgbm90IGhhdmUgdGhlIHNhbWUgc2l6ZSBhcyBndWludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI5MwoKMjAxNi0xMS0xMSAxMDo0NDoxOCAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IHVwZGF0ZSB1cmlfZ2V0X3R5cGUgdG8gbWF0Y2ggdGhlIHByb3RvdHlwZSBpbiBHc3RVUklIYW5kbGVySW50ZXJmYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyOTMKCjIwMTYtMTAtMjYgMjI6Mzc6MzQgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkb24ndCBhZGRfZ2xvYmFsX2FyZ3VtZW50cyB3aGVuIGJlaW5nIGJ1aWx0IGFzIGEgc3VicHJvamVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTY4CgoyMDE2LTEwLTIxIDE1OjQ5OjM2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZml4IGhlYWRlciByZXdyaXRpbmcgYmVpbmcgaWdub3JlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODAyCgoyMDE2LTExLTA5IDA2OjI1OjI3ICswMDAwICBTZWFuIER1Qm9pcyA8c2VhbkBzaW9idWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgbWV0YWRhdGFjcmVhdG9yIHByb3BlcnR5CgkgIEFsbG93IHVzZXJzIHRvIHNldCBtZXRhZGF0YWNyZWF0b3IgdmFsdWUgaW4gdGhlIG1ldGEgcGFja2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxMzEKCjIwMTYtMTEtMDEgMTk6NTY6MzYgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBVc2UgZmlyc3QgYnVmZmVyIFRTIGFzIG11eCBzdGFydCB0aW1lCgkgIERvIG5vdCB1c2UgbGFzdCBidWZmZXIgVFMgKyBidWZmZXIgZHVyYXRpb24gYmVjYXVzZSBidWZmZXIgZHVyYXRpb24KCSAgbWlnaHQgYmUgaW5hY2N1cmF0ZSwgZXNwZWNpYWxseSBmb3IgZnJhbWUgcmF0ZXMgbGlrZSAzMGZwcyB3aGVyZSBhCgkgIHJvdW5kaW5nIGVycm9yIGlzIG9ic2VydmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzg1CgoyMDE2LTExLTA3IDE0OjQ3OjIyICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvZ3N0cXRzcmMuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5oOgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkqIGV4dC9xdC9xdHdpbmRvdy5oOgoJICBxbWxnbHNyYzogc29tZSBlbmhhbmNlbWVudHMgZm9yIHFtbGdsc3JjCgkgIDEuIE5lZWQgc2V0IHVzZS1kZWZhdWx0LWZibyB0byBxcXVpY2t3aW5kb3cgZHVyaW5nIHNldCBwcm9wZXJ0eQoJICB0byBzdXBwb3J0IGNoYW5nZSByZW5kZXIgdGFyZ2V0IG9uIHRoZSBmbHkuCgkgIDIuIENhbGN1bGF0ZSBxbWxnbHNyYyByZWZyZXNoIGZyYW1lIHJhdGUgaW4gcXRnbHdpbmRvdwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MDM1CgoyMDE2LTExLTAzIDE1OjAzOjU5ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHRpbWVyLXJldXNlIGJ1ZwoJICBXaGVuIGRvaW5nIHJ0eCwgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIGFsd2F5cyBhZGQgYW4gcnR4LXRpbWVyIGZvciB0aGUgbmV4dAoJICBzZXF1ZW5jZSBudW1iZXIuCgkgIEluIHRoZSBjYXNlIG9mIHRoZSBwYWNrZXQgY29ycmVzcG9uZGluZyB0byB0aGF0IHNlcXVlbmNlIG51bWJlciBhcnJpdmluZywKCSAgdGhhdCBzYW1lIHRpbWVyIHdpbGwgYmUgcmV1c2VkLCBhbmQgc2ltcGx5IG1vdmVkIG9uIHRvIHdhaXQgZm9yIHRoZQoJICBmb2xsb3dpbmcgc2VxdWVuY2UgbnVtYmVyIGV0Yy4KCSAgT25jZSBhbiBydHgtdGltZXIgZXhwaXJlcyAoYWZ0ZXIgYWxsIHJldHJpZXMpLCBpdCB3aWxsIGJlIHJlc2NoZWR1bGVkIGFzCgkgIGEgbG9zdC10aW1lciBpbnN0ZWFkIGZvciB0aGUgc2FtZSBzZXF1ZW5jZSBudW1iZXIuCgkgIE5vdywgaWYgdGhpcyBwYXJ0aWN1bGFyIHNlcXVlbmNlLW51bWJlciBub3cgYXJyaXZlcyAoYWZ0ZXIgdGhlIHRpbWVyIGhhcwoJICBiZWNvbWUgYSBsb3N0LXRpbWVyKSwgdGhlIHJldXNlIG1lY2hhbmlzbSAqc2hvdWxkKiBub3cgc2V0IGEgbmV3CgkgIHJ0eC10aW1lciBmb3IgdGhlIG5leHQgc2VxdWVuY2UgbnVtYmVyLCBidXQgdGhlIGJ1ZyBpcyB0aGF0IGl0IGRvZXMKCSAgbm90IGNoYW5nZSB0aGUgdGltZXItdHlwZSwgYW5kIGhlbmNlIHNjaGVkdWxlcyBhIGxvc3QtdGltZXIgZm9yIHRoYXQKCSAgZm9sbG93aW5nIHNlcXVlbmNlIG51bWJlciwgd2l0aCB0aGUgcmVzdWx0IHRoYXQgeW91IHdpbGwgaGF2ZSBhIHZlcnkKCSAgZWFybHkgbG9zdC1ldmVudCBmb3IgYSBwYWNrZXQgdGhhdCBtaWdodCBzdGlsbCBhcnJpdmUsIGFuZCB5b3Ugd2lsbAoJICBuZXZlciBiZSBhYmxlIHRvIHNlbmQgYW55IHJ0eCBmb3IgdGhpcyBwYWNrZXQuCgkgIEZvdW5kIGJ5IEVybGVuZCBHcmFmZiAtIGVybGVuZEBwZXhpcC5jb20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzg5MQoKMjAxNi0xMC0wOSAxNTo1OTowNSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxvc3QtZXZlbnQgdXNpbmcgZHRzIGluc3RlYWQgb2YgcHRzCgkgIFRoZSBsb3N0LWV2ZW50IHdhcyB1c2luZyBhIGRpZmZlcmVudCB0aW1lLWRvbWFpbiAoZHRzKSB0aGFuIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIChwdHMpLiBHaXZlbiBjZXJ0YWluIG5ldHdvcmstY29uZGl0aW9ucyB0aGVzZSB0d28gd291bGQgYmVjb21lCgkgIHN1ZmZpY2llbnRseSBkaWZmZXJlbnQgYW5kIHRoZSBsb3N0LWV2ZW50IGNvbnRhaW5lZCB0aW1lc3RhbXAvZHVyYXRpb24KCSAgdGhhdCB3YXMgcmVhbGx5IHdyb25nLiBBcyBhbiBleGFtcGxlIEdzdEF1ZGlvRGVjb2RlciBjb3VsZCBwcm9kdWNlCgkgIGEgc3RyZWFtIHRoYXQganVtcHMgYmFjayBhbmQgZm9ydGggaW4gdGltZSBhZnRlciByZWNlaXZpbmcgYSBsb3N0LWV2ZW50LgoJICBUaGUgcHJldmlvdXMgYmVoYXZpb3IgY2FsY3VsYXRlZCB0aGUgcHRzIChiYXNlZCBvbiB0aGUgcnRwdGltZSkgaW5zaWRlIHRoZQoJICBydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQgZnVuY3Rpb24sIGJ1dCBub3cgdGhpcyBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuCgkgIHJlZmFjdG9yZWQgaW50byBhIG5ldyBmdW5jdGlvbiBydHBfaml0dGVyX2J1ZmZlcl9jYWxjdWxhdGVfcHRzIHRoYXQgaXMKCSAgY2FsbGVkIG11Y2ggZWFybGllciBpbiB0aGUgX2NoYWluIGZ1bmN0aW9uIHRvIG1ha2UgcHRzIGF2YWlsYWJsZSB0bwoJICB2YXJpb3VzIGNhbGN1bGF0aW9ucyB0aGF0IHdyb25nbHkgdXNlZCBkdHMgcHJldmlvdXNseQoJICAobGlrZSB0aGUgbG9zdC1ldmVudCkuCgkgIFRoZXJlIGFyZSBob3dldmVyIHR3byBjYWxjdWxhdGlvbnMgd2hlcmUgdXNpbmcgZHRzIGlzIHRoZSByaWdodCB0aGluZyB0bwoJICBkbzogY2FsY3VsYXRpbmcgdGhlIHJlY2VpdmUtaml0dGVyIGFuZCB0aGUgcnR4LXJvdW5kLXRyaXAtdGltZSwgd2hlcmUgdGhlCgkgIGFycml2YWwgdGltZSBvZiB0aGUgYnVmZmVyIGZyb20gdGhlIG5ldHdvcmsgaXMgdGhlIHJpZ2h0IG1ldHJpYwoJICAoYW5kIGlzIHdoYXQgZHRzIGluIGZhY3QgaXMgdG9kYXkpLgoJICBUaGUgcGF0Y2ggYWxzbyBhZGRzIHR3byB0ZXN0cyByZWdhcmRpbmcgQi1mcmFtZXMgb3IgdGhlCgkgIOKAnHJ0cHRpbWUtZ29pbmctYmFja3dhcmRz4oCdLXNjZW5hcmlvLCBhcyB0aGVyZSB3ZXJlIHNvbWUgY29uY2VybnMgdGhhdCB0aGlzCgkgIHBhdGNoIG1pZ2h0IGJyZWFrIHRoaXMgYmVoYXZpb3IgKHdoaWNoIHRoZSB0ZXN0cyBzaG93cyBpdCBkb2VzIG5vdCkuCgoyMDE2LTExLTAzIDE2OjMzOjUzICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGJ1ZyBpbiByZXNjaGVkdWxlX3RpbWVyCgkgIFRoZSBuZXcgdGltZW91dCBpcyBhbHdheXMgZ29pbmcgdG8gYmUgKHRpbWVvdXQgKyBkZWxheSksIGhvd2V2ZXIsIHRoZQoJICBvbGQgYmVoYXZpb3IgY29tcGFyZWQgdGhlIGN1cnJlbnQgdGltZW91dCB0byBqdXN0ICh0aW1lb3V0KSwgYmFzaWNhbGx5CgkgIGJlaW5nIChkZWxheSkgb2ZmLgoJICBUaGlzIHdvdWxkIGhhcHBlbiBpZiBydHgtZGVsYXkgPT0gcnR4LXJldHJ5LXRpbWVvdXQsIHdpdGggdGhlIHJlc3VsdCB0aGF0CgkgIGEgc2Vjb25kIHJ0eCBhdHRlbXB0IGZvciBhbnkgYnVmZmVycyB3b3VsZCBiZSBzY2hlZHVsZWQgaW1tZWRpYXRlbHkgaW5zdGVhZAoJICBvZiBhZnRlciBydHgtZGVsYXkgbXMuCgkgIFNpbXBseSBjYWxjdWxhdGUgKG5ld190aW1lb3V0ID0gdGltZW91dCArIGRlbGF5KSBhbmQgdGhlbiB1c2UgdGhhdCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczOTA1CgoyMDE2LTExLTAzIDEzOjI3OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2F1ZGlvdGVzdHNyYy53YXY6CgkgIHRlc3RzOiB3YXZwYXJzZTogYWRkIHRlc3QgZm9yIHByb2Nlc3NpbmcgYW4gYWN0dWFsIC53YXYgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczODYxCgoyMDE2LTExLTAzIDEyOjM0OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBzZXQgY2FwcyB0byBOVUxMIGFmdGVyIHNldHRpbmcgdGhlbSBvbiB0aGUgc3JjcGFkCgkgIFdlIHdvdWxkIGxpa2UgdG8gY2hlY2sgbGF0ZXIgb24gRU9TIGlmIHdlIGZvdW5kIGEga25vd24gc3RyZWFtIHR5cGUgb3IKCSAgbm90LCB0byBwb3NzaWJseSBwb3N0IGFuIGVycm9yIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM4NjEKCjIwMTYtMTAtMDUgMTI6MTk6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGdsOiBHU1RfR0xfVFlQRSAtPiBHU1RfVFlQRV9HTAoJICBTb21lIGRlcHJlY2F0ZWQgc3ltYm9scyBhcmUga2VwdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCjIwMTYtMTAtMDUgMTI6MTk6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSAgZ2w6IEdTVF9HTF9UWVBFIC0+IEdTVF9UWVBFX0dMCgkgIFNvbWUgZGVwcmVjYXRlZCBzeW1ib2xzIGFyZSBrZXB0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoKMjAxNi0xMS0wMiAxNDozMzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGRlcmVmIE5VTEwgcGFkcyBpbiBkZWJ1ZyBvdXRwdXQKCSAgVGhhdCB0ZW5kcyB0byBjcmFzaC4KCjIwMTYtMTEtMDIgMTE6NDY6MDcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogRG9uJ3QgdXNlIGdzdF92aWRlb19jb2xvcmltZXRyeV90b19zdHJpbmdfZnVsbCgpCgkgIFRoZSBBUEkgd2FzIHJldmVydGVkLiBKdXN0IHVzZSB0aGUgcGxhaW4KCSAgZ3N0X3ZpZGVvX2NvbG9yaW1ldHJ5X3RvX3N0cmluZygpIGZ1bmN0aW9uLgoKMjAxNi0xMS0wMiAxMTowMDoxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBHT2JqZWN0IHdhcm5pbmdzIG9uIHNodXRkb3duLgoJICBDb21taXQgODNlNzE4IGFkZGVkIGEgcGFkIHRlbXBsYXRlIHRvIHNwbGl0bXV4IHJlcXVlc3QKCSAgcGFkcywgd2hpY2ggbWVhbnMgdGhhdCBHc3RFbGVtZW50IG5vdyByZWxlYXNlcyB0aGUgcGFkcyBvbgoJICBkaXNwb3NlLCBidXQgYWZ0ZXIgaGF2aW5nIHJlbW92ZWQgYWxsIGVsZW1lbnRzIGluIHRoZSBiaW4KCSAgYW5kIHVubGlua2VkIHRoZW0uIE1ha2Ugc3VyZSB3ZSBjYW4gaGFuZGxlIGNsZWFudXAgaW4gdGhhdCBjYXNlCgkgIHdpdGhvdXQgdGhyb3dpbmcgYXNzZXJ0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Mzc4NAoKMjAxNi0xMS0wMiAwMjoyNTo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuaDoKCSAgc3BsaXRtdXhzcmM6IFN0b3JlIHNlZWsgc2VxbnVtIGFuZCBzZW5kIGl0IG9uIEVPUyAvIHNlZ21lbnQgZXZlbnRzLgoJICBHRVMgcmVsaWVzIG9uIHRoZSBFT1MgZXZlbnQgaGF2aW5nIHRoZSBzZXFudW0gb2YgdGhlIHNlZWsgdGhhdAoJICBjYXVzZWQgaXQuCgoyMDE2LTExLTAyIDAyOjI1OjAwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEZvcndhcmQgYSBub3QtbGlua2VkIGVycm9yIG9uIHRoZSBidXMKCSAgSGFuZGxlIG5vdC1saW5rZWQgYXMgZm9yIG90aGVyIGZhdGFsIGVycm9ycyBhbmQgcG9zdCBpdAoJICBvbnRvIHRoZSBidXMgc28gdGhlIGFwcCBrbm93cwoKMjAxNi0xMS0wMSAyMTowMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBxdGRlbXV4LmM6IEluIGZ1bmN0aW9uIOKAmHF0ZGVtdXhfcGFyc2VfdHJlZeKAmToKCSAgcXRkZW11eC5jOjEwMTM5OjE2OiBlcnJvcjog4oCYY29sb3JfdGFibGVfaWTigJkgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGlmIChjb2xvcl90YWJsZV9pZCAhPSAwKSB7CgkgIF4KCSAgcXRkZW11eC5jOjEwMTIxOjE5OiBub3RlOiDigJhjb2xvcl90YWJsZV9pZOKAmSB3YXMgZGVjbGFyZWQgaGVyZQoJICBndWludDE2IGNvbG9yX3RhYmxlX2lkOwoJICBefn5+fn5+fn5+fn5+fgoKMjAxNi0xMC0yMCAxNzo0MDo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBhIGRlZmF1bHQgaW50ZXJsZWF2ZSBvZiAyNTBtcyBmb3IgYWxsIGNvZGVjcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE3CgoyMDE2LTEwLTE5IDE0OjMzOjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIGEgZGVmYXVsdCBpbnRlcmxlYXZlIHdoZW4gUHJvUmVzIGlzIHVzZWQKCSAgVGhlIFByb1JlcyBndWlkZWxpbmVzIHN1Z2dlc3QgYW4gaW50ZXJsZWF2ZSBvZiAwLjVzIGlzIGNvbW1vbiwgYnV0CgkgIHNwZWNpZmllcyB0aGF0IGZvciBQcm9SZXMgYXQgbW9zdCAyTUIgKGZvciBTRCkgYW5kIDRNQiAoZm9yIEhEKSBzaG91bGQKCSAgYmUgdXNlZCBwZXIgY2h1bmsuCgkgIEl0IG1pZ2h0IGFsc28gbWFrZSBzZW5zZSB0byB1c2Ugc2ltaWxhciBudW1iZXJzIGluIGdlbmVyYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyMTcKCjIwMTYtMTAtMTkgMTQ6MjU6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQWxsb3cgY29uZmlndXJpbmcgdGhlIGludGVybGVhdmUgc2l6ZSBpbiBieXRlcy90aW1lCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSBzd2l0Y2hpbmcgZnJvbSBvbmUgY2h1bmsgdG8gYW5vdGhlciBvbiBldmVyeSBzaW5nbGUKCSAgYnVmZmVyLiBUaGlzIHdhc3RlcyBzb21lIHNwYWNlIGluIHRoZSBoZWFkZXJzIGFuZCwgZGVwZW5kaW5nIG9uIHRoZQoJICBzb2Z0d2FyZSwgbWlnaHQgZGVwZW5kIGluIG1vcmUgcmVhZHMgKGUuZy4gaWYgdGhlIHNvZnR3YXJlIGlzIHJlYWRpbmcKCSAgbXVsdGlwbGUgc2FtcGxlcyBpbiBvbmUgZ28gaWYgdGhleSdyZSBpbiB0aGUgc2FtZSBjaHVuaykuCgkgIFRoZSBQcm9SZXMgZ3VpZGVsaW5lcyBzdWdnZXN0IGFuIGludGVybGVhdmUgb2YgMC41cyBpcyBjb21tb24sIGJ1dAoJICBzcGVjaWZpZXMgdGhhdCBmb3IgUHJvUmVzIGF0IG1vc3QgMk1CIChmb3IgU0QpIGFuZCA0TUIgKGZvciBIRCkgc2hvdWxkCgkgIGJlIHVzZWQgcGVyIGNodW5rLiBUaGlzIHdpbGwgYmUgaGFuZGxlZCBpbiBhIGZvbGxvdy11cCBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMyMTcKCjIwMTYtMDktMzAgMTg6MjI6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBTZXQgY29tcHJlc3NvciBuYW1lLCBob3Jpem9udGFsL3ZlcnRpY2FsIHJlc29sdXRpb24gYW5kIGRlcHRoIGZvciBQcm9SZXMKCSAgVGhpcyBpcyBhbHNvIHJlcXVpcmVkIGJ5IHNvbWUgc29mdHdhcmUgdG8gaGFuZGxlIFByb1JlcyBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0zMCAxODowNTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0OiBBZGQgc3VwcG9ydCBmb3IgUHJvUmVzIDQ0NDQgWFEKCSAgQW5kIGFsc28gNDQ0NCBpbiB0aGUgbXV4ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMzAgMTc6NTg6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRtdXg6IFdyaXRlICdjbGFwJyBhdG9tIGZvciBQcm9SZXMKCSAgSXQncyByZXF1aXJlZCBmb3IgUHJvUmVzIHRvIHdvcmsgd2l0aCBvdGhlciBzb2Z0d2FyZS4KCSAgSXQgaXMgYWxzbyBpbiB0aGUgTVA0IHN0YW5kYXJkLCBidXQgaW52ZW50aW5nIHZhbHVlcyBoZXJlIHNlZW1zIGEgYml0CgkgIHRyaWNreSBmb3IgdGhlIGdlbmVyYWwgY2FzZSBhbmQgaXQgZG9lcyBub3QgcmVhbGx5IGdpdmUgYW55IGV4dHJhCgkgIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTMwIDA5OjU1OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlYWQgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24gZnJvbSBjb2xyIGF0b20gaWYgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxODEKCjIwMTYtMDktMjkgMjE6NTY6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogQWx3YXlzIHdyaXRlIGNvbHIgYXRvbSB3aXRoIHRoZSBjb2xvcmltZXRyeSBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTgxCgoyMDE2LTA5LTI5IDE4OjE2OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCB3cml0aW5nIG9mIHRoZSAnZmllbCcgZXh0ZW5zaW9uIGF0b20KCSAgVGhpcyB3YXMgYWxzbyB3cm9uZyBmb3IgSlBFRzIwMDAuIEFsc28gd3JpdGUgaXQgZm9yIGFsbCBNT1YgZmlsZXMgYW5kCgkgIEpQRUcyMDAwLCBub3Qgb25seSBmb3IgUHJvUmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA5LTI5IDE3OjQwOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogV3JpdGUgNCBieXRlcyBvZiB6ZXJvZXMgYXQgdGhlIGVuZCBvZiB0aGUgc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbnMKCSAgVGhpcyBpcyB3b3JraW5nIGFyb3VuZCBzb21lIGJyb2tlbiBzb2Z0d2FyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNi0wOS0yOCAyMDo1NToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6ICdwYXNwJyBhdG9tIGlzIGFsc28gcGFydCBvZiBNUDQsIHdyaXRlIGl0IGFsd2F5cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MDQ4CgoyMDE2LTA3LTExIDE5OjMwOjEyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSBhZGRpdGlvbmFsIGF0b21zIGZvciBwcm9yZXMgdmlkZW8KCSAgVGhlc2UgcmVxdWlyZWQgYXRvbXMgYXJlOiBjb2xvcmltZXRyeSwgZmllbGQgaW5mb3JtYXRpb24sIHNwYXRpYWwvdGVtcG9yYWwKCSAgcXVhbGl0eSwgYW5kIHZlbmRvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0OAoKMjAxNC0wNi0xNiAxNzoyMDozMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBEb24ndCBkcm9wIG1vZGUgYiBwYWNrZXRzIHdpdGggcGljdHVyZSBzdGFydCBjb2RlCgkgIFNvbWUgYnVnZ3kgcGF5bG9hZGVycywgZS5nLiBydHBoMjYzcGF5LCBtYXkgdXNlIG1vZGUgQiBmb3IgcGFja2V0cwoJICB0aGF0IHN0YXJ0cyB3aXRoIGEgcGljdHVyZSAob3IgR09CKSBzdGFydCBjb2RlIGFsdGhvdWdoIGl0J3Mgbm90CgkgIGFsbG93ZWQuIExldCdzIGJlIG5pY2UgYW5kIG5vdCBkcm9wIHRoZXNlIHBhY2tldHMvZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTE2CgoyMDE2LTA2LTIyIDEzOjU5OjM1ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BwYXk6IEZpeCBjYXBzIGxlYWsKCSAgRml4IGxlYWtpbmcgY2FwcyB3aGVuIGRvd25zdHJlYW0gaGFzIG5vdC1maXhlZCBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTE1CgoyMDE2LTEwLTI2IDE2OjQyOjE5ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBGaXggaW5kZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxNAoKMjAxNi0xMC0xOCAxMTozNTo1OCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogVXNlIEdTVF9UUkFDRV9PQkpFQ1QgZm9yIGxvZ2dpbmcgYml0c3RyZWFtIHBhcnNpbmcKCSAgQnVtcCB0aGUgYml0c3RyZWFtIHBhcnNpbmcgdG8gVFJBQ0UgbG9nIGxldmVsIHNvIGl0IGRvZXNuJ3QgZmxvb2QgdGhlCgkgIG91dHB1dCB3aGVuIHRyeWluZyB0byByZWFkIHRoZSBtb3JlIHVzZWZ1bCBERUJVRyBhbmQgTE9HIG1lc3NhZ2VzLgoJICBBbHNvIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluc3RlYWQgb2YgR1NUX0RFQlVHIGluIHZhcmlvdXMgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MTQKCjIwMTYtMTAtMTggMTE6MDk6MTAgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEZpeCBsZWFrIGZvciBCLWZyYWdtZW50cwoJICBBbHRvdWdoIGNvbW1pdHMgNmExNmJlNywgNjRmOWQwOCBhbmQgMGM3ZTNhOCBmaXhlZCBzb21lIGlzc3VlcyB0aGV5CgkgIGludHJvZHVjZWQgb3RoZXJzLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSBsZWFrIG9mIG9uZSBtYWNyb2Jsb2NrIGZvciBldmVyeQoJICBCIGZyYWdtZW50LgoJICBNYWNyb2Jsb2NrIHN0cnVjdHVyZXMgbXVzdCBub3QgYmUgZnJlZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZmluZGluZyB0aGUKCSAgYm91bmRhcmllcyBhcyB0aGV5IGFyZSBzdG9yZWQgYW5kIHVzZWQgbGF0ZXIuIEhvd2V2ZXIgdGhlIGluaXRhbCBkdW1teQoJICBzdHJ1Y3R1cmUgKHVzZWQgZm9yIGZpbmRpbmcgdGhlIGZpcnN0IGJvdW5kYXJ5KSBtdXN0IGJlIGZyZWVkLgoJICBDSUQgIzEyMTIxNTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUxMgoKMjAxNi0xMC0yMCAxMzoxNDoxMyArMDIwMCAgQWxlamFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGF2b2lkIGdlbmVyYXRpbmcgZXJyb3JzIHdoZW4gcnRjcCBtZXNzYWdlcyBhcmUgZW1wdHkgYW5kIGNoZWNrIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkKCSAgQWRkIGEgY2hlY2sgdG8gdmVyaWZ5IGFsbCB0aGUgb3V0cHV0IGJ1ZmZlcnMgd2VyZSBlbXB0eSBmb3IgdGhlCgkgIHNlc3Npb24gaW4gYSB0aW1vdXQgYW5kIGxvZyBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzI2OQoKMjAxNi0xMC0yNiAxMzoyMToyOSArMDIwMCAgQWxlamFuZHJvIEcuIENhc3RybyA8YWxleEBpZ2FsaWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwYmluOiBwaXBlbGluZSBnZXRzIGFuIEVPUyB3aGVuIGFueSBydHBzb3VyY2VzIGJ5ZXMKCSAgSW5zdGVhZCBvZiBzZW5kaW5nIEVPUyB3aGVuIGEgc291cmNlIGJ5ZXMgd2UgaGF2ZSB0byB3YWl0IGZvcgoJICBhbGwgdGhlIHNvdXJjZXMgdG8gYmUgZ29uZSwgd2hpY2ggbWVhbnMgdGhleSBhbHJlYWR5IHNlbnQgQllFIGFuZAoJICB3ZXJlIHJlbW92ZWQgZnJvbSB0aGUgc2Vzc2lvbi4gV2Ugbm93IGhhbmRsZSB0aGUgRU9TIGluIHRoZSBydGNwCgkgIGxvb3AgY2hlY2tpbmcgdGhlIGFtb3VudCBvZiBzb3VyY2VzIGluIHRoZSBzZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMjE4CgoyMDE2LTEwLTIxIDE3OjMxOjAwICswMDAwICBNYXR0IFN0YXBsZXMgPHN0YXBsZXMyNTVAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBbHNvIGhhbmRsZSByZWRpcmVjdCBvbiBQTEFZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2MTAKCjIwMTYtMDgtMzAgMTA6MjQ6NDMgKzAyMDAgIFBldHIgS3VsaGF2eSA8YnJhaW5Aamlrb3MuY3o+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsbG93IG1pc3NpbmcgY29udHJvbCBhdHRyaWJ1dGUgaW4gY2FzZSBvZiBhIHNpbmdsZSBzdHJlYW0KCSAgSW1wcm92ZSBSRkMyMzI2IC0gY2hhcHRlciBDLjMgY29tcGF0aWJpbGl0eToKCSAgSW4gY2FzZSBqdXN0IGEgc2luZ2xlIHN0cmVhbSBpcyBzcGVjaWZpZWQgaW4gU0RQIGFuZCB0aGUgY29udHJvbCBhdHRyaWJ1dGUKCSAgaXMgbWlzc2luZyBkbyBub3QgZHJvcCB0aGUgc3RyZWFtIGJ1dCByYXRoZXIgYXNzdW1lICJhPWNvbnRyb2w6KiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDU2OAoKMjAxNi0xMC0wOCAxODoxMToxNyArMDIwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDI6IFdhcm4sIGRvbid0IGFzc2VydCBpZiB2NGwgZ2l2ZXMgdXMgYSBidWZmZXIgd2l0aCBhIHRvbyBsYXJnZSBzaXplCgkgIEkndmUgc2VlbiBwcm9ibGVtcyB3aGVyZSB0aGUgYGJ5dGVzdXNlZGAgZmllbGQgb2YgYHY0bDJfYnVmZmVyYCB3b3VsZCBiZQoJICBhIHNpbGx5IG51bWJlciBjYXVzaW5nIHRoZSBsYXRlciBjYWxsIHRvOgoJICBnc3RfbWVtb3J5X3Jlc2l6ZSAoZ3JvdXAtPm1lbVtpXSwgMCwgZ3JvdXAtPnBsYW5lc1tpXS5ieXRlc3VzZWQpOwoJICB0byByZXN1bHQgaW4gdGhpcyBlcnJvciB0byBiZSBwcmludGVkOgoJICAocHVsc2V2aWRlbzoxMSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X21lbW9yeV9yZXNpemU6IGFzc2VydGlvbiAnc2l6ZSArIG1lbS0+b2Zmc2V0ICsgb2Zmc2V0IDw9IG1lbS0+bWF4c2l6ZScgZmFpbGVkCgkgIGJlc2lkZXMgY2F1c2luZyB3aG8ta25vd3Mgd2hhdCBvdGhlciBwcm9ibGVtcy4KCSAgV2UgbWFrZSB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgYnVmZmVyIGhhcyBzdGlsbCBiZWVuIGRlcXVldWVkIGNvcnJlY3RseQoJICBzbyBqdXN0IGNsYW1wIHRvIGEgdmFsaWQgc2l6ZSBzbyBkb3duc3RyZWFtIGVsZW1lbnRzIHdvbid0IGVuZCB1cCBpbgoJICB1bmRlZmluZWQgYmVoYXZpb3VyLgoJICBUaGUgaW52YWxpZCBgdjRsMl9idWZmZXJgIEkgc2F3IGZyb20gbXkgY2FwdHVyZSBkZXZpY2Ugd2FzOgoJICBidWZmZXIgPSB7CgkgIGluZGV4ID0gMCwKCSAgdHlwZSA9IDEsCgkgIGJ5dGVzdXNlZCA9IDUzNDc0ODkyOCwgLy8gPC0gSW52YWxpZAoJICBmbGFncyA9IDgyNjAsIC8vIFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1QX01PTk9UT05JQyB8IFY0TDJfQlVGX0ZMQUdfRVJST1IgfCBWNEwyX0JVRl9GTEFHX0RPTkUKCSAgZmllbGQgPSAwMTMzMCwgLy8gPC0gSW52YWxpZAoJICB0aW1lc3RhbXAgPSB7CgkgIHR2X3NlYyA9IDAsCgkgIHR2X3VzZWMgPSAwCgkgIH0sCgkgIHRpbWVjb2RlID0gewoJICB0eXBlID0gMCwKCSAgZmxhZ3MgPSAwLAoJICBmcmFtZXMgPSAwICdcMDAwJywKCSAgc2Vjb25kcyA9IDAgJ1wwMDAnLAoJICBtaW51dGVzID0gMCAnXDAwMCcsCgkgIGhvdXJzID0gMCAnXDAwMCcsCgkgIHVzZXJiaXRzID0gIlwwMDBcMDAwXDAwMCIKCSAgfSwKCSAgc2VxdWVuY2UgPSAwLAoJICBtZW1vcnkgPSAyLAoJICBtID0gewoJICBvZmZzZXQgPSAzNTM3MjE5NTg0LAoJICB1c2VycHRyID0gMTQwNzA2NjY1ODM2NTQ0LCAvLyBDb3VsZCBiZSBub25zZW5zZSwgbm90IHN1cmUKCSAgcGxhbmVzID0gMHg3ZmY4ZDJkNWIwMDAsCgkgIGZkID0gLTc1Nzc0NzcxMgoJICB9LAoJICBsZW5ndGggPSAyNzY0ODAwLAoJICByZXNlcnZlZDIgPSAwLAoJICByZXNlcnZlZCA9IDAKCSAgfQoJICBUaGlzIGlzIGZyb20gZ2RiIHdpdGggbXkgb3duIGFubm90YXRpb25zIGFkZGVkLgoJICBUaGlzIHdhcyB3aXRoIGdzdC1wbHVnaW5zLWdvb2QgMS44LjEsIGEgTWFnZXdlbGwgWEkxMDBEVVNCLUhETUkgdmlkZW8KCSAgY2FwdHVyZSBkZXZpY2UgYW5kIGtlcm5lbCAzLjEzIHVzaW5nIGEgZG9kZ3kgSERNSSBjYWJsZSB3aGljaCBpcyBncmVhdCBhdAoJICBicmVha2luZyBIRE1JIGNhcHR1cmUgZGV2aWNlcy4gIEknbSB1c2luZyBpby1tb2RlPXVzZXJwdHIgYW5kIGhhdmUgYnVpbHQKCSAgZ3N0LXBsdWdpbnMtZ29vZCB3aXRob3V0IGxpYnY0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2NQoKMjAxNi0xMC0yMCAyMDo0MTowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSBhIGJldHRlciBkZWZhdWx0IHZhbHVlIGZvciB0aGUgbW92aWUgaGVhZGVyIHRpbWVzY2FsZQoJICBUYWtlIHRoZSBtYXhpbXVtIHZpZGVvIHRpbWVzY2FsZSwgb3IgaWYgbm8gdmlkZW8gdHJhY2sgaXMgcHJlc2VudCB0aGUKCSAgcHJldmlvdXMgdmFsdWUgb2YgMTgwMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0MQoKMjAxNi0xMC0yMCAyMDowNzoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIG1vcmUgY2xldmVyIHdpdGggdGhlIGRlZmF1bHQgdmlkZW8gdHJhY2sgdGltZXNjYWxlCgkgIFVzZSB0aGUgbnVtYmVyIG9mIG1pbGxpZnJhbWVzIHBlciBzZWNvbmQgZm9yIGludGVncmFsIGFuZCBkcm9wLWZyYW1lCgkgIGZyYW1lcmF0ZXMsIGFzIHN1Z2dlc3RlZCBieSB0aGUgUVQgZmlsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiBhbmQgb3RoZXIKCSAgcGxhY2VzLiBXZSBhbHJlYWR5IGRpZCB0aGF0IGZvciBpbnRlZ3JhbCBmcmFtZXJhdGVzIGJlZm9yZSwgYnV0IG5vdCBmb3IKCSAgZHJvcC1mcmFtZSBmcmFtZXJhdGVzLiBUaGlzIG5vdyBrZWVwcyBwcmVjaXNpb24gYmV0dGVyLgoJICBGb3IgYWxsIG90aGVyIGZyYW1lcmF0ZXMsIGNoZWNrIGlmIGl0J3MgY2xvc2UgdG8gYSB3ZWxsLWtub3duIGZyYW1lcmF0ZQoJICBhbmQgdXNlIHRoYXQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTA0MQoKMjAxNi0xMC0xMCAxMzowMDowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBpbnRlcmxhY2VkIGluZm9ybWF0aW9uIGZyb20ganBlZyB2aWRlbwoJICBUaGlzIGluZm9ybWF0aW9uIGlzIGhpZGRlbiBpbiBhIHNtYWxsIGNodW5rIG9mIGRhdGEuCgkgIEZvcm1hdCBmb3VuZCBhdCBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vc3RhbmRhcmRzL3F0ZmYtMjAwMS5wZGYsCgkgIHBhZ2UgOTIsICJWaWRlbyBTYW1wbGUgRGVzY3JpcHRpb24iLCB1bmRlciB0YWJsZSAzLjEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3NzEKCjIwMTYtMTAtMjYgMTI6NDY6MjggKzA1MzAgIEphZ2FkaXNoIDxqYWdhZGlzaGthbWF0aGtAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBGaXhpbmcgeCBhbmQgeSBvZmZzZXQgY29tcHV0YXRpb24KCSAgV2hpbGUgY29tcHV0aW5nIHRoZSB4IGFuZCB5IG9mZnNldHMsIGl0J3MgdGhlIHZpZGVvIHJlc29sdXRpb24gYW5kCgkgIHJlc2l6ZWQgb3ZlcmxheSByZXNvbHV0aW9uIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBhY3R1YWwgb3ZlcmxheSBpbWFnZQoJICByZXNvbHR1aW9uLiBEdWUgdG8gdGhpcywgdGhlIG92ZXJsYXkgaW1hZ2UgdXNlZCB0byBnZXQgd3JvbmdseSBvdmVybGF5ZWQKCSAgaW4gdW5kZXNpcmVkIGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyOTIKCjIwMTYtMTEtMDEgMTg6MDk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHVwZGF0ZSB2ZXJzaW9uCgoyMDE2LTEwLTI0IDE2OjU2OjMxICswMDAwICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogPGVvY2FuaGFAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIHRmZHQgZGVjb2RlIHRpbWUgb24gYnl0ZSBzdHJlYW1zIHdoZW4gaXQncyBzaWduaWZpY2FudGx5IGRpZmZlcmVudCB0aGFuIHRoZSB0aW1lIGluIHRoZSBsYXN0IHNhbXBsZQoJICBXZSBjb25zaWRlciB0aGVyZSdzIGEgc2lmbmlmaWNhbnQgZGlmZmVyZW5jZSB3aGVuIGl0J3MgbGFyZ2VyIHRoYW4gb24gc2Vjb25kCgkgIG9yIHRoYW4gaGFsZiB0aGUgZHVyYXRpb24gb2YgdGhlIGxhc3QgcHJvY2Vzc2VkIGZyYWdtZW50IGluIGNhc2UgdGhlIGxhdHRlciBpcwoJICBsYXJnZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMzAKCj09PSByZWxlYXNlIDEuMTEuMCA9PT0KCjIwMTYtMTEtMDEgMTg6NTM6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTAuMCA9PT0KCjIwMTYtMTEtMDEgMTc6NTc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEwLjAKCjIwMTYtMTEtMDEgMTc6NDc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMTEtMDEgMTc6NDE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9lbC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMTAtMjcgMTI6MDE6NTUgKzAyMDAgIFRvYmlhcyBTY2huZWlkZXIgPHRvYmlhcy5zY2huZWlkZXJAdm9pY2VpbnRlcmNvbm5lY3QuZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGZpeCBleHRyYS1jb250cm9scyBsZWFrCgkgIEdzdCBzdHJ1Y3QgdjRsMm9iamVjdC0+ZXh0cmFfY29udHJvbHMgaXMgY3JlYXRlZCBpZiB1c2VyIHNldHMgYXBwcm9wcmlhdGUKCSAgb3B0aW9uIGJ1dCBpdCBpcyBub3QgZnJlZWQgb24gZGVzdHJ1Y3Rpb24gb2YgdjRsMm9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU4MAoKMjAxNi0xMC0zMSAxODowMDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFJldmVydCAic291cGh0dHBzcmM6IHJlZHVjZSByZWFkaW5nIGxhdGVuY3kgYnkgdXNpbmcgbm9uLWJsb2NraW5nIHJlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODgxNjc2NDExMjQwODc2Njg4OWM4YjY4MGEzYWY1MTExNWRmNGJmNS4KCSAgSXQgY2F1c2VzIGlzc3VlcyB3aXRoIHRoZSB0aW1lb3V0cywgYW5kIGNhdXNlcyBjb25uZWN0aW9ucyB0byBiZSBjbG9zZWQKCSAgd2l0aG91dCBhY3R1YWwgcmVhc29uLiBOZWVkcyBmdXJ0aGVyIGludmVzdGlnYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1MDkKCjIwMTYtMTAtMzEgMDk6MDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IHRyeSB0byBhZGQgc3JjcGFkIGlmIHdlIGRvbid0IGtub3cgdmFsaWQgY2FwcyB5ZXQKCSAgT3RoZXJ3aXNlIHdlJ2xsIHJ1biBpbnRvIGFuIGFzc2VydGlvbiBvbiBzcGVjaWFsbHkgY3JhZnRlZCBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY0MwoKMjAxNi0xMC0yNyAxMToyMzo1MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBSZW1vdmUgdXNlbGVzc2x5IGR1cGxpY2F0ZWQgZGVwIGNoZWNrcwoJICBUaGVzZSBjaGVja3MgYXJlIGRvbmUgaW5zaWRlIHRoZSBtZXNvbi5idWlsZCBmaWxlcyBmb3IgZWFjaCBwbHVnaW4uCgoyMDE2LTEwLTI3IDExOjIyOjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkdiBwbHVnaW4gbm93IHdvcmtzIG9uIE1TVkMKCSAgTmVlZHMgYSBNZXNvbiBwYXRjaCB0byBmaWx0ZXIgb3V0IHRoZSB1c2VsZXNzIC1scHRocmVhZAoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzk2MgoKMjAxNi0xMC0yNyAxNDowMzo0OCArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFsbG93IHJlc29sdXRpb25zIGFib3ZlIDQwOTYKCSAgTW9kaWZ5IHRoZSBjYXBzIHN0cmluZyB0byBhbGxvdyB3aWR0aCBhbmQgaGVpZ2h0IGdyZWF0ZXIgdGhhbiA0MDk2LgoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHJlc3RyaWN0IGl0IHNpbmNlIHRoZSBtYXRyb3NrYSBmb3JtYXQgYWxsb3dzIHRoZQoJICB3aWR0aCBhbmQgaGVpZ2h0IHZhbHVlcyB0byBiZSB1cCB0byBlaWdodCBieXRlcyBsb25nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTgyCgoyMDE2LTEwLTIzIDE3OjIzOjEwIC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQ2hlY2sgZm9yIEdfUExBVEZPUk1fV0lOMzIgZm9yIHByZXNlbmNlIG9mIGlwaV9zcGVjX2Rlc3QKCSAgR19PU19XSU4zMiBpcyBvbmx5IHNldCB3aGVuIG5vdCBidWlsZGluZyB3aXRoIGN5Z3dpbiwgYnV0CgkgIGlwaV9zcGVjX2Rlc3QgaXMgbWlzc2luZyBib3RoIHdpdGggYW5kIHdpdGhvdXQgY3lnd2luLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTI2IDA4OjUxOjQwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXNldCByZWFkX3Bvc2l0aW9uIHdoZW4gcmVhZGluZyBmYWlscwoJICBzb3VwaHR0cHNyYyBtYWludGFpbnMgdHdvIHZhcmlhYmxlcyBmb3IgdGhlIHBvc2l0aW9uOgoJICAqICdyZXF1ZXN0X3Bvc2l0aW9uJyBpcyB3aGVyZSB3ZSB3YW50IHRvIGJlCgkgICogJ3JlYWRfcG9zaXRpb24nIGlzIHdoZXJlIHdlIGFyZQoJICBEdXJpbmcgTm9ybWFsIG9wZXJhdGlvbnMgYm90aCBhcmUgdXBkYXRlZCBpbiBzeW5jIHdoZW4gZGF0YSBhcnJpdmVzLiBBIHNlZWsKCSAgY2hhbmdlcyAncmVxdWVzdF9wb3NpdGlvbicgYnV0IG5vdCAncmVhZF9wb3NpdGlvbicuCgkgIFdoZW4gdGhlIHR3byBwb3NpdGlvbnMgZ2V0IG91dCBvZiBzeW5jLCB0aGVuIGEgbmV3IHJlcXVlc3QgaXMgc2VuZCBhbmQgdGhlCgkgICdSYW5nZScgaGVhZGVyIGlzIGFkanVzdGVkIHRvIHRoZSBjdXJyZW50ICdyZXF1ZXN0X3Bvc2l0aW9uJy4KCSAgV2l0aG91dCB0aGlzIHBhdGNoLCBpZiByZWFkaW5nIGZhaWxzLCB0aGVuIHRoZSBzb3VyY2UgaXMgZGVzdHJveWVkLiBUaGlzCgkgIHRyaWdnZXJzIGEgbmV3IHJlcXVlc3QsIGJ1dCB0aGUgcmFuZ2UgcmVtYWlucyB1bmNoYW5nZWQuIEFzIGEgcmVzdWx0LCB0aGUKCSAgb2xkIHJhbmdlIGlzIHVzZWQgYW5kIG9sZCBkYXRhIHdpbGwgYmUgcmVhZC4KCSAgQ2hhbmdpbmcgdGhlICdyZWFkX3Bvc2l0aW9uJyB0byAtMSBtYWtlcyBpdCBleHBsaWNpdGx5IGRpZmZlcmVudCBmcm9tCgkgICdyZXF1ZXN0X3Bvc2l0aW9uJyBhbmQgYXMgYSByZXN1bHQgdGhlICdSYW5nZScgaGVhZGVyIGlzIHVwZGF0ZWQgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNTA5CgoyMDE2LTEwLTI1IDA4OjU0OjM0IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogRG9uJ3QgZGVwZW5kIG9uIGdzdHJlYW1lci1jaGVjay0xLjAgb24gd2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTI1IDE1OjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IGNvbm5lY3Rpb24gaW5mbyB0byBub24tZmx1c2hpbmcgd2hlbiBjbG9zaW5nCgkgIFRoaXMgc29sdmVzIGEgaGFuZ2luZyBtYWlubG9vcCBpbiBmb2xsb3dpbmcgc2NlbmFyaW86CgkgICogY29ubmVjdCB0byBzb3VyY2UKCSAgKiBuZXR3b3JrL3NlcnZlciBkcm9wcwoJICAqIHBpcGVsaW5lIHNldCB0byBOVUxMIChhbmQgY29ubmVjdGlvbiB0byBmbHVzaGluZyBhcyBwYXJ0KQoJICAqIHBpcGVsaW5lIHNldCB0byBQQVVTRUQvUExBWUlORyAoY29ubmVjdGlvbiB0byBub24tZmx1c2hpbmcsIGJ1dCBub3QgcmVjb3JkZWQpCgkgICogW2Nvbm5lY3Rpbmcgc3RpbGwgbm90IHBvc3NpYmxlXQoJICAqIHBpcGVsaW5lIHNldCB0byBOVUxMID0+IG1haW5sb29wIGhhbmdzIChzaW5jZSBubyBhY3R1YWwgZmx1c2hpbmcgaXMgZG9uZSkKCjIwMTYtMTAtMjYgMTQ6MzI6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBPbmx5IGFsbG93IG9uZSB2aWRlbyByZXF1ZXN0IHBhZAoJICBUaGUgcGFjaW5nIG9mIHRoZSBvdmVyYWxsIG11eGluZyBpcyBjb250cm9sbGVkCgkgIGJ5IHRoZSB2aWRlbyBHT1BzIGFycml2aW5nLCBzbyB3ZSBjYW4gb25seSBoYW5kbGUKCSAgMSB2aWRlbyBzdHJlYW0sIGFuZCB0aGUgcmVxdWVzdCBwYWQgaXMgbmFtZWQgYWNjb3JkaW5nbHkuCgkgIElnbm9yZSBhIHJlcXVlc3QgZm9yIGEgMm5kIHZpZGVvIHBhZCBpZiB0aGVyZSdzIGFscmVhZHkKCSAgYW4gYWN0aXZlIG9uZS4KCjIwMTYtMTAtMjYgMTE6NTk6MzIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBUYWtlIG93bmVyc2hpcCBvZiBmbG9hdGluZyByZWZzCgkgIHNpbmsgdGhlIGZsb2F0aW5nIHJlZiB3aGVuIGhhbmRlZCBhIG11eGVyIG9yIHNpbmsgdG8gdXNlIHNvCgkgIHdlIGNsZWFybHkgdGFrZSBvd25lcnNoaXAuCgoyMDE2LTEwLTI1IDE0OjUxOjUyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogU2V0IGNoaWxkIGVsZW1lbnRzIHRvIE5VTEwgd2hlbiByZW1vdmluZy4KCSAgTWFrZSBzdXJlIHRoYXQgZWxlbWVudHMgYXJlIGluIHRoZSBOVUxMIHN0YXRlIHdoZW4gcmVtb3ZpbmcuCgkgIEZpeGVzIGNyaXRpY2FsIHdhcm5pbmdzIHdoZW4gZXJyb3JzIG9jY3VyIGVhcmx5IG9uIGluIHN0YXJ0aW5nIHVwLgoKMjAxNi0xMC0yNSAxNDo1MDo1MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFNldCBwYWQgdGVtcGxhdGUgb24gcmVxdWVzdCBzaW5rIHBhZHMKCSAgRW5zdXJlIHRoYXQgdGhlIGdob3N0IHBhZCByZXR1cm5lZCBhcyBhIHJlcXVlc3QgcGFkCgkgIGhhcyB0aGUgdGVtcGxhdGUgdGhhdCB3YXMgcmVxdWVzdGVkCgoyMDE2LTEwLTI1IDEwOjUwOjQ3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIFJldmVydCAibWVzb246IG1vdmUgZ3N0cmVhbWVyLWNoZWNrLTEuMCBkZXBlbmRlbmN5IHRvIHRlc3RzL2NoZWNrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ2NjMyNjk0NjYyYjk2ZmRkYjg0OGExZjIwOTFhMjE1YjI4YTJkMzUuCgkgIERvZXMgbm90IGFjdHVhbGx5IHdvcmsuIFNlZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNCNjMzEKCjIwMTYtMDYtMDggMTE6MjQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogQXNzdW1lIFBUUyBpcyBEVFMgd2hlbiBQVFMgaXMgbWlzc2luZwoJICBUaGlzIGZpeGVzIGlzc3VlIGZvciBlbmNvZGVycyB0aGF0IG9ubHkgc2V0cyB0aGUgRFRTLiBXZSBhc3N1bWUgdGhhdAoJICB0aGVyZSB3YXMgbm8gcmUtb3JkZXJpbmcgd2hlbiB0aGF0IGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDcKCjIwMTYtMTAtMjQgMDA6MzQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBidWlsZCBvdXRzaWRlIG9mIGdzdC1hbGwKCjIwMTYtMTAtMjEgMDA6NDI6NTQgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZGlyZWN0c291bmQ6IEFkZCBvbGUzMiBsaWJyYXJ5IGRlcGVuZGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMSAwMDo0MjoxOCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBtb3ZlIGdzdHJlYW1lci1jaGVjay0xLjAgZGVwZW5kZW5jeSB0byB0ZXN0cy9jaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTIwIDIyOjA4OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB0ZXN0czogdmlkZW9taXhlcjogZGlzYWJsZSByYWN5IGZsdXNoX3N0YXJ0X2ZsdXNoX3N0b3AgdGVzdAoJICBJdCdzIGJlZW4gYnJva2VuIGZvciB5ZWFycywgYW5kIGl0J3MgdW5saWtlbHkgaXQgd2lsbCBldmVyCgkgIGJlIGZpeGVkIGZvciBjb2xsZWN0cGFkcy92aWRlb21peGVyIG5vdyB0aGF0IHRoZXJlJ3MgY29tcG9zaXRvcgoJICB3aGljaCB3b3JrcyBmaW5lLiBTbyBsZXQncyBkaXNhYmxlIGl0LCBzaW5jZSBhbGwgaXQgZG9lcwoJICBpcyB0aGF0IGl0IGNyZWF0ZXMgbm9pc2UgdGhhdCBkaXN0cmFjdHMgZnJvbSBvdGhlciBmYWlsdXJlcy4KCSAgQWxzbyBzZWUgdGhlIGNvcnJlc3BvbmRpbmcgYWRkZXIgYnVnIGFzIGl0IGZhaWxlZCBpbiB0aGUgc2FtZSB3YXk6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4OTEKCjIwMTYtMTAtMDkgMTY6NTY6MTAgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogRml4IHNvdXBodHRwc3JjIHRlc3RzIHdpdGhvdXQgQ0tfRk9SSz1ubwoJICBJdCBzZWVtcyB0aGF0IHRoZSBmb3JrZWQgcHJvY2Vzc2VzIGFsbCBhdHRlbXB0IHRvIGhhbmRsZSB0aGUgbGlzdGVuaW5nCgkgIHNvY2tldCBmcm9tIHRoZSBzZXJ2ZXIsIGFuZCBvbmx5IG9uZSBoYXMgdG8gc2h1dGRvd24gdGhlIHNvY2tldCB0byBicmVhawoJICB0aGUgc2VydmVyIGNvbXBsZXRlbHkuCgkgIENyZWF0ZSBhIG5ldyBzZXJ2ZXIgaW5zaWRlIGVhY2ggdGVzdCB0byBhdm9pZCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjU2CgoyMDE2LTEwLTA5IDE1OjIzOjUxICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IEZpeCBsZXZlbCB0ZXN0IGluIENLX0ZPUks9bm8gbW9kZQoJICBUaGUgdGVzdHMgYWNjdW11bGF0ZSBidWZmZXJzIGluIEdzdENoZWNrJ3MgYnVmZmVycyBsaXN0LCBhbmQgdGhlIGxpc3QgaXMKCSAgbm90IChjb25zaXN0ZW50bHkpIHJlc2V0IGJldHdlZW4gdGVzdHMuIERvIHRoYXQgYW5kIHJlbW92ZSB0aGUgbm93CgkgIGNvbmZsaWN0aW5nIHVucmVmcyBmb3Igb3V0YnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjY0NAoKMjAxNi0xMC0wNyAxMzowNDoyNyArMDUzMCAgR2F1cmF2IEd1cHRhIDxnLmd1cHRhQHNhbXN1bmcuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IEZpeCBNZW1vcnkgbGVhayB1c2luZyBHU1RfUFRSX0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNDk3CgoyMDE2LTEwLTE4IDEyOjIzOjQyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIG1pc3NpbmcgZ3N0YXVkaW8gZGVwIHRvIG1vbm9zY29wZQoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOjQyOjA6CgkgIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmg6MjY6Mzk6IGZhdGFsIGVycm9yOiBnc3QvYXVkaW8vYXVkaW8tZW51bXR5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGdzdC9hdWRpby9hdWRpby1lbnVtdHlwZXMuaD4KCSAgXgoJICBjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXItbWVzb24vMjcxL2NvbnNvbGUKCjIwMTYtMTAtMTYgMTI6NDA6MjIgKzAyMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSAgcXQ6IEZpeCBmYWlsaW5nIGJ1aWxkIG9uIFJQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMDI2CgoyMDE2LTEwLTE2IDAyOjE4OjIyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIG1pc3NpbmcgcGJ1dGlscyBkZXBlbmRlbmN5IHRvIG11bHRpZmlsZQoJICBGb3VuZCB2aWEgdGhlIEplbmtpbnMgQ0k6CgkgIEZBSUxFRDogc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZUBzaGEvZ3N0c3BsaXRtdXhzaW5rLmMubwoJICBbLi4uXQoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOjI0OjAsCgkgIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOjU5OgoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzL3BidXRpbHMuaDozMDo0MzogZmF0YWwgZXJyb3I6IGdzdC9wYnV0aWxzL3BidXRpbHMtZW51bXR5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGdzdC9wYnV0aWxzL3BidXRpbHMtZW51bXR5cGVzLmg+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLW1lc29uLzI2My9jb25zb2xlCgoyMDE2LTEwLTE1IDIyOjExOjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IERvbid0IHNldCBjX3N0ZCB0byBnbnU5OQoJICBVc2UgdGhlIGRlZmF1bHQgZm9yIGVhY2ggY29tcGlsZXIgb24gZXZlcnkgcGxhdGZvcm0gaW5zdGVhZC4gVGhpcwoJICBpbXByb3ZlcyBvdXIgY29tcGF0aWJpbGl0eSB3aXRoIGNvbXBpbGVycyB0aGF0IGRvbid0IGhhdmUgZ251OTkgYXMKCSAgYSBjX3N0ZC4KCjIwMTYtMTAtMDQgMTg6MDQ6MTEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL2dldHBsdWdpbnNkaXI6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogTWFrZSB1c2Ugb2YgbmV3IGVudmlyb25tZW50IG9iamVjdCBhbmQgc2V0IHBsdWdpbiBwYXRoIHRvIGJ1aWxkZGlyCgkgIFdvcmthcm91bmQgc291cmNlX3Jvb3QgYmVpbmcgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIGFsbCBwcm9qZWN0cyBpbiB0aGUgc3VicHJvamVjdAoJICBjYXNlIGFuZCByZW1vdmUgbm93IHVubmVlZGVkIGdldHBsdWdpbnNkaXIKCSAgQnVtcCBtZXNvbiByZXF1aXJlbWVudCB0byAwLjM1CgoyMDE2LTEwLTA2IDExOjE1OjU0ICswNTMwICBHYXVyYXYgR3VwdGEgPGcuZ3VwdGFAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICB0ZXN0czogRml4IG1lbW9yeSBsZWFrIGluIHRlc3QgcnRwYXV4IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjQ5NgoKMjAxNi0xMC0wMyAxMToyNzo1NCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBGb3J3YXJkIGxhdGVuY3kgcXVlcmllcyB0byB1cHN0cmVhbQoJICBXaXRob3V0IHRoaXMsIGxhdGVuY3kgcXVlcmllcyB0byBpbWFnZWZyZWV6ZSB3aWxsIGZhaWwuCgoyMDE2LTA5LTMwIDExOjM1OjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGhvb2tzL3ByZS1jb21taXQuaG9vazoKCSogbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL2dldHBsdWdpbnNkaXI6CgkgIG1lc29uOiBTZXR1cCBwcmUgY29tbWl0IGhvb2sgYW5kIGZpeCBnZXRwbHVnaW5zZGlyIGZvciBzdGFuZGFsb25lIGNhc2UKCjIwMTYtMDktMjkgMDQ6NTU6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogSGFuZGxlIHN0b3AgcG9pbnQgZnJvbSBzZWdtZW50CgkgIElmIHRoZSBzZWVrIHN0b3AgcG9pbnQgKG9yIHN0YXJ0LCBkdXJpbmcgcmV2ZXJzZSBwbGF5KQoJICB3YXMgd2l0aGluIHRoZSBzZWdtZW50IHdlIGp1c3QgZmluaXNoZWQsIGdvIEVPUyBpbW1lZGlhdGVseQoJICBpbnN0ZWFkIG9mIHByb2NlZWRpbmcgdGhyb3VnaCBhbGwgb3RoZXIgcGFydHMgYW5kIHNlbmRpbmcKCSAgMCBsZW5ndGggc2Vla3MgdG8gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEzOAoKMjAxNi0wOS0yOSAwMzoyMToyNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBEcm9wIGxvY2sgc2h1dHRpbmcgZG93biBwYWRzCgkgIEF2b2lkIGEgc3BvcmFkaWMgZGVhZGxvY2sgb24gc2h1dGRvd24gYnkgZHJvcHBpbmcKCSAgdGhlIHNwbGl0bXV4IGxvY2sgYXJvdW5kIHBhZCBzaHV0ZG93bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTI5IDAyOjQ3OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4c3JjOiBGaXggZXh0cmEgdW5yZWYgaGFuZGxpbmcgcXVlcmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTI5IDA0OjUwOjI1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEF2b2lkIHN0YWxsIHdoZW4gcGFydHMgZ2V0IG91dCBvZiBzeW5jCgkgIFdoZW4gb25lIHBhcnQgbW92ZXMgYWhlYWQgb2YgdGhlIG90aGVycyAtIGR1ZSB0byBleGNlc3NpdmUKCSAgZG93bnN0cmVhbSBxdWV1ZWluZywgb3IgcmVhbGx5IHNtYWxsIGlucHV0IGZpbGVzIC0gdGhlbgoJICB3ZSBjYW4gZW5kIHVwIGFjdGl2YXRpbmcgcGFydHMgbW9yZSB0aGFuIG9uY2UuIFRoYXQgY2FuIGxlYWQgdG8KCSAgZWZmZWN0cyBsaWtlIHNodXR0aW5nIGRvd24gcGFkIHRhc2tzIHByZW1hdHVyZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTM4CgoyMDE2LTA5LTMwIDExOjQxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKPT09IHJlbGVhc2UgMS45LjkwID09PQoKMjAxNi0wOS0zMCAxMzowMjoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjkwCgoyMDE2LTA5LTMwIDEyOjE3OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTA5LTMwIDExOjQzOjU0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA5LTMwIDEzOjIyOjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IEZpeCB0YWdzY2hlY2tpbmcgZmFpbHVyZSBkdWUgdG8gbWlzc2luZyBQVFMKCSAgcXRtdXggbm93IG5lZWRzIHRoZSBQVFMgKGNvbW1pdCBhOTkzODgzYjcpLCBzbyBsZXQncyBtYWtlIHN1cmUgd2UKCSAgcHJvZHVjZSBvbmUgd2l0aCBvdXIgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjIyOAoKMjAxNi0wOS0yOCAyMzowMzo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGNhbGN1bGF0ZSBQVFMgb2Zmc2V0IGFuZCBEVFMgd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIHZhbGlkIFBUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE0MwoKMjAxNi0wOS0yOSAxNzozNzoyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgSlBFRzIwMDAgaWhkciBhdG9tIHRvIHRoZSBsaXN0IG9mIGtub3duIG9uZXMKCSAgT3RoZXJ3aXNlIHF0ZGVtdXggaXMgYWx3YXlzIGdvaW5nIHRvIGNvbXBsYWluIGFib3V0IGl0IGJlaW5nIHVua25vd24uCgoyMDE2LTA5LTI5IDEwOjE5OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWx3YXlzIHdyaXRlIHRoZSBkZWZhdWx0IGZyYW1lIGR1cmF0aW9uIGZvciBWUDgvOSB0b28KCSAgVGhlIFdlYk0gc3BlYyBhbGxvd3MgdGhpcyBub3csIGFuZCBpdCBhbGxvd3MgdXMgdG8gZ3Vlc3MgYSBmcmFtZXJhdGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTQxIGFuZAoJICBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNzkKCjIwMTYtMDktMjcgMTU6MjY6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjZbNDVdZGVwYXk6IERvbid0IGhhbmRsZSBOQUxzIGluc2lkZSBTVEFQIHVuaXRzIHR3aWNlCgkgIFRoZXkndmUgYWxyZWFkeSBiZWVuIGhhbmRsZWQgYmVmb3JlIHB1c2hpbmcgdGhlbSBpbnRvIHRoZSBhZGFwdGVyLgoKMjAxNi0wOS0yNyAxMjozOToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogdGVzdHM6IGZpeCB2cDggYXZhaWxhYmlsaXR5IGNoZWNrcwoJICBUaG9zZSB2YXJpYWJsZXMgYXJlIG5vdCBkZWZpbmVkIGlmIHZwOCB3YXMgbm90IGZvdW5kLgoKMjAxNi0wOS0yNyAxMDoyMzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgIm11bHRpZmlsZXNpbms6IHN0cmVhbWxpbmUgdGhlIGZpbGUtc3dpdGNoIGNvZGUgYSBiaXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjFjZWFhYjAyZjNmNTU3ZTIzYjc3YjE0NzcxYTU3NTc4OGY5MmJiNC4KCSAgVGhpcyBicm9rZSBhdG9taWMgZmlsZSB3cml0ZXMgaW4gImJ1ZmZlciIgbW9kZS4gSXQgZGlkIG1ha2UKCSAgc3VyZSB0aGF0IGFueSBzdHJlYW1oZWFkZXJzIGFyZSBwcmVwZW5kZWQgdG8gZWFjaCBmaWxlIGluCgkgIGJ1ZmZlciBtb2RlIGFzIHdlbGwsIGJ1dCB0aGF0J3Mgbm90IHJlYWxseSBuZWVkZWQgaW4gcHJhY3RpY2UsCgkgIHdoZXJlYXMgYXRvbWljIGZpbGUgd3JpdGVzIGFyZSwgc28gbGV0J3MgcmVzdG9yZSB0aGUgc3RhdHVzCgkgIHF1byBhbnRlIGZvciBub3cgc2luY2UgdGhpcyB3YXMgcHJpbWFyaWx5IGEgY29kZSBjbGVhbnVwIGFueXdheSwKCSAgYW5kIGlmIGFueW9uZSBuZWVkcyB0byBzdHJlYW1oZWFkZXJzIGluIGJ1ZmZlciBtb2RlIHRvbyB0aGV5CgkgIGNhbiBtYWtlIGEgcGF0Y2ggdG8gaW1wbGVtZW50IHRoYXQgZGlmZmVyZW50bHkuIFJlLWltcGxlbWVudGluZwoJICB0aGUgYXRvbWljIHdyaXRlcyBpbiB0aGUgZWxlbWVudCBhbHNvIHNlZW1zIHdheSB0b28gbXVjaCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTkwCgoyMDE2LTA5LTI3IDEwOjIyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIFJldmVydCAibXVsdGlmaWxlc2luazogY2xvc2UgZmlsZSBvbiB3cml0ZSBlcnJvciB3aXRoIG5leHQtZmlsZSBtb2RlIGlzIHNldCB0byBidWZmZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODRlNDQxZDI2ODVjZjIyM2QzNDhhOTViZTBjNWJhNjkzYmJmNjYyNC4KCSAgVGhpcyB3aWxsIG5vIGxvbmdlciBiZSBuZWVkZWQgb25jZSB3ZSByZXZlcnQgZjFjZWFhYjAyLgoKMjAxNi0wOS0yNiAxMzoyMjoyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBnc3QtcGx1Z2lucy1iYXNlIHBsdWdpbnMgZGlyZWN0b3JpZXMgdG8gYmUgdXNlZCBieSB0ZXN0cwoKMjAxNi0wOS0yNiAxNDozMDowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9nZXRwbHVnaW5zZGlyOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCB1bml0IHRlc3RzCgkgIE9ubHkgd29ya3MgcHJvcGVybHkgaW4gYW4gaW5zdGFsbGVkIHNldHVwIGN1cnJlbnRseSwgbW9zdAoJICBsaWtlbHkgd29uJ3Qgd29yayB3aXRoIGEgc3VicHJvamVjdHMgc2V0dXAgeWV0LgoKMjAxNi0wOS0yNCAwOTozNjoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiBwby9tZXNvbi5idWlsZDoKCSAgbWVzb246IGhvb2sgdXAgdHJhbnNsYXRpb25zCgoyMDE2LTA5LTA4IDE3OjMwOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERvbid0IG5lZ290aWF0ZSB0byBsZXNzIHRoYW4gdHdvIHNlZ21lbnRzCgkgIEdzdEF1ZGlvUmluZ0J1ZmZlciBkb2Vzbid0IG5lZWRzIHVzIHRvIGhhdmUgYXQgbGVhc3QgMiBzZWdtZW50cy4gV2UgbWFrZQoJICBzdXJlIHRoYXQgaWYgb3VyIGJ1ZmZlciBwYXJhbWV0ZXJzIGFyZSBzdWNoIHRoYXQgdGhlIG1heGxlbmd0aCBpcyBub3QgYXQKCSAgbGVhc3QgMnggZnJhZ3NpemUsIHdlIHN0aWxsIHJlcXVlc3QgdGhlIHJpbmdidWZmZXIgdG8ga2VlcCB0aGF0IG11Y2gKCSAgc3BhY2Ugc28gaXQgY29udGludWVzIHRvIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA0NDYKCjIwMTYtMDktMjQgMjM6MjI6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogRml4IHRpbWVzdGFtcGluZwoJICBXZSB3ZXJlIGp1c3QgcGlja2luZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IGJ1ZmZlciBwdXNoZWQgaW50byBvdXIKCSAgYWRhcHRlciBiZWZvcmUgd2UgaGFkIGVub3VnaCBkYXRhIHRvIHB1c2ggb3V0LgoJICBUaGlzIGZpeGVzIHRoaW5ncyB0byBmaWd1cmUgb3V0IGhvdyBsYXJnZSBlYWNoIGZyYW1lIGlzIGFuZCB3aGF0CgkgIGR1cmF0aW9uIGl0IGNvdmVycywgc28gd2UgY2FuIHNldCBib3RoIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uCgkgIGNvcnJlY3RseS4KCSAgQWxzbyBhZGRzIHNvbWUgRElTQ09OVCBoYW5kbGluZy4KCjIwMTYtMDctMTIgMTg6MTQ6NTIgKzAyMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBmb3VyY2MgZm9yIFByb1JlcyBQcm94eQoJICBUaGlzIGlzIGFwY28sIGFjY29yZGluZyB0bwoJICBodHRwczovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9QXBwbGVfUHJvUmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkwNDgKCjIwMTYtMDktMTggMjA6NTU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L21lc29uLmJ1aWxkOgoJICBtZXNvbjogZml4IGJ1aWxkIHdpdGggdnB4IDEuMy54CgkgIHZweCA+PSAxLjQuMCBpcyBvcHRpb25hbAoKMjAxNi0wOS0xNSAxODoxOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVXNlIG5ldyBiaW4gc3VwcHJlc3NlZCBmbGFncyBBUEkgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50IGZsYWdzCgoyMDE2LTA5LTE1IDA5OjUyOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBleHQsIGdzdDogZml4IGluZGVudGF0aW9uCgoyMDE2LTA5LTE1IDA5OjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwdnA5LmM6CgkgIHRlc3RzOiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDgtMTEgMTE6MDQ6MjIgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggY2FsY3VsYXRpbmcgbmV4dF9zZXFudW0gd2hlbiBkcm9wcGluZyBvbGQgYnVmZmVycyBmcm9tIGEgZnVsbCBxdWV1ZS4KCSAgRml4ZXMgY2FsY3VsYXRpbmcgdGhlIG5leHQgc2VxdWVuY2UgbnVtYmVyIHdoZW4gYSBJVEVNX1RZUEVfTE9TVCB3aXRoIG1vcmUgdGhhbiBvbmUKCSAgZGVmaW5pdGVseSBsb3N0IHBhY2tldHMgaXMgZW5jb3VudGVyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NTcKCjIwMTYtMDgtMTEgMjM6MDc6NDQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbXByb3ZlZCBydHgtcnR0IGF2ZXJhZ2luZwoJICBUaGUgYmFzaWMgaWRlYSBpcyB0aGlzOgoJICAxLiBGb3IgKmxhcmdlciogcnR4LXJ0dCwgd2VpZ2ggYSBuZXcgbWVhc3VyZW1lbnQgYXMgYmVmb3JlCgkgIDIuIEZvciAqc21hbGxlciogcnR4LXJ0dCwgYmUgYSBiaXQgbW9yZSBjb25zZXJ2YXRpdmUgYW5kIHdlaWdoIGEgYml0IGxlc3MKCSAgMy4gRm9yIHZlcnkgbGFyZ2UgbWVhc3VyZW1lbnRzLCBjb25zaWRlciB0aGVtICJvdXRsaWVycyIKCSAgYW5kIGNvdW50IHRoZW0gYSBsb3QgbGVzcwoJICBUaGUgaWRlYSBiZWluZyB0aGF0IHJlZHVjaW5nIHRoZSBydHgtcnR0IGlzIG11Y2ggbW9yZSBoYXJtZnVsIHRoZW4KCSAgaW5jcmVhc2luZyBpdCwgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0byBiZSB1bmRlcmVzdGltYXRpbmcgdGhlIHJ0dCBvZiB0aGUKCSAgbmV0d29yaywgYW5kIHdoZW4gdXNpbmcgdGhpcyBudW1iZXIgdG8gZXN0aW1hdGUgdGhlIGxhdGVuY3kgeW91IG5lZWQgZm9yCgkgIHlvdSBqaXR0ZXJidWZmZXIsIHlvdSB3b3VsZCByYXRoZXIgd2FudCBpdCB0byBiZSBhIGJpdCBsYXJnZXIgdGhlbiBhIGJpdAoJICBzbWFsbGVyLCBwb3RlbnRpYWxseSBsb3NpbmcgcnR4LXBhY2tldHMuIFRoZSAib3V0bGllci1kZXRlY3RvciIgaXMgdGhlcmUKCSAgdG8gcHJldmVudCBhIHNpbmdsZSBza2V3ZWQgbWVhc3VyZW1lbnQgdG8gYWZmZWN0IHRoZSBvdXRjb21lIHRvbyBtdWNoLgoJICBPbiB3aXJlbGVzcyBuZXR3b3JrcywgdGhlc2UgYXJlIHN1cnByaXNpbmdseSBjb21tb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMDUgMTI6NTE6NTkgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERldGVjdCB3aGV0aGVyIHRvIGFzc3VtZSBlcXVpZGlzdGFudCBzcGFjaW5nIHdoZW4gbG9zcwoJICBBc3N1bWluZyBlcXVpZGlzdGFudCBwYWNrZXQgc3BhY2luZyB3aGVuIHRoYXQncyBub3QgdHJ1ZSBsZWFkcyB0byBtb3JlCgkgIGxvc3MgdGhhbiBuZWNlc3NhcnkgaW4gdGhlIGNhc2Ugb2YgcmVvcmRlcmluZyBhbmQgaml0dGVyLiBUeXBpY2FsbHkgdGhpcwoJICBpcyB0cnVlIGZvciB2aWRlbyB3aGVyZSBvbmUgZnJhbWUgb2Z0ZW4gY29uc2lzdHMgb2YgbXVsdGlwbGUgcGFja2V0cwoJICB3aXRoIHRoZSBzYW1lIHJ0cCB0aW1lc3RhbXAuIEluIHRoaXMgY2FzZSBpdCdzIGJldHRlciB0byBhc3N1bWUgdGhhdCB0aGUKCSAgbWlzc2luZyBwYWNrZXRzIGhhdmUgdGhlIHNhbWUgdGltZXN0YW1wIGFzIHRoZSBsYXN0IHJlY2VpdmVkIHBhY2tldCwgc28KCSAgdGhhdCB0aGUgc2NoZWR1bGVkIGxvc3QgdGltZXIgZG9lcyBub3QgdGltZSBvdXQgdG9vIGVhcmx5IGNhdXNpbmcgdGhlCgkgIHBhY2tldHMgdG8gYmUgY29uc2lkZXJlZCBsb3N0IGV2ZW4gdGhvdWdoIHRoZXkgbWF5IGFycml2ZSBpbiB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTI3IDEwOjM5OjUwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCByZXF1ZXN0IHJ0eCBpZiAnbm93JyBpcyBwYXN0IHJldHJ5IHBlcmlvZAoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHNjaGVkdWxlIGFub3RoZXIgRVhQRUNURUQgdGltZXIgaWYgd2UncmUgYWxyZWFkeQoJICBwYXN0IHRoZSByZXRyeSBwZXJpb2QuIFVuZGVyIG5vcm1hbCBvcGVyYXRpb24gdGhpcyB3b24ndCBoYXBwZW4sIGJ1dCBpZgoJICB0aGVyZSBhcmUgbW9yZSB0aW1lcnMgdGhhbiB0aGUgaml0dGVyYnVmZmVyIGlzIGFibGUgdG8gcHJvY2VzcyBpbgoJICByZWFsLXRpbWUsIHNjaGVkdWxpbmcgbW9yZSB0aW1lcnMgd2lsbCBqdXN0IG1ha2UgdGhlIHNpdHVhdGlvbiB3b3JzZS4KCSAgSW5zdGVhZCwgY29uc2lkZXIgdGhpcyBwYWNrZXQgYXMgbG9zdCBhbmQgbW92ZSBvbi4gVGhpcyBzY2VuYXJpbyBjYW4KCSAgb2NjdXIgd2l0aCBoaWdoIGxvc3MgcmF0ZSwgbG93IHJ0dCBhbmQgaGlnaCBjb25maWd1cmVkIGxhdGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMjYgMTg6MDE6NDggKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBsb3N0IGR1cmF0aW9uIHdoZW4gZ2FwIGFmdGVyIGxvc3QgdGltZXIKCSAgVGhpcyBwYXRjaCBmaXhlcyBhbiBpc3N1ZSB3aXRoIHRoZSBlc3RpbWF0ZWQgZ2FwIGR1cmF0aW9uIHdoZW4gdGhlcmUgaXMKCSAgYSBnYXAgaW1tZWRpYXRlbHkgYWZ0ZXIgYSBsb3N0IHRpbWVyIGhhcyBiZWVuIHByb2Nlc3NlZC4gUHJldmlvdXNseQoJICB0aGVyZSB3YXMgYSBkaXNjcmVwYW5jeSBiZXRlZW4gdGhlIGdhcCBpbiBzZXFudW0gYW5kIGdhcCBpbiBkdHMgd2hpY2gKCSAgd291bGQgY2F1c2Ugd3JvbmcgY2FsY3VsYXRlZCBkdXJhdGlvbi4gVGhlIGlzc3VlIHdvdWxkIG9ubHkgYmUgc2VlbiB3aXRoCgkgIHJldHJhbm1pc3Npb24gZW5hYmxlZCBzaW5jZSB3aGVuIGl0J3MgZGlzYWJsZWQgbG9zdCB0aW1lcnMgYXJlIG9ubHkKCSAgY3JlYXRlZCB3aGVuIGEgcGFja2V0IGlzIHJlY2VpdmVkIGFuZCB0aGUgYWN0dWFsIGdhcCBsZW5ndGggYW5kIGxhc3QgZHRzCgkgIGlzIGtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA3LTE5IDAxOjExOjU4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBFeHBvc2UgcnR4LWRlYWRsaW5lIGFzIGEgcHJvcGVydHkKCSAgVGhlIGRlZmF1bHQgLTEgZ2l2ZXMgdGhlIG9sZCBiZWhhdmlvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wOC0xMSAxMjowMjoxOSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEltcHJvdmVkIGV4cGVjdGVkLXRpbWVyIGhhbmRsaW5nIHdoZW4gZ2FwID4gMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA4LTExIDExOjUxOjUwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNYWpvciBpbXByb3ZlbWVudHMgZm9yIFJUWCBzdGF0cwoJICBTdGF0cyBzaG91bGQgYWxzbyBiZSBjb2xsZWN0ZWQgZm9yIHVuc3VjY2Vzc2Z1bCBwYWNrZXRzLgoJICBydHgtcnR0IGlzIHZlcnkgaW1wb3J0YW50IGZvciBkZXRlcm1pbmluZyB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyZWQKCSAgbGF0ZW5jeSBvbiB0aGUgaml0dGVyYnVmZmVyLiBJdCdzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHRvIGJlIGFibGUgdG8KCSAgaW5jcmVhc2UgdGhlIGxhdGVuY3kgd2hlbiByZXRyYW5zbWl0dGVkIHBhY2tldHMgYXJyaXZlIHRvbyBsYXRlIGFuZCBhcmUKCSAgY29uc2lkZXJlZCBsb3N0LiBUaGlzIHBhdGNoIGluY2x1ZGVzIHRoZXNlIGxhdGUgcGFja2V0cyBpbiB0aGUKCSAgY2FsY3VsYXRpb24gb2YgdGhlIHZhcmlvdXMgcnR4IHN0YXRzLCBtYWtpbmcgdGhlbSBtb3JlIGNvcnJlY3QgYW5kCgkgIHVzZWZ1bC4KCSAgQWxzbyBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgb3JpZ2luYWwgcGFja2V0IGFycml2ZXMgYWZ0ZXIgYSBOQUNLIGlzIHNlbnQsCgkgIHRoZSByZWNlaXZlZCBSVFggcGFja2V0IHNob3VsZCB1cGRhdGUgdGhlIHN0YXRzIHNpbmNlIGl0IHByb3ZpZGVzIHVzZWZ1bAoJICBpbmZvcm1hdGlvbiBhYm91dCBSVFQuCgkgIFRoZSBSVFQgaXMgb25seSB1cGRhdGVkIGlmIGFuZCBvbmx5IGlmIGFsbCByZXF1ZXN0ZWQgcmV0cmFubWlzc2lvbnMgYXJlCgkgIHJlY2VpdmVkLiBUaGF0IHdheSB0aGUgUlRUIGlzIGd1YXJhbnRlZWQgdG8gbWFrZSBzZW5zZS4gSWYgbm90IHdlIGRvbid0CgkgIGtub3cgd2hpY2ggcmVxdWVzdCB0aGUgcGFja2V0IGlzIGEgcmVzcG9uc2UgdG8gYW5kIHRoZSBSVFQgbWF5IGJlIGJvZ3VzLgoJICBBIGNvbnNlcXVlbmNlIG9mIHRoaXMgcGF0Y2ggaXMgdGhhdCBSVFQgaXMgbm90IHVwZGF0ZWQgZm9yIGEgcmVxdWVzdAoJICB3aGVuIG9uZSBvZiB0aGUgUlRYIHBhY2tldHMgZm9yIHRoYXQgc2VxbnVtIGlzIGxvc3QsIGJ1dCB0aGF0IHNpbmNlCgkgIG1lYXN1cmVkIFJUVCB3aWxsIGJlIG1vcmUgYWNjdXJhdGUuCgkgIFRoZSBpbXBsZW1lbnRhdGlvbiBzdG9yZSB0aGUgUlRYIGluZm9ybWF0aW9uIGZyb20gdGhlIHRpbWVkIG91dCB0aW1lcnMKCSAgYW5kIHVzZSB0aGlzIHdoZW4gdGhlIHJldHJhbnNtaXR0ZWQgcGFja2V0IGFycml2ZXMuIEZvciBwZXJmb3JtYW5jZQoJICB0aGVzZSB0aW1lcnMgYXJlIHN0b3JlZCBzZXBhcmF0ZWx5IGZyb20gdGhlICJub3JtYWwiIHRpbWVycyBpbiBvcmRlciB0bwoJICBub3QgaW1wYWN0IHBlcmZvcm1hbmNlIChzZWUgYXR0YWNoZWQgcGVyZm9ybWFuY2UgdGVzdCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDgtMTEgMTE6MDI6NDQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgYW5kIGV4cG9zZSBtb3JlIHN0YXRzIGFuZCBpbmNyZWFzZSB0ZXN0aW5nIG9mIGl0CgkgIEFkZCBudW0tcHVzaGVkIGFuZCBudW0tbG9zdC4KCSAgRXhwb3NlIG51bS1sYXRlLCBudW0tZHVwbGljYXRlcyBhbmQgYXZnLWppdHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc2OAoKMjAxNi0wNy0wNyAxMDoyMDowMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IFNldCBidWZmZXIgZmxhZyBmb3IgcmV0cmFuc21pdHRlZCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NjgKCjIwMTYtMDctMDkgMjM6NDc6NDEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IE9wdGlvbiB0byBkaXNhYmxlIHJ0eC1kZWxheS1yZW9yZGVyCgkgIFdoZW4gZGlzYWJsZWQgd2UgY2FuIHNhdmUgc29tZSBpdGVyYXRpb25zIG92ZXIgdGltZXJzLgoJICBUaGVyZSBpcyBwcm9iYWJseSBhbiBhcmd1bWVudCBmb3IgcnR4LWRlbGF5LXJlb3JkZXIgdG8gZXhpc3QsIGJ1dAoJICBmb3Igbm9ybWFsIG9wZXJhdGlvbnMsIGhhbmRsaW5nIGppdHRlciAocmVvcmRlcmluZykgaXMgc29tZXRoaW5nIGEKCSAgaml0dGVyYnVmZmVyIHNob3VsZCBkbywgYW5kIHRoaXMgdmFyaWFibGUgZmVlbHMgbGlrZSBmdW5jdGlvbmFsaXR5IHRoYXQKCSAgaXMgbm90ICJpbi1zeW5jIiB3aXRoIHdoYXQgdGhlIGppdHRlcmJ1ZmZlciBpcyB0cnlpbmcgdG8gYWNoaWV2ZS4KCSAgRXhhbXBsZTogWW91IGhhdmUgNTBtcyBqaXR0ZXIgb24geW91ciBuZXR3b3JrLCBhbmQgYXJlIHJlY2VpdmluZwoJICBhdWRpbyBwYWNrZXRzIHdpdGggMTBtcyBkdXJhdGlvbnMuIEFuIGF1ZGlvIHBhY2tldCBzaG91bGQgbm90IGJlCgkgIGNvbnNpZGVyZWQgbGF0ZSB1bnRpbCBpdHMgcnR4LXRpbWVvdXQgaGFzIGV4cGlyZWQgKGFuZCBoZW5jZSBhIHJ0eC1ldmVudAoJICBpcyBzZW50KSwgYnV0IHdpdGggcnR4LWRlbGF5LXJlb3JkZXIsIGV2ZW50cyB3aWxsIGJlIHNlbnQgcHJldHR5IG11Y2gKCSAgYWxsIHRoZSB0aW1lIGR1ZSB0byB0aGUgaml0dGVyIG9uIHRoZSBuZXR3b3JrLgoJICBQb2ludCBiZWluZzogVGhlIGppdHRlcmJ1ZmZlciBzaG91bGQgYWRhcHQgaXRzIHNpemUgdG8gdGhlIG1lYXN1cmVkIG5ldHdvcmsKCSAgaml0dGVyLCBhbmQgdGhlbiBydHgtZGVsYXktcmVvcmRlciBuZWVkcyB0byBhZGFwdCBhcyB3ZWxsLCBvciBzaW1wbHkKCSAgZ2V0IG91dCBvZiB0aGUgd2F5IGFuZCBsZXQgdGhlIG90aGVyIChiZXR0ZXIpIHJ0eC1tZWNoYW5pc21zIGRvIHRoZWlyIGpvYi4KCSAgQWxzbyBjaGFuZ2UgZmluZF90aW1lciB0byBvbmx5IHVzZSBzZXFudW0gYXMgYW4gYXJndW1lbnQsIHNpbmNlIHRoZXJlCgkgIHdpbGwgb25seSBldmVyIGJlIG9uZSB0aW1lciBwZXIgc2VxbnVtIGF0IGFueSBnaXZlbiB0aW1lLiBJbiB0aGUKCSAgb25lIGNhc2Ugd2hlcmUgdGhlIHR5cGUgbWF0dGVycywgdGhlIGNhbGxlciBzaW1wbHkgY2hlY2tzIHRoZSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzY4CgoyMDE2LTA5LTE0IDA5OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEZpeCBkb3VibGUgZnJlZSBmcm9tIGNvdmVyaXR5CgkgIENJRCAjMTM3Mjg4NwoKMjAxNi0wOS0xNCAwOTo1ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBJbmRlbnQgYXMgcGVyIGdzdC1pbmRlbnQKCjIwMTYtMDktMTQgMTE6MzA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGVwZW5kIG9uIGdzdHJlYW1lciAxLjkuMi4xCgoyMDE2LTA5LTE0IDEwOjE3OjAyICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bC5sZWVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSAgYXV0b2RldGVjdDogVXNlIGdzdF9iaW5fc2V0X3N1cHByZXNzZWRfZmxhZ3MoKSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTM5NQoKMjAxNi0wOS0wOSAxNTozNjoxMiArMDIwMCAgVGhvbWFzIFNjaGV1ZXJtYW5uIDxUaG9tYXMuU2NoZXVlcm1hbm5AYmFyY28uY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IEZpeCBwaXBlbGluZSBoYW5nIHdoZW4gamFjayBjaGFuZ2VzIHNhbXBsZSByYXRlIG9yIGJ1ZmZlciBzaXplCgkgIElmIGphY2tkIGNoYW5nZXMgdGhlIGJ1ZmZlciBzaXplIG9yIHNhbXBsZSByYXRlLCBqYWNrYXVkaW9zaW5rIGhhbmdzCgkgIGFuZCBjYW4ndCBiZSBzdG9wcGVkLiBUaGlzIGFsc28gaGFwcGVucyBpZiBqYWNrIGlzIGNvbmZpZ3VyZWQgYXMgc2xhdmUKCSAgYW5kIGEgZ3N0cmVhbWVyIHBpcGVsaW5lIGlzIHN0YXJ0ZWQgb24gdGhlIHNsYXZlIG1hY2hpbmUgd2hpbGUgdGhlIGphY2sKCSAgbWFzdGVyIGlzbid0IHJ1bm5pbmcgeWV0LiBJZiB0aGUgdGhlIGphY2sgbWFzdGVyIGlzIHN0YXJ0ZWQgaXQgY2hhbmdlcwoJICB0aGUgYnVmZmVyIHNpemUgLyBzYW1wbGUgcmF0ZSBhbmQgamFja2F1ZGlvc2luayBjYW4ndCBiZSBzdG9wcGVkLgoJICBUaGlzIGZpeCBjYWxscyBqYWNrX3NodXRkb3duX2NiIHdoZW4gamFja19zYW1wbGVfcmF0ZV9jYiBvcgoJICBqYWNrX2J1ZmZlcl9zaXplX2NiIGlzIGNhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTI3MgoKMjAxNi0wOS0xMiAyMDowODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGZpZWxkIG9yZGVyaW5nIGZvciByZXZlcnNlIHBsYXliYWNrCgkgIEFuZCBhY3R1YWxseSBjYWxjdWxhdGUgdGhlIGZpZWxkIGR1cmF0aW9uIGluc3RlYWQgb2YgYSBmcmFtZSBkdXJhdGlvbiBzbwoJICB0aGF0IHdlIGNhbiBwcm9wZXJseSB0aW1lc3RhbXAgb3V0cHV0IGZyYW1lcyBpbiBmaWVsZHM9YWxsIG1vZGUuCgkgIFRoaXMgaXMgcHJvYmFibHkgc3RpbGwgYnJva2VuIGZvciByZXZlcnNlIHBsYXliYWNrIGluIHRlbGVjaW5lIG1vZGUuCgoyMDE2LTA5LTEyIDA5OjAyOjAwICswMDAwICBUaG9tYXMgS2xhdXNuZXIgPHRrQGdpZ2Eub3IuYXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBjb21waWxhdGlvbiBvbiBOZXRCU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTI3OAoKMjAxNi0wOS0xMCAyMDo1MToxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIxOGQ4MjAgdG8gZjk4MGZkOQoKMjAxNi0wOS0wOSAxNDowMjoyNSArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb2Zmc2V0IGlzIGlycmVsZXZhbnQgd2hlbiBubyBjcnlwdG8gaW5mbwoJICBDYXVzZSBsYXRlciBpdCB3aWxsIHRyeSB0byB1c2UgdGhlIGNyeXB0byBpbmZvIGFycmF5IHRvIGdldCBhbiBpbmRleCBhbmQKCSAgYXR0YWNoIG9uIG9mIHRoZSBwb3NpdGlvbnMgYXMgYnVmZmVyJ3MgY3J5cHRvIGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5NTEKCjIwMTYtMDktMTAgMDk6NTM6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNDljNTVlIHRvIGIxOGQ4MjAKCjIwMTYtMDktMDkgMTY6MzY6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgYnVpbGQgZmlsZXMgZm9yIHRoZSBndGsgcGx1Z2luCgoyMDE2LTA5LTA3IDE1OjMzOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvOiBEaXN0cmlidXRlIGRldmljZSBwcm92aWRlciBmaWxlcwoJICBUaG9zZSB3aGVyZSBtaXNzaW5nIHRoZSB0aGUgZGV2IHJlbGVhc2UgdGFyYmFsbHMgZm9yIDEuOS4yIHdoaWNoCgkgIHByZXZlbnRlZCBidWlsZGluZyBmcm9tIHRhcmJhbGwgb24gT1NYIHBsYXRmb3JtCgoyMDE2LTA5LTA2IDA5OjQ5OjM5ICswMjAwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY3Jhc2ggd2l0aCBubyBjZW5jIGF1eCBvZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk1MQoKMjAxNi0wOS0wNiAxMzoxMzozOSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHFtbGdsc2luazogY2hlY2sgcXRfY29udGV4dF8gZmlyc3QgaW4gR3N0UVNHVGV4dHVyZTo6YmluZCgpCgkgIFdoZW4gc3RhcnQgcW1sZ2xzaW5rIGFwcCwgaXQgd2lsbCBzZXQgTlVMTCBidWZmZXIgdG8gR3N0UVNHVGV4dHVyZQoJICBpbiB3aGljaCBjYXNlIHRoYXQgcXRfY29udGV4dF8gd2lsbCBiZSBhIHJhbmRvbSB2YWx1ZSBhbmQgY2F1c2UKCSAgZ3N0X2dsX2NvbnRleHRfYWN0aXZhdGUoKSBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTI1CgoyMDE2LTA5LTA1IDA5OjM5OjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHBhcnNlIGEgYml0IG1vcmUgb2YgdGhlIGh1bW9uZ291cyBMT0FTIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozOTowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtYWtlIGl0IGNsZWFyIHdoZW4gYSBwb3RlbnRpYWwgTE9BUyBmcmFtZSBpcyBub3Qgb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6Mzg6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWRkIGEgZmV3IGNvbW1lbnRzIHRvIGFuY2hvciBwYXJzaW5nIHRvIHRoZSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6Mzc6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBpbXByb3ZlIGNoYW5uZWwvcmF0ZSBoYW5kbGluZwoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHBhcnNlZCBjaGFubmVscy9yYXRlIGZpZWxkcyBzbyB0aGV5IGNhbiBiZQoJICB1c2VkIGV2ZW4gaWYgdGhlIGVsZW1lbnQgd2FzIG5vdCB5ZXQgY29uZmlndXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTI3OAoKMjAxNi0wOS0wNSAwOTozNTo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggdmFybGVuZ3RoIG51bWJlciByZWFkaW5nIGFzIHBlciBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDktMDUgMDk6MzU6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc3RyaXAgdW5lZWRlZCBzdGF0aWMgYXJyYXlzIHNsYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyNzgKCjIwMTYtMDctMTggMTk6MTg6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBydHBtcDRhZGVwYXk6IE9ubHkgZGVjbGFyZSBhIHN0cmVhbSB0byBiZSBmcmFtZWQgb25jZSBhIG1hcmtlciBiaXQgaGFzIGJlZW4gc2VlbgoJICBUaGlzIG1heSBjYXVzZSBhIGZldyBwYWNrZXRzIHRvIGJlIHByb2Nlc3NlZCBieSB0aGUgcGFyc2VyLCBidXQgaXQncwoJICBiZXR0ZXIgdGhhbiBuZXZlciBwdXNoaW5nIG91dCBidWZmZXJzIGZyb20gYSBzbGlnaHRseSBicm9rZW4gc3RyZWFtCgkgIHdoZXJlIG5vIG1hcmtlciBiaXRzIGFyZSBzZXQuCgoyMDE2LTA5LTA2IDE0OjI1OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRml4IHRpbWVzdGFtcGluZyBpbiByZXZlcnNlIHBsYXliYWNrIG1vZGUKCSAgVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCByaWdodCBub3cgaWYgYWZ0ZXIgYSBkZW11eGVyIHRoYXQgc3VwcG9ydHMgcmV2ZXJzZQoJICBwbGF5YmFjaywgZS5nLiB3aXRoIERWIGNvbnRhaW5lciBpbnNpZGUgQVZJIGNvbnRhaW5lci4KCjIwMTYtMDktMDUgMTI6MjM6NTQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBCdW1wIHZlcnNpb24gdG8gMS45LjIKCjIwMTUtMDYtMjYgMjA6MTM6MTcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9pc29tcDQvR3N0UVRNdXgucHJzOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UuCgkgICsgQW5kIHByb3ZpZGUgYSAieW91dHViZSIgcHJlc2V0LCB3aGljaCBiYXNlZCBvbgoJICBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci8xNzIyMTcxIHNldHMKCSAgZmFzdHN0YXJ0IHRvIFRydWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1NTkKCjIwMTYtMDktMDEgMTI6Mjc6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOS4yID09PQoKMjAxNi0wOS0wMSAxMjoyNzoxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS4yCgoyMDE2LTA5LTAxIDExOjIzOjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0wMSAxMDo1OTo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIHRlc3RzL2V4YW1wbGVzOiAjZGVmaW5lIEdES19ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFdlIHVzZSBnZGtfY2Fpcm9fY3JlYXRlKCkgd2hpY2ggaXMgZGVwcmVjYXRlZCBzaW5jZSAzLjIyLgoKMjAxNi0wOC0zMSAwNTo1MDo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvOiBSZW1vdmUgUXVpY2tUaW1lIHJlZmVyZW5jZXMuCgkgIFF1aWNrVGltZS5oIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgb24gT1MgWCAxMC4xMiAoU2llcnJhKSwKCSAgYW5kIGJvdGggdGhlIGhlYWRlciBhbmQgdGhlIGZyYW1ld29yayBzZWVtIHVubmVjZXNzYXJ5CgkgIGZvciBjb21waWxhdGlvbiAtIGF0IGxlYXN0IGFzIG9mIDEwLjExIChFbCBDYXBpdGFuKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDUyNgoKMjAxNi0wOC0xOSAxMToxMTowMyAtMDcwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgVXNlIHRoZSBuZXcgQVBJIHRvIHBvc3QgZmxvdyBFUlJPUiBtZXNzYWdlcyBvbiB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAxNTgKCjIwMTYtMDgtMjYgMjE6MzI6MDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIHF0ZGVtdXgsIHJ0cGgyNjEgYW5kIHJ0cHZwOSB0ZXN0cwoKMjAxNi0wOC0yNiAyMToyMjoxNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgR1NUX05FVF9MSUJTIGluc3RlYWQgb2YgaGFyZGNvZGVkIC1sZ3N0bmV0CgkgIEZpeGVzIGJ1aWxkIGluIE9TWCB3aGVuIHJ1bm5pbmcgJ21ha2UgY2hlY2snIGluIGdzdC11bmluc3RhbGxlZC4KCjIwMTYtMDgtMjYgMjE6MTQ6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiByZW1vdmUgYSB3cm9uZyAnY29uc3QnIHNwZWNpZmllcgoJICBGaXhlcyAiZXJyb3I6IGR1cGxpY2F0ZSAnY29uc3QnIGRlY2xhcmF0aW9uIHNwZWNpZmllciIKCjIwMTYtMDgtMjYgMjE6MTE6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBzaWxlbmNlIGVycm9yIGFib3V0IHB0aHJlYWQgZm9yICdtYWtlIGNoZWNrJyBpbiBvc3gKCSAgRml4ZXMgImNsYW5nOiBlcnJvcjogYXJndW1lbnQgdW51c2VkIGR1cmluZyBjb21waWxhdGlvbjogJy1wdGhyZWFkJyIKCjIwMTYtMDgtMjYgMjA6MzE6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdnA5ZW5jOiBGaXggYnVpbGQgb2YgdW5pdCB0ZXN0IGJ5IGxldHRpbmcgaXQgbGluayB0byBsaWJnc3R2aWRlbwoKMjAxNi0wOC0yNiAxMjowNjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgUmV2ZXJ0ICJydHBtdXg6IGZpeCBQUk9QX1RJTUVTVEFNUF9PRkZTRVQgcmFuZ2UgcHJvYmxlbXMiCgkgIFRoaXMgYnJva2UgQVBJLCBzbyB3ZSBuZWVkIGEgYmV0dGVyIHNvbHV0aW9uIQoJICBUaGlzIHJldmVydHMgY29tbWl0IGM3NTc5ZDMxYTZlOWQ3ODhlOTRiODMyNTgzMDkwNjNkMGFhZTQ4MWUuCgoyMDE2LTA2LTA4IDE1OjA2OjI4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHZwOS5jOgoJICBydHB2cDlkZXBheTogU3VwcG9ydCBmbGV4aWJsZSBtb2RlCgoyMDE2LTA2LTA2IDE3OjAzOjM2ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDllbmMuYzoKCSAgdnA5ZW5jOiBGaXggbGVhayBvZiB2cHhfaW1hZ2VfdAoKMjAxNi0wNS0wNiAxMzozMzoyMiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzcGRlcGF5OiBEb24ndCB0cnkgdG8gcHVzaCBlbXB0eSBmcmFtZQoJICBJZiB0aGUgcmVzdWx0IG9mIGRlcGF5bG9hZGluZyBpcyBhbiBlbXB0eSBmcmFtZSwganVzdCBkcm9wIGl0LiBUaGlzIGlzCgkgIGxpa2VseSB0aGUgcmVzdWx0IG9mIGEgYnVnZ3kgcGF5bG9hZGVyLgoKMjAxNi0wNS0wNiAxNjowNjo1MyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IGZpeCBQUk9QX1RJTUVTVEFNUF9PRkZTRVQgcmFuZ2UgcHJvYmxlbXMKCSAgSXQgY291bGQgbm90IHNldCB0aGUgb2Zmc2V0IGZvciB0aGUgZnVsbCBndWludDMyIHJhbmdlLgoKMjAxNi0wNS0wNiAwOTo0NDo0MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGludHJvZHVjZSBtYXgtc3RyZWFtcyBwcm9wZXJ0eQoJICBUbyBiZSBhYmxlIHRvIGNhcCB0aGUgbnVtYmVyIG9mIGFsbG93ZWQgc3RyZWFtcyBmb3Igb25lIHNlc3Npb24uCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBwcmV2ZW50aW5nIERvUyBhdHRhY2tzLCB3aGVyZSBhIHNlbmRlciBjYW4gY2hhbmdlCgkgIFNTUkMgZm9yIGV2ZXJ5IGJ1ZmZlciwgZWZmZWN0aXZlbHkgYnJpbmdpbmcgcnRwYmluIHRvIGEgaGFsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDI5MgoKMjAxNi0wMy0zMSAwMDoxMDo0OSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogcmVvcmRlcmVkIHBhY2tldHMgYXJlIHZlcnkgbm9ybWFsLCBhbmQgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcKCjIwMTYtMDItMDUgMTQ6MTk6MjUgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZGVncmFkZSBnX3dhcm5pbmcgdG8gR1NUX0VSUk9SCgkgIFNvIHdlIGRvbid0IGJsb3cgdXAgd2hpbGUgaW52ZXN0aWdhdGluZwoKMjAxNi0wMi0wNCAxNDoxNjo0MCArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJICBydHBoMjYzcGRlcGF5OiBGaXggcGljdHVyZSBoZWFkZXIgZm9yIG5vbi13cml0YWJsZSBwYXlsb2FkCgkgIFVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucyBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZCgpIHJldHVybnMgYSBjb3B5IG9mCgkgIHRoZSBwYXlsb2FkLiBJbiB0aGlzIGNhc2UgdGhlIHBheWxvYWQgbW9kaWZpY2F0aW9ucyB3aWxsIG5vdCBhZmZlY3QgdGhlCgkgIHJ0cCBidWZmZXIuIFNvIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBwYXlsb2FkIGJ1ZmZlciBkaXJlY3RseSB3ZQoJICBzaG91bGQgbW9kaWZ5IHRoZSBidWZmZXIgdGhhdCBhY3R1YWxseSBnZXRzIHB1c2hlZCBvbiB0aGUgYWRhcHRlci4KCjIwMTUtMTEtMTkgMTE6NTA6NDcgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjEuYzoKCSAgcnRwaDI2MWRlcGF5OiBGaXggY2hlY2sgb2YgdmFsaWQgcGF5bG9hZCBsZW5ndGgKCSAgUGFja2V0cyB3aXRoIG5vIEguMjYxIHBheWxvYWQgc2hvdWxkIGJlIGRyb3BwZWQgdG8gYXZvaWQgaW52YWxpZAoJICB3cml0ZS9yZWFkcy4KCjIwMTUtMTEtMDkgMTA6MDY6MjEgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M3BheTogRml4IGRvdWJsZSBmcmVlLCBpbnZhbGlkIHJlYWRzIGFuZCBsZWFrCgoyMDE0LTA2LTMwIDE1OjQzOjU4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2FuaXR5IGNoZWNrIFJUVCBiZWZvcmUgaWdub3JpbmcgUExJL0ZJUgoKMjAxNC0wNi0zMCAxNTowNzo0NSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGhhbmRsZSBzZGVzIG1lc3NhZ2VzIHdpdGggbm9uLXV0ZjggbW9yZSBncmFjZWZ1bGx5CgoyMDE0LTA2LTE3IDA4OjUyOjUwICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuLnNlbG5lc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogY2hhbmdlIGxvZyBsZXZlbCBvbiBiaXRzdHJlYW0gcGFyc2luZyBtZXNzYWdlcwoKMjAxNi0wNy0wNyAxMToxMzoxOCArMDIwMCAgTWlraGFpbCBGbHVka292IDxtaXNoYUBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvcnRwcnR4OiByZWZhY3RvciB0aGUgdGVzdHMgdG8gdXNlIGdzdGhhcm5lc3MKCSAgVGhlIGZ1bmN0aW9uYWxpdHkgb2YgYWxsIHRoZSB0ZXN0cyB3YXMga2VwdCBleGFjdGx5IHRoZSBzYW1lLiBTb21lIHRlc3RzCgkgIHdlcmUgcmVuYW1lZDoKCSAgdGVzdF9wdXNoX2ZvcndhcmRfc2VxIC0+IHRlc3RfcnR4c2VuZF9ydHhyZWNlaXZlCgkgIHRlc3RfZHJvcF9vbmVfc2VuZGVyIC0+IHRlc3RfcnR4c2VuZF9ydHhyZWNlaXZlX3dpdGhfcGFja2V0X2xvc3MKCSAgdGVzdF9kcm9wX211bHRpcGxlX3NlbmRlciAtPiB0ZXN0X211bHRpX3J0eHNlbmRfcnR4cmVjZWl2ZV93aXRoX3BhY2tldF9sb3NzCgkgIHRlc3RfcnR4cmVjZWl2ZV9kYXRhX3JlY29uc3RydWN0aW9uIHdhcyB0ZXN0aW5nIHRoYXQgcmV0cmFuc21pdHRlZAoJICBidWZmZXIgcHJvZHVjZWQgYnkgcnR4c2VuZCB3YXMgY29ycmVjdGx5IHRyYW5zZm9ybWVkIHRvIHRoZSBvcmlnaW5hbAoJICBidWZmZXIgYnkgcnR4cmVjZWl2ZS4gTm93IHdlIGFyZSBjaGVja2luZyBmb3IgdGhpcyBpbiBhbGwgdGhlIHRlc3RzCgkgIHdoZXJlIGJvdGggcnR4c2VuZCAmIHJ0eHJlY2VpdmUgYXJlIGludm9sdmVkLiBUaGF0J3Mgd2h5IHRoZSB0ZXN0IHdhcwoJICByZW1vdmVkLgoKMjAxNi0wOC0yNSAxNTo1MjozNiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogU2V0IFJUUCBtYXJrZXIgYml0CgkgIFNldCB0aGUgUlRQIG1hcmtlciBiaXQgb24gdGhlIGxhc3QgUlRQIHBhY2tldCBvZiBhbiBILjI2NSBhY2Nlc3MgdW5pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDM5NAoKMjAxNi0wNy0yNiAxOTozOTo1OCArMDIwMCAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBhZGRlZCBHc3RWaWRlb0RpcmVjdGlvbiBpbnRlcmZhY2UKCSAgSXQgaW1wbGVtZW50cyBub3cgdGhpcyBpbnRlcmZhY2Ugd2l0aCBpdHMgdmlkZW8tZGlyZWN0aW9uCgkgIHByb3BlcnR5LiBWYWx1ZXMgYXJlIGNoYW5nZWQgdG8gR3N0VmlkZW9PcmllbnRhdGlvbk1ldGhvZCBidXQgdGhleSBoYXZlCgkgIHRoZSBzYW1lIHZhbHVlIHRoYW4gdGhlIG9yaWdpbmFscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODY4NwoKMjAxNS0xMS0wNiAxMDozOToxNiArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiByZWZhY3RvciBkdXBsaWNhdGUgY29kZSBpbnRvIGEgZnVuY3Rpb24KCSAgTGVzcyBjb2RlLCBlYXNpZXIgdG8gcmVhZCwgbW9yZSBjb25zaXN0ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjkzCgoyMDE2LTA4LTIzIDE3OjA2OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvIGluIG1heC1taXNvcmRlci10aW1lIHByb3BlcnR5IG5hbWUKCjIwMTYtMDgtMjIgMDA6MDU6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoJICBPbiAzMi1iaXQgeDg2OiBnc3RzcGxpdG11eHNpbmsuYzo5NjY6MzE6IHdhcm5pbmc6IGZvcm1hdCDigJgldeKAmSBleHBlY3RzCgkgIGFyZ3VtZW50IG9mIHR5cGUg4oCYdW5zaWduZWQgaW504oCZLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZQoJICDigJhndWludDY0IHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH3igJkKCjIwMTYtMDgtMTIgMjE6MjU6MzQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90d29sYW1lL21lc29uLmJ1aWxkOgoJICBBZGQgc3VwcG9ydCBmb3IgTWVzb24gYXMgYWx0ZXJuYXRpdmUvcGFyYWxsZWwgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoJICBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPiAob3JpZ2luYWwgcG9ydCkKCSAgSGlnaGxpZ2h0cyBvZiB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYXJlOgoJICAqIEZhc3RlciBidWlsZHMgb24gTGludXggKH40MC01MCUgZmFzdGVyKQoJICAqIFRoZSBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggTVNWQyBvbiBXaW5kb3dzCgkgICogR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzCgkgICogR2VuZXJhdGUgWENvZGUgcHJvamVjdCBmaWxlcwoJICAqIE11Y2ggZmFzdGVyIGJ1aWxkcyBvbiBXaW5kb3dzIChvbi1wYXIgd2l0aCBMaW51eCkKCSAgKiBTZXJpb3VzbHkgZmFzdCBjb25maWd1cmUgYW5kIGJ1aWxkaW5nIG9uIGVtYmVkZGVkCgkgIC4uLiBhbmQgbWFueSBtb3JlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNS9nc3RyZWFtZXItYW5kLW1lc29uLW5ldy1ob3BlLmh0bWwKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNy9idWlsZGluZy1hbmQtZGV2ZWxvcGluZy1nc3RyZWFtZXItdXNpbmcuaHRtbAoJICBCdWlsZGluZyB3aXRoIE1lc29uIHNob3VsZCB3b3JrIG9uIGJvdGggTGludXggYW5kIFdpbmRvd3MsIGJ1dCBtYXkKCSAgbmVlZCBhIGZldyBtb3JlIHR3ZWFrcyBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMTYtMDgtMTIgMjE6MjU6MzQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9sYW1lL21lc29uLmJ1aWxkOgoJICBBZGQgc3VwcG9ydCBmb3IgTWVzb24gYXMgYWx0ZXJuYXRpdmUvcGFyYWxsZWwgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoJICBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPiAob3JpZ2luYWwgcG9ydCkKCSAgSGlnaGxpZ2h0cyBvZiB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYXJlOgoJICAqIEZhc3RlciBidWlsZHMgb24gTGludXggKH40MC01MCUgZmFzdGVyKQoJICAqIFRoZSBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggTVNWQyBvbiBXaW5kb3dzCgkgICogR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzCgkgICogR2VuZXJhdGUgWENvZGUgcHJvamVjdCBmaWxlcwoJICAqIE11Y2ggZmFzdGVyIGJ1aWxkcyBvbiBXaW5kb3dzIChvbi1wYXIgd2l0aCBMaW51eCkKCSAgKiBTZXJpb3VzbHkgZmFzdCBjb25maWd1cmUgYW5kIGJ1aWxkaW5nIG9uIGVtYmVkZGVkCgkgIC4uLiBhbmQgbWFueSBtb3JlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNS9nc3RyZWFtZXItYW5kLW1lc29uLW5ldy1ob3BlLmh0bWwKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNy9idWlsZGluZy1hbmQtZGV2ZWxvcGluZy1nc3RyZWFtZXItdXNpbmcuaHRtbAoJICBCdWlsZGluZyB3aXRoIE1lc29uIHNob3VsZCB3b3JrIG9uIGJvdGggTGludXggYW5kIFdpbmRvd3MsIGJ1dCBtYXkKCSAgbmVlZCBhIGZldyBtb3JlIHR3ZWFrcyBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMTYtMDgtMTIgMjE6MjU6MzQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvbWVzb24uYnVpbGQ6CgkgIEFkZCBzdXBwb3J0IGZvciBNZXNvbiBhcyBhbHRlcm5hdGl2ZS9wYXJhbGxlbCBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24KCSAgV2l0aCBjb250cmlidXRpb25zIGZyb206CgkgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgkgIEp1c3NpIFBha2thbmVuIDxqcGFra2FuZUBnbWFpbC5jb20+IChvcmlnaW5hbCBwb3J0KQoJICBIaWdobGlnaHRzIG9mIHRoZSBmZWF0dXJlcyBwcm92aWRlZCBhcmU6CgkgICogRmFzdGVyIGJ1aWxkcyBvbiBMaW51eCAofjQwLTUwJSBmYXN0ZXIpCgkgICogVGhlIGFiaWxpdHkgdG8gYnVpbGQgd2l0aCBNU1ZDIG9uIFdpbmRvd3MKCSAgKiBHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIHByb2plY3QgZmlsZXMKCSAgKiBHZW5lcmF0ZSBYQ29kZSBwcm9qZWN0IGZpbGVzCgkgICogTXVjaCBmYXN0ZXIgYnVpbGRzIG9uIFdpbmRvd3MgKG9uLXBhciB3aXRoIExpbnV4KQoJICAqIFNlcmlvdXNseSBmYXN0IGNvbmZpZ3VyZSBhbmQgYnVpbGRpbmcgb24gZW1iZWRkZWQKCSAgLi4uIGFuZCBtYW55IG1vcmUuIEZvciBtb3JlIGRldGFpbHMgc2VlOgoJICBodHRwOi8vYmxvZy5uaXJiaGVlay5pbi8yMDE2LzA1L2dzdHJlYW1lci1hbmQtbWVzb24tbmV3LWhvcGUuaHRtbAoJICBodHRwOi8vYmxvZy5uaXJiaGVlay5pbi8yMDE2LzA3L2J1aWxkaW5nLWFuZC1kZXZlbG9waW5nLWdzdHJlYW1lci11c2luZy5odG1sCgkgIEJ1aWxkaW5nIHdpdGggTWVzb24gc2hvdWxkIHdvcmsgb24gYm90aCBMaW51eCBhbmQgV2luZG93cywgYnV0IG1heQoJICBuZWVkIGEgZmV3IG1vcmUgdHdlYWtzIG9uIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLgoKMjAxNi0wOC0xMiAyMToxMjozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlnLmgubWVzb246CgkqIGV4dC9jYWlyby9tZXNvbi5idWlsZDoKCSogZXh0L2R2L21lc29uLmJ1aWxkOgoJKiBleHQvZmxhYy9tZXNvbi5idWlsZDoKCSogZXh0L2dka19waXhidWYvbWVzb24uYnVpbGQ6CgkqIGV4dC9qYWNrL21lc29uLmJ1aWxkOgoJKiBleHQvanBlZy9tZXNvbi5idWlsZDoKCSogZXh0L2xpYnBuZy9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvcHVsc2UvbWVzb24uYnVpbGQ6CgkqIGV4dC9zaG91dDIvbWVzb24uYnVpbGQ6CgkqIGV4dC9zb3VwL21lc29uLmJ1aWxkOgoJKiBleHQvc3BlZXgvbWVzb24uYnVpbGQ6CgkqIGV4dC90YWdsaWIvbWVzb24uYnVpbGQ6CgkqIGV4dC92cHgvbWVzb24uYnVpbGQ6CgkqIGV4dC93YXZwYWNrL21lc29uLmJ1aWxkOgoJKiBnc3QvYWxwaGEvbWVzb24uYnVpbGQ6CgkqIGdzdC9hcGV0YWcvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb2Z4L21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9wYXJzZXJzL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L2F1dG9kZXRlY3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdmkvbWVzb24uYnVpbGQ6CgkqIGdzdC9jdXR0ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9kZWJ1Z3V0aWxzL21lc29uLmJ1aWxkOgoJKiBnc3QvZGVpbnRlcmxhY2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9kdG1mL21lc29uLmJ1aWxkOgoJKiBnc3QvZWZmZWN0di9tZXNvbi5idWlsZDoKCSogZ3N0L2VxdWFsaXplci9tZXNvbi5idWlsZDoKCSogZ3N0L2Zsdi9tZXNvbi5idWlsZDoKCSogZ3N0L2ZseC9tZXNvbi5idWlsZDoKCSogZ3N0L2dvb20vbWVzb24uYnVpbGQ6CgkqIGdzdC9nb29tMmsxL21lc29uLmJ1aWxkOgoJKiBnc3QvaWN5ZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9pZDNkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L2ltYWdlZnJlZXplL21lc29uLmJ1aWxkOgoJKiBnc3QvaW50ZXJsZWF2ZS9tZXNvbi5idWlsZDoKCSogZ3N0L2lzb21wNC9tZXNvbi5idWlsZDoKCSogZ3N0L2xhdy9tZXNvbi5idWlsZDoKCSogZ3N0L2xldmVsL21lc29uLmJ1aWxkOgoJKiBnc3QvbWF0cm9za2EvbWVzb24uYnVpbGQ6CgkqIGdzdC9tZXNvbi5idWlsZDoKCSogZ3N0L21vbm9zY29wZS9tZXNvbi5idWlsZDoKCSogZ3N0L211bHRpZmlsZS9tZXNvbi5idWlsZDoKCSogZ3N0L211bHRpcGFydC9tZXNvbi5idWlsZDoKCSogZ3N0L3JlcGxheWdhaW4vbWVzb24uYnVpbGQ6CgkqIGdzdC9ydHAvbWVzb24uYnVpbGQ6CgkqIGdzdC9ydHBtYW5hZ2VyL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRzcC9tZXNvbi5idWlsZDoKCSogZ3N0L3NoYXBld2lwZS9tZXNvbi5idWlsZDoKCSogZ3N0L3NtcHRlL21lc29uLmJ1aWxkOgoJKiBnc3Qvc3BlY3RydW0vbWVzb24uYnVpbGQ6CgkqIGdzdC91ZHAvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2JveC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvY3JvcC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZpZGVvZmlsdGVyL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9taXhlci9tZXNvbi5idWlsZDoKCSogZ3N0L3dhdmVuYy9tZXNvbi5idWlsZDoKCSogZ3N0L3dhdnBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QveTRtL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvdjRsMi9tZXNvbi5idWlsZDoKCSogc3lzL3hpbWFnZS9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkqIHRlc3RzL21lc29uLmJ1aWxkOgoJICBBZGQgc3VwcG9ydCBmb3IgTWVzb24gYXMgYWx0ZXJuYXRpdmUvcGFyYWxsZWwgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoJICBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPiAob3JpZ2luYWwgcG9ydCkKCSAgSGlnaGxpZ2h0cyBvZiB0aGUgZmVhdHVyZXMgcHJvdmlkZWQgYXJlOgoJICAqIEZhc3RlciBidWlsZHMgb24gTGludXggKH40MC01MCUgZmFzdGVyKQoJICAqIFRoZSBhYmlsaXR5IHRvIGJ1aWxkIHdpdGggTVNWQyBvbiBXaW5kb3dzCgkgICogR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyBwcm9qZWN0IGZpbGVzCgkgICogR2VuZXJhdGUgWENvZGUgcHJvamVjdCBmaWxlcwoJICAqIE11Y2ggZmFzdGVyIGJ1aWxkcyBvbiBXaW5kb3dzIChvbi1wYXIgd2l0aCBMaW51eCkKCSAgKiBTZXJpb3VzbHkgZmFzdCBjb25maWd1cmUgYW5kIGJ1aWxkaW5nIG9uIGVtYmVkZGVkCgkgIC4uLiBhbmQgbWFueSBtb3JlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNS9nc3RyZWFtZXItYW5kLW1lc29uLW5ldy1ob3BlLmh0bWwKCSAgaHR0cDovL2Jsb2cubmlyYmhlZWsuaW4vMjAxNi8wNy9idWlsZGluZy1hbmQtZGV2ZWxvcGluZy1nc3RyZWFtZXItdXNpbmcuaHRtbAoJICBCdWlsZGluZyB3aXRoIE1lc29uIHNob3VsZCB3b3JrIG9uIGJvdGggTGludXggYW5kIFdpbmRvd3MsIGJ1dCBtYXkKCSAgbmVlZCBhIGZldyBtb3JlIHR3ZWFrcyBvbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMTYtMDgtMjAgMTY6NTk6MzAgKzA4MDAgIEppZSBKaWFuZyA8amlhbmdqaWVAbnVkdC5lZHUuY24+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBGaXhlZCBzcGxpdG11eHNpbmsgMzItYml0IG92ZXJmbG93IGJ1ZwoJICBFeHRlbmQgdGhlIGJ5dGUgdHJhY2tpbmcgY291bnRlcnMgdG8gNjQtYml0IG9uCgkgIGFsbCBwbGF0Zm9ybXMsIGluc3RlYWQgb2YgdXNpbmcgZ3NpemUsIHdoaWNoIG92ZXJmbG93cwoJICBhZnRlciA0R0IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAwMTkKCjIwMTYtMDgtMTkgMTc6MTg6MTYgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IEZpeCBjb3Zlcml0eSB3YXJuaW5nCgkgIElmIGF0b21fY29weV9kYXRhIGZhaWxzIHRvIHdyaXRlIGFueXRoaW5nLCByZXR1cm4gMAoJICBDSUQgIzEzNzE0NTgKCjIwMTYtMDQtMDkgMDc6NTE6MDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkgIHY0bDI6IGNvbnNpc3RlbnRseSBjaGVjayAjaWZkZWYgSEFWRV9HVURFViBpbnN0ZWFkIG9mICNpZgoJICBCb3RoIHdvcmsgd2l0aCBhdXRvdG9vbHMgYnV0IHRoZXkgZGVmaW5pdGVseSBkb24ndCBtZWFuIHRoZSBzYW1lIHRoaW5nLCBjYXVzZQoJICBwcm9ibGVtcyB3aXRoIG90aGVyIGJ1aWxkIHN5c3RlbXMsIGFuZCBhcmUgYmFkIGZvcm0uIEV4aXN0ZW5jZSBzaG91bGQgYWx3YXlzIGJlCgkgIGNoZWNrZWQgd2l0aCAjaWZkZWYgb3IgI2lmIGRlZmluZWQuCgoyMDE2LTA0LTE5IDEwOjUzOjA1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmQ6IHBvcnQgYXdheSBmcm9tIG9sZCBEaXJlY3RYIEFQSQoJICBEM0RYIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZSBsYXN0IDQgeWVhcnMgYW5kIGxhdGVzdCB2ZXJzaW9ucyBvZgoJICBXaW5kb3dzIG5vIGxvbmdlciBzaGlwIGhlYWRlcnMgZm9yIGl0LiBUaGlzIGlzIGZpbmUgYXMgbG9uZyBhcyB5b3UncmUKCSAgYnVpbGRpbmcgd2l0aCBDZXJiZXJvJ3MgV2luZS1iYXNlZCBEaXJlY3RYIGhlYWRlcnMsIGJ1dCBzdWNrcyBpZiB5b3UKCSAgd2FudCB0byBidWlsZCBhZ2FpbnN0IHRoZSBhY3R1YWwgV2luZG93cyBTREsuCgkgIFdlIHdlcmUganVzdCB1c2luZyBpdCB0byBnZXQgZXJyb3Igc3RyaW5ncyBhbnl3YXksIHNvIGp1c3QgdXNlIHRoZQoJICBnZW5lcmljIGVycm9yIHN0cmluZyBBUEkuCgoyMDE2LTA4LTE4IDEyOjAyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IEFkZCBtYXhpbXVtIGJpdHJhdGUgdGFnIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGM3MDNhYjY5ZjUyNjA5MmJiMjZjY2U0MWNhNjkxYTg5NmM4MzgzZDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzOTIKCjIwMTYtMDgtMTggMDk6NTc6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggdW5pdCB0ZXN0IGJ5IGRpc2FibGluZyBhZGFwdGl2ZSBtaXNvcmRlci9kcm9wb3V0IGNhbGN1bGF0aW9ucwoJICBOZWVkIHRvIHNldCBtYXgtbWlzb3JkZXItdGltZSBhbmQgbWF4LWRyb3BvdXQtdGltZSB0byAwIHNvIHRoZQoJICBqaXR0ZXJidWZmZXIgZG9lcyBub3QgYmFzZSB0aGVtIG9uIHBhY2tldCByYXRlIGNhbGN1bGF0aW9ucy4KCSAgSWYgaXQgZG9lcywgb3V0IGdhcCBpcyBiaWcgZW5vdWdoIHRvIGJlIGNvbnNpZGVyZWQgYSBuZXcgc3RyZWFtIGFuZAoJICB3ZSB3YWl0IGZvciBhIGZldyBjb25zZWN1dGl2ZSBwYWNrZXRzIGp1c3QgdG8gYmUgc3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE2LTA4LTA5IDEyOjU1OjU5ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogQWRkIG9wdGlvbiB0byBzcGxpdCBhdCBleGFjdGx5IG1heC1zaXplLXRpbWUKCSAgV2lsbCB0cnkgdG8gcmVxdWVzdCBhIGtleWZyYW1lIGZyb20gdGhlIGVuY29kZXIgdG8gYmUgc2VudCBhdCB0aGUgdGFyZ2V0CgkgIHJ1bm5pbmcgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTY2NAoKMjAxNi0wOC0wOSAyMDoxNjoxNiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEFsbG93IHRpbWUgYW5kIGJ5dGVzIHRvIHJlYWNoIHRoZWlyIHJlc3BlY3RpdmUgdGhyZXNob2xkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NjY0CgoyMDE2LTA4LTE3IDA5OjQ5OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBbGxvdyBtaW1ldHlwZXMgd2l0aCBwcm9wZXJ0aWVzIGFzIGxvbmcgYXMgdGhleSdyZSBhcHBsaWNhdGlvbi9zZHAKCSAgU29tZSBzZXJ2ZXJzIGFkZCBwcm9wZXJ0aWVzIGxpa2UgY2hhcnNldCwgZS5nLgoJICBhcHBsaWNhdGlvbi9zZHA7IGNoYXJzZXQ9dXRmOAoJICBJZGVhbGx5IHdlIHNob3VsZCBhbHNvIHBhcnNlIHRoZSBjaGFyc2V0IGFuZCBkbyBjb252ZXJzaW9uIG9mIGFsbCBtZXNzYWdlcywKCSAgYnV0IHRoYXQncyBmb3IgYSBsYXRlciB0aW1lLgoKMjAxNi0wNi0yNCAxNjozMjozNyArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBBZGRlZCBzdXBwb3J0IGZvciB3cml0aW5nIHRpbWVjb2RlIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc5NTAKCjIwMTYtMDgtMTYgMDA6NDA6NTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxdDogVXNlIHdnbFNoYXJlTGlzdHMoKSB3b3JrYXJvdW5kIHVuY29uZGl0aW9uYWxseS4KCSAgU29tZXRpbWVzIHdnbENyZWF0ZUNvbnRleHRBdHRyaWJzQVJCKCkgZXhpc3RzLCBidXQKCSAgaXNuJ3QgZnVuY3Rpb25hbCAoc29tZSBJbnRlbCBkcml2ZXJzKSwgc28gaXQncwoJICBlYXNpZXN0IHRvIGRvIHRoZSB3b3JrYXJvdW5kIHVuY29uZGl0aW9uYWxseS4KCjIwMTYtMDgtMDggMTM6NDE6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxdDogTW92ZSBkZWJ1ZyBzdGF0ZW1lbnQgdG8gYWZ0ZXIgdGhlIGNhdGVnb3J5IGluaXQKCSAgRG9uJ3Qgb3V0cHV0IGRlYnVnIHRvIGFuIHVuaW5pdGlhbGlzZWQgZGVidWcgY2F0ZWdvcnkuCgoyMDE2LTA4LTExIDE2OjMyOjIxIC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBJbml0aWFsaXplIGJ5dGVzX3NlbnQgZmllbGQuCgkgIFRoaXMgZml4ZXMgZW5kcG9pbnRzIG5vdCByZWNlaXZpbmcgYW55IGRhdGEgaW50ZXJtaXR0ZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk3NzMKCjIwMTYtMDgtMTAgMTE6NDU6MTMgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBY3R1YWxseSBjYWxjdWxhdGUgdGhlIHBhY2tldCByYXRlIGZvciBtYXgtZHJvcG91dCBhbmQgbWF4LW1pc29yZGVyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxMQoKMjAxNi0wOC0xMCAxMToyNjoxNyAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERvbid0IHdhcm4gZm9yIGR1cGxpY2F0ZSBwYWNrZXRzCgkgIFRoaXMgaXMgYSBub3JtYWwgc2NlbmFyaW8gYW5kIHNob3VsZCBub3QgYmUgYSB3YXJuaW5nLiAgVGhpcyBjYW4KCSAgaGFwcGVuIGZyZXF1ZW50bHkgd2hlbiByZS10cmFuc21pdHMgb2YgbG9zdCBwYWNrZXRzIGFyZSBlbmFibGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA4CgoyMDE2LTA4LTA4IDEzOjQ5OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBGaXggdHlwbyBjb252ZXJ0aW5nIHRvIHJ1bm5pbmcgdGltZS4KCSAgVXNlIHRoZSBjb3JyZWN0IGNvbGxlY3RlZCB0aW1lc3RhbXAuCgoyMDE2LTA4LTA4IDAyOjUzOjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIFJldmVydCAic3BsaXRtdXhzaW5rOiBVc2UgR3N0QmluIGFzeW5jLWhhbmRsaW5nIGluc3RlYWQgb2Ygb3VyIG93bi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmEwMDhmMjcxYTUyZjgyZGVkZWRjMjhiZDgxYjAyMGNhNzkzOWI0Ny4KCSAgYXN5bmMtaGFuZGxpbmcgaW4gR3N0QmluIGNhdXNlcyB0aGUgcGlwZWxpbmUgdG8gc3BpbiBhdCAxMDAlCgkgIENQVSBhcyB0aGUgdG9wLWxldmVsIHBpcGVsaW5lIHRyaWVzIHRvIGNoYW5nZSB0aGF0IHN0YXRlCgkgIHRvIFBMQVlJTkcgY29uc3RhbnRseS4gVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEgY29yZQoJICBwcm9ibGVtLCBlc3NlbnRpYWxseSwgYnV0IGFuIGltcHJvdmVtZW50IGluIHRoaXMgY2FzZSBmb3Igbm93LgoKMjAxNi0wOC0wOCAwMDo1NjozOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogUmVjaGVjayBzdGF0ZSBhZnRlciB1bmxvY2tpbmcgbXV0ZXguCgkgIEFmdGVyIGRyb3BwaW5nIHRoZSBzcGxpdG11eCBsb2NrLCByZS1jaGVjayB0aGUgc3RhdGUsCgkgIGRvbid0IGp1c3QgZmFsbCB0aHJvdWdoIGFuZCBzbGVlcCB1bmNvbmRpdGlvbmFsbHksCgkgIGFzIHdlIG1heSBoYXZlIGFscmVhZHkgbWlzc2VkIHRoZSB3YWtldXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk1MTQKCjIwMTYtMDgtMDMgMDM6MzI6MDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogRG9uJ3Qgc3RvcCBhbmQgZXJyb3Igb24gRU9TIGZsb3cgcmV0dXJuCgkgIERvbid0IGltbWVkaWF0ZWx5IGhhbHQgb24gRU9TIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbQoJICBkdWUgdG8gb3V0IG9mIHNlZ21lbnQuIExldCB0aGUgZGVtdXhlciBoYW5kbGUgaXQgYW5kIHNlbmQKCSAgRU9TLgoKMjAxNi0wOC0wNCAwMDozNjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCB1bnJlZiBvZiBudWxsIGJ1ZmZlcgoJICBUaGUgY3VycmVudCAnbCcgcG9pbnRlciB3aWxsIGJlIE5VTEwgd2hlbiB0aGUgbG9vcAoJICBpcyBpbnRlcnJ1cHRlZCB3aXRoIGEgJ2JyZWFrJyBzdGF0ZW1lbnQuIE5lZWQgdG8gaGF2ZQoJICBpdCBhZHZhbmNlIHRvIHRoZSBuZXh0IGxpc3QgaXRlbSBiZWZvcmUgaW50ZXJydXB0aW5nLgoKMjAxNi0wNy0yNyAwOToyODoyMyArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL21haW4ucW1sOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL3BsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL3FtbC5xcmM6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvZ3JhYnFtbC5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL21haW4ucW1sOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvcW1sLnFyYzoKCSAgcW1sZ2xzcmM6IEFkZCBxbWxnbHNyYyB1bml0IHRlc3QgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTYwCgoyMDE2LTA3LTI3IDA4OjE2OjQ3ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5Lmg6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZXh0L3F0L2dzdHF0c3JjLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSogZXh0L3F0L3F0d2luZG93Lmg6CgkgIHF0OiBpbXBsZW1lbnQgcW1sZ2xzcmMgZm9yIHFtbCB2aWV3IGdyYWIKCSAgW01hdHRoZXcgV2F0ZXJzXTogZ3N0LWluZGVudCBzb3VyY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxNjAKCjIwMTYtMDgtMDIgMTQ6MDE6MTQgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBBZGQgdGFncyBmb3IgY29udGFpbmVyIGZvcm1hdCBhbmQgYml0cmF0ZSBmb3IgdW5jb21wcmVzc2VkIFBDTQoJICBUaGUgUENNIGJpdHJhdGUgaXMgYWRkZWQgdG8gaGVscCBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIHVyaWRlY29kZWJpbikKCSAgZmlndXJlIG91dCBhIHByb3BlciBuZXR3b3JrIGJ1ZmZlciBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzOTAKCjIwMTYtMDgtMDEgMTg6NTI6MjYgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQWRkIG1heGltdW0gYml0cmF0ZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM5MgoKMjAxNi0wNy0yOCAxNzo1ODoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBXaGVuIHJlY2VpdmluZyBhIERJU0NPTlQgYnVmZmVyIHRoYXQgZG9lcyBub3QgcG9pbnQgdG8gYSBzYW1wbGUsIHJlbWVtYmVyIHRoZSBvZmZzZXQKCSAgQW5kIGRvbid0IGp1c3QgcmVzZXQgZXZlcnl0aGluZy4gVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgY2FuIGNvbnRpbnVlIHRvCgkgIGhhbmRsZSBkYXRhIGluIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW86CgkgIG1vb3Y6IGRpc2NvbnQKCSAgbW9vZjogZGlzY29udAoJICBtZGF0OiBjb250aW51b3VzCgkgIFByZXZpb3VzbHkgdGhpcyB3b3VsZCBmYWlsIGJlY2F1c2UgdGhlIG9mZnNldCB3b3VsZCBiZSB0aGUgYWNjdW11bGF0ZWQgb2Zmc2V0CgkgIGZyb20gbW9vdiBhbmQgbW9vZiBhdCB0aGUgbWRhdCBwb3NpdGlvbiwgd2hpbGUgdGhlIGJ1ZmZlciBvZmZzZXQgbWlnaHQgYmUKCSAgc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50LgoKMjAxNi0wNy0yNSAxMzozNDowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgcnRwOiBGaWx0ZXIgd2l0aCB0aGUgZmlsdGVyIGNhcHMgaW4gdGhlIHBheWxvYWRlcidzIGdldGNhcHMKCjIwMTYtMDMtMDMgMTE6MzU6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGluY2x1ZGUgaHR0cC1zdGF0dXMtY29kZSBpbiBlcnJvciBtZXNzYWdlIGRldGFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAzOAoKMjAxNi0wNy0yNSAxODoyMDowMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQgc2lnbmVkbmVzcy4KCSAgVGhlIHRzIHZhcmlhYmxlIGlzIGEgR3N0Q2xvY2tUaW1lLCBkb24ndCBwcmludCBpdAoJICBhcyBhIEdzdENsb2NrVGltZURpZmYuCgoyMDE2LTA3LTIyIDE3OjAwOjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4uY3BwOgoJICBxbWw6IERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgYWN0dWFsIHNpbmsgZWxlbWVudCBhZnRlciBzZXR0aW5nIGl0IG9uIGdsc2lua2JpbgoKMjAxNi0wNy0yMiAxNjo1Nzo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLmNwcDoKCSAgcW1sOiBVc2UgZ2xzaW5rYmluIGluc3RlYWQgb2YgZ2x1cGxvYWQgZGlyZWN0bHkKCjIwMTYtMDctMTcgMjI6NDE6MDIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBIYW5kbGUgbmVnYXRpdmUgcnVubmluZyB0aW1lCgkgIFVzZSBzaWduZWQgY2xvY2sgdGltZXMgZm9yIHJ1bm5pbmcgdGltZSBldmVyeXdoZXJlCgkgIHNvIHRoYXQgd2UgaGFuZGxlIG5lZ2F0aXZlIHJ1bm5pbmcgdGltZXMgd2l0aG91dAoJICBnb2luZyBoYXl3aXJlLCBzaW1pbGFyIHRvIHdoYXQgcXVldWUgYW5kIG11bHRpcXVldWUKCSAgZG8gdGhlc2UgZGF5cy4KCjIwMTYtMDctMTggMDA6MTI6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBEcm9wIGxvY2sgd2hlbiBzZW5kaW5nIGR1bW15IGV2ZW50CgkgIFdoZW4gcHVzaGluZyB0aGUgZHVtbXkgZXZlbnQgaW50byB0aGUgbXVsdGlxdWV1ZSwKCSAgZHJvcCB0aGUgc3BsaXRtdXggbG9jayBvciBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAxNi0wNi0zMCAwMTo1Njo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEludGVyc2VjdCB3aXRoIGZpbHRlciBjYXBzIGluIGdldGNhcHMgZnVuY3Rpb24uCgkgIEFsd2F5cyBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGNhcHMgaW4gdGhlIGdldGNhcHMgZnVuY3Rpb24KCSAgdG8gbWFrZSBzdXJlIHdlIHJldHVybiBhIHN1YnNldCBvZiB3aGF0IHdhcyByZXF1ZXN0ZWQuCgkgIE90aGVyIHBheWxvYWRlcnMgYWxzbyBoYXZlIHRoaXMgcHJvYmxlbSBhbmQgbmVlZCBmaXhpbmcKCSAgaW4gZnV0dXJlIGNvbW1pdHMuCgoyMDE2LTA3LTEyIDE3OjMwOjU2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0ZGVtdXguYzoKCSAgdGVzdHM6IHF0ZGVtdXg6IGZpeCBlbGVtZW50IGFuZCBwYWQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzM5CgoyMDE2LTA3LTEyIDE2OjQ1OjM2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvYm94LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIHRlc3RzOiBmaXggYnVzIGxlYWtzCgkgIGdzdF9idXNfYWRkX3NpZ25hbF93YXRjaCgpIHRha2VzIGEgcmVmIG9uIHRoZSBidXMgd2hpY2ggc2hvdWxkIGJlCgkgIHJlbGVhc2VkIHVzaW5nIGdzdF9idXNfcmVtb3ZlX3NpZ25hbF93YXRjaCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzM5CgoyMDE2LTA3LTE0IDAzOjA3OjExICswODAwICBUaW5nLVdlaSBMYW4gPGxhbnR3QHNyYy5nbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCBBR19HU1RfUEtHX0NPTkZJR19QQVRIIHRvIHNldCBHU1RfUEtHX0NPTkZJR19QQVRICgkgIEdTVF9QS0dfQ09ORklHX1BBVEggaXMgdXNlZCBpbiBkb2NzL3BsdWdpbnMgZGlyZWN0b3J5LCBzbwoJICBBR19HU1RfUEtHX0NPTkZJR19QQVRIIG11c3QgYmUgY2FsbGVkIHRvIHNldCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODc4NwoKMjAxNi0wNy0xMiAwNzozOTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBkcm9wIGZpbmFsIGJ5dGVzIG9mIGEgcmFuZ2UgcmVxdWVzdAoJICBBdCB0aGUgZW5kIG9mIGEgcmFuZ2UgcmVxdWVzdCwgd2UgZG9uJ3Qgd2FudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TIG90aGVyd2lzZQoJICB0aGUgbGFzdCBieXRlcyB3ZSBqdXN0IHJlYWQgd2lsbCBiZSBkcm9wcGVkIGJ5IGJhc2VzcmMuCgkgIEluc3RlYWQganVzdCByZXR1cm4gR1NUX0ZMT1dfT0sgKHdoaWNoIHdhcyBzZXQganVzdCBiZWZvcmUpIGFuZCBsZXQgYmFzZXNyYwoJICBoYW5kbGUgdGhlIGZhY3Qgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQuCgoyMDE2LTA3LTExIDE4OjMwOjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMnByb3ZpZGVyOiBGaXggZGV2aWNlIHR5cGUgZGV0ZWN0aW9uCgkgIFRoZSB0eXBlIGRldGVjdGlvbiB3b3VsZCBsZWFkIHRvIGFzc2VydGlvbiBhcyBpdCB3b3VsZCB0cnkKCSAgdG8gY3JlYXRlIGEgZGV2aWNlIHdpdGhvdXQgaGF2aW5nIGZvdW5kIGFueSB0eXBlIGZvciBpdC4gSXQKCSAgYWxzbyBkaWRuJ3QgZGV0ZWN0IE1QTEFORSBkZXZpY2VzIHByb3Blcmx5LgoKMjAxNi0wNy0xMSAxODoyOTowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBhc3NlcnQgd2hlbiB1c2VkIGJ5IHRoZSBtb25pdG9yCgkgIFRoZSBtb25pdG9yIHNldHMgdGhlIG9iamVjdC0+ZWxlbWVudCBvYmplY3QgYXMgYSBHc3RPYmplY3QuIFRoaXMKCSAgd29ya3MgZm9yIGRlYnVnIHRyYWNlcywgYnV0IHdpbGwgYXNzZXJ0IGZvciBFTEVNRU5UX0VSUk9SLiBUaGlzCgkgIHdhcyB0aGUgb25seSBjYXNlIHdoZXJlIHRoYXQgY291bGQgaGFwcGVuLiBBZGQgYSBjaGVjayBmb3IgdGhhdC4KCjIwMTYtMDctMTEgMTc6Mzg6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogSW5kZW50IHZlcnkgbG9uZyBsaW5lCgoyMDE2LTA3LTEyIDAwOjQyOjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEF0IHRoZSBlbmQgb2YgYSByYW5nZSByZXF1ZXN0LCByZWFkIGFub3RoZXIgdGltZSB0byBmaW5hbGl6ZSB0aGUgcmVxdWVzdAoJICBJZiB3ZSdyZSBhdCB0aGUgZW5kIG9mIGEgcmFuZ2UgcmVxdWVzdCwgcmVhZCBhZ2FpbiB0byBsZXQgbGlic291cAoJICBmaW5hbGl6ZSB0aGUgcmVxdWVzdC4gVGhpcyBhbGxvd3MgdG8gcmV1c2UgdGhlIGNvbm5lY3Rpb24gYWdhaW4gbGF0ZXIsCgkgIG90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRvIGNhbmNlbCB0aGUgbWVzc2FnZSBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24uCgoyMDE2LTA3LTExIDIxOjEzOjQ3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMzYzYjMyIHRvIGY0OWM1NWUKCjIwMTYtMDctMTEgMTk6NTc6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGtlZXAtYWxpdmUgaGFuZGxpbmcKCSAgV2UgaGF2ZSB0byBnZXQgcmlkIG9mIHRoZSBtZXNzYWdlIG9uIEVPUyB3aGVuIHRoZSBjb21wbGV0ZSBzdHJlYW0gaXMgcmVhZCB0bwoJICByZW1lbWJlciB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCBoYW5kbGluZyB0aGlzIHNwZWNpZmljIG1lc3NhZ2UuCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNhbmNlbCBpdCBsYXRlciBhbmQgY2xvc2UgdGhlIGNvbm5lY3Rpb24gaW5zdGVhZCBvZiByZXVzaW5nCgkgIGl0IGF0IGEgbGF0ZXIgdGltZS4KCSAgSXQgbWlnaHQgYWxzbyBtYWtlIHNlbnNlIHRvIHJldXNlIGNvbm5lY3Rpb25zIGlmIGEgbm9uLTIwMCByZXNwb25zZSBpcwoJICByZWNlaXZlZC4gQXMgbG9uZyBhcyB0aGVyZSB3YXMgbm8gY29ubmVjdGlvbiBlcnJvciwgdGhlIEhUVFAgY29ubmVjdGlvbiBzaG91bGQKCSAgYmUgcmUtdXNhYmxlLgoKMjAxNi0wNy0xMSAxMjowNTowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBbHNvIGVuYWJsZSBWNEwyIHByb2JlIG9uIGFhcmNoNjQgKGFrYSBBUk0gNjRiaXQpCgoyMDE2LTA3LTExIDExOjU5OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkgIHJ0cCBleGFtcGxlOiBGaXggbGVhawoJICBBbHNvIHN0b3AgZmV0Y2hpbmcgdGhlIGludGVybmFsIHNvdXJjZSBhcyB0aGlzCgkgIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gYnJva2VuLgoKMjAxNi0wNy0wOCAxNDo1ODozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBFbmFibGUgdjRsMiBwcm9iZSBvbiBMaW51eC9BUk0KCSAgTW9zdCBvZiB0aG9zZSBoYXZlIFY0TDIgZHJpdmVycyB0aGVzZSBkYXlzIGVuYWJsaW5nIGl0IG1ha2Ugc3VyZSB0aGF0IGl0CgkgIHRoaXMgY29kZSBpcyBlbmFibGVkIGluIG1ham9yIGRpc3RyaWJ1dGlvbiwgaGVuY2UgdGhhdCBIVyBhY2NlbGVyYXRlZAoJICBkZWNvZGVyL2VuY29kZXIgY2FuIGJlIHVzZWQgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCBpdC4gVGhlIHByb2JlcyBhcmUKCSAgc2xpZ2h0bHkgaW5jcmVhc2luZyB0aGUgZmlyc3QgaW5pdCBvZiBnc3RyZWFtZXIgbGlicmFyeSwgdGhvdWdoIHRoZQoJICByZXN1bHQgaXMgY2FjaGVkIGluIHRoZSByZWdpc3RyeSBmb3IgbGF0ZXIgdXNlLgoKMjAxNi0wNy0xMSAwOTo0Njo0OSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NXBheTogQWNjZXB0IGFycmF5X2NvbXBsZXRlbmVzcz0xCgkgIFdoZW4gcGFyc2luZyBOQUwgdW5pdCB0eXBlIGluIGNvZGVjX2RhdGEsIGNoZWNrIHRoZSA2Yml0cyBvZgoJICBOQUxfdW5pdF90eXBlIG9ubHkgYW5kIGRvIG5vdCByZXF1aXJlIHRoZSBhcnJheV9jb21wbGV0ZW5lc3MgYml0IHRvIGJlCgkgIDAsIHNpbmNlIHRoZSBkZWZhdWx0IGFuZCBtYW5kYXRvcnkgdmFsdWUgb2YgYXJyYXlfY29tcGxldGVuZXNzIGlzIDEgZm9yCgkgIGh2YzEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2NTMKCjIwMTYtMDctMTAgMjE6MzU6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQWxzbyBjb3B5IGRldmljZV9jYXBzIGluIGdzdF92NGwyX2R1cAoJICBUaGlzIGZpeGVzIHJlZ3Jlc3Npb24gd2hlcmUgTTJNIGVycm9yIG91dCBzYXlpbmcgdGhleSBoYXZlIG5vIG91dHB1dAoJICBmb3JtYXQgKHRoZSBWNEwyIENBUFRVUkUgc2lkZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMTAgMjE6MzA6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFVzZSBjb3JyZWN0IGluNl9wa3RpbmZvIHN0cnVjdCBpbnN0ZWFkIG9mIGluX3BrdGluZm8KCSAgRml4ZXMgdGhlIGJ1aWxkIG9uIEZyZWVCU0QsIHdoaWNoIGRvZXMgbm90IGhhdmUgdGhlIGxhdHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODYyMwoKMjAxNi0wNy0wOCAxNzoyODoxOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IG11bHRpcGxhbmFyIGNhcHR1cmUKCSAgQWZ0ZXIgc3dpdGNoaW5nIHRvIHVzaW5nIFY0TDJfQ0FQX0RFVklDRV9DQVBTIHdlIGxvc3Qgc3VwcG9ydCBmb3IKCSAgbXVsdGlwbGFuYXIgZGV2aWNlIHR5cGVzLiBBZnRlciBzb21lIHJlc2VhcmNoLCBpdCBsb29rcyBsaWtlCgkgIHZjYXAuY2FwYWJpbGl0aWVzIHRyZWF0ZWQgdGhlIG11bHRpcGxhbmFyIGZsYWcgb2Ygb3V0cHV0IGFuZCBjYXB0dXJlCgkgIGRldmljZXMgZXF1YWxseSwgYnV0IG5vdCB0aGUgbmV3IGRldmljZV9jYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTk1CgoyMDE2LTA3LTA4IDE0OjU2OjMwICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSAgbXVsdGlwYXJ0bXV4OiBVc2UgUFRTIGFuZCBEVFMgaW5zdGVhZCBvZiB0aW1lc3RhbXAKCSAgQW5kIHBhc3MtdGhyb3VnaCBib3RoIG9mIHRoZW0uCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3OTAwCgoyMDE2LTA2LTMwIDE0OjQwOjQwICswMjAwICBUaG9tYXMgU2NoZXVlcm1hbm4gPFRob21hcy5TY2hldWVybWFubkBiYXJjby5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgamFjazogZG9uJ3Qgd2FpdCBmb3IgY2FsbGJhY2tzIGlmIHRoZSBqYWNrIHNlcnZlciBzaHV0IGRvd24KCSAgT3RoZXJ3aXNlIHdlJ2xsIHdhaXQgZm9yZXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzI3NQoKMjAxNi0wNi0yMyAxNTozMDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBMZXQgdXBzdHJlYW0gZXZlbnRzIGdvIHRocm91Z2ggdXBzdHJlYW0KCSAgVGhlcmUncyBubyByZWFsIHJlYXNvbiB0byBhdm9pZCBzZW5kaW5nIFFPUy9OQVZJR0FUSU9OIGV2ZW50cyB1cHN0cmVhLgoJICBTb21lIGVsZW1lbnRzIG1pZ2h0IHdhbnQgdG8gaGF2ZSB0aGF0IGluZm9ybWF0aW9uLgoKMjAxNi0wNi0yMyAxNToyMjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IExldCB1cHN0cmVhbSBldmVudHMgZ28gdGhyb3VnaCB1cHN0cmVhbQoJICBUaGVyZSdzIG5vIHJlYWwgcmVhc29uIHRvIGF2b2lkIHNlbmRpbmcgUU9TL05BVklHQVRJT04gZXZlbnRzIHVwc3RyZWEuCgkgIFNvbWUgZWxlbWVudHMgbWlnaHQgd2FudCB0byBoYXZlIHRoYXQgaW5mb3JtYXRpb24uCgoyMDE2LTA2LTIzIDE1OjE3OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogTGV0IHVwc3RyZWFtIGV2ZW50cyBnbyB0aHJvdWdoIHVwc3RyZWFtCgkgIFRoZXJlJ3Mgbm8gcmVhbCByZWFzb24gdG8gYXZvaWQgc2VuZGluZyBRT1MvTkFWSUdBVElPTiBldmVudHMgdXBzdHJlYS4KCSAgU29tZSBlbGVtZW50cyBtaWdodCB3YW50IHRvIGhhdmUgdGhhdCBpbmZvcm1hdGlvbi4KCSAgQWxzbyByZW1vdmUgZG93bnN0cmVhbS1vbmx5IENBUFMgZXZlbnQgaGFuZGxpbmcgYW5kIG1pbmltaXplIGNvZGUKCjIwMTYtMDctMDcgMjM6NTM6NTQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IGZpeCB2NGwyIHByb2JlIGJ1aWxkIGVycm9yCgkgIEEgdHlwbyBpbiBnc3RfdjRsMl9wcm9iZV9hbmRfcmVnaXN0ZXIoKSBjYXVzZWQgYSBidWlsZCBlcnJvciB3aGVuIGJ1aWxkaW5nCgkgIHdpdGggLS1lbmFibGUtdjRsMi1wcm9iZS4gRml4aW5nIGl0LgoJICBnc3R2NGwyLmM6IEluIGZ1bmN0aW9uICdnc3RfdjRsMl9wcm9iZV9hbmRfcmVnaXN0ZXInOgoJICBnc3R2NGwyLmM6MTUwOjI1OiBlcnJvcjogJ3N0cnVjdCB2NGwyX2NhcGFiaWxpdHknIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2NhcGFiaWxpdGl0ZXMnCgkgIGRldmljZV9jYXBzID0gdmNhcC5jYXBhYmlsaXRpdGVzOwoKMjAxNi0wNy0wMSAyMjo1MzozMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiB1c2UgZ3N0X2NhcHNfaW50ZXJzZWN0X2Z1bGwgaW4gbmVnb3RpYXRlKCkKCSAgSW5zdGVhZCBvZiByZWltcGxlbWVudGluZyB0aGUgR1NUX0NBUFNfSU5URVJTRUNUX0ZJUlNUCgkgIGludGVyZWN0aW9uIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxOTUKCjIwMTYtMDctMDIgMDE6NTY6MDcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiB1c2Ugb3BlbmVkIGRldmljZSBjYXBzIGluc3RlYWQgb2YgcGh5c2ljYWwgZGV2aWNlIG9uZXMKCSAgVGhlIHNhbWUgcGh5c2ljYWwgZGV2aWNlIGNhbiBleHBvcnQgbXVsdGlwbGUgZGV2aWNlcy4gSW4KCSAgdGhpcyBjYXNlLCB0aGUgY2FwYWJpbGl0aWVzIGZpZWxkIG5vdyBjb250YWlucyBhIHVuaW9uIG9mCgkgIGFsbCBjYXBzIGF2YWlsYWJsZSBmcm9tIGFsbCBleHBvcnRlZCBWNEwyIGRldmljZXMgYWxvbmdzaWRlCgkgIGEgVjRMMl9DQVBfREVWSUNFX0NBUFMgZmxhZyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRlY2lkZQoJICB3aGF0IGNhcGFiaWxpdGllcyB0byBjb25zaWRlci4gSW4gb3VyIGNhc2UsIHdlIG5lZWQgdGhlCgkgIG9uZXMgZnJvbSB0aGUgZXhwb3J0ZWQgZGV2aWNlIHdlIGFyZSB1c2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE5NQoKMjAxNi0wNy0wNyAxODoyNDo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFJlbW92ZSBzdXNwaWNpb3VzIGNoZWNrcyBmb3IgcGFkcyBiZWluZyBhY3RpdmUgYW5kIGxpbmtlZAoJICBXZSBzaG91bGQgYWRkIGFsbCBwYWRzLCBubyBtYXR0ZXIgaWYgdGhleSBhcmUgbGlua2VkIG9yIGFjdGl2ZSBvciBub3QgYXQgdGhpcwoJICBwb2ludC4gU2tpcHBpbmcgc29tZSB0aGF0IGFyZSBub3Qgd2lsbCBjYXVzZSBkaWZmZXJlbnQgYmVoYXZpb3VyIHRoYW4gd2l0aAoJICBvdGhlciBtdXhlcnMuCgoyMDE2LTA3LTA3IDE4OjIzOjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRXJyb3Igb3V0IGlmIHdlIHN0YXJ0IHdyaXRpbmcgZGF0YSB3aXRoIHNvbWUgcGFkcyBub3QgaGF2aW5nIGEgY29kZWMgaWQgeWV0CgkgIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGlmIGEpIHVwc3RyZWFtIHNvbWVob3cgZ2V0cyBhcm91bmQgdGhlIENBUFMgZXZlbnQgZmFpbGluZwoJICBvciBiKSB0aGVyZSBuZXZlciBiZWluZyBhbnkgQ0FQUyBldmVudC4KCSAgVGhlIGZvbGxvd2luZyBjb2RlIGFzc3VtZXMgdGhhdCBhbGwgcGFkcyBoYXZlIGEgY29kZWMtaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg1MDkKCjIwMTYtMDctMDcgMTg6MTQ6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBDb25zaXN0ZW50bHkgdXNlIGdzdF9tYXRyb3NrYV9tdXhfc2V0X2NvZGVjX2lkKCkgZm9yIHNldHRpbmcgdGhlIGNvZGVjIGlkCgoyMDE2LTA3LTA0IDA5OjUwOjExICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NXBheS9kZXBheTogU3luYyBhZ2FpbnN0IFJGQyA3Nzk4CgkgIEhhbmRsZSBzcHJvcC12cHMsIHNwcm9wLXNwcyBhbmQgc3Byb3AtcHBzIGluIGNhcHMgaW5zdGVhZCBvZgoJICBzcHJvcC1wYXJhbWV0ZXItc2V0cy4KCSAgcnRwaDI2NXBheSB3b3JrcyB3aXRoIGJ5dGUtc3RyZWFtIGFuZCBodmMxIGZvcm1hdHMgYnV0IG5vdCBoZXYxIHlldC4gSXQKCSAgaGFuZGxlcyBwcm9maWxlLWlkLCB0aWVyLWZsYWcgYW5kIGxldmVsLWlkIGluIGNhcHMgcXVlcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NjAKCjIwMTYtMDctMDYgMDk6MjU6MDAgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IFB1c2ggbm9taW5hbCBiaXRyYXRlIHRhZ3MKCSAgQWRkIHBlci1zdHJlYW0gdGFnIGxpc3RzLCB3aGljaCBhcmUgdXNlZCB0byBzZW5kIG5vbWluYWwKCSAgYml0cmF0ZSB0YWdzLiBXaGVuIHJlbXV4aW5nIEZMViA9PiBGTFYsIHRoaXMgbm93IHBhc3NlcwoJICB0aHJvdWdoIHRoZSB1cHN0cmVhbSBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDQwCgoyMDE2LTA3LTA2IDA5OjI0OjQ5ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBSZWZhY3RvciBtZXRhZGF0YSB0YWcgaGFuZGxpbmcKCSAgVGhlIEZMViBoZWFkZXIgY2Fubm90IGJlIHRydXN0ZWQgdG8gaW5kaWNhdGUgdmlkZW8gb3IKCSAgYXVkaW8gcHJlc2VuY2UsIGFzIHRoZSBjb21tZW50cyBhbHJlYWR5IG1lbnRpb24uIERvbid0CgkgIGRlbGF5IHB1c2hpbmcgdGFncyB3YWl0aW5nIGZvciBzdHJlYW1zIHRoYXQgbWlnaHQgbmV2ZXIKCSAgYXBwZWFyLgoJICBUYWdzIGFyZSBub3cgcHVzaGVkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZXkgY2hhbmdlOgoJICAtIEFmdGVyIHBhcnNpbmcgYW4gb25NZXRhRGF0YSBzY3JpcHQgb2JqZWN0CgkgIC0gQWZ0ZXIgbmVnb3RpYXRpbmcgY2FwcyBvbiBhIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDQwCgoyMDE2LTA3LTA2IDEyOjQ0OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBBQUMgY29kZWNfZGF0YSB2YWx1ZXMKCSAgQXMgc2VlbiBpbiB0aGUgcGFyZW50IHN3aXRjaCBmb3Igb2JqZWN0X3R5cGVfaWQsIHRoZSA0IHBvc3NpYmxlIHZhbHVlcyBhcmUKCSAgMHg0MCwgMHg2NiwgMHg2NyBhbmQgMHg2OC4gRml4aW5nIHRoZSBuZXN0ZWQgc3dpdGNoIHRvIG1hdGNoIHRoZXNlIHZhbHVlcy4KCSAgTG9va3MgbGlrZSBpdCB3YXMgYSB0eXBvIG1ha2luZyB0aGVtIGRlY2ltYWwgaW5zdGVhZCBvZiBoZXhhZGVjaW1hbC4KCSAgQ0lEIDEzNjMzMjgKCjIwMTYtMDctMDYgMTM6NTE6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOS4xID09PQoKMjAxNi0wNy0wNiAxMzowNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuMQoKMjAxNi0wNy0wNiAxMTo0NjoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wNy0wNiAxMToyMjo1MyArMDMwMCAgU3RldmVuIEhvdmluZyA8c2hAYmlnYnJvdGhlci5ubD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGVycm9yIG1lc3NhZ2VzIHRvIGZpcnN0IGNvbnZlcnQgdG8gZG91YmxlcyBiZWZvcmUgZGl2aXNpb24KCjIwMTYtMDctMDYgMTA6MTg6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vaHIucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zay5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDctMDUgMjE6MTE6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFNldCB0byBQTEFZSU5HIGFmdGVyIGEgc2VlayBhZ2FpbiBhZnRlciBzZXR0aW5nIHVwIHRoZSBzZWdtZW50IGFuZCBldmVyeXRoaW5nIGVsc2UKCSAgVGhlcmUncyBhIHNtYWxsIHdpbmRvdyBmb3IgYSByYWNlIGNvbmRpdGlvbiBvdGhlcndpc2UuCgoyMDE2LTA3LTA0IDE3OjQ1OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFVzZSBjb21wbGV0ZSBBQUMgY2FwcyB3aXRoIGNvZGVjX2RhdGEgaW4gdGhlIHRlc3RzCgoyMDE2LTA3LTA0IDE2OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVqZWN0IHJhdyBBQUMgaWYgbm8gY29kZWNfZGF0YSBpcyBmb3VuZCBpbiB0aGUgY2FwcwoJICBJZiBuZWNlc3NhcnksIGEgZGVtdXhlciB3aWxsIGhhdmUgdG8gaW52ZW50IHNvbWV0aGluZyBoZXJlIGJ1dCB0aGlzIGlzIG9ubHkgYQoJICBwcm9ibGVtIHdpdGggbm9uLWNvbmZvcm1hbnQgZmlsZXMgYW55d2F5LgoKMjAxNi0wNy0wNCAxNjo1NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbnZlbnQgQUFDIGNvZGVjX2RhdGEgaWYgbm9uZSBpcyBwcmVzZW50CgkgIFdpdGhvdXQsIHJhdyBBQUMgY2FuJ3QgYmUgaGFuZGxlZCBhbmQgd2UgaGF2ZSBzb21lIGluZm9ybWF0aW9uIGF2YWlsYWJsZSBpbgoJICB0aGUgZGVjb2RlciB0aGF0IG1vc3QgbGlrZWx5IGFsbG93cyB1cyB0byBkZWNvZGUgdGhlIHN0cmVhbSBpbiBvbmUgd2F5IG9yCgkgIGFub3RoZXIuIFRoaXMgaXMgdGhlIHNhbWUgY29kZSBhbHJlYWR5IHVzZWQgYnkgbWF0cm9za2FkZW11eCBmb3IgdGhlIHNhbWUKCSAgcmVhc29ucywgYW5kIGZmbXBlZy92bGMgcGxheSBzdWNoIGZpbGVzIGp1c3QgZmluZSB0b28gYnkgZ3Vlc3N3b3JrLgoKMjAxNi0wNy0wNCAxNDo1NDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlamVjdCByYXcgQUFDIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhCgkgIFRoZSByZXN1bHRpbmcgZmlsZSBpcyBub3QgZ29pbmcgdG8gYmUgcGxheWFibGUgd2l0aG91dCBndWVzc3dvcmsgYW5kIHJhdyBjYXBzCgkgIHNob3VsZCBhbHdheXMgaGF2ZSBjb2RlY19kYXRhLgoKMjAxNi0wNy0wMSAxOToyMjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IGZpeCBidWlsZCBzb21lIG1vcmUgd2hlbiBRUEEgaXMgbm90IGF2YWlsYWJsZQoJICBDb21waWxlciB3b3VsZCBjb21wbGFpbiBhYm91dCBpbmNsdWRlIGRpcmVjdG9yeSB0aGF0IGRpZG4ndAoJICBleGlzdCBiZWNhdXNlIFFQQV9JTkNMVURFX1BBVEggZ2V0cyBzdWJzdC1lZCByZWdhcmRsZXNzCgkgIChhbmQgaWYgaXQgZGlkbid0IHdlJ2QgaGF2ZSBqdXN0IGFuIGVtcHR5IC1JIGFyZ3VtZW50KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzU1MwoKMjAxNi0wNS0xMCAxNTo0ODo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkgIHF0ZGVtdXg6IEhhbmRsZSB1cHN0cmVhbSBHQVAgaW4gcHVzaC1tb2RlL3RpbWUgc2VnbWVudAoJICBUaGlzIGlzIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB1cHN0cmVhbSBoYW5kbGVzIHRoZSBmcmFnbWVudGVkIHN0cmVhbWluZyBpbiBUSU1FCgkgIHNlZ21lbnRzIGFuZCBzZW5kcyB1cyBkYXRhIHdpdGggZ2FwcyB3aXRoaW4gZnJhZ21lbnRzLiBUaGlzIHdvdWxkIGhhcHBlbiB3aGVuIGRlYWxpbmcKCSAgd2l0aCB0cmljay1tb2Rlcy4KCSAgV2hlbiB1cHN0cmVhbSAocHVzaC1iYXNlZCwgVElNRSBTRUdNRU5UKSB3aXNoZXMgdG8gc2VuZCBkaXNjb250aW51b3VzIHNhbXBsZXMsCgkgIGl0IG11c3Qgb2JleSB0aGUgZm9sbG93aW5nIHJ1bGVzOgoJICAqIFRoZSBidWZmZXIgY29udGFpbmluZyB0aGUgW21vb2ZdIG11c3QgaGF2ZSBhIHZhbGlkIEdTVF9CVUZGRVJfT0ZGU0VUCgkgICogVGhlIGJ1ZmZlcnMgY29udGFpbmluZyB0aGUgZmlyc3Qgc2FtcGxlIGFmdGVyIGEgZ2FwOgoJICAqIE1VU1Qgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNhbXBsZSwKCSAgKiBNVVNUIGhhdmUgdGhlIERJU0NPTlQgZmxhZyBzZXQsCgkgICogTVVTVCBoYXZlIGEgdmFsaWQgR1NUX0JVRkZFUl9PRkZTRVQgcmVsYXRpdmUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjczNTQKCjIwMTYtMDctMDEgMTE6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmM6CgkgIHY0bDI6IGZpeCBwb3RlbnRpYWwgZG91YmxlLWZyZWUgb2YgZXJyb3IgZGVidWcgc3RyaW5nCgkgIGdzdF92NGwyX2NsZWFyX2Vycm9yKCkgZG9lc24ndCB3b3JrIGxpa2UgZ19jbGVhcl9lcnJvcigpLCBpdAoJICBkb2Vzbid0IE5VTExpZnkgdGhlIHBvaW50ZXIsIHNvIHNldCBmcmVlZCBkZWJ1ZyBzdHJpbmcgdG8gTlVMTAoJICBzbyBpdCBkb2Vzbid0IGdldCBmcmVlZCBhZ2FpbiBpZiBnc3RfdjRsMl9jbGVhcl9lcnJvcigpIGlzCgkgIGNhbGxlZCB0d2ljZSBvbiB0aGUgZXJyb3IuCgkgIENJRCAxMzYyOTAxCgoyMDE2LTA3LTAxIDEwOjA1OjAwICswMDAwICBCcmFkIExhY2tleSA8YmxhY2tleUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IGRpc2FibGUgVURQIHByb3RvY29scyBvbiByZWRpcmVjdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MjMyCgoyMDE2LTA3LTAxIDE3OjI4OjE3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQdXNoIGNhcHMgb25seSB3aGVuIGl0IHdhcyB1cGRhdGVkCgkgIENvbW1pdCA3ODczYmVkZTMxMzRiMTVlNTA2NmU4ZDE0ZTU0ZDFmNTA1NGQyMDYzIGNhdXNlZCBuZXcgY2FwcwoJICBldmVudCBwZXIgbW9vZiB3aXRob3V0IGNvbnNpZGVyYXRpb24gb2YgZHVwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgyNjgKCjIwMTYtMDYtMzAgMTU6MDE6NDYgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzCgkgIDEwIGJ5dGVzIHdhcyBhbGxvY2F0ZWQgZm9yIHN0cmVhbV9mb3JtYXQgYnV0IHNpemUgb2YgImJ5dGUtc3RyZWFtIiBpcwoJICBtb3JlLiBVc2UgZ19zdHJkdXAoKSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA2LTI5IDIzOjMxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBVc2UgYSBub24tdGltZXIgR3N0UG9sbAoJICBPdGhlcndpc2Ugc2V0X2ZsdXNoaW5nKCkgd2lsbCBoYXZlIHVuZGVmaW5lZCBzZW1hbnRpY3MgYW5kIG5vd2FkYXlzIGNhdXNlcyBhCgkgIGdfY3JpdGljYWwoKSB0byB3YXJuIGFib3V0IHRoYXQuCgoyMDE2LTA2LTE5IDAyOjA4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBkeW5hbWljYWxseSBhZGp1c3QgYmxvY2tzaXplCgkgIFVwZGF0ZSB0aGUgYmxvY2tzaXplIGRlcGVuZGluZyBvbiBob3cgbXVjaCBpcyBvYnRhaW5lZCBmcm9tIGEgcmVhZAoJICBvZiB0aGUgaW5wdXQgc3RyZWFtLiBUaGlzIGF2b2lkcyBkb2luZyB0b28gbWFueSByZWFkcyBpbiBzbWFsbCBjaHVua3MKCSAgd2hlbiBsYXJnZXIgYW1vdW50cyBvZiBkYXRhIGFyZSBhdmFpbGFibGUgYW5kIGFsc28gcHJldmVudHMgdXNpbmcKCSAgYSB2ZXJ5IGxhcmdlIG1lbW9yeSBhcmVhIHRvIHJlYWQgYSBzbWFsbCBjaHVuayBvZiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODMzCgoyMDE2LTA2LTI4IDE2OjQ0OjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBXaW5kb3dzIGhhcyBubyBpcGlfc3BlY19kc3QgaW4gc3RydWN0IGluX3BrdGluZm8KCjIwMTYtMDYtMjggMTU6MTU6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6ICNkZWZpbmUgX19BUFBMRV9VU0VfUkZDXzM1NDIgdG8gYmUgYWJsZSB0byB1c2UgSVBWNl9QS1RJTkZPIG9uIE9TWC9pT1MKCjIwMTYtMDYtMjggMTU6MDg6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IE1vdmUgI2luY2x1ZGVzIGFyb3VuZCB0byBhKSB3b3JrIGFyb3VuZCBicm9rZW4gZ2xpYmMgaGVhZGVyIGFuZCBiKSBXaW5kb3dzCgoyMDE2LTA2LTI4IDE0OjI1OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggY29tcGlsYXRpb24gb24gV2luZG93cyBhbmQgKkJTRC9PU1gKCjIwMTYtMDYtMjMgMjA6MjE6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpbHRlciBvdXQgbXVsdGljYXN0IHBhY2tldHMgdGhhdCBhcmUgbm90IGZvciBvdXIgbXVsdGljYXN0IGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzk4MAoKMjAxNi0wNi0yOCAxMDo1NzoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogV2hlbiBzZWVraW5nLCBjb25zaWRlciB0aGUgY3VycmVudCBlbGVtZW50IHN0YXRlIG9yIHBlbmRpbmcgc3RhdGUgaW5zdGVhZCBvZiB0aGUgUlRTUCBzdGF0ZQoJICBJZiB3ZSBjb25zaWRlciB0aGUgUlRTUCBzdGF0ZSwgd2hhdCBjYW4gaGFwcGVuIGlzIHRoYXQgaXQgaXMgUExBWUlORyBidXQgdGhlCgkgIGVsZW1lbnQgYWxyZWFkeSBhc3luY2hyb25vdXNseSB0cmllZCB0byBQQVVTRSBhbmQgaXQganVzdCBkaWQgbm90IGhhcHBlbiB5ZXQuCgkgIFdlIHdvdWxkIHRoZW4gb3ZlcnJpZGUgdGhpcyBzZXR0aW5nIHRvIFBBVVNFRCAod2hpbGUgdGhlIGVsZW1lbnQgYWN0dWFsbHkgaXMKCSAgaW4gUEFVU0VEKSBhbmQgc2V0IHRoZSBSVFNQIHN0YXRlIHRvIFBMQVlJTkcgYWdhaW4uIFRoaXMgd291bGQgdGhlbiBjYXVzZSB1cwoJICB0byBwcm9kdWNlIHBhY2tldHMgd2hpbGUgdGhlIHNpbmtzIGFyZSBhbGwgUEFVU0VELCBwaWxpbmcgdXAgdGhvdXNhbmRzIG9mCgkgIHBhY2tldHMgaW4gdGhlIHJ0cGppdHRlcmJ1ZmZlciBhbmQgb3RoZXIgZWxlbWVudHMgYW5kIGZpbmFsbHkgZmFpbGluZy4KCjIwMTYtMDYtMjcgMTg6MTU6MDggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogRml4IGJ1aWxkIGVycm9yIHdoZW4gZG9uJ3QgaGF2ZSBRUEEgaW5zdGFsbGVkLgoJICBDaGVjayBoZWFkZXIgZmlsZSBleGlzdGFuY2UgYW5kIHdyYXAgdGhlIGhlYWRlciBmaWxlIGluY2x1ZGUKCSAgaW4gdGhlIG5lY2Vzc2FyeSAjaWZkZWYgdG8gYXZvaWQgYnVpbGQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1NTMKCjIwMTYtMDYtMjcgMDk6MjA6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBBZGQgY29tbWVudCBhYm91dCBIMjYzL01QRUc0UDIgYmVpbmcgbm9uLXN0YW5kYXJkIGZvciBGTFYKCSAgVGhleSBhcmUgaG93ZXZlciBzdXBwb3J0ZWQgYnkgZmZtcGVnIGFuZCBhcHBhcmVudGx5IHVzZWQgb3V0IHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MDA2CgoyMDE2LTA2LTI0IDE0OjQ4OjUzICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBIMjYzIGFuZCBNUEVHNCBwYXJ0MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MDA2CgoyMDE2LTA2LTE2IDE1OjEzOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRwbHVnaW4ucHJvOgoJICBxbWxnbHNpbms6IGFkZCB3aW4zMiBzdXBwb3J0CgkgIFRoZSBjdXJyZW50IHN0YXRlIG9mIGMrKyBBQkkncyBvbiBXaW5kb3cncyBhbmQgR3N0J3MvUXQncyBjb25mbGljdGluZwoJICBtaW5ndyBidWlsZHMgbWVhbnMgdGhhdCB3ZSBjYW5ub3QgdXNlIG1pbmd3IGZvciBidWlsZGluZyB0aGUgcXQgcGx1Z2luLgoJICBJbnN0ZWFkLCBhIHFtYWtlIC5wcm8gZmlsZSBpcyBwcm92aWRlZCB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIHVzZWQgd2l0aCB0aGUKCSAgbXN2YyBiaW5hcmllcyBwcm92aWRlZCBieSBRdCBsaWtlIHNvOgoJICAod2l0aCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBwYXRoIHRvIHRoZSBxdCBiaW5pYXJpZXMKCSAgYW5kIFBLR19DT05GSUdfUEFUSCBjb250YWluaW5nIHRoZSBwYXRoIHRvIEdTdHJlYW1lciBtb2R1bGVzKQoJICBjZCAvcGF0aC90by9zb3VyY2VzL2dzdC1wbHVnaW5zLWJhZC9leHQvcXQKCSAgcW1ha2UgLXRwIHZjCgkgIFRoZW4gb3BlbiB0aGUgcmVzdWx0aW5nIFZTIHByb2plY3QgYW5kIGJ1aWxkIHRoZSBsaWJyYXJ5LiAgVGhlbgoJICBjcCBkZWJ1Zy9saWJnc3RxdHNpbmsuZGxsIC9wYXRoL3RvL3ByZWZpeC9saWIvZ3N0cmVhbWVyLTEuMC9saWJnc3RxdHNpbmsuY2xsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyNjAKCjIwMTYtMDYtMjEgMTc6MTA6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBVcGRhdGUgcGx1Z2lucyBkb2MKCSAgVGhpcyBpcyBwYXJ0bHkgYXV0b21hdGVkIHVzaW5nICJtYWtlIHVwZGF0ZSIgaW4gZG9jcy9wbHVnaW5zLCBidXQgYWxzbwoJICByZXF1aXJlZCBtYW51YWwgbWVyZ2UuIEFkZGl0aW9uYWxseSwgbWlzc2luZyBwbHVnaW5zIGFuZCBlbGVtZW50cyBoYXZlCgkgIGJlZW4gYWRkZWQuCgoyMDE2LTA2LTIxIDE3OjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IHNwbGl0bXV4OiBza2lwIHRlc3RzIGlmIHRoZW9yYSBvciBvZ2cgcGx1Z2lucyBhcmUgbm90IGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODYxCgoyMDE2LTA2LTIxIDExOjQ2OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFjMmY2NDcgdG8gZjM2M2IzMgoKMjAxNi0wNi0yMSAwNzo0MDo0MiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgZ3N0cnRwajJrcGF5OiB1c2UgdGlsZSBiaXQgYW5kIHRpbGUgbnVtYmVyIHRvIGRldGVybWluZSBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgdGlsZXMgaW4gcGFja2V0CgkgIE5vdyB3ZSBkb24ndCBoYXZlIHRvIHJlbHkgb24gYSBzcGVjaWFsIHZhbHVlIGZvciB0aGUgdGlsZSBudW1iZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc4MTcKCjIwMTYtMDYtMjEgMDk6MzQ6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IGZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1gKCSAgZ3N0cnRwajJrcGF5LmM6MzY0OjIxOiBlcnJvcjogaW1wbGljaXQgdHJ1bmNhdGlvbiBmcm9tICdpbnQnIHRvIGJpdGZpZWxkIGNoYW5nZXMgdmFsdWUgZnJvbSAtMSB0byA2NTUzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODE3CgoyMDE2LTA2LTIxIDA5OjM0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxNi0wNS0xNiAxNzozMTo1OCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgZml4IGJ1ZmZlciBsZWFrcyBpbiB0ZXN0cwoJICBOZWVkIHRvIGNhbGwgZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycygpIHRvIHJlbGVhc2UgdGhlIGJ1ZmZlcnMgZXhjaGFuZ2VkCgkgIGR1cmluZyB0aGUgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU2MQoKMjAxNi0wNS0xNyAxMjo1Mjo0MyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBtZXNzYWdlIGxlYWtzIGluIHRlc3QKCSAgRmx1c2ggdGhlIGJ1cyB3aGVuIGNsZWFuaW5nIHVwIHNvIHBlbmRpbmcgbWVzc2FnZXMgYXJlIGRlc3Ryb3llZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjU2MQoKMjAxNi0wNS0xNyAxMjo1ODowNiArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBldmVudCBsZWFrcyBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDUtMTMgMTU6MTI6MjIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogZml4IGxlYWtzCgkgIC0gRmx1c2ggdGhlIGJ1cyBzbyBtZXNzYWdlcyBhcmVuJ3QgbGVha2VkCgkgIC0gRml4IHBhZCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NjEKCjIwMTYtMDYtMTcgMTU6Mjk6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogRGVwcmVjYXRlZCBzcHJvcC1wYXJhbWV0ZXItc2V0IHByb3BlcnR5CgkgIFRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgZWl0aGVyIGluIHRoZSBjb2RlY19kYXRhIChhdmMgc3RyZWFtIGZvcm1hdCkgb3IgaW5zaWRlCgkgIHRoZSBzdHJlYW0sIGFuZCB3ZSBleHRyYWN0IGl0IGZyb20gdGhlcmUuIEl0IHNob3VsZCBub3QgYmUgc2V0IGZyb20gYQoJICBwcm9wZXJ0eSBhcyBpdCdzIHN0cmVhbSBzcGVjaWZpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzc4OQoKMjAxNi0wNi0xNyAxMjoxNjozMiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgYWxsIHNydHAgZW5jb2RlciBwcm9wZXJ0aWVzIGV4cGxpY2l0CgkgIFRoZSBTZXNzaW9uIERhdGEgUHJvdG9jb2wgZG9lc24ndCBhbGxvdyBzcGVjaWZ5aW5nIGEgY2lwaGVyIGZvciB0aGUKCSAgU1JUQ1AsIHNvIGl0IHdpbGwgdXNlIHRoZSBTUlRQIG9uZS4gSW4gdGhlICJzcnRwZW5jIiBlbGVtZW50IHRoZSBjaXBoZXIKCSAgImFlcy0xMjgtaWNtIiBpcyB0aGUgZGVmYXVsdCBmb3IgU1JUUCBhbmQgU1JUQ1AsIGJ1dCBpZiB3ZSB3YW50IHRvIGhhdmUKCSAgYW4gU1JUQ1Agd2l0aCB0aGUgImFlcy0yNTYtaWNtIiBjaXBoZXIgdGhlbiB3ZSBhbHNvIG5lZWQgdG8gc2V0IHRoZSBTUlRQCgkgIGNpcGhlciB0byAiYWVzLTI1Ni1pY20iLCBvdGhlcndpc2UgImFlcy0xMjgtaWNtIiB3aWxsIGJlIHVzZWQgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzc5OQoKMjAxNi0wNi0xNyAxOTo1OToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSAgc291cDogd29yayBhcm91bmQgZnJlcXVlbnQgZGVhZGxvY2tzIGluIEdMaWIgdHlwZSBpbml0aWFsaXNhdGlvbgoJICAuLiBieSByZWdpc3RlcmluZyB0aGUgdHlwZXMgZnJvbSB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24uIFRoaXMKCSAgc2VlbXMgdG8gaGVscCwgYnV0IHdlJ2xsIHNlZSBpZiBpdCdzIGVub3VnaCAobWlnaHQgbmVlZCBzaW1pbGFyCgkgIHRoaW5ncyBlbHNld2hlcmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ4ODUKCjIwMTYtMDYtMTcgMTY6MDg6MDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUaGUgcHJvcmVzIHZhcmlhbnQgaXMgc3RvcmVkIGluIHRoZSB2YXJpYW50IGZpZWxkLCBub3QgZm9ybWF0CgkgIEFuZCB0aGUgY2FwcyBpbiB0aGUgc2luayBwYWQgdGVtcGxhdGUgYWxyZWFkeSB1c2VkIHZhcmlhbnQgKG9ubHkpLgoKMjAxNi0wNi0xNyAxMzowMDo0OCArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IFJlbW92ZSBzcHJvcC1wYXJhbWV0ZXItc2V0cyBwcm9wZXJ0eQoJICBUaGVyZSBpcyBubyB2YWxpZCB1c2UgY2FzZSB3aGVuIHRoaXMgcHJvcGVydHkgaXMgbmVlZGVkIHNpbmNlIHRoZSB2YWx1ZXMKCSAgbXVzdCBiZSBpbiBlaXRoZXIgY29kZWNfZGF0YSBvciBidWZmZXIgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc2MAoKMjAxNi0wNi0xMCAxNjoxNzoyNiArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvc2Nhbm9iai1idWlsZC5zdGFtcDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFJlYWQgTkFMVSB0eXBlIHRoZSBzYW1lIHdheSBldmVyeXdoZXJlCgkgIENvc21ldGljIGNoYW5nZSB0byByZWFkIE5BTFUgdHlwZSBpbiBnc3RfcnRwX2gyNjVfcGF5X2RlY29kZV9uYWwoKSB0aGUKCSAgc2FtZSB3YXkgYXMgaW4gb3RoZXIgcGxhY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzYwCgoyMDE2LTA2LTE3IDEzOjU4OjMzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IFJUUEppdHRlckJ1ZmZlck1vZGUgZG9jdW1lbnRhdGlvbgoJICBEb2N1bWVudGF0aW9uIGxhY2tzICdAJyBiZWZvcmUgZWFjaCBlbnVtIHZhbHVlcyBhbmQgdGhlcmUgd2FzIGFuIGV4dHJhCgkgIGxpbmUgYWZ0ZXIgc3ltYm9sIHNlY3Rpb24gd2hpY2ggY29uZnVzZXMgR1RLLURvYyBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc3ODgKCjIwMTYtMDUtMjMgMTA6MTg6NDggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB0YWtlIHRoZSBsb2NrIHdoZW4gY2hhbmdpbmcgc3RhdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAyNQoKMjAxNi0wNC0xNCAxODoxNDozMiArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBFbmFibGUgcW1sZ2xzaW5rIGZvciBlZ2xmcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDQ0CgoyMDE2LTA2LTE2IDAwOjQ0OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IHByb3BhZ2F0ZSBHTCBjb250ZXh0IGNyZWF0aW9uIGZhaWx1cmUgdXB3YXJkcwoJICBPdGhlcndpc2UgYW4gYXBwbGljYXRpb24gY2Fubm90IGtub3cgaWYgdGhlIHFtbGdsc2luayB3aWxsIGJlIGRpc3BsYXlpbmcgZnJhbWVzCgkgIGluY29ycmVjdGx5L2F0IGFsbC4KCjIwMTYtMDYtMTYgMDA6NDQ6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogYWxzbyBhbGxvdyB3YXlsYW5kLWVnbCBhcyBhIHBsYXRmb3JtIG5hbWUKCjIwMTYtMDYtMTIgMTU6MzU6MjggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sZ2xzaW5rOiBBZGQgV2F5bGFuZCBzdXBwb3J0CgkgIERvbid0IHVzZSBnc3RnbGRpc3BsYXkgdG8gZ2V0IHdheWxhbmQgZGlzcGxheS4gU2hvdWxkIHVzZSBRUEEgb24gd2F5bGFuZAoJICB0byBnZXQgd2F5bGFuZCBkaXNwbGF5IGZvciBRVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzU1MwoKMjAxNi0wNi0xNSAxMToxOTo0MyArMDIwMCAgSsO8cmdlbiBTbG93YWNrIDxqdXJnZW4uc2xvd2Fja0BiYXJjby5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NTogZml4IE5BTCB1bml0IHR5cGUgcGFyc2luZyBhbmQgU1BTL1BQUy9WUFMgZGV0ZWN0aW9uCgkgIEZpeGVzIHNwcy9wcHMvdnBzIGluc2VydGlvbiB2aWEgdGhlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03Njc2ODAKCjIwMTYtMDYtMTEgMTI6MTY6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBzaW1wbGUtbGF1bmNoLWxpbmVzOiBVc2UgY29ycmVjdCBKUEVHMjAwMCBjYXBzCgoyMDE2LTA2LTEwIDEzOjQzOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE2LTA2LTEwIDEzOjQyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGRhdGUgcGFyc2luZyB3aGVuIHRoZXJlIGFyZSB0cmFpbGluZyBzcGFjZXMKCSAgRml4ZXMgcGFyc2luZyBvZiAiVGh1IE1heSAxMSAxNTo1Nzo0NiAyMDA2ICIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0OTYKCjIwMTYtMDUtMTMgMTU6MDg6MjQgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrY29tbW9uLmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgZ3N0cnRwajJrOiBzZXQgc2FtcGxpbmcgZmllbGQgcmVxdWlyZWQgYnkgUkZDCgkgIFRoaXMgZmllbGQgaXMgbm93IHJlcXVpcmVkIGluIHRoZSBzaW5rIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyMzYKCjIwMTYtMDYtMDkgMDk6MzA6NDggKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHVucmVmIGFzc2VydGlvbiBmYWlsdXJlCgkgIEZpeCB1bnJlZiBhc3NlcnRpb24gZmFpbHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDI0CgoyMDE2LTA1LTE0IDE0OjQ2OjE3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV29yayB3aXRoIG5vbi1USU1FIHNlZ21lbnRzCgkgIFdpdGggbm9uLXRpbWUgc2VnbWVudHMsIGl0IG5vdyBhc3N1bWVzIHRoYXQgdGhlIGFycml2YWwgdGltZSBvZiBwYWNrZXRzCgkgIGlzIG5vdCByZWxldmFudCBhbmQgdGhhdCBvbmx5IHRoZSBSVFAgdGltZXN0YW1wIG1hdHRlciBhbmQgaXQgcHJvZHVjZXMKCSAgYW4gb3V0cHV0IHNlZ21lbnQgc3RhcnQgYXQgcnVubmluZyB0aW1lIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MzgKCjIwMTYtMDYtMDcgMjA6NTM6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogV2FpdCBmb3Igc2VnbWVudCBldmVudCBiZWZvcmUgY2hlY2tpbmcgaXQKCSAgVGhlIGhldXJpc3RpYyB0byBjaG9vc2UgYmV0d2VlbiBwYWNrZXRpc2Ugb3Igbm90IHdhcyBjaGFuZ2VkIHRvIHVzZSB0aGUKCSAgc2VnbWVudCBmb3JtYXQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyBjaGFuZ2UgaXMgcmVhZGluZyB0aGUgc2VnbWVudAoJICBkdXJpbmcgdGhlIGNhcHMgZXZlbnQgaGFuZGxpbmcuIFRoZSBzZWdtZW50IGV2ZW50IHdpbGwgb25seSBiZSBzZW50CgkgIGFmdGVyLiBUaGF0IHByZXZlbnRlZCB0aGUgZGVjb2RlciB0byBnbyBpbiBwYWNrZXRpemUgbW9kZSwgYW5kIGF2b2lkCgkgIHVzZWxlc3MgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNi0wNi0wNiAxNzowMDoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBXYWl0IGZvciBzZWdtZW50IGV2ZW50IGJlZm9yZSBjaGVja2luZyBpdAoJICBUaGUgaGV1cmlzdGljIHRvIGNob29zZSBiZXR3ZWVuIHBhY2tldGlzZSBvciBub3Qgd2FzIGNoYW5nZSB0byB1c2UgdGhlCgkgIHNlZ21lbnQgZm9ybWF0LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIHJlYWRpbmcgdGhlIHNlZ21lbnQKCSAgZHVyaW5nIHRoZSBjYXBzIGV2ZW50IGhhbmRsaW5nLiBUaGUgc2VnbWVudCBldmVudCB3aWxsIG9ubHkgYmUgc2VudAoJICBhZnRlci4gVGhhdCBwcmV2ZW50ZWQgdGhlIGRlY29kZXIgdG8gZ28gaW4gcGFja2V0aXplIG1vZGUsIGFuZCBhdm9pZAoJICB1c2VsZXNzIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTYtMDYtMDcgMTY6NDI6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEtlZXAgcGFydCBvZiB0aGUgaW5wdXQgYnVmZmVyCgkgIEluc3RlYWQgb2YgY29tcGxldGVseSBnZXR0aW5nIHJpZCBvZiB0aGUgaW5wdXQgYnVmZmVyLCBjb3B5CgkgIHRoZSBtZXRhZGF0YSwgdGhlIGZsYWdzIGFuZCB0aGUgdGltZXN0YW1wIGludG8gYW4gZW1wdHkgYnVmZmVyLgoJICBUaGlzIHdheSB0aGUgZGVjb2RlciBiYXNlIGNsYXNzIGNhbiBjb3B5IHRoYXQgaW5mb3JtYXRpb24gYWdhaW4KCSAgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MjQKCjIwMTYtMDYtMDcgMTY6NDE6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAxNi0wNi0wNyAxNjowOToyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTYtMDYtMDcgMTY6MDQ6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IEFkZCBhbiBlcnJvciByZXR1cm4gdG8gX3RyeS9fc2V0X2Zvcm1hdAoJICBUaGlzIHdheSBvbmUgY2FuIGVhc2lseSBpZ25vcmUgZXJyb3JzLiBQcmV2aW91c2x5LCBlcnJvciB3ZXJlIGFsd2F5cwoJICBwb3N0ZWQgb250IGhlIGJ1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE3MgoKMjAxNi0wNi0wNyAxNjowMTo1NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5jOgoJKiBzeXMvdjRsMi92NGwyLXV0aWxzLmg6CgkgIHY0bDItdXRpbDogSW50cm9kdWNlIEdzdFY0bDJFcnJvcgoJICBUaGlzIGlzIHRvIGFsbG93IHJldHVybmluZyBhbiBlcnJvciB0aGF0IGNhbiBlYXNpbHkgYmUgc2VudCBhcwoJICBtZXNzYWdlIHRvIHRoZSBhcHBsaWNhdGlvbiBpZiB0aGUgZWxlbWVudCBuZWVkcyBpdC4gVXNpbmcgdGhpcwoJICBhbHNvIGFsbG93IGlnbm9yaW5nIGVycm9ycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE3MgoKMjAxNi0wNi0wNyAxMjo0MToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBBdm9pZCBkZWNpZGUgYWxsb2NhdGlvbiBvbiBhY3RpdmUgcG9vbAoJICB2NGwyc3JjIHdpbGwgcmVuZWdvdGlhdGUgb25seSBpZiB0aGUgZm9ybWF0IGhhdmUgY2hhbmdlZC4gQXMgb2Ygbm93LAoJICBpdCdzIG5vdCBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIGFsbG9jYXRpb253IHdpdGhvdXQgcmVzZXR0aW5nIHRoZQoJICBjYW1lcmEuIFRvIGF2b2lkIHVud2FudGVkIHNpZGUgZWZmZWN0LCBzaW1wbHkga2VlcCB0aGUgb2xkIGFsbG9jYXRpb24KCSAgaWYgbm8gcmVuZWdvdGlhdGlvbiBpcyB0YWtpbmcgcGxhY2UuIFRoaXMgZml4ZXMgYXNzZXJ0aW9uIGFuZCBwb3NzaWJsZQoJICBmYWlsdXJlcyBpbiBVU0VSUFRSIG9yIERNQUJVRiBpbXBvcnQgbW9kZSAod2hlbiB1c2luZyBkb3duc3RyZWFtIHBvb2xzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA0MgoKMjAxNi0wNC0yOCAxMzo0NDo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogU2hvdyBzdGF0ZSBuYW1lIGluIGRlYnVnZ2luZwoJICBNYWtlcyBpdCBlYXNpZXIgdG8gdHJhY2Ugd2hhdCdzIGdvaW5nIG9uCgoyMDE2LTA1LTEwIDE1OjQ1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlCgkgIFRoYXQgdmFyaWFibGUgaXMgb25seSBuZWVkZWQgZm9yIGEgZGVidWcgc3RhdGVtZW50LCBtb3ZlIGl0IHRoZXJlCgoyMDE2LTA1LTEwIDE1OjEwOjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQvRml4IGNvbW1lbnRzIG9uIHRoZSB2YXJpb3VzIHN0cnVjdHVyZSB2YXJpYWJsZXMKCSAgTm8gdmFyaWFibGVzIHdlcmUgYWRkZWQvcmVtb3ZlZC4gVGhpcyB3YXMganVzdCBhIGdvb2QgZXhjdXNlIHRvOgoJICAqIENvbW1lbnQgd2hhdCBtb3N0IHZhcmlhYmxlcyBhcmUgdXNlZCBmb3IgKGFuZCB3aGVuKQoJICAqIE9yZGVyIHRoZW0gaW4gc3VjaCBhIHdheSBhcyB0byBzaG93IGZpcnN0IHRoZSBjb21tb24gdmFyaWFibGVzIHVzZWQKCSAgaW4gYWxsIGNhc2VzLCBmb2xsb3dlZCBieSB0aG9zZSBvbmx5IHVzZWQgaW4gcHVzaC1tb2RlCgoyMDE2LTA1LTEwIDE1OjA3OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSB1bnVzZWQgc3RydWN0dXJlCgkgIExldCdzIGp1c3QgcmVtb3ZlIGl0LCBiZWVuIGNvbW1lbnRlZCBmb3IgNysgeWVhcnMgOikKCjIwMTUtMDktMDIgMTE6NDg6MjkgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiB1c2UgZGVjb2RlciBzdG9wIGNvbW1hbmQgaW5zdGVhZCBvZiBxdWV1ZWluZyBlbXB0eSBidWZmZXJzCgkgIE9ubHkgaWYgdGhlIGRlY29kZXIgc3RvcCBjb21tYW5kIGZhaWxzLCBrZWVwIHF1ZXVlaW5nIGVtcHR5IGJ1ZmZlcnMgdG8KCSAgc2lnbmFsIGVuZCBvZiBzdHJlYW0gYXMgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODY0CgoyMDE0LTEyLTEyIDE0OjMxOjM2ICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBhZGQgZ3N0X3Y0bDJfZGVjb2Rlcl9jbWQgaGVscGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NjQKCjIwMTYtMDYtMDEgMjA6Mjg6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRm9yd2FyZCBzZWdtZW50cyBkaXJlY3RseSBpZiB3ZSBhcmUgb3BlcmF0aW5nIGluIFBVU0ggbW9kZSBvbiBmcmFnbWVudGVkIHN0cmVhbXMKCSAgV2Ugc2hvdWxkbid0IGdvIHRocm91Z2ggc2VnbWVudCBhY3RpdmF0aW9uIGFzIHdlIHdpbGwgb25seSBoYXZlIGEgbGltaXRlZAoJICB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0aGUgd2hvbGUgc3RyZWFtIHRpbWVsaW5lIGxvb2tzIGxpa2UgZnJvbSB0aGUgbW9vZi4gV2UKCSAgb25seSBrbm93IGFib3V0IHRoZSBjdXJyZW50IGZyYWdtZW50LCB3aGlsZSB1cHN0cmVhbSBrbm93cyBhYm91dCB0aGUgd2hvbGUKCSAgc3RyZWFtLgoJICBUaGlzIGZpeGVzIHNlZWtpbmcgaW4gREFTSCBzdHJlYW1zLCBib3RoIGZvciBzZWVrcyBhZnRlciB0aGUgY3VycmVudCBtb29mIGFuZAoJICBmb3Igc2Vla3MgaW50byB0aGUgY3VycmVudCBtb29mLiBUaGUgZm9ybWVyIHdvdWxkIGZhaWwgYmVjYXVzZSB0aGUgbW9vZiBlbmRzCgkgIGFuZCB3ZSBjYW4ndCBhY3RpdmF0ZSBhbnkgc2VnbWVudCwgdGhlIGxhdHRlciB3b3VsZCBjYXVzZSBhIHNlZ21lbnQgdGhhdCBzdG9wcwoJICBhdCB0aGUgbW9vZiBlbmQsIGFuZCBubyBmdXJ0aGVyIGZyYWdtZW50cyB3b3VsZCBiZSBwbGF5ZWQgYmVjYXVzZSB3ZSBlbmQgdXAKCSAgYmVpbmcgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA2LTA2IDE3OjU0OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFVzZSBsb29zZXIgY2FwcyBmb3IgdXBzdHJlYW0KCSAgV2hlbiB3ZSBmaXhhdGUgZm9yIHVwc3RyZWFtLCB0cnkgdG8gbm90IGludHJvZHVjZSBuZXcgZmllbGRzIHdoZW4gbm90CgkgIG5lZWRlZC4gVGhpcyB3YXMgaW1wb3J0ZWQgZnJvbSB2aWRlb2NvbnZlcnQgZWxlbWVudC4KCjIwMTUtMDEtMjggMTI6MDc6NTggKzAxMDAgIEVucmljbyBKb3JucyA8ZWpvQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICBnc3R2NGwydHJhbnNmb3JtOiBmb3JtYXQgZml4YXRpb24gZm9yIHByZWZlcnJpbmcgcGFzc3Rocm91Z2gKCSAgKiBJZiBvdXRnb2luZyBmb3JtYXQgaXMgdW5maXhhdGVkLCB0cnkgdG8gc2V0IGl0IHRvIGlucHV0IGZvcm1hdC4KCSAgKiBDYWxsIGdzdF9jYXBzX2ZpeGF0ZSAoKSBhdCBlbmQgb2YgZml4YXRpb24gcm91dGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzE5CgoyMDE2LTA1LTIwIDEyOjQ5OjUzICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBhbGxvdyB0byBjaGFuZ2UgcGl4ZWwgYXNwZWN0IHJhdGlvCgkgIFNjYWxlcnMgbWF5IGNoYW5nZSB3aWR0aCBhbmQgaGVpZ2h0IGluZGVwZW5kZW50bHksCgkgIGFsbG93IHRvIGNoYW5nZSBwaXhlbCBhc3BlY3QgcmF0aW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MTIKCjIwMTYtMDUtMjAgMTI6MzI6MjUgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IGZpeCBzY2FsaW5nIGluIGNhc2Ugb2YgZml4ZWQgcGl4ZWwgYXNwZWN0IHJhdGlvCgkgIFRvIGNoYW5nZSBwaXhlbCBhc3BlY3QgcmF0aW8gZnJvbSBEQVIgdG8gUEFSLCB0aGUgbmVjZXNzYXJ5IHNjYWxpbmcgZmFjdG9yCgkgIGlzIERBUi9QQVIsIG5vdCBEQVIqUEFSLgoJICBGb3IgZ29vZCBtZWFzdXJlLCBhZGQgZGVidWcgb3V0cHV0IHNpbWlsYXIgdG8gdGhlIGZpeGVkLXdpZHRoIGFuZAoJICBmaXhlZC1oZWlnaHQgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MTEKCjIwMTYtMDUtMTMgMTY6Mzk6MjUgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGZpbGwgY29sb3JpbWV0cnkgaW4gZ3N0X3Y0bDJfb2JqZWN0X2FjcXVpcmVfZm9ybWF0CgkgIEluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgZGVmYXVsdCBjb2xvcmltZXRyeSBjaG9zZW4gYnkKCSAgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpLCBzZXQgaW5mby5jb2xvcmltZXRyeSBmcm9tIHRoZQoJICB2YWx1ZXMgcmV0dXJuZWQgYnkgR19GTVQuIFRoaXMgYWxsb3dzIGRlY29kZXJzIHRvIHByb3BhZ2F0ZQoJICB0aGVpciBpbnB1dCBjb2xvcmltZXRyeSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzgzCgoyMDE2LTA1LTE4IDEwOjE3OjEyICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZWZhY3RvciBnc3RfdjRsMl9vYmplY3RfZ2V0X2NvbG9yc3BhY2UgdG8gdGFrZSBhIHY0bDJfZm9ybWF0IHBhcmFtZXRlcgoJICBNb3ZlIHRoZSBleHRyYWN0aW9uIG9mIGNvbG9yaW1ldHJ5IHBhcmFtZXRlcnMgZnJvbSBzdHJ1Y3QgdjRsMl9mb3JtYXQgYW5kIHRoZQoJICBzZXR0aW5nIG9mIHRoZSBpZGVudGl0eSBtYXRyaXggZm9yIFJHQiBmb3JtYXRzIGludG8gdGhlIGZ1bmN0aW9uIHRvIGF2b2lkIGNvZGUKCSAgZHVwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODMKCjIwMTYtMDUtMTMgMTQ6NTg6NDEgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiB1c2UgdmlzaWJsZSBzaXplLCBub3QgY29kZWQgc2l6ZSwgZm9yIGRvd25zdHJlYW0gbmVnb3RpYXRpb24gZmlsdGVyCgkgIGdzdF92NGwyX3Byb2JlX2NhcHMoKSByZXR1cm5zIHRoZSBjb2RlZCBzaXplLCBub3QgdGhlIHZpc2libGUgc2l6ZS4gU3VidHJhY3QKCSAgdGhlIGtub3duIHBhZGRpbmcgZnJvbSBwcm9iZWQgY2FwcyB3aXRoIHRoZSBjb2RlZCBzaXplIGJlZm9yZSB1c2luZyB0aGVtIGFzCgkgIGZpbHRlciBmb3IgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIGRvd25zdHJlYW0gZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODIKCjIwMTYtMDUtMTMgMTQ6NDU6MDIgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHVzZSBHX1NFTEVDVElPTiBpbnN0ZWFkIG9mIEdfQ1JPUCBpbiBnc3RfdjRsMl9vYmplY3RfYWNxdWlyZV9mb3JtYXQKCSAgVGhlIGdzdF92NGwyX29iamVjdF9hY3F1aXJlX2Zvcm1hdCgpIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdjRsMnZpZGVvZGVjIHRvIG9idGFpbgoJICB0aGUgY3VycmVudGx5IHNldCBjYXB0dXJlIGZvcm1hdC4gU2luY2UgR19GTVQgcmV0dXJucyB0aGUgY29kZWQgc2l6ZSwgdGhlCgkgIHZpc2libGUgc2l6ZSBuZWVkcyB0byBiZSBvYnRhaW5lZCBmcm9tIHRoZSBjb21wb3NlIHJlY3RhbmdsZSBpbiBvcmRlciB0bwoJICBuZWdvdGlhdGUgaXQgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzLiBUaGUgR19DUk9QIGNhbGwgaGFzbid0IHdvcmtlZCBvbiBtZW0ybWVtCgkgIGNhcHR1cmUgcXVldWVzIGZvciBhIGxvbmcgdGltZS4gSW5zdGVhZCB1c2UgdGhlIEdfU0VMRUNUSU9OIGNhbGwgdG8gb2J0YWluIHRoZQoJICBjb21wb3NlIHJlY3RhbmdsZSBhbmQgb25seSBmYWxsIGJhY2sgdG8gR19DUk9QIGZvciBhbmNpZW50IGtlcm5lbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzODEKCjIwMTYtMDEtMjcgMDk6NTc6MzggKzAxMDAgIEFuZHJlYXMgTmF1bWFubiA8YW5hdW1hbm5AdWx0cmF0cm9uaWsuZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogVXNlIFY0TDJfQlVGX1RZUEVfVklERU9fT1VUUFVUX09WRVJMQVkgaWYgZHJpdmVyIGFkdmVydGlzZXMgaXQuCgkgIE9uIG1vZGVybiBrZXJuZWxzLCB0aGUgRy9TX0ZNVCBpb2N0bHMgd2lsbCBhbHdheXMgZmFpbCB1c2luZwoJICBWNEwyX0JVRl9UWVBFX1ZJREVPX09WRVJMQVkgd2l0aCBWRkxfRElSX1RYIChlLmcuIHJlYWwgb3ZlcmxheSBvdXQgZHJpdmVycykKCSAgc2luY2UgdGhpcyBpcyBub3QgdGhlIGludGVudGVkIHVzZSAocmF0aGVyIHJ4LCBhY2NvcmRpbmcgdG8gdjRsMiBBUEkgZG9jKS4KCSAgUHJvYmFibHkgdGhpcyBpcyB3aHkgdGhlIFZpZGVvIE91dHB1dCBPdmVybGF5IGludGVyZmFjZSB3YXMgY3JlYXRlZCwgc28gaWYKCSAgdGhlIGRyaXZlciBhZHZlcnRpc2VzIGl0IHdlIG1pZ2h0IGFzIHdlbGwgdXNlLgoJICBGb3Igb2xkIGtlcm5lbHMgKHByZSAyMDEyKSB0aGUgb2xkIHdheSBtaWdodCBzdGlsbCB3b3JrIHNvIGtlZXBpbmcgdGhpcyBmb3IKCSAgY29tcGF0aWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTE2NQoKMjAxNi0wNi0wNiAxODo1MjowMSArMDEwMCAgS2llcmFuIEJpbmdoYW0gPGtpZXJhbkBiaW5naGFtLnh5ej4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIG5vbi1kZXByZWNhdGVkIFY0TDIgdHlwZSBmb3IgUkdCMTUKCSAgU3VwcG9ydCBmb3IgdGhlIHVwZGF0ZWQgVjRMMl9QSVhfRk1UX1hSR0I1NTUgd2FzIGFkZGVkIGluIGNvbW1pdAoJICAyNTM4ZmVlMmZkOGZkYjc0YjA1ZjBhNTExMjgxYmM0NzA3ZTdjYzQ0IGhvd2V2ZXIsIHdoZW4gc2V0dGluZyB0aGUgZm9ybWF0CgkgIGZvciB1c2UgaW4gdjRsMiBpb2N0bHMsIHRoZSBvbGQgZGVwcmVjYXRlZCBmb3JtYXQgaXMgc3RpbGwgdXNlZC4gQ29udmVydAoJICB0aGlzIHRvIHRoZSBuZXcgYWNjZXB0ZWQgZm9ybWF0IHR5cGUsIGFzIHRoZSBwcmVmZXJyZWQgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MzAwCgoyMDE2LTA1LTA0IDE0OjUwOjMyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcmVzZXJ2ZSBzZWVrIGZsYWdzCgkgIFdpdGhvdXQgdGhpcyBzb21lIGZsYWdzIGdldCBsb3N0IGluIHN0cmVhbWluZyBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTk0CgoyMDE2LTA2LTA2IDEwOjQ3OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBSZXZlcnQgIldJUCByZXZlcnQgc291cCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmZGFjM2E3YTIzMWYzODQ4NjY1NjM2Y2Y4MTIyZjk2MTAzYjQ2ZTNiLgoJICBXYXMgbm90IHN1cHBvc2VkIHRvIGJlIHB1c2hlZCBidXQgYSBsb2NhbCB3b3JrYXJvdW5kIGZvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExI2MxMwoKMjAxNi0wNi0wMyAxMzowOTozNSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBjb21wbGV0ZSB3YXJuIGxvZyB3aXRoIFNTUkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE5NQoKMjAxNi0wNS0zMSAxNToyOToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgV0lQIHJldmVydCBzb3VwCgoyMDE2LTA2LTAzIDEzOjE4OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogVW5yZWYgc2VlayBldmVudCBpbiBhbnkgY2FzZQoJICBJdCB3b3VsZCBiZSBsZWFrZWQgaWYgbm8gc2VlayBoYW5kbGVyIHdhcyBjdXJyZW50bHkgc2V0LgoKMjAxNi0wNi0wMyAxMDo0OToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFByb3Blcmx5IHNldCBldmVudC9tZXNzYWdlIHNlcXVlbmNlIG51bWJlcnMgYmFzZWQgb24gdGhlIHByZXZpb3VzIHNlZWsKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMyAxMDozNjozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFJlbWVtYmVyIGlmIHVwc3RyZWFtIGhhZCBhIHRpbWUgc2VnbWVudCBhbmQgaWYgbm90IHByb3Blcmx5IGNyZWF0ZSB0aW1lIHNlZ21lbnRzCgkgIFByZXZpb3VzbHkgdGhlIHNlZ21lbnQudGltZSB3YXMgd3JvbmcsIGFuZCB0aGUgcG9zaXRpb24gd2FzIG5vdCB1cGRhdGVkCgkgIGNvcnJlY3RseSwgcmVzdWx0aW5nIGluIHNlZWtzIGluIFBVU0ggbW9kZSB3aXRoIHVwc3RyZWFtIHByb3ZpZGluZyBhIEJZVEVTCgkgIHNlZ21lbnQgdG8gbm90IHdvcmsgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAzIDA5OjU0OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkgc28gd2UgY2FuIGFjdHVhbGx5IHNlZWsgaWYgdXBzdHJlYW0gY2FuJ3Qgc2VlayBpbiBUSU1FCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTcKCjIwMTYtMDYtMDIgMTQ6MTk6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBSZWNhbGN1bGF0ZSB0aGUgZnJhbWUgb2Zmc2V0cyBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggQllURSBzZWdtZW50IGFuZCB3aGVuZXZlciB1cHN0cmVhbSBnaXZlcyB1cyBhIHRpbWVzdGFtcAoJICBUaGlzIGZpeGVzIHNlZWtpbmcgaW4gRFYgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBvcGVyYXRlcyBpbiBQVVNIIG1vZGUgd2l0aCBhCgkgIFRJTUUgc2VnbWVudCAoZS5nLiBhdmlkZW11eCkuIFdpdGhvdXQgdGhpcywgd2Ugd291bGQgZ2VuZXJhdGUgd3JvbmcgZHVyYXRpb25zCgkgIGFuZCB0aW1lc3RhbXBzIGFmdGVyIGEgc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1NwoKMjAxNi0wNi0wMiAxMzo1Mzo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IFBhc3MtdGhyb3VnaCBidWZmZXIgRElTQ09OVCBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU3CgoyMDE2LTA2LTAyIDE2OjE2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJICBydHB2cDlkZXBheTogRG9uJ3QgYXNzZXJ0IG9uIGZsZXhpYmxlIG1vZGUgcGFja2V0cwoJICBJbnN0ZWFkIGp1c3QgcG9zdCBhIHdhcm5pbmcgb24gdGhlIGJ1cyBmb3Igbm93LgoKMjAxNi0wNi0wMiAxNTowMzoxNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IHJ0cGJpbjogZml4IGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU2CgoyMDE2LTA2LTAyIDE1OjAwOjAxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIHRlc3RzOiBhbXJwYXJzZTogY2xlYW4gdXAgdGVzdAoJICAtIHVzZSBHU1RfQ0hFQ0tfTUFJTigpIHRvIHJlZHVjZSBib2lsZXJwbGF0ZQoJICAtIHVucmVmIHRoZSBpbnB1dCBjYXBzIHVzaW5nIGEgdGVhcmRvd24gZnVuY3Rpb24gdG8gcHJldmVudCBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTU2CgoyMDE2LTA1LTIwIDE1OjIyOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRW5zdXJlIERJU0NPTlQgZmxhZyBpcyBwcm9wZXJseSBwcm9wYWdhdGVkCgkgIFRoZSBvdXRwdXQgb2YgZGVpbnRlcmxhY2UgYXQgc3RhcnR1cCwgb3Igd2hlbiByZWNlaXZpbmcgYSBuZXcgRElTQ09OVAoJICBidWZmZXIsIHNob3VsZCBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0IG9uIHRoZSBmaXJzdCBidWZmZXIuCgoyMDE2LTA1LTMxIDIxOjM0OjA0ICswMjAwICBKb3NlcCBUb3JyYSA8YWRuNzcwQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IGNoZWNrIGZvciB2YWxpZCBzaXplIG9uIHJhdyB2aWRlbyBidWZmZXJzCgkgIERpc2NhcmQgYnVmZmVycyB0aGF0IGRvZXNuJ3QgY29udGFpbiBlbm91Z2ggZGF0YSB3aGVuIGRlYWxpbmcKCSAgd2l0aCByYXcgdmlkZW8gaW5wdXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDg2CgoyMDE2LTA1LTMxIDE3OjEwOjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgZGVtdXhlciBzZWdtZW50IGluc3RlYWQgb2YgYSBuZXcgb25lIGZvciBNU1Mgc3RyZWFtcwoJICBVcHN0cmVhbSBtaWdodCBoYXZlIHRvbGQgdXMgc29tZXRoaW5nIGFib3V0IHRoZSB0byBiZSBleHBlY3RlZCBzZWdtZW50LCBzbwoJICBsZXQncyB1c2UgdGhhdCBpbmZvcm1hdGlvbiBpbnN0ZWFkIG9mIGNvbWluZyB1cCB3aXRoIGEgWzAsLTFdIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTYtMDUtMzEgMTc6MDQ6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogT25seSBhY3RpdmF0ZSBzZWdtZW50cyBhbmQgc2VuZCBTRUdNRU5UIGV2ZW50cyBpZiB3ZSBoYXZlIHN0cmVhbXMKCSAgQnV0IGluIHRoYXQgY2FzZSBhbHNvIHJlbW92ZSB0aGUgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50LCBvdGhlcndpc2Ugd2Ugd291bGQKCSAgbGF0ZXIgc2VuZCBhIHBvc3NpYmx5IG91dGRhdGVkIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDcxCgoyMDE2LTA1LTMxIDE2OjUzOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEluIFBVTEwgbW9kZSwgbm90aGluZyBpcyBldmVyIGdvaW5nIHRvIHNlbmQgdXMgYSBTRUdNRU5UIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTYtMDUtMzEgMTY6Mzg6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3Qgb3ZlcnJpZGUgVElNRSBzZWdtZW50cyBmcm9tIHVwc3RyZWFtIHRoYXQgd2UganVzdCBzYXcKCSAgVGhlIHBvaW50IG9mIGQ4ZmI3YTljOTZiMTA4ODE0YmVlYWEwZTYzZjgxOGQ0NjQ4YzdmZTkgd2FzIHRvIG5vdCBoYXZlIGFueQoJICBzcHVyaW91cyBzZWdtZW50cyBzdG9yZWQgZm9yIGxhdGVyIGlmIHdlIGRvIEJZVEVTLT5USU1FIGNvbnZlcnNpb24sIGJ1dAoJICBvdmVycmlkaW5nIGFueSBUSU1FIHNlZ21lbnRzIGZyb20gdXBzdHJlYW0gZG9lcyBub3QgbWFrZSBhbnkgc2Vuc2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTY1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwNzEKCjIwMTUtMDctMTYgMDk6NDg6NDYgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IHNldCBwb3NpdGlvbiBhcyBvZmZzZXQgZnJvbSBzdGFydC1pbmRleAoJICBxdWVyeSBwb3NpdGlvbiBpbiBHU1RfRk9STUFUX0JVRkZFUiByZXR1cm5zCgkgIG9mZnNldCBmcm9tIHN0YXJ0LWluZGV4IHJhdGhlciB0aGFuIGluZGV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDYyCgoyMDE2LTA1LTI3IDEyOjQ5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2dyYWRpZW50LmoyazoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIEpQRUctMjAwMCBydHAgcGF5bG9hZGVyIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg3MAoKMjAxNi0wNS0yNSAxNzoxMToxMyArMDIwMCAgUGllcnJlIExhbW90IDxwaWVycmUubGFtb3RAb3BlbndpZGUuZnI+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgSW5wdXQgYnVmZmVyIG1lbW9yeSB3YXMgbm90IHVubWFwcGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4NzAKCjIwMTYtMDUtMTggMTI6MTI6MTUgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggY2FwcyBsZWFrCgkgIGdzdF92NGwyX29iamVjdF9wcm9iZV9jYXBzKCkgd2FzIHRha2luZyBhbiBleHRyYSByZWYgb24gdGhlIHJldHVybmVkCgkgIGNhcHMgZm9yIG5vIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYxMAoKMjAxNi0wNS0yMiAyMDoxNDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcCBtYXJrIGNyb3AgcHJvcGVydGllcyBhcyBtdXRhYmxlIGluIHBsYXlpbmcgc3RhdGUKCjIwMTYtMDUtMjAgMTY6NDc6MzUgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBidWZmZXIgbGVhayB3aGVuIGZsdXNoaW5nCgkgIFdoZW4gZWFybHkgcmV0dXJuaW5nIGluIGdzdF9zb3VwX2h0dHBfc3JjX3JlYWRfYnVmZmVyKCkgYmVjYXVzZSB0aGUKCSAgZWxlbWVudCBpcyBGTFVTSElORywgd2UgbmVlZCB0byB1bm1hcCBhbmQgdW5yZWYgdGhlIGJ1ZmZlciB3aGljaCB3YXMganVzdCBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NzE4CgoyMDE2LTA1LTIwIDExOjE1OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNldCBzZWVrIGV2ZW50IHNlcW51bSBvbiBhbGwgU0VHTUVOVCBldmVudHMKCSAgU29tZSB3ZXJlIGZvcmdvdHRlbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MzUKCjIwMTYtMDUtMjAgMTE6MTI6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFBhc3MgdGhyb3VnaCBzZWVrIGV2ZW50IHNlcW51bXMgaW4gYWxsIFNFR01FTlQvRU9TIGV2ZW50cyBhbmQgU0VHTUVOVF9ET05FIG1lc3NhZ2VzL2V2ZW50cwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzNQoKMjAxNi0wNS0yMCAxMDo1Njo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZXQgc2VlayBldmVudCBzZXFudW0gaW4gRU9TIGFuZCBTRUdNRU5UX0RPTkUgbWVzc2FnZXMvZXZlbnRzCgkgIEFsc28gYWN0dWFsbHkgc3RvcmUgdGhlIHNlcW51bSBpbiBwdWxsIG1vZGUgc2Vla3MuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTM1CgoyMDE2LTA1LTE3IDEzOjQwOjM4ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGNhcHMgbGVhawoJICBUaGUgY2FwcyByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSB3YXMgbmV2ZXIgdW5yZWZmZWQgd2hlbgoJICBub3QgZWFybHkgcmV0dXJuaW5nLgoJICBGaXggYSBsZWFrIHdpdGggdGhlIGVsZW1lbnRzL2RlaW50ZXJsYWNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1NTgKCjIwMTYtMDEtMjUgMTY6MjU6NTEgKzAxMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCBhY3Qgb24gc3VzcGljaW91cyBCWUUgUlRDUAoJICBTb21lIGVuZHBvaW50cyAobGlrZSBUYW5kYmVyZyBFMjApIGNhbiBzZW5kIEJZRSBwYWNrZXQgY29udGFpbmluZyBvdXIKCSAgaW50ZXJuYWwgU1NSQy4gSSB0aGlzIGNhc2Ugd2Ugd291bGQgZGV0ZWN0IFNTUkMgY29sbGlzaW9uIGFuZCBnZXQgcmlkCgkgIG9mIHRoZSBzb3VyY2UgYXQgc29tZSBwb2ludC4gQnV0IGJlY2F1c2Ugd2UgYXJlIHN0aWxsIHNlbmRpbmcgcGFja2V0cwoJICB3aXRoIHRoYXQgU1NSQyB0aGUgc291cmNlIHdpbGwgYmUgcmVjcmVhdGVkIGltbWVkaWF0ZWx5LgoJICBUaGlzIGJyYW5kIG5ldyBpbnRlcm5hbCBzb3VyY2Ugd2lsbCBub3QgaGF2ZSBzb21lIHZhcmlhYmxlcyBpbmNvcnJlY3RseQoJICBzZXQgaW4gaXRzIHN0YXRlLiBGb3IgZXhhbXBsZSAnc2VxbnVtLWJhc2VgIGFuZCBgY2xvY2stcmF0ZWAgdmFsdWVzIHdpbGwgYmUKCSAgLTEuCgkgIFRoZSBmaXggaXMgbm90IHRvIGFjdCBvbiBCWUUgUlRDUCBpZiBpdCBjb250YWlucyBpbnRlcm5hbCBvciB1bmtub3duCgkgIFNTUkMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTkKCjIwMTUtMTEtMTUgMTQ6NTQ6MjggKzAxMDAgIE1pa2hhaWwgRmx1ZGtvdiA8bWlzaGFAcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgdGVzdCBmb3IgbG9ja2luZyBvZiB0aGUgc3RhdHMgc2lnbmFsCgkgIEtlZXBpbmcgdGhlIGxvY2sgd2hpbGUgZW1pdHRpbmcgdGhlIHN0YXRzIHNpZ25hbCBpbnRyb2R1Y2VzIHBvdGVudGlhbAoJICBkZWFkbG9jayBpbiB0aG9zZSBzaXR1YXRpb25zIHdoZW4gdGhlIHNpZ25hbCBjYWxsYmFjayB3YW50cyB0aGUgYWNjZXNzCgkgIHRvIHJ0cHNlc3Npb24ncyBwcm9wZXJ0aWVzIHdoaWNoIGFsc28gcmVxdXJlIHRoZSBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjE2CgoyMDE2LTA1LTE5IDE1OjM2OjU3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxzdCBwdXNoaW5nIG91dCBoZWFkZXJzCgkgIG1hdHJvc2thZGVtdXggd291bGQgdGFrZSB0aGUgR1NUX09CSkVDVF9MT0NLIGluCgkgIC0gZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfY29kZWNfZGF0YV9hbGwoKQoJICAtIGdzdF9tYXRyb3NrYV9kZW11eF9xdWVyeSgpCgkgIFNvbWUgcGFyc2UgZWxlbWVudCBzdWNoIGFzIEZMQUMgY2hlY2tzIHVwc3RyZWFtIHNlZWthYmlsaXR5LCBhbmQKCSAgdGhlcmUgaXMgc29tZSB1c2UgY2FzZXMgdGhhdCBtYXRyb3NrYS1kZW11eCBpcyBsaW5rZWQgdG8gYSBwYXJzZSBlbGVtZW50CgkgIChlLmcuLEZMQUMgZm9ybWF0KSB3aXRob3V0IGludGVybWVkaWF0ZSBlbGVtZW50cyAoZS5nLiwgcXVldWUpLgoJICBJbiB0aGlzIGNhc2UsIG1hdHJvc2thLWRlbXV4IG5ldmVyIHJldHVybnMgZnJvbSBfcHVzaF9jb2RlY19kYXRhX2FsbCgpCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBjYW4gcmV0dXJuIG9ubHkgYWZ0ZXIgaXQgcmVjZWl2ZXMgdGhlIHJlc3BvbnNlIHRvCgkgIHRoZSB1cHN0cmVhbSBxdWVyeSwgYnV0IHRoYXQncyBub3QgZ29pbmcgdG8gaGFwcGVuIGJlY2F1c2UgaXQncwoJICBkZWFkbG9ja2VkLgoJICBFbGVtZW50cyBtdXN0IG5vdCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGlsc3QgcHVzaGluZyBvdXQgZXZlbnRzCgkgIG9yIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NDUKCjIwMTYtMDUtMTkgMTI6NDM6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBTZXQgc2VudF9idWZmZXJzIGFuZCBzdHJlYW1oZWFkZXJfYnVmZmVycyB0byBOVUxMIGFmdGVyIGZyZWVpbmcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHVzZSBhbiBhbHJlYWR5IGZyZWVkIGxpc3QgbGF0ZXIgYW5kIGNyYXNoIG9yIHdvcnNlLgoKMjAxNi0wNS0xOCAxODozMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IFNpbmNlIHZlcnNpb24gZm9yIG5ldyAibG9vcCIgcHJvcGVydHkKCjIwMTYtMDUtMTYgMTY6MTg6MzcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogZml4IGNsb2NrIGxlYWsKCSAgZ3N0X3N5c3RlbV9jbG9ja19vYnRhaW4oKSByZXR1cm5zIGEgbmV3IHJlZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjUyMQoKMjAxNi0wNS0xNyAwNTozMzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIGRvYyBibHVyYiB3aXRoIHNpbmNlIG1hcmtlciBmb3IgbmV3ICJsb29wIiBwcm9wZXJ0eQoKMjAxNS0xMS0xMyAxNTo1MjozNSArMDEwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZCBzdXBwb3J0IGZvciBwbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODA1OQoKMjAxNi0wNS0xNSAyMjowNzoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogQ29ubmVjdCB0byBkZW11eCBzaWduYWxzIGJlZm9yZSBhY3RpdmF0aW5nCgkgIEZpeCBhIHJhY2UgaW4gc3BsaXRtdXhzcmMgYnkgcHJvcGVybHkgY29ubmVjdGluZyB0byB0aGUKCSAgZGVtdXhlciBzaWduYWxzIHdlJ3JlIGludGVyZXN0ZWQgaW4gKmJlZm9yZSogc2V0dGluZyBpdCBydW5uaW5nLgoKMjAxNi0wNS0xNSAxMzozMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiBVcGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTYtMDUtMTUgMTI6MTY6MjMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIHJ0cG1wNGdwYXk6IERvbid0IHByb2R1Y2UgdGltZXN0YW1wcyBiYXNlZCBvbiBieXRlIGNvdW50CgkgIFRoZSBHU1RfQlVGRkVSX09GRlNFVCBvZiBvdXRwdXQgYnVmZmVycyByZXR1cm5lZCB0byBHc3RSdHBCYXNlUGF5bG9hZAoJICBzaG91bGQgcmVmbGVjdCB0aGUgbnVtYmVyIG9mICJzYW1wbGVzIiBpbiB0aGUgdW5pdCBvZiB0aGUgUlRQIGNsb2NrIGluIHRoaXMKCSAgYnVmZmVyLiBJZiB0aGlzIGlzIG5vdCB0cnVlLCB0aGVuIGl0IHNob3VsZG4ndCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE5NDMKCjIwMTYtMDUtMTUgMTI6MjQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogRml4IHN0cmNtcCB1c2FnZQoJICBKdXN0IHVzZSBnX3N0cmNtcDAgd2hpY2ggY2FuIGhhbmRsZSBOVUxMIGVudHJpZXMKCjIwMTYtMDMtMDQgMTA6MTQ6MDAgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgYXVkaW8veC11bmFsaWduZWQtcmF3IGluc3RlYWQgb2YgYXVkaW8veC1yYXcgZm9yIEwxNiBkYXRhCgkgIERpcmVjdGx5IHNldHRpbmcgYXVkaW8veC1yYXcgY2FwcyBsZWFkcyB0byBwcm9ibGVtcyB3aGVuIHRoZSBkZWxpdmVyZWQKCSAgZGF0YSBibG9ja3MgZG8gbm90IGFsaWduIHByb3Blcmx5IGF0IHNhbXBsZSBib3VuZGFyaWVzIChmb3IgZXhhbXBsZSwgYQoJICBkYXRhIGJsb2NrIHdpdGggMzkxIGJ5dGVzKS4gU28sIGluc3RlYWQsIHNldCBhdWRpby94LXVuYWxpZ25lZC1yYXcgdG8KCSAgbGV0IGEgcGFyc2VyIGJlIGF1dG9wbHVnZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5NDYwCgoyMDE2LTA1LTEyIDExOjUyOjA5ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzaW5nIGVsc3QgYm94IGJhc2VkIG9uIHZlcnNpb24KCSAgc2VnbWVudF9kdXJhdGlvbiBhbmQgbWVkaWFfdGltZSBzaG91bGQgYmUgcGFyc2VkIGJhc2VkIG9uIHZlcnNpb24KCSAgb2YgZWxzdCBib3guIFNwZWNpZmljYXRpb24gZGVmaW5lcyB0aGF0IGFuIGVsc3QgYm94IHdpdGggdmVyc2lvbiAxCgkgIGhhcyB1aW50NjQgYW5kIGludDY0IHZhbHVlcyBmb3Igc2VnbWVudF9kdXJhdGlvbiBhbmQgbWVkaWFfdGltZSwKCSAgcmVzcGVjdGl2ZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzAxCgoyMDE2LTA1LTE0IDEyOjU3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogY2hlY2sgaWYgcmVxdWVzdCB3YXMgY2FuY2VsbGVkIHdoZW4gc2VuZGluZyBtZXNzYWdlCgkgIEl0IG1pZ2h0IGJlIHRoYXQgdGhlIHJlcXVlc3Qgd2FzIGFib3J0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uIGFuZAoJICB3ZSBjYW4gcmV0dXJuIGltbWVkaWF0ZWxseQoKMjAxNi0wNS0xNCAxMjo0Mzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHByb3h5IHJlc29sdmVyIGlzIG9uIGJ5IGRlZmF1bHQKCSAgUmVtb3ZlIGZyb20gdGhlIHNlc3Npb24gY3JlYXRpb24gcGFyYW1ldGVycwoKMjAxNi0wNS0xNCAxMjoxNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgIHNvdXA6IHVwZGF0ZSBidWlsZCB0byB3YXJuIGFib3V0IG5ld2VyIGRlcHJlY2F0ZWQgZnVuY3Rpb25zCgkgIFdlIGFscmVhZHkgZGVwZW5kIG9uIDIuNDgKCjIwMTYtMDUtMTQgMTE6MDk6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiByZWR1Y2UgcmVhZGluZyBsYXRlbmN5IGJ5IHVzaW5nIG5vbi1ibG9ja2luZyByZWFkCgkgIE5vbi1ibG9ja2luZyByZWFkIHdpbGwgcmV0dXJuIHRoZSBhbW91bnQgb2YgZGF0YSBhdmFpbGFibGUgd2l0aG91dAoJICBibG9ja2luZyB0byB3YWl0IGZvciB0aGUgZnVsbCByZXF1ZXN0ZWQgc2l6ZS4KCSAgVGhlIGRvd25zaWRlIGlzIHRoYXQgbm93IGl0IHNvdXBodHRwc3JjIG5lZWRzIHRvIGhhdmUgYSB3YWl0aW5nCgkgIG1lY2hhbmlzbSBpbiBjYXNlIHRoZXJlIGlzIG5vIGRhdGEgYXZhaWxhYmxlIHlldCB0byBhdm9pZCBidXN5CgkgIGxvb3BpbmcgYXJvbmQgdGhlIGlucHV0c3RyZWFtLgoKMjAxNi0wNS0xNSAxMjozMDo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGFrZSB0aGUgbG9jayBhbHJlYWR5IHdoZW4gcmVhZGluZyB0aGUgb3RoZXIgc3RhdHMsIG5vdCBqdXN0IGZvciB0aGUgaGFzaCB0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA1LTE0IDE3OjA0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogdXNlIG1hdGgtY29tcGF0LmggZm9yIE5BTiBkZWZpbmUKCjIwMTYtMDUtMTQgMjM6Mzk6MjIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBVc2UgR3N0QmluIGFzeW5jLWhhbmRsaW5nIGluc3RlYWQgb2Ygb3VyIG93bi4KCSAgU2V0IHRoZSBhc3luYy1oYW5kbGluZyBwcm9wZXJ0eSBvbiBHc3RCaW4gdG8gbGV0IGl0IG1hbmFnZQoJICBhc3luYy1oYW5kbGluZyBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBoYW5kbGluZyBmcm9tIHRoZSBwcmV2aW91cwoJICBjb21taXQuIFdvcmtzIGJlY2F1c2Ugb2YgIzE3NGE1ZSBpbiBjb3JlCgoyMDE2LTA1LTEzIDEwOjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogcmVmYWN0b3IgdG8gdXNlIFNvdXAncyBzeW5jIEFQSQoJICBSZXBsYWNlIHRoZSBhc3luYyBBUEkgd2l0aCB0aGUgc3luYyBBUEkgdG8gcmVtb3ZlIGFsbCB0aGUgZXh0cmEgbWFpbmxvb3AKCSAgYW5kIGNvbnRleHQgaGFuZGxpbmcuIEN1cnJlbnRseSBpdCBibG9ja3MgcmVhZGluZyB1bnRpbCAnYmxvY2tzaXplJwoJICBieXRlcyBhcmUgYXZhaWxhYmxlIGJ1dCB0aGF0IGNhbiBiZSBpbXByb3ZlZCBieSB1c2luZzoKCSAgaHR0cHM6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL2dpby91bnN0YWJsZS9HUG9sbGFibGVJbnB1dFN0cmVhbS5odG1sI2ctcG9sbGFibGUtaW5wdXQtc3RyZWFtLXJlYWQtbm9uYmxvY2tpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzkxMQoKMjAxNi0wNS0xNCAwNDo1MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiByZXBsYWNlIGRlcHJlY2F0ZWQgQVBJCgkgIEF2b2lkIHVzaW5nIHNvdXBfc2VydmVyX3J1bl9hc3luYyBhbmQgb2xkIGdldF9wb3J0KCkgQVBJcywKCSAgcmVwbGFjZSB3aXRoIG1lIHNvdXBfc2VydmVyX2xpc3RlbiBhbmQgZ2V0IHRoZSBwb3J0IHRocm91Z2ggdGhlCgkgIFVSSXMgbGlzdCByZXR1cm5lZCBmcm9tIHRoZSBzZXJ2ZXIuCgoyMDE2LTA1LTE0IDEyOjM0OjEwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVXBncmFkZSBkZWJ1ZyBtZXNzYWdlIHRvIGVycm9yCgkgIEl0IGNhdXNlcyB0aGUgZW50aXJlIHBpcGVsaW5lIHRvIGZhaWwsIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gZmluZC4KCjIwMTYtMDUtMTQgMTg6MzI6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBIaWRlIGludGVybmFsIGFzeW5jIHN0YXRlIGNoYW5nZXMuCgkgIFdoZW4gc3dpdGNoaW5nIGZyYWdtZW50cywgaGlkZSB0aGUgYXN5bmMtc3RhcnQvYXN5bmMtZG9uZQoJICBtZXNzYWdlcyBmcm9tIHRoZSBwYXJlbnQgYmluLCBhcyBvdGhlcndpc2Ugd2Ugc29tZXRpbWVzICh2ZXJ5IHJhcmVseSkKCSAgaGFuZyBpbiBQQVVTRUQgaW5zdGVhZCBvZiByZXR1cm5pbmcgLyBjb250aW51aW5nIHRvIFBMQVlJTkcKCSAgc3RhdGUuCgoyMDE2LTA1LTEzIDIxOjIwOjI4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogUmVtb3ZlIHN0cmF5IGNhcnJpYWdlLXJldHVybiBmcm9tIGRlYnVnCgoyMDE2LTA1LTEzIDE2OjQzOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBTaGlwIGdzdHJ0cGoya2NvbW1vbi5oIGZpbGUgdG8gZml4IGRpc3RjaGVjawoKMjAxNS0wNC0zMCAxNDo0MzowNCArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogRG8gbm90IHdyaXRlIGluZGV4IGFuZCBoZWFkZXIgaWYgaWR4IGlzIE5VTEwKCSAgRml4ZXMgY3JpdGljYWxzIHdpdGggZS5nLgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MSAhIGlkZW50aXR5IGRyb3AtcHJvYmFiaWxpdHk9MS4wICEgYXZpbXV4ICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODcwMAoKMjAxNi0wNS0xMiAwODo0MzozOSAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBtYW5hZ2UgVCB0aWxlIGludmFsaWRhdGlvbiBiaXQgY29ycmVjdGx5LCB1cGRhdGUgdGlsZSBpZCBpbiBoZWFkZXIgY29ycmVjdGx5LgoJICAxLiBhY2NvcmRpbmcgdG8gUkZDLCBUIGJpdCBpcyBvbmx5IHNldCB3aGVuIGVpdGhlciB0aGUgUlRQIHBhY2tldCBvbmx5IGNvbnRhaW5zIHRoZSBKMksgbWFpbiBoZWFkZXIsIG9yIHRoZSBwYWNrZXQgY29udGFpbnMgdGlsZSBwYXJ0cyBmcm9tIG11bHRpcGxlIHRpbGVzLiBUaGlzIGlzIG5vdyBiZWluZyBtYW5hZ2VkIGNvcnJlY3RseSBpbiB0aGUgY29kZS4gVGhlIHNlY29uZCBzY2VuYXJpbyBjYW5ub3QgaGFwcGVuIHdpdGggb3VyIHBheWxvYWRlciwgc2luY2UgdGlsZSBoZWFkZXJzIGFyZSBhbHdheXMgcGxhY2VkIGluIHRoZWlyIG93biBSVFAgcGFja2V0LCBhbmQgc28gYSBwYWNrZXQgY2Fubm90IGNvbnRhaW4gdGlsZSBwYXJ0cyBmcm9tIG11bHRpcGxlIHRpbGVzLgoJICBIb3dldmVyLCBJIGhhdmUgYWRkZWQgY29kZSB0byB0cmFjayBpZiBtdWx0aXBsZSB0aWxlIHBhcnRzIGFyZSBpbmNsdWRlZCBpbiBhIHNpbmdsZSBSVFAgcGFja2V0LCBpbiBjYXNlIGluIHRoZSBmdXR1cmUgd2Ugd2FudCB0byBwdXQgaGVhZGVyIGFuZCBkYXRhIGluIHNhbWUgcGFja2V0LgoJICAyLiBPbGQgY29kZSB3b3VsZCBzZXQgdGhlIHRpbGUgaWQgdG8gemVybyBmb3IgYWxsIEoySyBwYWNrZXRzLiBUaGlzIGlzIG5vdyBzZXQgY29ycmVjdGx5IHRvIHRoZSBhcHByb3ByaWF0ZSB0aWxlIGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTEyIDA4OjQxOjUxIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IG1hbmFnZSBmcmFnbWVudGVkIGhlYWRlcnMgY29ycmVjdGx5CgkgIEoySyBtYWluIGhlYWRlciBmcmFtZW50YXRpb24gYWNyb3NzIG11bHRpcGxlIFJUUCBwYWNrZXRzIGlzIG5vdyBoYW5kbGVkIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTg3CgoyMDE2LTA1LTExIDE1OjA0OjI2IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2NvbW1vbi5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrOiBtb3ZlIGNvbW1vbiBjb2RlIHRvIHNoYXJlZCBoZWFkZXIsIGNvZGUgY2xlYW4gdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE4NwoKMjAxNi0wNS0xMSAxNTowMTozMiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMms6IHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxODcKCjIwMTYtMDUtMTIgMTQ6NDM6NDMgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIGF1cGFyc2U6IEZpeCBzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmcgd2FybmluZwoJICBNYWtlIHN1cmUgdGhhdCBzcmMgcGFkIGhhcyBjYXBzIGJlZm9yZSBzZW5kaW5nIHNlZ21lbnQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYzNTkKCjIwMTYtMDUtMTEgMDk6Mjg6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERvbid0IG5vdGlmeSBhYm91dCBzdGF0cyBwcm9wZXJ0eSBjaGFuZ2VzIHdoaWxlIHRha2luZyB0aGUgc2Vzc2lvbiBsb2NrCgkgIFRoZSBzaWduYWwgaGFuZGxlcnMgbWlnaHQgd2FudCB0byBhY3R1YWxseSBnZXQgdGhlIHZhbHVlIG9mIHRoZSBzdGF0cwoJICBwcm9wZXJ0eSwgd2hpY2ggd291bGQgdGFrZSB0aGUgc2Vzc2lvbiBsb2NrIGFnYWluIGFuZCBkZWFkbG9jay4KCSAgVGhpcyB3YXMgaW50cm9kdWNlZCBieSAyZTk2MGU3MDc1MGEwY2I3ZTExMTdkMGMwOWQwODU5Nzg2NmEyOWVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA1LTAzIDEzOjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBlZHRzIHNlZ21lbnQgaGFuZGxpbmcgYWZ0ZXIgc2Vla3MgaW4gcHVzaCBtb2RlCgkgIFByb3Blcmx5IGhhbmRsZSBlZHRzIHNlZ21lbnRzIGZvciBwdXNoLWJhc2VkIG9wZXJhdGlvbiBzZWVraW5nLgoJICBXZSBvbmx5IHN1cHBvcnQgZWR0cyB0aGF0IGEgc2luZ2xlIHNlZ21lbnQgdGhhdCBoYXMgbWVkaWEgYXQgdGhlIGVuZCwKCSAgYmVpbmcgcHJlY2VlZGVkIGJ5IGFueSBudW1iZXIgb2YgZ2FwIHNlZ21lbnRzLgoJICBUaGlzIGFsc28gYWxsb3dzIHRoZSBxdCBzZWdtZW50IHJhdGUgdG8gYmUgcmVzcGVjdGVkIGFmdGVyIHNlZWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2NjkKCjIwMTYtMDUtMDMgMTA6NDE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wZXJseSBhY3RpdmF0ZSBzZWdtZW50IHdpdGggcmF0ZSAhPSAxLjAKCSAgQWxzbyB1c2UgdGhlIHF0IHJhdGUgdG8gaWRlbnRpZnkgdGhlIHBvc2l0aW9uIHdpdGhpbiBhIHF0IHNlZ21lbnQKCSAgdG8gcHJvcGVybHkgdHJhbnNsYXRlIHBsYXliYWNrIHRpbWUgdG8gcXQgbWVkaWEgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NjY5CgoyMDE2LTA1LTAzIDExOjQ1OjAxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHN0YWxsIHdoZW4gcmVjZWl2aW5nIGFscmVhZHkgbG9zdCBwYWNrZXQKCSAgV2hlbiBhIHBhY2tldCBhcnJpdmVzIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBjb25zaWRlcmVkIGxvc3QgYXMgcGFydCBvZiBhCgkgIGxhcmdlIGdhcCB0aGUgImxvc3QgdGltZXIiIGZvciB0aGlzIHdpbGwgYmUgY2FuY2VsbGVkLiBJZiB0aGUgcmVtYWluaW5nCgkgIHBhY2tldHMgb2YgdGhpcyBsYXJnZSBnYXAgbmV2ZXIgYXJyaXZlcywgdGhlcmUgd2lsbCBiZSBtaXNzaW5nIGVudHJpZXMKCSAgaW4gdGhlIHF1ZXVlIGFuZCB0aGUgbG9vcCBmdW5jdGlvbiB3aWxsIGtlZXAgd2FpdGluZyBmb3IgdGhlc2UgcGFja2V0cwoJICB0byBhcnJpdmUgYW5kIG5ldmVyIHB1c2ggYW5vdGhlciBwYWNrZXQsIGVmZmVjdGl2ZWx5IHN0YWxsaW5nIHRoZQoJICBwaXBlbGluZS4KCSAgVGhlIHByb3Bvc2VkIGZpeCBjb25jaWRlcnMgcGFydHMgb2YgYSBsYXJnZSBnYXAgZGVmaW5pdGVseSBsb3N0IChzaW5jZQoJICB0aGV5IGFyZSBjYWxjdWxhdGVkIGZyb20gbGF0ZW5jeSkgYW5kIGlnbm9yZXMgdGhlIGxhdGUgYXJyaXZhbHMuCgkgIEluIHByYWN0aWNlIHRoZSBpc3N1ZSBpcyByYXJlIHNpbmNlIGxhcmdlIGdhcHMgYXJlIHNjaGVkdWxlZCBpbW1lZGlhdGVseSwKCSAgYW5kIGZvciB0aGUgc3RhbGwgdG8gaGFwcGVuIHRoZSBsYXRlIGFycml2YWwgbmVlZHMgdG8gYmUgcHJvY2Vzc2VkCgkgIGJlZm9yZSB0aGlzIHRpbWVzIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkzMwoKMjAxNi0wNS0wNSAxNDoxODoyMSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRha2Ugc2Vzc2lvbiBsb2NrIHdoZW4gY3JlYXRpbmcgc3RhdHMKCSAgVGhlIGFjY2VzcyB0byB0aGUgc2Vzc2lvbiBoYXNoIHRhYmxlIG11c3QgaGFwcGVuIHdoaWxlIHRoZSBzZXNzaW9uIGxvY2sgaXMKCSAgdGFrZW4sIG90aGVyd2lzZSBhbm90aGVyIHRocmVhZCBtaWdodCBtb2RpZnkgdGhlIGhhc2ggdGFibGUgd2hpbGUgd2UncmUKCSAgY3JlYXRpbmcgdGhlIHN0YXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDI1CgoyMDE2LTA1LTAzIDIxOjE3OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXBkYXRlIHNlZ21lbnQgd2hlbiBuZXcgZHVyYXRpb24gaXMgZm91bmQKCSAgT3RoZXJ3aXNlIHRoZSBvbGQgc2VnbWVudCB3aWxsIGhhdmUgYSBzaG9ydGVyIHN0b3AgdGltZSBhbmQgd291bGQKCSAgY2F1c2UgdGhlIHN0cmVhbSB0byBlbmQgdG9vIGVhcmx5LgoKMjAxNi0wNS0wNCAxMTozNzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRpc21lbWJlciBhY3RpdmF0ZV9zZWdtZW50IGludG8gMiBwYXJ0cwoJICBPbmUgdGhhdCB1cGRhdGVzIGFuZCBwdXNoIGEgbmV3IHNlZ21lbnQsIHRoZSBvdGhlciB3aWxsIG1vdmUgdGhlCgkgIHN0cmVhbSB0byB0aGUgbmV3IHNlZ21lbnQgc3RhcnRpbmcgcG9zaXRpb24KCjIwMTYtMDUtMDQgMDk6MzA6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHY6IFVzZSBjb3JyZWN0IHBpeGVsLWFzcGVjdC1yYXRpbyB2YWx1ZXMKCSAgVGhlIHByZXZpb3VzIG9uZXMgcmVzdWx0ZWQgaW4gb2RkIGRpc3BsYXkgYXNwZWN0IHJhdGlvcyBhbmQgd2VyZSBkaWZmZXJlbnQKCSAgZnJvbSB0aGUgb25lcyB1c2VkIGJ5IGUuZy4gZmZtcGVnLiBUaGUgbmV3IG9uZXMgbm93IHJlc3VsdCBpbiBkaXNwbGF5IGFzcGVjdAoJICByYXRpb3Mgb2YgNDozIGFuZCAxNjo5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTQ2CgoyMDE1LTExLTA5IDE3OjU1OjA5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgdGVzdHM6IGFkZCBzcGxpdG11eHNyYyB0ZXN0IGZvciBuZXcgImZvcm1hdC1sb2NhdGlvbiIgc2lnbmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjUKCjIwMTUtMTEtMDkgMTc6NTE6MTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBhZGQgYSBmb3JtYXQtbG9jYXRpb24gc2lnbmFsIHRoYXQgYWxsb3dzIGJ5cGFzc2luZyB0aGUgbG9jYXRpb24gcHJvcGVydHkKCSAgVGhpcyBzaWduYWwgYWxsb3dzIGEgdXNlciB0byBkaXJlY3RseSByZXR1cm4gYSBzb3J0ZWQgbGlzdCBvZgoJICBmaWxlcyB0byBiZSBqb2luZWQsIHNvIHRoYXQgdGhleSBkb24ndCBoYXZlIHRvIGZvbGxvdyB0aGUKCSAgZmlsZW5hbWUgcGF0dGVybiB0aGF0IHRoZSAibG9jYXRpb24iIHByb3BlcnR5IGV4cGVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjUKCjIwMTYtMDUtMDQgMTE6MTU6MjAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogRml4IGRlYWRsb2NrIGNhc2Ugd2hlbiBzb3VyY2UgcmVhY2hlcyBFT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTA3MgoKMjAxNi0wNS0wMyAyMjo1OToyNyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2ltcGxpZnkgYW5kIGNvcnJlY3QgaGVhZGVyIHNjYW5uaW5nCgkgIFRoZSB3YXYgc3BlYyB0ZWxscyB0aGF0ICdmbXQnIChhbmQgJ2JleHQnIGlmIHByZXNlbnQpIG11c3QgY29tZSBiZWZvcmUgJ2RhdGEnLgoJICBUaGVyZSBpcyBubyByZXF1aXJlbWVudCBmb3IgJ2ZtdCcgdG8gYmUgZmlyc3QuIFdlIGFscmVhZHkgaGFkIGEgbGlzdCBvZiBjaHVua3MKCSAgdG8gc2tpcCwgYnV0IGl0IGlzIGVhc2llciB0byBqdXN0IHNraXAgYW55IGNodW5rIHdoaWxlIHNlZWtpbmcgZm9yICdmbXQnLgoJICBUaGlzIGZpeGVzIHJlYWRpbmcgZmlsZXMgZ2VuZXJhdGVkIGJ5IFByb1Rvb2xzLgoKMjAxNi0wNC0zMCAyMjoxNToxMyArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2RldmljZXByb3ZpZGVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2RldmljZXByb3ZpZGVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBTdXBwb3J0IGF1ZGlvIGRldmljZSBwcm92aWRlciBvbiBvc3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI2NQoKMjAxNi0wNS0wMSAxNTowOToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZXQgYXVkaW8gaGVhZGVyIHJhdGUgYWNjb3JkaW5nIHRvIGNhbGN1bGF0ZWQgYnBzIGluIHN0b3BfZmlsZQoJICAuLi4gbm93IHRoYXQgc2V0X2ZpZWxkcyBpcyBubyBsb25nZXIgY2FsbGVkIHRoZXJlIGJ5CgkgIGU1Mzg2MDhiM2Y5MDUzOTAwM2RlMjFjMWRiMjM4ZjNjOWI5NDZlMzAKCjIwMTYtMDQtMjkgMTU6MDQ6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFN0b3JlIHRoZSBzZWdtZW50IHNlcXVlbmNlIG51bWJlciBpbiB0aGUgRU9TIGV2ZW50cyBhbmQgU0VHTUVOVF9ET05FIGV2ZW50cy9tZXNzYWdlCgkgIEFsc28gaW5zdGVhZCBvZiBzdG9yaW5nIGl0IHBlciBzdHJlYW0sIHN0b3JlIGl0IGdsb2JhbGx5IGluIHRoZSBkZW11eGVyLiBJdCdzCgkgIHRoZSBzYW1lIGZvciBlYWNoIHN0cmVhbSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU4MDYKCjIwMTYtMDQtMTEgMTA6NTQ6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEFsd2F5cyBiaW5kIHRvIEFOWSB3aGVuIGFkZHJlc3MgaXMgYSBtdWx0aWNhc3QgYWRkcmVzcyBhbmQgbm90IG9ubHkgb24gV2luZG93cwoJICBGb3IgSVB2NiBhZGRyZXNzZXMsIGJpbmRpbmcgdG8gYSBtdWx0aWNhc3QgZ3JvdXAgZG9lcyBub3Qgd29yayBvbiBMaW51eAoJICBlaXRoZXIuIEFsd2F5cyBiaW5kIHRvIEFOWSBhbmQgdGhlbiBsYXRlciBqb2luIHRoZSBtdWx0aWNhc3QgZ3JvdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2NzkKCjIwMTYtMDQtMjYgMTc6MDE6NDkgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdldXRpbDogc2hvdWxkbid0IGltcGxlbWVudCB0cmFuc2Zvcm0gaWYgZG9uJ3Qgc3VwcG9ydCBpdAoJICBzaG91bGRuJ3QgaW1wbGVtZW50IHRyYW5zZm9ybSBpZiBkb24ndCBzdXBwb3J0IGl0LiBPciBnc3RfYnVmZmVyX2NvcHlfaW50bygpCgkgIHdpbGwgcHJpbnQgRVJST1IgbG9nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NTgzCgoyMDE2LTA0LTI4IDE2OjI0OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBbGxvdyBNUEVHLTEgTGF5ZXIgMSBhbmQgMiBpbiBhZGRpdGlvbiB0byAzIGluIE1QNAoJICBWaWEgdGhlIE1QRUctNCBQYXJ0IDMgc3BlYyB3ZSBjYW4gc3VwcG9ydCB0aGUgb3RoZXIgbGF5ZXJzIHRvby4KCSAgQWxzbyBjb3JyZWN0IHRoZSBzYW1wbGVzIHBlciBmcmFtZSBjYWxjdWxhdGlvbiBmb3IgTVAzIGlmIGl0J3MgTVBFRy0yIG9yCgkgIE1QRUctMi41LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NzI1CgoyMDE2LTA0LTI3IDIwOjQ2OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVwZGF0ZSBjYXBzIGZvciBUQ1Agd2hlbmV2ZXIgdGhleSBjaGFuZ2UKCSAgV2Ugb25seSBjaGFuZ2VkIHRoZW0gZm9yIFVEUCBzbyBmYXIsIHdoaWNoIGNhdXNlZCB0aGUgd3Jvbmcgc2VxbnVtLWJhc2UgYW5kCgkgIG90aGVyIGluZm9ybWF0aW9uIHRvIGJlIHBhc3NlZCB0byBydHBqaXR0ZXJidWZmZXIvZXRjIHdoZW4gc2Vla2luZy4gVGhpcwoJICB1c3VhbGx5IHdhc24ndCB0aGF0IG11Y2ggb2YgYSBwcm9ibGVtIGFzIHRoZSBjb2RlIHRoZXJlIGlzIHJvYnVzdCBlbm91Z2gsIGJ1dAoJICBldmVyeSBub3cgYW5kIHRoZW4gaXQgY2F1c2VzIHVzIHRvIGRyb3AgdXAgdG8gMzI3NTYgcGFja2V0cyBiZWZvcmUgd2UKCSAgY29udGludWUgZG9pbmcgYW55dGhpbmcgbWVhbmluZ2Z1bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTY4OQoKMjAxNi0wNC0yNyAyMDozMzozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEVuc3VyZSB0byBub3QgdGFrZSBjYXBzIHdpdGggdGhlIHdyb25nIHB0IGZvciBnZXR0aW5nIHRoZSBjbG9jay1yYXRlCgkgIEVzcGVjaWFsbHkgdGhlIGNhcHMgb24gdGhlIHBhZCBtaWdodCBiZSBvdXQgb2YgZGF0ZSwgYW5kIHRoZSBuZXcgY2FwcyB3b3VsZCBiZQoJICBwcm92aWRlZCBmb3IgdGhlIGN1cnJlbnQgcHQgdmlhIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2ODkKCjIwMTYtMDQtMjcgMTg6Mjc6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHByb3BhZ2F0ZSBzcHVyaW91cyBzdGF0ZSBjaGFuZ2UgcmV0dXJucyBmcm9tIGludGVybmFsIGVsZW1lbnRzIGZ1cnRoZXIKCSAgV2UgaGFuZGxlIHRoZW0gaW5zaWRlIHJ0c3BzcmMgYW5kIG92ZXJyaWRlIHRoZW0gaW4gYWxsIG90aGVyIGNhc2VzIGFueXdheSwgc28KCSAgZG8gdGhlIHNhbWUgZm9yICJpbnRlcm5hbCIgc3RhdGUgY2hhbmdlcyBsaWtlIFBBVVNFRC0+UEFVU0VEIGFuZAoJICBQTEFZSU5HLT5QTEFZSU5HLgoJICBUaGlzIGtlZXBzIHVuZXhwZWN0ZWQgTk9fUFJFUk9MTCB0byBjb25mdXNlIHN0YXRlIGNoYW5nZXMgaW4gR3N0QmluLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU2ODkKCjIwMTYtMDQtMjcgMTQ6MDk6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IERvbid0IG92ZXJyaWRlIG1heGltdW0gYXVkaW8gY2h1bmsgc2l6ZSB3aXRoIHRoZSBzY2FsZSBhZ2FpbiBqdXN0IGJlZm9yZSB3cml0aW5nIGl0CgkgIHNldF9maWVsZHMoKSBzaG91bGQgb25seSBiZSBjYWxsZWQgaW4gdGhlIGJlZ2lubmluZywgb3RoZXJ3aXNlIHdlIHdpbGwgbmV2ZXIKCSAgcmVtZW1iZXIgdGhlIG1heGltdW0gYXVkaW8gY2h1bmsgc2l6ZSBhbmQgd3JpdGUgYSB3cm9uZyBibG9jayBhbGlnbi4uLiB3aGljaAoJICB0aGVuIGNhdXNlcyB3cm9uZyB0aW1lc3RhbXBzIGFuZCBvdGhlciBwcm9ibGVtcy4KCjIwMTYtMDQtMjcgMTM6NTM6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEFjdHVhbGx5IHN0b3JlIHRoZSBsYXJnZXN0IGF1ZGlvIGNodW5rIHNpemUgZm9yIHRoZSBWQlIgY2FzZSBvZiBNUDIvTVAzCgkgIDNlYTMzOGNlMjcxZTFmNmE5NmQyZWQ0OWQ0NDcyYjA5MWY2ZjhiN2UgY2hhbmdlZCBhdmltdXggdG8gZG8gdGhhdCwgYnV0IGl0CgkgIG5ldmVyIGFjdHVhbGx5IGtlcHQgdHJhY2sgb2YgdGhlIG1heCBhdWRpbyBjaHVuayBmb3IgTVAzIGFuZCBNUDIuIFRoZXNlIGFyZQoJICBrbm93aW5nIHRoZSBoZHIuc2NhbGUgb25seSBhZnRlciBwYXJzaW5nIHRoZSBmcmFtZXMgaW5zdGVhZCBvZiBhdCBzZXRjYXBzCgkgIHRpbWUuCgoyMDE2LTA0LTI1IDE1OjAzOjE0ICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBBbGxvdyBzZXR0aW5nICJzb2NrZXQtdjYiIHdpdGhvdXQgc2V0dGluZyAic29ja2V0IiB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDg5NwoKMjAxNi0wNC0yMiAxNTowMjoxNiArMDEwMCAgTWFyaW8gU2FuY2hleiBQcmFkYSA8bWFyaW9AZW5kbGVzc20uY29tPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnB4ZW5jOiBQcm9wZXJseSBoYW5kbGUgZnJhbWVzIHdpdGggdG9vIGxvdyBkdXJhdGlvbgoJICBXaGVuIGEgZnJhbWUncyBkdXJhdGlvbiBpcyB0b28gbG93LCBjYWxsaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpCgkgIHRvIHNjYWxlIGl0cyB2YWx1ZSBjYW4gcmVzdWx0IGludG8gaXQgYmVpbmcgdHJ1bmNhdGVkIHRvIHplcm8sIHdoaWNoCgkgIHdpbGwgY2F1c2UgdGhlIHZweCBlbmNvZGVyIHRvIHJldHVybiBhbiBWUFhfQ09ERUNfSU5WQUxJRF9QQVJBTSBlcnJvcgoJICB3aGVuIHRyeWluZyB0byBlbmNvZGUuCgkgIFRvIHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmluZywgd2Ugc2ltcGx5IGlnbm9yZSB0aGUgZHVyYXRpb24gd2hlbgoJICBlbmNvZGluZyBpZiBpdCBiZWNvbWVzIHplcm8gYWZ0ZXIgc2NhbGluZywgbG9nZ2luZyBhIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTM5MQoKMjAxNi0wNC0yMiAxNTo0ODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IGRlc2NyaXB0aW9uIG9mIGxpbmVhciBpbnRlcmxhY2luZyBtZXRob2QKCjIwMTYtMDQtMjEgMTQ6MDg6MTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGRvIG5vdCBnZXQgYW55IENvbGxlY3REYXRhIGluIGhhbmRsZV9idWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTMyMAoKMjAxNi0wNC0xMSAyMjo0MToyMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG8gbm90IHVzZSB1bnJlbGlhYmxlIGZyYW1lcmF0ZQoJICB0aW1lc2NhbGUvMSBpcyB1bnJlbGlhYmxlIHZhbHVlIGZvciBmcmFtZXJhdGUuIER1ZSB0byBkb3duc3RyZWFtCgkgIGVsZW1lbnQgdXN1YWxseSB1c2UgZnJhbWVyYXRlIGdlbmVyYXRlZCBieSBxdGRlbXV4LCBsZXQgaXQgYmUgb21pdHRlZAoJICB1bnRpbCB0aGUgZnJhbWVyYXRlIGNhbiBiZSByZWxpYWJseSBjYWxjdWxhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NzMzCgoyMDE2LTA0LTIxIDEyOjUzOjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBSZXZlcnQgInF0ZGVtdXg6IGV4cG9zZSBzdHJlYW1zIHdpdGggZmlyc3QgbW9vZiBmb3IgZnJhZ21lbnRlZCBmb3JtYXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDhiYjY2ODdlYTI1MTU3MGMzMzEwMzgyNzlhNDNkNDQ4MTY3ZDZhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDczMwoKMjAxNi0wMi0wOSAxNzoxNzowOSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc2Vla2luZyBvZiBDRU5DIGVuY3J5cHRlZCBzdHJlYW1zCgkgIFdoZW4gcGxheWluZyBhIHN0cmVhbSB0aGF0IGhhcyBiZWVuIHByb3RlY3RlZCBieSBEQVNIIENFTkMsIHBsYXliYWNrCgkgIHdpbGwgZmFpbCBpZiBhIHNlZWsgaXMgcGVyZm9ybWVkLiBRdGRlbXV4IHByb2R1Y2VzIHRoZSBlcnJvciAic3RyZWFtCgkgIGlzIHByb3RlY3RlZCB1c2luZyBjZW5jLCBidXQgbm8gY2VuYyBwcm90ZWN0aW9uIHN5c3RlbSBpbmZvcm1hdGlvbgoJICBoYXMgYmVlbiBmb3VuZCIgYW5kIHBsYXliYWNrIHN0b3BzLgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IGdzdF9xdGRlbXV4X3Jlc2V0KCkgZ2V0cyBjYWxsZWQgYXMgcGFydCBvZiB0aGUKCSAgRkxVU0ggZHVyaW5nIGEgc2Vlay4gVGhpcyBmdW5jdGlvbiBmcmVlcyB0aGUgcHJvdGVjdGlvbl9zeXN0ZW1faWRzCgkgIGFycmF5LiBXaGVuIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpIGlzIGNhbGxlZCBhZnRlciB0aGUKCSAgc2VlayBoYXMgY29tcGxldGVkLCB0aGUgcHJvdGVjdGlvbl9zeXN0ZW1faWRzIGFycmF5IGlzIGVtcHR5IGFuZAoJICBxdGRlbXV4IGlzIHVuYWJsZSB0byBjcmVhdGUgdGhlIGNvcnJlY3Qgb3V0cHV0IGNhcHMgZm9yIHRoZSBwcm90ZWN0ZWQKCSAgc3RyZWFtLgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIGl0IHRvIG9ubHkgZnJlZSB0aGUgcHJvdGVjdGlvbl9zeXN0ZW1faWRzIG9uCgkgIGhhcmQgcmVzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzg3CgoyMDE2LTA0LTE4IDE0OjMzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBhZGQgInJldHJpZXZlLXNlbmRlci1hZGRyZXNzIiBwcm9wZXJ0eQoJICBUaGlzIGFsbG93cyBkaXNhYmxpbmcgb2Ygc2VuZGVyIGFkZHJlc3MgcmV0cmlldmFsLCB3aGljaCBtaWdodAoJICBiZSB1c2VmdWwgaW4gY2VydGFpbiBzY2VuYXJpb3MsIGxpa2Ugd2hlbiB0aGUgc29ja2V0IGlzIGNvbm5lY3RlZCwKCSAgb3IgdGhlIHNlbmRlciBhZGRyZXNzIGlzIG5vdCBvZiBpbnRlcmVzdCAoZS5nLiB3aGVuIHJlY2VpdmluZyBhbgoJICBNUEVHLVRTIHN0cmVhbSkuIERpc2FibGluZyBzZW5kZXIgYWRkcmVzcyByZXRyaWV2YWwgaW4gdGhvc2UKCSAgY2FzZXMgY2FuIGhhdmUgbWlub3IgcGVyZm9ybWFuY2UgYWR2YW50YWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzMyMwoKMjAxNS0xMS0yNiAxMzoxNTowNiArMDEwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IENoYW5nZSB3YXJuaW5nIGhhbmRsaW5nIHRvIGJyZWFrIGluZmluaXRlIG1lc3NhZ2UgbG9vcAoJICB2NGwyc3JjIGNhbiBjYXVzZSBhbiAiaW5maW5pdGUgbWVzc2FnZSBsb29wIiB3aGVuIGEgYmFzZSBjb250cm9sIGV4cG9zZWQgYXMgYQoJICBwcm9wZXJ0eSBpcyBub3QgcHJvdmlkZWQgYnkgdGhlIGRldmljZS4gSW4gdGhlc2UgY2FzZXMsIGlmIGluIHRoZSB3YXJuaW5nIG1lc3NhZ2UKCSAgaGFuZGxpbmcgZm9yIHRoZSBidXMsIHRoZSBHU1RfREVCVUdfQklOX1RPX0RPVF9GSUxFKiBjYXRlZ29yeSBvZiBmdW5jdGlvbnMgYXJlIHVzZWQsCgkgIHRoZSBzcmMgbG9va3VwIGNhdXNlcyBhIG5ldyB3YXJuaW5nIHRvIGJlIHBvc3RlZCBvbiB0aGUgYnVzLCBjYXVzaW5nIGEgbG9vcC4KCSAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSB3YXJuaW5nIGZvciB0aGVzZSBjb250cm9scyBzbyB0aGV5IGFyZSBub3QgcG9zdGVkIG9uIHRoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg3MDMKCjIwMTYtMDQtMTUgMTA6NDQ6MDIgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwaXRtdXhzaW5rOiBBdm9pZCBjcmVhdGluZyBzbWFsbCBmaWxlIGF0IEVPUwoJICBXaGVuIEVPUyBpcyByZWFjaGVkLCB0aGUgY3VycmVudCBmaWxlIGdldCBjbG9zZWQgYW5kIHRoZSBsYXN0CgkgIEdPUCBpbiB0aGUgbXEgd2FzIHdyaXR0ZW4gaW4gYSBuZXcgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTA3MgoKMjAxNi0wNC0xNSAxOTo1NTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuaDoKCSAgbXBnMTIzOiBmaXggYnVpbGQgd2l0aCBtc3ZjCgkgIEZpeCBzeW50YXggZXJyb3JzIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgY2VyYmVyby1wcm92aWRlZCBsaWJtcGcxMjMKCSAgaGVhZGVycy4gV2UgZG8gdGhlIHNhbWUgYXMgdGhlIGxpYm1wZzEyMyBpbnRlcm5hbCB2aXN1YWwgc3R1ZGlvCgkgIGJ1aWxkIGhlcmUuCgkgIG1wZzEyMy5oKDEzNzgpOiBlcnJvciBDMjE0Mzogc3ludGF4IGVycm9yOiBtaXNzaW5nICcpJyBiZWZvcmUgJygnCgkgIG1wZzEyMy5oKDEzNzgpOiBlcnJvciBDMjA4MTogJ3NzaXplX3QnOiBuYW1lIGluIGZvcm1hbCBwYXJhbWV0ZXIgbGlzdCBpbGxlZ2FsCgkgIG1wZzEyMy5oKDEzNzgpOiBlcnJvciBDMjE0Mzogc3ludGF4IGVycm9yOiBtaXNzaW5nICcpJyBiZWZvcmUgJyonCgkgIG1wZzEyMy5oKDEzNzgpOiBlcnJvciBDMjA5MTogZnVuY3Rpb24gcmV0dXJucyBmdW5jdGlvbgoJICBtcGcxMjMuaCgxMzc4KTogZXJyb3IgQzIxNDM6IHN5bnRheCBlcnJvcjogbWlzc2luZyAneycgYmVmb3JlICcqJwoJICBtcGcxMjMuaCgxMzc4KTogZXJyb3IgQzIwNTk6IHN5bnRheCBlcnJvcjogJyknCgkgIG1wZzEyMy5oKDEzNzkpOiBlcnJvciBDMjE0Mzogc3ludGF4IGVycm9yOiBtaXNzaW5nICcpJyBiZWZvcmUgJyonCgkgIG1wZzEyMy5oKDEzNzkpOiBlcnJvciBDMjM2NTogJ29mZl90JzogcmVkZWZpbml0aW9uOyBwcmV2aW91cyBkZWZpbml0aW9uIHdhcyAndHlwZWRlZicKCSAgLi4uCgoyMDE2LTA0LTE1IDE5OjU5OjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBTMTYgdXNlcyBTMzIgdGVtcG9yYXJ5IGJ1ZmZlcnMsIGZsb2F0L2RvdWJsZSB0aGVpciBvd24gdHlwZQoJICBNYWtlIHN1cmUgdG8gYWxsb2NhdGUgbm90IG9ubHkgYSBTMTYgYnVmZmVyIGZvciBTMTYgYnV0IGEgdHdpY2UgYXMgYmlnIG9uZSB0bwoJICBob2xkIFMzMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTExNgoKMjAxNi0wNC0xNiAwMjoxNzoyNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiB1bmNvcmsgaWYgbmVlZGVkIHVwb24gY29tbWl0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBkZDQ2YWNjZjZkMjgyZmYwNzA2NTg1MmJkOTFjODVjNzhhZjMzOTQuCgkgIFdpdGggc29tZSBhdWRpb3NpbmtzLCBzdGFydGluZyB0aGUgcmluZ2J1ZmZlciBvbiB0aGUgZmlyc3QgY29tbWl0CgkgIGNhdXNlcyBhdWRpbyBnbGl0Y2hlcyBhdCBzdGFydHVwIGJ5IHN0YXJ0aW5nIHRvIG91dHB1dCBzZWdtZW50cwoJICBmcm9tIHRoZSByaW5nYnVmZmVyIGJlZm9yZSBpdCBoYXMgYmVlbiBmaWxsZWQgLyBmdWxseSBwcmVyb2xsZWQuIFRoaXMKCSAgZG9lc24ndCB1c3VhbGx5IGhhcHBlbiB3aXRoIHB1bHNlc2luayBiZWNhdXNlIHdlIG1hcCB0aGUgcHVsc2VhdWRpbwoJICByaW5nYnVmZmVyIGRpcmVjdGx5LCBidXQgd2Ugc2hvdWxkIGtlZXAgdGhpbmdzIGNvbnNpc3RlbnQgd2l0aAoJICBvdGhlciBzaW5rcyB3aXRoIHJlZ2FyZHMgdG8gc3RhcnR1cCBsYXRlbmN5LCBwbHVzIGl0IGdpdmVzIG1vcmUKCSAgaGVhZHdheSB0byBhdm9pZCBnbGl0Y2hpbmcsIHNob3VsZCB0aGUgaW5pdGlhbCAybmQgc2VnbWVudCB0YWtlCgkgIG1vcmUgdGhhbiAxMG1zIHRvIGdlbmVyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDc2CgoyMDE2LTA0LTE1IDAwOjQ2OjU2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgc3J0cCByb2xsb3ZlciBjb3VudGVycyBmcm9tIG1pa2V5IGNyeXB0byBzZXNzaW9ucwoJICBUaGUgc2VydmVyIGNhbiBzZW5kIG11bHRpcGxlIGNyeXB0byBzZXNzaW9ucywgb25lIGZvciBlYWNoIFNTUkMgd2l0aCBpdHMKCSAgb3duIHJvbGxvdmVyIGNvdW50ZXIuIFdlIHBhcnNlIHRoaXMgaW5mb3JtYXRpb24gYW5kIHBhc3MgaXQgdG8gdGhlIFNSVFAKCSAgZGVjb2RlciB2aWEgdGhlICJyZXF1ZXN0LWtleSIgc2lnbmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTQwCgoyMDE2LTA0LTE1IDE0OjM1OjA3ICswMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBkZWJ1ZyBvdXRwdXQgd2hlbiByZXN5bmNpbmcKCSAgRG9uJ3Qgb3V0cHV0IHRoZSBwb2ludGVyIHZhbHVlIG9mIHRoZSB0aW1lKCkgZnVuY3Rpb24gYXMgYSB0aW1lc3RhbXAKCSAgYnkgdXNpbmcgdGhlIGNvcnJlY3QgdmFyaWFibGUuCgkgIEZpeGVzIGJ1aWxkIG9uIFJhc3BiZXJyeSBQaSAzLgoKMjAxNi0wNC0xNSAxMTozNjozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IElmIG5vIHByb3h5IGlzIHNldCBieSBwcm9wZXJ0aWVzLCB1c2UgdGhlIGRlZmF1bHQgbGlic291cCBwcm94eSByZXNvbHZlcgoJICBUaGF0IGlzLCB1c2Ugd2hhdGV2ZXIgc3lzdGVtIHNldHRpbmdzIHRoZXJlIG1pZ2h0IGV4aXN0LiBUaGlzIGlzIHRoZSBzYW1lCgkgIGJlaGF2aW91ciB3ZSB1c2UgaW4gdGhlIEhUVFAgc291cmNlLgoKMjAxNi0wNC0xNCAxMDowMToyOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmYyZDIwOSB0byBhYzJmNjQ3CgoyMDE2LTA0LTEzIDE4OjQ1OjA3ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IEFkZCBtYXhfZmlsZXNfbnVtYmVyIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTIKCjIwMTYtMDQtMTMgMTA6NTc6MDMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGRyb3AgcmVmZXJlbmNlIHRvIHZpZGVvbWl4ZXIgMgoJICBGaXggYSBzbWFsbCBncmFtbWFyIG1pc3Rha2Ugb24gIm92ZXJsYXllZCIgd2hpbGUgYXQgaXQuCgoyMDE2LTA0LTEzIDA5OjU3OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZTogSW5pdGlhbGl6ZSBhbGwgZmllbGRzIGluIHRoZSBtZXRhIGV4cGxpY2l0bHkKCSAgVGhlIG1ldGEgaXMgbm90IGFsbG9jYXRlZCB3aXRoIGFsbCBmaWVsZHMgaW5pdGlhbGl6ZWQgdG8gemVyb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTAyCgoyMDE2LTA0LTEyIDA5OjQxOjAwICswMDAwICBQYW9sbyBQZXR0aW5hdG8gPHBwZXR0aW5hQGNpc2NvLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cyBvbiBidWZmZXIgbGlzdHMgdG9vLCBub3Qgb25seSBvbiBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5MzMKCjIwMTYtMDQtMTIgMTU6MDE6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERyYWluIHRoZSBmaWVsZCBoaXN0b3J5IGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZwoJICBPdGhlcndpc2Ugd2Ugd2lsbCB1c2UgZmllbGRzIGZyb20gdGhlIG9sZCBjYXBzIHdpdGggZXZlcnl0aGluZyBzZXQgdXAgZm9yIHRoZQoJICBuZXcgY2FwcywgY2F1c2luZyBjcmFzaGVzIGFuZCB3b3JzZS4KCSAgQWxzbyBkb24ndCBkbyBhbnl0aGluZyBpZiB0aGUgc2FtZSBjYXBzIGFyZSBzZXQgdHdpY2UuCgoyMDE2LTA0LTEyIDE1OjAwOjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbnN0ZWFkIG9mIGNvbmZ1c2luZyBjcmFzaGVzIGxhdGVyLCBqdXN0IGVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBtYXBwaW5nIGEgdmlkZW8gZnJhbWUgZmFpbHMKCSAgVGhpcyBwcm9iYWJseSBzdGlsbCBjcmFzaGVzIGJ1dCBhdCBsZWFzdCB3ZSBnZXQgc29tZSBoaW50IGFib3V0IHdoYXQgZ29lcwoJICB3cm9uZyBpbnN0ZWFkIG9mIHJhbmRvbSBiZWhhdmlvdXIgbGF0ZXIuCgoyMDE2LTA0LTEyIDExOjM4OjUxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHN0cmVhbSBpcyBhdmFpbGFibGUgaW4gUElGRiBwYXJzZXIKCSAgcXRkZW11eC0+c3RyZWFtcyBpcyBhbiBhcnJheSwgaXQgd2lsbCBuZXZlciBldmFsdWF0ZSB0byB0cnVlIHdoZW4gY29tcGFyaW5nCgkgIHRvIE5VTEwuIEluc3RlYWQgd2Ugd2FudCB0byBjaGVjayB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgdG8gbWFrZSBzdXJlIHRoZQoJICBzdHJlYW0gaXMgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE0CgkgIENJRCAxMzU4Mzg5CgoyMDE2LTA0LTEyIDExOjM3OjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogcmVkdW5kYW50IGNoZWNrIGluIFBJRkYgcGFyc2VyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQxZTEwNTI0ZjNiYWJkZDkyYWFjOGM4YzlkNWI5Y2RmMTg0YzJkNGUuCgoyMDE2LTA0LTEyIDExOjA1OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZHVuZGFudCBjaGVjayBpbiBQSUZGIHBhcnNlcgoJICBxdGRlbXV4LT5zdHJlYW1zIGlzIGFuIGFycmF5IG9mIHNpemUgR1NUX1FUREVNVVhfTUFYX1NUUkVBTVMsIGl0IHdpbGwgbmV2ZXIKCSAgZXZhbHVhdGUgdG8gdHJ1ZSB3aGVuIGNvbXBhcmluZyB0byBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE0CgkgIENJRCAxMzU4Mzg5CgoyMDE2LTA0LTEyIDExOjU2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogYXZvaWQgbGVha2luZyBHVmFsdWVzCgkgIHVuc2V0IHRoZSBHVmFsdWUgaWYgd2UgZG9uJ3QgdXNlIGl0IGFueSBtb3JlIHRvIGF2b2lkIGxlYWtzLgoKMjAxNi0wNC0xMiAxMDoxNTozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZigpIGZpbGwgbGV2ZWwgY2FsY3VsYXRpb24KCSAgVGhlIGhlYWQgb2YgdGhlIHF1ZXVlIGlzIHRoZSBvbGRlc3QgcGFja2V0IChhcyBpbiBsb3dlc3Qgc2VxbnVtKSwgdGhlIHRhaWwgaXMKCSAgdGhlIG5ld2VzdCBwYWNrZXQuIFRvIGNhbGN1bGF0ZSB0aGUgZmlsbCBsZXZlbCwgd2Ugc2hvdWxkIGNhbGN1bGF0ZSB0YWlsLWhlYWQKCSAgd2hpbGUgY29uc2lkZXJpbmcgd3JhcGFyb3VuZHMuIE5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCSAgT3RoZXIgY29kZSBpcyBhbHJlYWR5IGRvaW5nIHRoaXMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ4ODkKCjIwMTYtMDQtMTEgMTA6NDQ6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgcnRwbWFuYWdlcjogSXQncyBHU1RfTElCUywgbm90IEdTVF9MSUJTX0xJQlMKCjIwMTYtMDQtMTEgMDg6MzM6MTcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwYXJzaW5nIHNlZ21lbnQgZHVyYXRpb24gb2YgZW1wdHkgZWRpdCBsaXN0IGJveAoJICBGb3IgZW1wdHkgZWRpdCBsaXN0LCBzZWdtZW50LWR1cmF0aW9uIGluIGVkaXQgbGlzdCBib3ggc2hvdWxkIG5vdCBiZQoJICB1c2VkIGZvciBzZWdtZW50IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0ODcwCgoyMDE2LTA0LTA4IDEzOjA1OjU3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgdGltZWNvZGVzY2FsZSBjb25maWd1cmFibGUKCSAgSW4gc29tZSB1c2UgY2FzZXMgdGhlIGRlZmF1bHQgdGltZWNvZGVzY2FsZSB3aWxsIHByb2R1Y2UgYmxvY2tzIHdpdGggdGhlIHNhbWUgdGltZXN0YW1wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ3NjkKCjIwMTYtMDQtMDcgMTM6MDE6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0ZXJidWZmZXI6IE1vdmUgYXNzZXJ0aW9uIHRvIHRoZSByaWdodCBsb2NhdGlvbgoJICBXZSBzaG91bGRuJ3QgaGF2ZSAibGF0ZSIgbG9zdCB0aW1lcnMgYXQgdGhhdCBwb2ludAoKMjAxNi0wMy0wMiAxNDoyNToyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IFNwZWVkIHVwIGxvc3QgdGltZW91dCBoYW5kbGluZwoJICBXaGVuIGRvd25zdHJlYW0gYmxvY2tzLCAibG9zdCIgdGltZXJzIGFyZSBjcmVhdGVkIHRvIG5vdGlmeSB0aGUKCSAgb3V0Z29pbmcgdGhyZWFkIHRoYXQgcGFja2V0cyBhcmUgbG9zdC4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBmb3IgaGlnaCBwYWNrZXQtcmF0ZSBzdHJlYW1zLCB3ZSBtaWdodCBlbmQgdXAgd2l0aAoJICBhIGJpZyBsaXN0IG9mIGxvc3QgdGltZW91dHMgKGhhZCBhIHVzZS1jYXNlIHdpdGggfjEwMDAuLi4pLgoJICBUaGUgcHJvYmxlbSBpc24ndCBzbyBtdWNoIHRoZSBhbW91bnQgb2YgbG9zdCB0aW1lb3V0cyB0byBoYW5kbGUsIGJ1dAoJICByYXRoZXIgdGhlIHdheSB0aGV5IHdlcmUgaGFuZGxlZC4gQWxsIHRpbWVycyB3b3VsZCBmaXJzdCBiZSBpdGVyYXRlZCwKCSAgdGhlbiB0aGUgb25lIHNlbGVjdGVkIHdvdWxkIGJlIGhhbmRsZWQgLi4uIHRvIHJlLWl0ZXJhdGUgdGhlIGxpc3QgYWdhaW4uCgkgIEFsbCBvZiB0aGlzIGlzIGJlaW5nIGRvbmUgd2hpbGUgdGhlIGpidWYgbG9jayBpcyB0YWtlbiwgd2hpY2ggaW4gc29tZSB1c2UtY2FzZXMKCSAgd291bGQgcmV0dXJuIGluIGhvbGRpbmcgdGhhdCBsb2NrIGZvciAxMHMuLi4gYmxvY2tpbmcgYW55IGJ1ZmZlcnMgZnJvbQoJICBiZWluZyBhY2NlcHRlZCBpbiBpbnB1dC4uLiB3aGljaCB3b3VsZCB0aGVuIGFycml2ZSBsYXRlIC4uLiB3aGljaCB3b3VsZAoJICBjcmVhdGUgcGxlbnR5IG9mIGxvc3QgdGltZXJzIC4uLiB3aGljaCB3b3VsZCBjYXVzZSB0aGUgc2FtZSBpc3N1ZS4KCSAgSW4gb3JkZXIgdG8gYXZvaWQgdGhhdCBzaXR1YXRpb24sIGhhbmRsZSB0aGUgbG9zdCB0aW1lcnMgaW1tZWRpYXRlbHkgd2hlbgoJICBpdGVyYXRpbmcgdGhlIGxpc3Qgb2YgcGVuZGluZyB0aW1lcnMuIFRoaXMgbW9kaWZpZXMgdGhlIGNvbXBsZXhpdHkgZnJvbQoJICBhIHF1YWRyYXRpYyB0byBhIGxpbmVhciBjb21wbGV4aXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTg4CgoyMDE2LTAzLTAyIDE0OjIzOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogRG9uJ3QgY3JlYXRlIGxvc3QgZXZlbnRzIGlmIHdlIGRvbid0IG5lZWQgdGhlbQoJICBXaGVuICJkby1sb3N0IiBpcyBzZXQgdG8gRkFMU0Ugd2UgZG9uJ3QgdXNlL3NlbmQgdGhlIGxvc3QgZXZlbnRzLgoJICBJbiB0aGF0IGNhc2UsIGRvbid0IGNyZWF0ZSB0aGVtIHRvIHN0YXJ0IHdpdGggOikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjk4OAoKMjAxNi0wMy0wMiAxMzo1NzowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IEFkZCB0cmFjaW5nIG9mIGxvY2sgdXNhZ2UKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgbG9jayB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTg4CgoyMDE2LTAyLTEwIDE5OjU2OjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogRG9uJ3QgbGVhayB2NGwyIG9iamVjdHMgYW5kIHByb3BzIG9uIHByb2JlIGVycm9ycwoKMjAxNi0wNC0wNCAxNzo0MjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBqcGVnIGRlcGF5bG9hZGVyIHBhY2tldCBsb3NzIGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSBpdCBhbHdheXMgb3V0cHV0cyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIGEgdmFsaWQKCSAgSlBFRyBmcmFtZSwgaWUuIHN0YXJ0cyB3aXRoIGFuIFNPSSBtYXJrZXIgYW5kIGVuZHMgd2l0aCBhbiBFT0kKCSAgbWFya2VyLgoKMjAxNi0wMy0xNSAwMzoyNToyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBEb24ndCBzZW5kIGludmFsaWQgZnJhbWVzIGRvd25zdHJlYW0gYWZ0ZXIgcGFja2V0IGxvc3Mgb3IgYSBESVNDT05UCgkgIEFmdGVyIGNsZWFyaW5nIHRoZSBhZGFwdGVyIGR1ZSB0byBhIERJU0NPTlQsIGFzIG1pZ2h0IGhhcHBlbiB3aGVuIHNvbWUgcGFja2V0KHMpCgkgIGhhdmUgYmVlbiBsb3N0LCB0aGUgZGVwYXlsb2FkZXIgd2FzIHB1c2hpbmcgZGF0YSBpbnRvIHRoZSBhZGFwdGVyICh3aGljaCBoYWQgbm8KCSAgaGVhZGVyIGR1ZSB0byB0aGUgY2xlYXIpLCBjcmVhdGluZyBhIGhlYWRlcmxlc3MgZnJhbWUgb3V0IG9mIGl0LCBhbmQgc2VuZGluZyBpdAoJICBkb3duc3RyZWFtLiBUaGUgZG93bnN0cmVhbSBkZWNvZGVyIHdvdWxkIHRoZW4gdXN1YWxseSBpZ25vcmUgaXQ7IHVubGVzcyB0aGVyZQoJICB3ZXJlIGxvdHMgb2YgRElTQ09OVHMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGluIHdoaWNoIGNhc2UgdGhlIGRlY29kZXIgd291bGQgcmVhY2gKCSAgaXRzIG1heF9lcnJvcnMgbGltaXQgYW5kIHRocm93IGFuIGVsZW1lbnQgZXJyb3IuIE5vdyB3ZSBqdXN0IGRpc2NhcmQgdGhhdCBkYXRhLgoJICBJdCBpcyBwcm9iYWJ5IG5vdCB3b3J0aCB0cnlpbmcgdG8gc2FsdmFnZSB0aGlzIGRhdGEgYmVjYXVzZSBub24tcHJvZ3Jlc3NpdmUKCSAganBlZyBkb2VzIG5vdCBkZWdyYWRlIGdyYWNlZnVsbHkgYW5kIG1ha2VzIHRoZSB2aWRlbyB1bndhdGNoYWJsZSBldmVuIHdpdGgKCSAgbG93IHBhY2tldCBsb3NzIHN1Y2ggYXMgMy01JS4KCjIwMTYtMDEtMDUgMTY6MTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCBSRkM3MjczIG1lZGlhIGNsb2NrIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyNTkKCjIwMTUtMDctMTAgMDk6NDQ6MTUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUElGRiBib3ggZGV0ZWN0aW9uIGFuZCBwYXJzaW5nIHN1cHBvcnQKCSAgVGhlIFBJRkYgZGF0YSBpcyBzdG9yZWQgaW4gYSBjdXN0b20gVVVJRCBib3ggd2hpY2ggaXMgcGFyc2VkIGFuZCB0aGUKCSAgY3J5cHRvX2luZm8gb2YgdGhlIGVsZW1lbnQgaXMgdXBkYXRlZCBhY2NvcmRpbmdseS4gVGhpcyBhbGxvd3MKCSAgZG93bnN0cmVhbSBkZWNyeXB0b3JzIHRvIHByb2Nlc3MgYW5kIGRlY3J5cHQgdGhlIHByb3RlY3RlZCBjb250ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjE0CgoyMDE2LTA0LTAxIDEyOjE1OjA1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXNkZXBheTogcmVtb3ZlIGRlYWQgY29kZQoJICBwYXlsb2FkX2J1ZmZlciBoYXNuJ3QgYmVlbiBhc3NpZ25lZCBhIHZhbHVlIGJlZm9yZSB0aGUganVtcHMgdG8KCSAgc3dpdGNoX2ZhaWxlZCBvciBwYWNrZXRfc2hvcnQuIFNvIHRoZSB2YWx1ZSBtdXN0IGJlIE5VTEwuIE5vIG5lZWQKCSAgdG8gdW5tYXAgYW5kIHVucmVmLgoJICBDSUQgIzEzMTY0NzYKCjIwMTYtMDMtMzEgMTQ6NTc6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgRnJlZSBtZW1vcnkgb2YgY3VycmVudCBtYWNyb2Jsb2NrIG9uY2UgaXQgaXNuJ3QgbmVlZGVkIHNvIGl0IGlzbid0IGxlYWtlZAoJICBieSB0aGUgY2FsbCBvZiB0aGUgZ3N0X3J0cF9oMjYzX3BheV9CX21iZmluZGVyIGZ1bmN0aW9uLgoJICBpZiAoIShtYWMgPSBnc3RfcnRwX2gyNjNfcGF5X0JfbWJmaW5kZXIgKGNvbnRleHQsIGdvYiwgbWFjLCBtYikpKSB7CgkgIENJRCAxMjEyMTU2CgoyMDE2LTAzLTMxIDAyOjE1OjA0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiBIYW5kbGUgYSBoYW5nIGRyYWluaW5nIG91dCBhdCBFT1MKCSAgTWFrZSBzdXJlIHRoYXQgYWxsIGRhdGEgaXMgZHJhaW5lZCBvdXQgd2hlbiB0aGUgcmVmZXJlbmNlIHBhZAoJICBnb2VzIEVPUy4gRml4ZXMgYSBwcm9ibGVtIHdoZXJlIGRhdGEgdGhhdCBhcnJpdmVzIG9uIG90aGVyCgkgIHBhZHMgYWZ0ZXIgdGhlIHJlZmVyZW5jZSBwYWQgZmluaXNoZXMgY2FuIHN0YWxsIGZvcmV2ZXIgYW5kCgkgIG5ldmVyIHBhc3MgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzExCgoyMDE2LTAzLTE4IDE1OjQ1OjAxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IEZpeCBvY2Nhc2lvbmFsIGRlYWRsb2NrIHdoZW4gZW5kaW5nIGZpbGUgd2l0aCBzdWJ0aXRsZQoJICBEZWFkbG9jayBvY2N1cnMgd2hlbiBzcGxpdHRpbmcgZmlsZXMgaWYgb25lIHN0cmVhbSByZWNlaXZlZCBubyBidWZmZXIgZHVyaW5nCgkgIHRoZSBmaXJzdCBHT1Agb2YgdGhlIG5leHQgZmlsZS4gVGhhdCBjYW4gaGFwcGVuIGluIHRoYXQgc2NlbmFyaW8gZm9yIGV4YW1wbGU6CgkgIDEpIFRoZSBmaXJzdCBHT1Agb2YgdmlkZW8gaXMgY29sbGVjdGVkLCBpdCBoYXMgYSBkdXJhdGlvbiBvZiAxMHMuCgkgIG1heF9pbl9ydW5uaW5nX3RpbWUgaXMgc2V0IHRvIDEwcy4KCSAgMikgT3RoZXIgc3RyZWFtcyBjYXRjaHVwIGFuZCB3ZSByZWNlaXZlIHRoZSBmaXJzdCBzdWJ0aXRsZSBidWZmZXIgYXQgdHM9MCBhbmQKCSAgaGFzIGEgZHVyYXRpb24gb2YgMW1pbi4KCSAgMykgV2UgcmVjZWl2ZSB0aGUgMm5kIHN1YnRpdGxlIGJ1ZmZlciB3aXRoIGEgdHM9MW1pbi4gaW5fcnVubmluZ190aW1lIGlzIHNldCB0bwoJICAxbWluLiBUaGF0IGJ1ZmZlciBpcyBibG9ja2VkIGluIGhhbmRsZV9tcV9pbnB1dCgpIGJlY2F1c2UKCSAgbWF4X2luX3J1bm5pbmdfdGltZSBpcyBzdGlsbCAxMHMuCgkgIDQpIFNpbmNlIGFsbCBpbl9ydW5uaW5nX3RpbWUgYXJlIG5vdyA+IDEwcywgbWF4X291dF9ydW5uaW5nX3RpbWUgaXMgbm93IHNldCB0bwoJICAxMHMuIFRoYXQgZmlyc3QgR09QIGdldHMgcmVjb3JkZWQgaW50byB0aGUgZmlsZS4gVGhlIG11eGVyIHBvcCBidWZmZXJzIG91dAoJICBvZiB0aGUgbXEsIHdoZW4gaXQgdHJpZXMgdG8gcG9wIGEgMm5kIHN1YnRpdGxlIGJ1ZmZlciBpdCBibG9ja3MgYmVjYXVzZSB0aGUKCSAgR3N0RGF0YVF1ZXVlIGlzIGVtcHR5LgoJICA1KSBBIDJuZCBHT1Agb2YgdmlkZW8gaXMgY29sbGVjdGVkIGFuZCBoYXMgYSBkdXJhdGlvbiBvZiAxMHMgYXMgd2VsbC4KCSAgbWF4X2luX3J1bm5pbmdfdGltZSBpcyBub3cgMjBzLiBTaW5jZSBzdWJ0aXRsZSdzIGluX3J1bm5pbmdfdGltZSBpcyBhbHJlYWR5CgkgIDFtaW4sIHRoYXQgR09QIGlzIGFscmVhZHkgY29tcGxldGUuCgkgIDYpIEJ1dCBsZXQncyBzYXkgd2Ugb3ZlcnJhbiB0aGUgbWF4IGZpbGUgc2l6ZSwgd2UgdGh1cyBzZXQgc3RhdGUgdG8KCSAgU1BMSVRNVVhfU1RBVEVfRU5ESU5HX0ZJTEUgbm93LiBBcyBzb29uIGFzIGEgYnVmZmVyIHdpdGggdHMgPiAxMHMgKGVuZCBvZgoJICBwcmV2aW91cyBHT1ApIGFycml2ZXMgaW4gaGFuZGxlX21xX291dHB1dCgpLCBFT1MgZXZlbnQgaXMgc2VudCBkb3duc3RyZWFtCgkgIGluc3RlYWQuIEJ1dCBzaW5jZSB0aGUgc3VidGl0bGUgcXVldWUgaXMgZW1wdHksIHRoYXQncyBuZXZlciBnb2luZyB0bwoJICBoYXBwZW4uIFBpcGVsaW5lIGlzIG5vdyBkZWFkbG9ja2VkLgoJICBUbyBmaXggdGhpcyBzaXR1YXRpb24gd2UgaGF2ZSB0bzoKCSAgLSBTZW5kIGEgZHVtbXkgZXZlbnQgdGhyb3VnaCB0aGUgcXVldWUgdG8gd2FrZXVwIG91dHB1dCB0aHJlYWQuCgkgIC0gVXBkYXRlIG91dF9ydW5uaW5nX3RpbWUgdG8gYXQgbGVhc3QgbWF4X291dF9ydW5uaW5nX3RpbWUgc28gaXQgc2VuZHMgRU9TLgoJICAtIFJlc3BlY3QgdGltZSBvcmRlciwgc28gd2Ugc2V0IG91dF9ydW5uaW5nX3RpbT1tYXhfaW5fcnVubmluZ190aW1lIGJlY2F1c2UKCSAgdGhhdCdzIGJpZ2dlciB0aGFuIHByZXZpb3VzIGJ1ZmZlciBhbmQgc21hbGxlciB0aGFuIG5leHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3MTEKCjIwMTUtMTEtMTcgMTg6MTc6MzUgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIG5ldyBzaWduYWwgJ29uLWFwcC1ydGNwJwoJICBTaW1pbGFyIHRvIHRoZSAnb24tZmVlZGJhY2stcnRjcCcgc2lnbmFsLCBidXQgZW1pdHRlZCBmb3IgUlRDUCBBUFAKCSAgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxNwoKMjAxNi0wMy0yNCAxNTo1NzoxMSArMDkwMCAgTWluamFlIEtpbSA8bmF0ZS5raW1AbGdlLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IFNldCB0byBpbml0aWFsIHZhbHVlIGZvciAnbnRwbnMnIGluIGdldF9jdXJyZW50X3RpbWVzKCkKCSAgSW5pdGlhbGl6ZSAibnRwbnMiIHZhcmlhYmxlIHRvIC0xIGFzIHRoZSBPRSBjb21waWxlciBmb3Igc29tZSByZWFzb24gZG9lc24ndAoJICByZWFsaXplIHRoYXQgdGhlIHZhcmlhYmxlIGlzIHNldCBpbiBhbGwgY29kZSBwYXRocy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDExOQoKMjAxNi0wMy0yNyAxNDoyOTo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IEZpeCBsb2dnaW5nIGluIGJhc2Ugd2lkZ2V0IGFuZCBmaXggZGVzYyBvZiBHTCBzaW5rCgkgIFNldCBhIGRlZmF1bHQgY2F0ZWdvcnkgZm9yIGd0a2dzdGJhc2V3aWRnZXQgbGVzdCB0aGUgbG9nZ2luZyBnbyB0byB0aGUgJ2RlZmF1bHQnCgkgIGNhdGVnb3J5IHdoZXJlIGl0IGNhbid0IGJlIGZvdW5kIGVhc2lseQoKMjAxNi0wMS0zMSAxMTowODozOCArMTEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBbGxvdyBkaWZmZXJlbnQgcXVhbnRpemF0aW9uIHRhYmxlcyBmb3IgY29tcG9uZW50cyAyIGFuZCAzCgkgIFJGQyAyNDM1IG1lbnRpb25zIGluIHNlY3Rpb24gNC4xIHRoYXQgVS9WIHVzZSB0YWJsZSBudW1iZXIgMSwgYnV0IHRoaXMgc2VlbXMKCSAganVzdCBsaWtlIGFuIGV4YW1wbGUuIFNvbWUgZW5jb2RlcnMgYXJlIG5vdCBmb2xsb3dpbmcgdGhhdCBhbmQgdGhlcmUgc2VlbXMgdG8KCSAgYmUgbm8gcmVhc29uIHRvIHJlamVjdCB0aGVpciBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMzQ1CgoyMDE2LTAzLTI1IDE3OjQ5OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0ay9nbDogZG9uJ3QgYXNzZXJ0IHdoZW4gZ2RrIGRvZXNuJ3QgcHJvdmlkZSBhIEdMIGNvbnRleHQKCSAgQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBjaGVjayB3aGV0aGVyIGd0a2dsc2luayBpcyBzdXBwb3J0ZWQgYnkgc2V0dGluZwoJICB0aGUgZWxlbWVudCB0byBSRUFEWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDE0OAoKMjAxNi0wMy0yNCAxOToyMzoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBVc2UgdGhyZWFkcyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMKCSAgVGhpcyBpcyBhIHJlZG8gb2YgY29tbWl0IGI4NDhjMWI2ZmZkMWU1MDgyMjg4MjBhMDEzZjk0ZmI0NDVlNDc3N2YuIFRoZQoJICBjb2RlIHdhcyBsb3N0IHdoZW4gdGhlIGVsZW1lbnRzIHdoZXJlIHBvcnRlZCB0byB1c2UgYSBiYXNlY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQxNjkKCjIwMTYtMDItMjkgMjM6NDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4c2luazogb25seSB0cnkgdG8gY3JlYXRlIGludGVybmFsIHNpbmsgaWYgaXQgZG9lc24ndCBleGlzdAoJICBUaGlzIGFsbG93cyBzcGxpdG11eHNpbmsgdG8gYmUgcmV1c2VkIGFmdGVyIGJlaW5nIHB1dCB0byBOVUxMLgoJICBUZXN0IGluY2x1ZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4OTMKCjIwMTUtMTAtMDEgMTM6NDE6MjMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHByb2JlIGFsbCBjb2xvcnNwYWNlIHN1cHBvcnRlZCBieSBkZXZpY2UKCSAgQSBkZXZpY2UgY2FuIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBjb2xvcnNwYWNlIGZvciBhIGdpdmVuIGltYWdlCgkgIGRpbWVuc2lvbiBhbmQgcGl4ZWwgZm9ybWF0LiBTbyB3ZSBoYXZlIHRvIHByb2JlIGFsbCB0aGUgc3VwcG9ydGVkCgkgIGNvbG9yc3BhY2UgYW5kIG5vdCBvbmx5IHJlbHkgb24gdGhlIGRlZmF1bHQgb25lLiBPdGhlcndpc2Ugd2UgY291bGQgZW5kCgkgIHVwIHdpdGggbmVnb3RpYXRpb24gZmFpbHVyZSBpZiB0aGUgY2FwcyBjb2xvcmltZXRyeSBmaWVsZCBkb24ndCBtYXRjaAoJICB0aGUgdjRsMiBkZXZpY2UgZGVmYXVsdCBvbmUgZXZlbiBpZiB0aGUgdjRsMiBjb3VsZCBzdXBwb3J0IHN1Y2gKCSAgY29sb3JpbWV0cnkuCgkgIFRoaXMgcGF0Y2ggZW5hYmxlIHByb2JpbmcgaWYgY29sb3JzcGFjZSBmb3IgYm90aCBjYXB0dXJlIGFuZCBvdXRwdXQKCSAgZGV2aWNlLiBJdCByZWFsbHkgbWFrZXMgc2Vuc2UgZm9yIG91dHB1dCBkZXZpY2Ugc2luY2UgdGhlIGNvbG9yc3BhY2UKCSAgc2hhbGwgYmUgc2V0IGJ5IHRoZSBhcHBsaWNhdGlvbiBhbmQgYSBsaXR0bGUgbGVzcyBmb3IgY2FwdHVyZSBkZXZpY2UKCSAgd2hpY2gsIGF0IHRoZSBtb21lbnQsIHNoYWxsIHByb3ZpZGUgdGhlIGNvbG9yc3BhY2U7IGllOiB0aGUgdjRsMgoJICBzcGVjaWZpY2F0aW9uIHNlZW1zIHRvIG5vdCB0YWtlIGludG8gYWNjb3VudCB0aGUgZmFjdCB0aGF0IGEgY2FwdHVyZQoJICBkZXZpY2UgY291bGQgZG8gY29sb3JzcGFjZSBjb252ZXJzaW9uLgoJICBBcyBhIHNpZGUgZWZmZXQsIHByb2JpbmcgdGFrZXMgc29tZSB0aW1lcyBhbmQgc28gc2xpZ3RobHkgZGVsYXkgdjRsMgoJICBpbml0aWFsaXphdGlvbi4gTm90ZSB0aGF0IHRoaXMgcGF0Y2ggb25seSBwcm9iZSBjb2xvcnNwYWNlIGFuZCBub3QgYWxsCgkgIGNvbG9yc3BhY2UsIG1hdHJpeCwgdHJhbnNmZXIgYW5kIHJhbmdlIGNvbWJpbmF0aW9uIHRvIGF2b2lkIHRha2luZyB0b28KCSAgbXVjaCB0aW1lLCBlc3BlY2lhbGx5IHdpdGggbG93LXNwZWVkIGRldmljZXMgYXMgZnVsbCBwcm9iaW5nIGRvIDE3ODIKCSAgaW9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5MzcKCjIwMTYtMDMtMjQgMTY6MjE6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJICBjaGVjazogRml4IGluZGVudGF0aW9uCgoyMDE2LTAzLTI0IDE2OjIwOjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgdGVzdHM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE2LTAzLTEwIDA4OjQ0OjU3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtiYXNlc2luazogcG9zdCBtZXNzYWdlIHRvIGFwcGxpY2F0aW9uIGZvciB1bmhhbmRsZWQga2V5Ym9hcmQvbW91c2UgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0MDMKCjIwMTYtMDMtMDQgMTU6NTA6MjYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJICBiYWQ6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDgxCgoyMDE2LTAzLTA0IDE1OjUwOjI2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGJhZDogdXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19hZGRfc3RhdGljX3BhZF90ZW1wbGF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwODEKCjIwMTYtMDMtMTYgMjA6MjY6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBSZXR1cm4gdGhlIGN1cnJlbnQgY2FwcyBvbiB0aGUgc3JjcGFkcyBvbiBjYXBzIHF1ZXJpZXMKCSAgSXQncyBub3QgbGlrZSB3ZSBjb3VsZCBhY2NlcHQgYW55IG90aGVyIGNhcHMgaGVyZS4gVGhlIGNhcHMgYXJlIGRlY2lkZWQgYnkgdGhlCgkgIHVwc3RyZWFtIGNhcHMgZXZlbnQuCgkgIEFsc28ga2VlcCB0aGUgZmlsdGVyIG9yZGVyIGludGFjdCB3aGVuIGZpbHRlcmluZyB0aGUgcmVzdWx0cyBhZ2FpbnN0IHRoZQoJICBmaWx0ZXIgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzMyNgoKMjAxNi0wMy0wNCAxNjoxNDo0NCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuYzoKCSAgdWdseTogdXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19hZGRfc3RhdGljX3BhZF90ZW1wbGF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwODIKCjIwMTYtMDMtMDQgMTY6MTQ6NDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIHVnbHk6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3N0YXRpY19wYWRfdGVtcGxhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDgyCgoyMDE2LTAzLTI0IDE1OjE0OjIzICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHF0ZGVtdXggbWVtb3J5IGxlYWsgaW4gc3JjX2NvbnZlcnQgZnVuY3Rpb24KCSAgSWYgd2UgZG9uJ3QgZmluZCB0aGUgaW5kZXggb2YgdGhlIHNhbXBsZSBjb3JyZWN0bHkgaW4gc3JjX2NvbnZlcnQgZnVuY3Rpb24sCgkgIHdlIGhhdmUgdG8gdW5yZWYgYWJvdXQgdGhlIHF0ZGVtdXggYmVmb3JlIHJldHVybmluZyB2YWx1ZS4KCSAgU28sIEkgaGF2ZSBtb2RpZnkgaXQgYWJvdXQgaW5zdGVhZCBwYXNzIHF0ZGVtdXggYXMgYSBwYXJhbWV0ZXIgaW50bwoJICBzcmNfY29udmVydCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzk3MwoKMjAxNi0wMy0yMiAxMzoxNToyMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBjaGVjayBjb25kaXRpb24gZm9yIGZhaWwgY2FzZSBpbiBnZXRfZHVyYXRpb24gZnVuY3Rpb24KCSAgQ3VycmVudGx5LCBnZXRfZHVyYXRpb24gZnVuY3Rpb24gYWx3YXlzIHJldHVybiB0aGUgVFJVRSBldmVuIHRob3VnaAoJICBpdCBjYW4ndCBiZSBzZXQgZHVyYXRpb24gY29ycmVjdGx5LiBTbywgd2UgbmVlZCB0byBhZGQgdGhlIGVsc2UgY29uZGl0aW9uCgkgIGFib3V0IHRoZSBmYWlsIGNhc2UuIEFsc28sIHdlIGFscmVhZHkgc2V0IHRoZSBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIGluIHRoaXMgZnVuY3Rpb24uIFNvIEkgaGF2ZSBtb2RpZnkgaXQgd2hpY2ggaXMgcmVsYXRlZCBjb2RlIGluIHNvbWUKCSAgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NjgKCjIwMTYtMDMtMjEgMTA6MTE6MjMgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb2RpZnkgZGF0YSB0eXBlIG9mIGR1cmF0aW9uIGluIGhhbmRsZV9zcmNfcXVlcnkgZnVuY3Rpb24KCSAgRGF0YSB0eXBlIG9mIGR1cmF0aW9uIG5lZWQgdG8gbW9kaWZ5IGZyb20gZ3VpbnQ2NCB0byBHc3RDbG9ja1RpbWUKCSAgZm9yIGNvbnNpc3RlbmN5IGluIGhhbmRsZV9zcmNfcXVlcnkgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5NjUKCjIwMTYtMDMtMTggMTQ6NDA6NTggKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZGVkIHVuaXQgdGVzdHMgZm9yIGZpZWxkPWF1dG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzg2OQoKMjAxNi0wMy0xNyAyMToyMTowMiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBBZGRlZCAiYXV0byIgZmllbGRzIG1vZGUKCSAgVGhlICJhdXRvIiBmaWVsZHMgbW9kZSB3aWxsIGRldGVjdCB0aGUgdXBzdHJlYW0gYW5kIGRvd25zdHJlYW0gZnJhbWVyYXRlcyBhbmQKCSAgd2lsbCBkZWNpZGUgdG8gZGVpbnRlcmxhY2UgYWxsIG9yIG9ubHkgdG9wIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzg2OQoKMjAxNi0wMy0xNiAyMDoxNzo1NSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJICBmbHZkZW11eDogZG9uJ3QgZW1pdCBwYWQtYWRkZWQgdW50aWwgY2FwcyBhcmUgcmVhZHkKCSAgSW4gb3RoZXIgd29yZHMsIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyBzaG91bGQgbmV2ZXIgcmV0dXJuIE5VTEwKCSAgaW4gYSBwYWQtYWRkZWQgY2FsbGJhY2sgZnJvbSB0aGUgZGVtdXhlci4KCSAgQWRkZWQgdGVzdHMgZm9yIHRoZSB0d28gc3BlY2lhbCBjYXNlcyB3aXRoIEFBQyBhbmQgSC4yNjQgd2hlcmUgdGhpcwoJICB3b3VsZCBoYXBwZW4gZXZlcnkgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzc4MAoKMjAxNi0wMy0wNCAxMDozMDoxMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgZ29vZDogdXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19hZGRfc3RhdGljX3BhZF90ZW1wbGF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNzYKCjIwMTYtMDMtMDQgMDk6NDI6NDQgKzAxMDAgIERhdmlkIEJ1Y2htYW5uIDxkYXZpZC5idWNobWFubkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBUZXN0IHRvIHZlcmlmeSBmbHZtdXggaGFuZGxlcyBEVFMgd2l0aCBHU1RfQ0xPQ0tfVElNRSBOT05FCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDcKCjIwMTUtMTEtMDQgMTQ6NTE6MTkgKzA5MDAgIEppaGFlIFlpIDxqaWhhZS55aUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgcG90ZW50aWFsbHkgb3ZlcmZsb3dpbmcgZXhwcmVzc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NTY5CgoyMDE2LTAzLTIyIDEwOjQzOjQ1ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHRoZSBmdW5jdGlvbiB0byBnZXQgY2hhbm5lbHMgYW5kIHNhbXBsZSByYXRlIGZvciBBQUMKCSAgQWRkIGFhY19nZXRfY2hhbm5lbHMgYW5kIHNhbXBsZV9yYXRlIGZ1bmN0aW9uIHRvIGdldCB0aGVzZSB2YWx1ZSBmb3IKCSAgQUFDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTEwCgoyMDE2LTAzLTI0IDEzOjMzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjguMCA9PT0KCjIwMTYtMDMtMjQgMTI6Mjc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjguMAoKMjAxNi0wMy0yNCAxMjowMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0xNiAyMDoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IFVzZSBHc3RJdGVyYXRvciBmb3IgaXRlcmF0aW5nIGFsbCBwYWRzIGluc3RlYWQgb2YgbWFudWFsbHkgaXRlcmF0aW5nIHRoZW0gd2hpbGUgaG9sZGluZyB0aGUgb2JqZWN0IGxvY2sgYWxsIHRoZSB0aW1lCgkgIERvaW5nIHF1ZXJpZXMgd2hpbGUgaG9sZGluZyB0aGUgb2JqZWN0IGxvY2sgaXMgYSBiaXQgZGFuZ2Vyb3VzLCBhbmQgaW4gdGhpcwoJICBjYXNlIGNhdXNlcyBkZWFkbG9ja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMjYKCjIwMTYtMDMtMTcgMjA6NTM6MjcgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdHlwbyB0byBub3QgY2hhbmdlIHRoZSBpbnB1dCBjYXBzIGJ1dCBvdXIgZmlsdGVyZWQgY2FwcwoJICBDaGFuZ2luZyB0aGUgaW5wdXQgY2FwcyBhbmQgbm90IHVzaW5nIHRoZW0gYW55bW9yZSBhZnRlcndhcmRzIGlzIHVzZWxlc3MsIGFuZAoJICBpdCBicmVha3MgbmVnb3RpYXRpb24gaW4gcGlwZWxpbmVzIGxpa2U6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhICJ2aWRlby94LXJhdyxmcmFtZXJhdGU9MjUvMSxpbnRlcmxhY2UtbW9kZT1pbnRlcmxlYXZlZCIgIQoJICBkZWludGVybGFjZSBmaWVsZHM9YWxsICEgInZpZGVvL3gtcmF3LGZyYW1lcmF0ZT01MC8xLGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlIiAhCgkgIGZha2VzaW5rCgo9PT0gcmVsZWFzZSAxLjcuOTEgPT09CgoyMDE2LTAzLTE1IDEyOjA0OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjkxCgoyMDE2LTAzLTE1IDExOjUzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0xNSAxMTo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2h1LnBvOgoJKiBwby9zci5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDMtMTUgMDM6MjY6MTQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogU29tZSBjb21tZW50IGFuZCBkb2N1bWVudGF0aW9uIGNsYXJpZmljYXRpb25zL2ZpeGVzCgoyMDE2LTAzLTEzIDEwOjMzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJmbGFjcGFyc2U6IHB1c2ggdGFncyBpbiBwcmVfcHVzaF9mcmFtZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0MDY1ZmNiODBhNDk5MjRiNzBmMGM4ZmMxNTlkZWMwZmY0Nzk0M2ExLgoJICBmbGFjcGFyc2Ugc2hvdWxkIG5vdCBwdXNoIHRhZ3MgYnkgaXRzZWxmLCB0aGUgYmFzZSBjbGFzcyBpcyBnb2luZyB0byBkbyB0aGF0CgkgIHdoaWxlIHByb3Blcmx5IG1lcmdpbmcgaW4gdXBzdHJlYW0gdGFncy4gSXQganVzdCBkaWRuJ3QgYmVjYXVzZSBvZiBhIGJ1ZyBpbgoJICB0aGUgYmFzZSBjbGFzcywgd2hpY2ggd2FzIGhpZGRlbiBieSB0aGlzIGNvbW1pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzU1MwoKMjAxNi0wMi0yNSAwNToxNzo1MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgd2luMzI6IERvbid0IHVzZSBfX2F0dHJpYnV0ZV9fIG9uIE1TVkMKCSAgVXNlIE1TVkMtZXF1aXZhbGVudHMgZm9yIGFsaWdubWVudCBhbmQgcGFja2luZyBjb21waWxlciBkaXJlY3RpdmVzIHdoZW4gYnVpbGRpbmcKCSAgb24gTVNWQwoKMjAxNi0wMi0yNSAwNToxNjo0MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICB3aW4zMjogRG9uJ3QgdHJ5IHRvIGluY2x1ZGUgeG1hdGguaCBvbiBuZXdlciBWaXN1YWwgU3R1ZGlvCgoyMDE2LTAyLTI1IDA1OjE2OjA5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgZ3N0IEZhY3RvciBvdXQgZW5kaWFuLW9yZGVyIFJHQiBmb3JtYXRzCgkgIE1TVkMgc2VlbXMgdG8gaWdub3JlIHByZXByb2Nlc3NvciBjb25kaXRpb25hbHMgaW5zaWRlIHN0YXRpYyBwYWQKCSAgdGVtcGxhdGUgbWFjcm9zLgoKMjAxNi0wMy0wOCAxNzozNzoxNyArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJjdHNvdW5kc2luazogU2V0dGluZyB2b2x1bWUgc2hvdWxkIG5vdCB1bm11dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNi0wMy0wOCAxMzo1NzoyNCArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJjdHNvdW5kc2luazogRml4IHZvbHVtZSByZXNldCBvbiB1bm11dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNi0wMy0wOCAxMzowMzo1NSArMDEwMCAgQWxiYW4gQmVkZWwgPGFsYmFuLmJlZGVsQGF2aW9uaWMtZGVzaWduLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBmaXggY2FwdHVyZSB3aXRoIGJheWVyIGZvcm1hdHMgb3RoZXIgdGhhbiBiZ2dyCgkgIGdzdF92NGwyX29iamVjdF9nZXRfY2Fwc19pbmZvKCkgYWx3YXlzIHJldHVybiBWNEwyX1BJWF9GTVRfU0JHR1I4CgkgIGZvciBhbGwgYmF5ZXIgZm9ybWF0cy4gVGhpcyBpcyBvYnZpb3VzbHkgYnJva2VuIGlmIHRoZSBkZXZpY2UgdXNlCgkgIGFub3RoZXIgb3JkZXJpbmcuIEZpeCB0aGlzIGJ5IHByb3Blcmx5IHJlYWRpbmcgdGhlIGZvcm1hdCBwYXJhbWV0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMTgKCjIwMTYtMDMtMDcgMTA6Mjg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNldCBwZW5kaW5nIHNlZ21lbnQgaWYgd2UgYXJlIGFscmVhZHkgcHVzaGluZyBvbmUKCSAgV2hlbiB1cHN0cmVhbSBpcyBydW5uaW5nIGluIGJ5dGVzIGluIHB1c2gtbW9kZSwgcXRkZW11eCB3aWxsCgkgIGNvbnZlcnQgc2Vla3MgZnJvbSB0aW1lIHRvIGJ5dGVzIGFuZCBzZW5kIGl0IHVwc3RyZWFtLiBVcHN0cmVhbQoJICBlbGVtZW50IHdpbGwgcGVyZm9ybSBhIGJ5dGUgc2VlayBhbmQgc2VuZCBhIGJ5dGUgc2VnbWVudCB0byBxdGRlbXV4CgkgIHRoYXQgd2lsbCBjb252ZXJ0IGl0IHRvIHRpbWUgYW5kIHB1c2ggaXQgZG93bnN0cmVhbS4KCSAgVGhlcmUgaXMsIGhvd2V2ZXIsIHRoZSBwZW5kaW5nX3NlZ21lbnQgdmFyaWFibGUgdGhhdCBzdG9yZXMgYSBuZXcKCSAgc2VnbWVudCBldmVudCB0byBiZSBwdXNoZWQgYmVmb3JlIHRoZSBuZXh0IGRhdGEuIFdoZW4gaGFuZGxpbmcgc2Vla3MKCSAgYXMgbWVudGlvbmVkIGFib3ZlIHRoaXMgdmFyaWFibGUgd2FzIGJlaW5nIGlnbm9yZWQgYW5kLCBpZiBpdCBjb250YWluZWQKCSAgc29tZSBzZWdtZW50IGV2ZW50LCBpdCB3b3VsZCBvdmVycmlkZSB0aGUgb25lIHJlc3VsdGluZyBmcm9tIHRoZSBzZWVrLgoJICBUaGlzIHdvdWxkIHJlc3RvcmUgYSBwcmV2aW91cyBzZWdtZW50IGFuZCB3b3VsZCBjYXVzZSB0aGUgc2VlayBzZWdtZW50CgkgIHRvIGJlIGRpc2NhcmRlZCBkb3duc3RyZWFtLgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgaXNzdWUgYnkgdW5yZWZpbmcgYW55IHBlbmRpbmcgc2VnbWVudCBhcyB0aGUKCSAgc2VlayBmcm9tIHVwc3RyZWFtIHNob3VsZCBjb250YWluIHRoZSBsYXRlc3Qgb25lIHRoYXQgc2hvdWxkIGJlCgkgIHVzZWQsIGFzIHJlcXVlc3RlZCBieSB0aGUgYXBwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMxNjUKCjIwMTYtMDMtMDcgMTA6Mjc6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBydW4gZ3N0LWluZGVudAoJICBPdGhlcndpc2UgY29tbWl0cyB3aWxsIGZhaWwgd2l0aCBvdXIgaW5kZW50IGNoZWNrIGhvb2sKCjIwMTYtMDMtMDQgMTU6MDk6NDUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvbG9yaW1ldHJ5IGZvciBOVjEyCgkgIFJlcGxpY2F0ZSBWNEwyX01BUF9RVUFOVElaQVRJT05fREVGQVVMVCBtYWNybyBiZWhhdmlvci4KCSAgQXQgI3Y0bCBpdCB3YXMgZGVzY3JpYmVkIHRoYXQgZG9jdW1lbnRhdGlvbiBtaWdodCBiZSB3cm9uZyBhbmQgdGhhdAoJICB3ZSBzaG91bGQgdHJ1c3QgdGhpcyBtYWNybyBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTI5CgoyMDE2LTAzLTA1IDExOjM4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGs6IGV4YW1wbGVzOiAjZGVmaW5lIEdTVF9VU0VfVU5TVEFCTEVfQVBJIGFuZCBsaW5rIHdpdGggWDExX0xJQlMKCSAgWDExX0xJQlMgaXMgbmVlZGVkIGZvciBYSW5pdFRocmVhZHMoKSBhbmQgd2l0aG91dCB0aGUgI2RlZmluZSB3ZSBnZXQKCSAgd2FybmluZ3MgYWJvdXQgdGhlIEdMIEFQSSBiZWluZyBzdGlsbCB1bnN0YWJsZS4KCjIwMTYtMDMtMDQgMTQ6MDc6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeCBtdWx0aWNhc3QgZ3JvdXAgam9pbmluZyB3aXRoIHByb3ZpZGVkIHNvY2tldHMgb24gV2luZG93cwoJICBPbiBXaW5kb3dzIHRoZSBzb2NrZXQgd2lsbCBiZSBib3VuZCB0byBBTlkgaW5zdGVhZCBvZiB0aGUgbXVsdGljYXN0IGdyb3VwLAoJICBhcyBiaW5kaW5nIHRvIGEgbXVsdGljYXN0IGdyb3VwIGRvZXMgbm90IHdvcmsuIFdoaWNoIHdvdWxkIG1lYW4gdGhhdCB3ZQoJICBvdmVycmlkZSBzcmMtPmFkZHIgdG8gYmVjb21lIEFOWSBhbmQgd29uJ3QgYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0CgkgIGdyb3VwIGFueW1vcmUgb24gV2luZG93cy4KCSAgT24gTGludXggd2Ugd291bGQgYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwLCBrZWVwIGl0IGNvbnNpc3RlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwOTMKCjIwMTYtMDMtMDEgMTg6MjI6MzcgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogRml4IGxlYWsgb2YgdGhlIE9wZW5HTCBjb250ZXh0cwoJICBbTWF0dGhldyBXYXRlcnNdOiBhZGQgTlVMTCBjaGVja3MgYmVmb3JlIHVucmVmZmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTk5CgoyMDE2LTAzLTAyIDEzOjEzOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAicnRwaml0dGVyYnVmZmVyOiBkb24ndCBmb3JnZXQgdG8gdW5sb2NrIG11dGV4IGluIGVycm9yIGNvZGUgcGF0aCBpbiB0d28gY2FzZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTdmYjdiNTM1OTJkODdmNzk4MzU0NGRlYmI3NGQzNjRmYzMyNTdhZC4KCSAgVGhlIG11dGV4IGlzIHRha2VuIGJ5IHRoZSBjYWxsZXIsIHdlIHNob3VsZCBrZWVwIGl0IGxvY2tlZCB3aGVuIHJldHVybmluZyBzbwoJICB0aGUgY2FsbGVyIGNhbiB1bmxvY2sgaXQgYWdhaW4uCgoyMDE2LTAzLTAxIDE1OjAxOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwdXNoIHRhZ3MgaW4gcHJlX3B1c2hfZnJhbWUKCSAgUHVzaCBhIHRhZyBldmVudCBiZWZvcmUgcHJlLXJvbGwgaWYgd2UgaGF2ZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjYwCgo9PT0gcmVsZWFzZSAxLjcuOTAgPT09CgoyMDE2LTAzLTAxIDE4OjE1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MAoKMjAxNi0wMy0wMSAxNzowMzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY2EucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vb3IucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3RyLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMDEgMTY6NTM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9mci5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAzLTAxIDE0OjE0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtdXRleCBpbiBlcnJvciBjb2RlIHBhdGggaW4gdHdvIGNhc2VzCgoyMDE2LTAyLTI5IDEwOjEwOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiByZW1vdmUgaW1wb3NzaWJsZSBjb25kaXRpb24KCSAgSXQgaXMgaW1wb3NzaWJsZSBmb3IgYSBndWludCB0byBoYXZlIGEgbmVnYXRpdmUgdmFsdWUsIG5vIG5lZWQgdG8gY2hlY2sgZm9yCgkgIHRoaXMuIEludHJvZHVjZWQgaW4gY29tbWl0IDY4NjFkMTFjNDllYTBmMzBkMjQzMmNmNGViZjYxMDhiYzg5ODk3ZjEKCSAgQ0lEIDEzNTQ1MDkKCjIwMTYtMDItMjggMTA6MTI6MzYgKzAxMDAgIFBldHIgVmlrdG9yaW4gPGVuY3Vrb3VAZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBGaXggc2FtcGxlIHBpcGVsaW5lCgkgIFVzZSB0aGUgem9yZGVyIHBhZCBwcm9wZXJ0eSB0byBtYWtlIHN1cmUgdGhlIHNlbWl0cmFuc3BhcmVudAoJICB2aWRlbyBpcyBvbiB0b3Agb2YgdGhlIGJhY2tncm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4MDkKCjIwMTYtMDItMjggMTM6NDI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogbWFrZSB0YWcgbGlzdCB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nIGl0CgkgIE1ha2luZyB0aGUgZXZlbnQgaXRzZWxmIHdyaXRhYmxlIGlzIG5vdCBlbm91Z2gsIGl0IHdvbid0IG1ha2UKCSAgdGhlIGFjdHVhbCB0YWdsaXN0IGluIHRoZSBldmVudCB3cml0YWJsZSBhcyB3ZWxsLiBJbnN0ZWFkLCBqdXN0CgkgIG1ha2UgYSBjb3B5IG9mIHRoZSB0YWdsaXN0IGFuZCB0aGVuIGNyZWF0ZSBhIG5ldyB0YWcgZXZlbnQgZnJvbQoJICB0aGF0IGlmIHJlcXVpcmVkLCByZXBsYWNpbmcgdGhlIG9sZCBvbmUuIEJlZm9yZSB3ZSB3b3VsZAoJICBpbmFkdmVydGVudGx5IG1vZGlmeSB0YWdsaXN0cyB1cHN0cmVhbSBlbGVtZW50cyBtaWdodCBzdGlsbAoJICBiZSBob2xkaW5nIG9uIHRvLiBBZGQgdW5pdCB0ZXN0IGZvciB0aGlzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3OTMKCjIwMTYtMDItMjggMTM6MDE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFByb3Blcmx5IGVycm9yIG91dCBpZiBiaW5kaW5nIHRoZSBVRFAgc29ja2V0cyBmYWlscwoJICB1ZHBzcmMgaXMgbm90IHJldHVybmluZyB1cyBhIHNvY2tldCBpbiB0aGF0IGNhc2UuCgoyMDE2LTAyLTI3IDIwOjMzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBVc2UgZ29vbV9zZXRfcmVzb2x1dGlvbigpIGluc3RlYWQgb2YgcmVjcmVhdGluZyB0aGUgZ29vbSBpbnN0YW5jZSB3aGVuIHRoZSByZXNvbHV0aW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc2NQoKMjAxNi0wMi0yNyAyMDozMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgUmV2ZXJ0ICJnb29tOiBJbml0aWFsaXplIHRoZSBnb29tIHN0cnVjdCBvbmx5IG9uY2Ugd2Uga25vdyB3aWR0aC9oZWlnaHQgYW5kIHJlY3JlYXRlIGl0IGlmIHRob3NlIGNoYW5nZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjYzZlMTAyNjQzYzFiYWU5MjgzMTZkY2E5ZjM0ZGIwMjhmYjlhNjdlLgoKMjAxNi0wMi0yNyAyMDozMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogSW5pdGlhbGl6ZSB0aGUgZ29vbSBzdHJ1Y3Qgb25seSBvbmNlIHdlIGtub3cgd2lkdGgvaGVpZ2h0IGFuZCByZWNyZWF0ZSBpdCBpZiB0aG9zZSBjaGFuZ2UKCSAgRml4ZXMgY3Jhc2ggd2hlbiB0aGUgd2lkdGggYW5kL29yIGhlaWdodCBpcyBjaGFuZ2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjc2NQoKMjAxNi0wMi0yNiAxMjo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjY0ZjAzZiB0byA2ZjJkMjA5CgoyMDE2LTAyLTI1IDIyOjU0OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBydHBvcHVzZGVwYXkgYW5kIHJ0cG9wdXNwYXkgdG8gZG9jdW1lbnRhdGlvbgoKMjAxNi0wMi0xNyAxNToxNToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgcnRwOiBvcHVzOiBtb3ZlIE9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMi0xNyAxNToxMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAncGx1Z2luLW1vdmUtcnRwLW9wdXMnCgkgIE1vdmUgT3B1cyBSVFAgZGVwYXlsb2FkZXIvcGF5bG9hZGVyIGZyb20gLWJhZCB0byAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMi0yNSAxMTozMzoxMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjZW5jIGF1eCBpbmZvIHBhcnNpbmcgZnJvbSBtZGF0IHN1cHBvcnQgaW4gUFVMTCBtb2RlCgkgIFRoaXMgaXMgYWxyZWFkeSBzdXBwb3J0ZWQgZm9yIFBVU0ggbW9kZSBidXQgd2FzIGZhaWxpbmcgaW4gUFVMTCBtb2RlLgoJICBUaGUgYXV4IGluZm8gaXMgc29tZXRpbWVzIHN0b3JlZCBpbiB0aGUgbWRhdCBiZWZvcmUgdGhlIGZpcnN0IHNhbXBsZSwKCSAgc28gdGhlIGxvb3AgdGFzayBuZWVkcyB0byBwdWxsIGRhdGEgc3RvcmVkIGF0IHRoYXQgbG9jYXRpb24gYW5kCgkgIHBlcmZvcm0gdGhlIGF1eCBpbmZvIGNlbmMgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTcwMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTE2CgoyMDE2LTAyLTI0IDExOjI4OjA5ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXZlbnQgYnVmZmVyIGZsb3cgaWYgYW55IHN0cmVhbSBmYWlsZWQgdG8gYmUgZXhwb3NlZAoJICBJbiBzb21lIGNhc2VzIHRoZSBzdHJlYW0gY29uZmlndXJhdGlvbiBjYW4gZmFpbCwgZm9yIGluc3RhbmNlIGlmIHRoZQoJICBzdHJlYW0gaXMgcHJvdGVjdGVkIGFuZCBubyBkZWNyeXB0b3Igd2FzIGZvdW5kLiBGb3IgdGhvc2Ugc2l0dWF0aW9ucwoJICB0aGUgZGVtdXhlciBzaG91bGRuJ3QgZW1pdCBhbnkgZGF0YSBvbiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgcGFkIG9mCgkgIHRoZSBzdHJlYW0gYW5kIGJhaWwgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTE2CgoyMDE2LTAyLTI0IDA5OjEyOjAzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHB1c2ggZW5jcnlwdGVkIGJ1ZmZlciB3aXRob3V0IGNlbmMgbWV0YWRhdGEKCSAgV2hlbiB0aGUgY2VuYyBtZXRhZGF0YSBpcyBzdG9yZWQgb3V0c2lkZSBvZiB0aGUgbW9vZiBib3ggYW5kIHRoZQoJICBzdHJlYW0gaXMgZXhwb3NlZCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBjZW5jIG1ldGFkYXRhIGhhc24ndCBiZWVuCgkgIHByb2Nlc3NlZCB5ZXQgd2hpbGUgdGhlIGZpcnN0IGJ1ZmZlciBpcyBiZWluZyBwdXNoZWQuIFdoZW4gdGhpcwoJICBoYXBwZW5zIHRoZSBidWZmZXIgY2FuJ3QgcG9zc2libHkgYmUgZGVjcnlwdGVkIGRvd25zdHJlYW0gc28gZG9uJ3QKCSAgcHVzaCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yMyAyMzoxMDoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcXQ6IHVzZSBhIHN0YXRpY19jYXN0IGluc3RlYWQgb2YgZHluYW1pYyBvbmUKCSAgVGhlIGR5bmFtaWNfY2FzdCBpcyBhIGxpdHRsZSBidXQgb2Ygb3ZlcmtpbGwgYXMgdGhlIGFwcCB3aWxsIHN0aWxsIGNyYXNoIGlmIGl0CgkgIGZhaWxzIGluIHRoZSBsYXRlciBnX2Fzc2VydC4KCSAgQWxsb3dzIGNvbXBpbGF0aW9uIHdpdGggLWZuby1ydHRpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MjYKCjIwMTUtMTAtMjEgMTY6MjE6NDUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVhZCBzYWlvIGF1eF9pbmZvX3R5cGUgYXMgYSBGT1VSQ0MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg5NwoKMjAxNi0wMi0yMyAxODoyNzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBnc3Q6IEhhbmRsZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSByZXR1cm5pbmcgTlVMTCBncmFjZWZ1bGx5CgoyMDE2LTAyLTIzIDE4OjEyOjU0ICswMjAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTUtMTItMTYgMTI6NDA6MzkgKzAwMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGdzdDogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNS0xMi0xNiAxMDo1NDoxNyArMDAwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSGFuZGxlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybmluZyBOVUxMIGdyYWNlZnVsbHkKCSAgVGhpcyBjYW4gaGFwcGVuIHdoZW4gdGhlIHBpcGVsaW5lIGlzIGN1cnJlbnRseSBzaHV0dGluZyBkb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDE1OjU3OjE4ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogRG9uJ3QgaGFuZGxlIHNlZWsgdW50aWwgcmVhZHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU0MgoKMjAxNi0wMi0yMyAxNTo1NToxMyArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVucmVmIHNlZWsgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU0MgoKMjAxNi0wMi0yMiAxMTowMTo0MCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBjbG9zZSBmaWxlIG9uIHdyaXRlIGVycm9yIHdpdGggbmV4dC1maWxlIG1vZGUgaXMgc2V0IHRvIGJ1ZmZlcgoJICBJZiB3ZSBoYXZlIGFuIGVycm9yIGR1cmluZyBmd3JpdGUgY2FsbCwgZmlsZSBzdGF5cyBvcGVuIGFuZCB0aHVzIG5leHQKCSAgaW5jb21pbmcgYnVmZmVyIHdpbGwgdHJpZ2dlciBhbiBhc3NlcnQgd2hlbiB0cnlpbmcgdG8gb3BlbmluZyBhIG5ldwoJICBmaWxlLgoJICBUaGlzIGhhcHBlbnMgaWYgd2UgZG8gbm90IHJlc3RhcnQgZWxlbWVudCwgZmlsZSBpcyBjbG9zZWQgYXQgc3RvcCwgYW5kCgkgIGlmIGFwcGxpY2F0aW9uIGhhbmRsZXMgdGhlIHJldHVybmVkIEdTVF9GTE9XX0VSUk9SIHRvIGtlZXAgYmluIGFsaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDM0CgoyMDE2LTAyLTE5IDIzOjQ0OjQyICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3Qgb3V0cHV0IGVtcHR5IHRhZ3MvdGFnIGVsZW1lbnRzCgkgIFN1Y2ggZmlsZXMgd2lsbCBub3QgcGxheSBvbiBBbmRyb2lkLCBiZWNhdXNlIG9mIGJ1ZyBpbiBsaWJ3ZWJtIG1hdHJvc2thIHBhcnNpbmcsIHdoaWNoIGlzIHN0aWxsIHByZXNlbnQgaW4gNi4wLjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjM0OQoKMjAxNi0wMi0wNCAxNTo1OTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IG1ha2UgdXAgYW4gT3B1c0hlYWQgYmxvY2sgaWYgcG9zc2libGUgd2hlbiBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0ODkKCjIwMTYtMDItMDQgMTA6NDM6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IG1ha2UgdXAgYW4gT3B1c0hlYWQgYmxvY2sgaWYgcG9zc2libGUgd2hlbiBtaXNzaW5nCgkgIFRoaXMgYmxvY2sgaXMgbmVlZGVkIGluIHRoZSBNYXRyb3NrYSBmaWxlLCBidXQgZGF0YSBjb21pbmcgZnJvbQoJICBSVFAgbWF5IG5vdCBoYXZlIG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ4OQoKMjAxNi0wMi0yMiAxMzo1MzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2Ugc3RyZWFtLWlkIG1vcmUgcmVhZGFibGUgYW5kIG9yZGVyLWZyaWVuZGx5CgkgIC4uLiBhcyBzdHJlYW1zIGFyZSBzbyBvcmRlcmVkIGJ5IGlkIGJ5IGUuZy4gZGVjb2RlYmluCgkgIChhbmQgYXMgdHlwaWNhbGx5IGFscmVhZHkgaG9ub3VyZWQgYnkgb3RoZXIgZGVtdXhlcnMpLgoKMjAxNi0wMi0yMiAxMzoyNTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiByZW1vdmUgY29uZnVzaW5nIGR1cGxpY2F0ZSB0cmFjayB1aWQgZmllbGQKCjIwMTYtMDItMjIgMTQ6MDM6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJICBydHB2cDlwYXk6IGFkZCBtaXNzaW5nIGJyZWFrCgkgIFZQOV9QQVlfUElDVFVSRV9JRF83QklUUyBhbmQgVlA5X1BBWV9QSUNUVVJFX0lEXzE1QklUUyBhcmUgbXV0dWFsbHkKCSAgZXhjbHVzaXZlIG9wdGlvbnMgb2YgdGhlIHBpY3R1cmUtaWQtbW9kZS4gV2UgY2FuIGJyZWFrIGFmdGVyIHRoZQoJICBmaXJzdCBjYXNlLgoJICAxIG9yIDIgYnl0ZXMgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgaGVhZGVyIGxlbmd0aCBkZXBlbmRpbmcgb24gdGhlCgkgIFBpY3R1cmVJRCBzaXplLgoJICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtdWJlcnRpLXBheWxvYWQtdnA5LTAwI3NlY3Rpb24tNC4yCgkgIENJRCAxMzUzNDc5CgoyMDE2LTAxLTI0IDE3OjQwOjM3ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHFtbGdsc2luazogU2NoZWR1bGUgb25TY2VuZUdycGFoSW5pdGlhbGl6ZWQgdG8gZXhlY3V0ZSBvbiByZW5kZXIgdGhyZWFkCgkgIG9uU2NlbmVHcmFwaEluaXRpYWxpemVkKCkgaXMgY2FsbGVkIGZyb20gbm9uIHJlbmRlciB0aHJlYWQgY3VycmVudGx5IHdoZW4KCSAgc2NlbmUgZ3JhcGggaXMgYWxyZWFkeSBpbml0aWFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAwMwoKMjAxNi0wMi0yMiAwOTowOTowMSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgYnVmZmVyIGJlaW5nIG1hcHBlZCBpcyBub3QgYmVpbmcgdW5tYXBwZWQgaW4gc29tZSBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDIwCgoyMDE1LTExLTA0IDEwOjE5OjAzICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBEb24ndCB3YXJuIGZvciBkdXBsaWNhdGUvcmVvcmRlcmVkIHBhY2tldHMKCSAgVGhpcyBpcyBhIG5vcm1hbCBzY2VuYXJpbyBhbmQgc2hvdWxkIG5vdCBiZSBhIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDgKCjIwMTYtMDItMjEgMDk6NDc6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWxwaGEvYWxwaGEudmNwcm9qOgoJKiBnc3QvYXVwYXJzZS9hdXBhcnNlLnZjcHJvajoKCSogZ3N0L2F2aS9hdmkudmNwcm9qOgoJKiBnc3QvY3V0dGVyL2N1dHRlci52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVnLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvbmF2aWdhdGlvbnRlc3QudmNwcm9qOgoJKiBnc3QvZWZmZWN0di9lZmZlY3R2LnZjcHJvajoKCSogZ3N0L2ZseC9mbHhkZWMudmNwcm9qOgoJKiBnc3QvZ29vbS9nb29tLnZjcHJvajoKCSogZ3N0L2dvb20yazEvZ29vbS52Y3Byb2o6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUudmNwcm9qOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvbGF3L2FsYXcudmNwcm9qOgoJKiBnc3QvbGF3L211bGF3LnZjcHJvajoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLnZjcHJvajoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQudmNwcm9qOgoJKiBnc3QvcnRwL3J0cC52Y3Byb2o6CgkqIGdzdC9zbXB0ZS9zbXB0ZS52Y3Byb2o6CgkqIGdzdC9zcGVjdHJ1bS9zcGVjdHJ1bS52Y3Byb2o6CgkqIGdzdC91ZHAvdWRwLnZjcHJvajoKCSogZ3N0L3ZpZGVvYm94L3ZpZGVvYm94LnZjcHJvajoKCSogZ3N0L3ZpZGVvY3JvcC92aWRlb2Nyb3AudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ2FtbWEudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvdmlkZW9iYWxhbmNlLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL3ZpZGVvZmlsdGVyLnZjcHJvajoKCSogZ3N0L3ZpZGVvZmlsdGVyL3ZpZGVvZmxpcC52Y3Byb2o6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIudmNwcm9qOgoJKiBnc3Qvd2F2ZW5jL3dhdmVuYy52Y3Byb2o6CgkqIGdzdC93YXZwYXJzZS93YXZwYXJzZS52Y3Byb2o6CgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWFzaW5rLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWxwaGFjb2xvci52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdWRpb2Z4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdmkudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RjdXR0ZXIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RmbGFjLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGljeWRlbXV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bGFkc3BhLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG1uZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bXVsdGlwYXJ0LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0cnRzcC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0c3BlZXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JhbGFuY2UudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvbWl4ZXIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgd2luMzI6IHJlbW92ZSBvdXRkYXRlZCBidWlsZCBjcnVmdAoJICBUaGlzIGhhc24ndCBiZWVuIHRvdWNoZWQgZm9yIGdlbmVyYXRpb25zLCBkb2Vzbid0IHdvcmssCgkgIGFuZCBpcyBqdXN0IGNhdXNpbmcgY29uZnVzaW9uLiBXZSBhbHNvIGRvbid0IHdhbnQgdG8KCSAgbWFpbnRhaW4gdGhlc2UgZmlsZXMgbWFudWFsbHkuCgoyMDE2LTAyLTIwIDExOjUxOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZG9uJ3QgdXNlIHVuZGVjbGFyZWQgY29yZSBkZWJ1ZyBjYXRlZ29yeSBzeW1ib2xzCgoyMDE2LTAyLTA2IDE0OjM5OjA1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHdvcmthcm91bmQgZm9yIGZpbGVzIHdpdGggd3JvbmcgY29sb3JfdGFibGVfaWQgdmFsdWUKCSAgSW5zdGVhZCBvZiBlcnJvcmluZyBvdXQsIGp1c3QgdXNlIHRoZSBkZWZhdWx0IGNvbG9yIHRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjM3CgoyMDE2LTAyLTE5IDE1OjAyOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5jOgoJICBmbHZtdXgsIHJ0cHZwOWRlcGF5OiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDItMTkgMTU6MDM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyc3JjOiBmaXggaW5kZW50YXRpb24KCjIwMTUtMTItMDQgMDA6NDY6MzQgKzExMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcGx1ZyBsZWFrKHMpIGluIGVycm9yLXNjZW5hcmlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTAKCjIwMTUtMTItMDQgMDA6NDY6MTIgKzExMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBlb3MgZXZlbnQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjA5CgoyMDE2LTAyLTE5IDE0OjQxOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDItMTggMTY6MDk6MjkgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiBwb3J0IHRlc3RoYXJuZXNzIHRvIEdzdEhhcm5lc3MgYW5kIGNsZWFudXAvaW1wcm92ZQoJICBQcm9iYWJseSBmb3VuZCBhIGJ1ZyBhcyB3ZWxsLCBpbiB0aGF0IHRoZXJlIGFyZSBzb21lIHRpbWVzdGFtcHMgaW4KCSAgdGhlcmUgdGhhdCBhcmUgbG9va2luZyB2ZXJ5IHdyb25nLiAobWFya2VkIHdpdGggRklYTUUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyNjcKCjIwMTYtMDItMTggMTA6Mjc6MTkgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiB0ZXN0IGNsZWFudXBzL2ltcHJvdmVtZW50cwoJICBVc2UgZmFpbF91bmxlc3MgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBnX2Fzc2VydAoJICBGYWN0b3Igc2VxLW51bSBjaGVja2luZyBvdXQgdG8gc2VwYXJhdGUgZnVuY3Rpb24KCSAgQ2hlY2sgbW9yZSByZXR1cm4tdmFsdWVzIGZyb20gcHVzaCBhbmQgY3JhbmsgYW5kIG90aGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjU0CgoyMDE1LTEyLTAzIDExOjA3OjA1ICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcnRwaml0dGVyYnVmZmVyOiBmaXggbGVha3MgaW4gdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTQKCjIwMTYtMDItMTkgMTI6Mzg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNy4yID09PQoKMjAxNi0wMi0xOSAxMTo0OTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMgoKMjAxNi0wMi0xOSAxMDozMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDItMTggMTg6MzM6MTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGx1ZyBsZWFrcyBpbiBjZW5jIGF1eCBpbmZvIHBhcnNpbmcKCjIwMTYtMDItMTggMTM6NDM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBzcHVyaW91cyBzb3VwaHR0cHNyYyB0ZXN0IHRpbW91dHMKCSAgU2V0IEdTRVRUSU5HU19CQUNLRU5EPW1lbW9yeSwgYXBwYXJlbnRseSB0aGVyZSdzIHNvbWV0aGluZwoJICBhYm91dCBmb3JrKCkgYW5kIHRoZSBkY29uZiBiYWNrZW5kIChvciB3aGF0ZXZlciBlbHNlIHRoYXQKCSAgZHJhZ3MgaW4gb3IgYWN0aXZhdGVzKSB0aGF0IG1lc3NlcyB1cCBsb2NraW5nIGFuZCBjYXVzZXMKCSAgdGltZW91dHMgZHVlIHRvIGRlYWRsb2NrcyBpbiBnX211dGV4X2xvY2soKSwgc2luY2UKCSAgZXZlcnl0aGluZyB3b3JrcyBmaW5lIHdpdGggQ0tfRk9SSz1ubyBhcyB3ZWxsLgoKMjAxNi0wMi0xOCAxMToxMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVbm1hcCB3YXZwYWNrIGhlYWRlciBidWZmZXIgYWZ0ZXIgY3JlYXRpbmcgaXQKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgYmUgbWFwcGVkIHdyaXRhYmxlIGFsbCB0aGUgdGltZSBhbmQgd2UgY2FuJ3QgcmVhZCBmcm9tIGl0CgkgIGFueXdoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMjM5CgoyMDE1LTEyLTA4IDE4OjQ5OjQwICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCB0ZXN0IGZvciBiaWcgc2VxbnVtIGdhcCBoYW5kbGluZwoJICBNYWtlIHN1cmUgdGhhdCB0aGUgcGFja2V0cyBxdWV1ZWQgd2hlbiBkZXRlY3RpbmcgYSBiaWcgZ2FwIGFyZSBwdXNoZWQKCSAgYWZ0ZXIgcmVzZXQgKDUgY29uc2VjdGl2ZSBzZXFudW1zKSBhbmQgbm90IGRyb3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMTEKCjIwMTYtMDItMTcgMTU6MDM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkgIHJ0cDogc3ByaW5rbGUgc29tZSBHX0dOVUNfSU5URVJOQUwgZm9yIGludGVybmFsIHV0aWxzIGZ1bmN0aW9ucwoKMjAxNi0wMi0wOSAxMzoxNzowMCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgdHJhbnNmb3JtIHByb3RlY3RlZCBjYXBzIG9uY2UKCSAgQ29tbWl0IDc4NzNiZWRlMzEzNGIxNWU1MDY2ZThkMTRlNTRkMWY1MDU0ZDIwNjMKCSAgKGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3NzQpIGNoYW5nZWQgdGhlCgkgIGJlaGF2aW91ciBvZiBxdGRlbXV4IHRvIGNhbGwgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSgpIGZvcgoJICBldmVyeSBuZXcgbW9vZi4KCSAgV2hlbiBwbGF5aW5nIGEgcHJvdGVjdGVkIHN0cmVhbSwgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSgpCgkgIGNhbGxzIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9wcm90ZWN0ZWRfY2FwcygpLiBUaGUKCSAgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgZnVuY3Rpb24gdGFrZXMgdGhlIG9yaWdpbmFsCgkgIG1lZGlhIGZvcm1hdCwgcHV0cyB0aGlzIGluIGEgZmllbGQgY2FsbGVkICJvcmlnaW5hbC1tZWRpYS10eXBlIgoJICBhbmQgdGhlbiBjaGFuZ2VzIHRoZSBjYXBzIHRvICJhcHBsaWNhdGlvbi94LWNlbmMiLgoJICBUaGUgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgZGlkIG5vdCBoYW5kbGUgdGhlIGNhc2UKCSAgb2YgYmVpbmcgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCBjYXVzaW5nIGl0IHRvIGluY29ycmVjdGx5IHNldCB0aGUKCSAgY2Fwcy4gVGhlIHNlY29uZCBjYWxsIHdhcyBjYXVzaW5nIHRoZSBjYXBzIHRvIGJlIHNldCB0bzoKCSAgYXBwbGljYXRpb24veC1jZW5jLCBvcmlnaW5hbC1tZWRpYS10eXBlImFwcGxpY2F0aW9uL3gtY2VuYyIKCSAgVGhpcyBjb21taXQgbWFrZXMgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkgY2hlY2sgdGhhdAoJICB0aGUgY2FwcyBoYXZlIGFscmVhZHkgYmVlbiB0cmFuc2Zvcm1lZCwgc28gdGhhdCBpdCBvbmx5IGdldHMKCSAgY2hhbmdlZCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzY5CgoyMDE1LTExLTAzIDE0OjUwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgbXVsdGljaGFubmVsIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMDYtMzAgMTM6NTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQ29weSBtZXRhZGF0YSBpbiB0aGUgKGRlKXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQgdGFncyBvcgoJICB3aXRoIG9ubHkgdGhlIGF1ZGlvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wNS0wNCAxMToyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkgIG9wdXNkZXBheTogU2V0IG11bHRpc3RyZWFtPUZBTFNFIG9uIHRoZSBPcHVzIGNhcHMKCSAgVGhlIFJUUCBPcHVzIG1hcHBpbmcgb25seSBhbGxvd3MgbW9uby9zdGVyZW8sIGFuZCBub3QgbXVsdGlzdHJlYW0gT3B1cwoJICBzdHJlYW1zLgoKMjAxNS0wMy0yNCAxMzo1Nzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBGb3J3YXJkIHN0ZXJlbyBwcmVmZXJlbmNlcyBmcm9tIGNhcHMgdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yNCAxMzo1NjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBTZXQgdGhlIG51bWJlciBvZiBjaGFubmVscyB0byAyIGFzIHBlciBSRkMgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yMyAxMjoyNDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBIYW5kbGUgc3Byb3Atc3RlcmVvIGFuZCBzcHJvcC1tYXhjYXB0dXJlcmF0ZSBSVFAgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMi0xOSAxNDozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogZGVmYXVsdCBlbmNvZGluZyBuYW1lIHRvIE9QVVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNDowNTowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSB0cnVuY2F0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0wNSAxMDoyNzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbmVnb3RpYXRlIHRoZSBlbmNvZGluZyBuYW1lCgkgIENocm9tZSB1c2VzIGEgZGlmZmVyZW50IGVuY29kaW5nIG5hbWUgdGhhdCBnc3RyZWFtZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTQtMTEtMDEgMTA6MTA6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXM6IFVzZSBPUFVTIGVuY29kaW5nIG5hbWUKCSAgQm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdXNlcyBPUFVTIGFzIHRoZSBlbmNvZGluZyBpbiB0aGVpciBTRFAuCgkgIEFkZGluZyB0aGlzIG5vdyBkZWZhY3RvIHN0YW5kYXJkIG5hbWUgcmVtb3ZlIHRoZSBuZWVkIGZvciBzcGVjaWFsCgkgIGNhc2UgaW4gU0RQIHBhcnNpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxMy0wMS0zMSAxMjozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiBmaXggdGltZXN0YW1wcwoJICBDb3B5IHRpbWVzdGFtcHMgdG8gcGF5bG9hZGVkIGJ1ZmZlci4KCSAgQXZvaWQgaW5wdXQgYnVmZmVyIG1lbW9yeSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTI5CgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMC0yMiAxMjowODo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiByZW1vdmUgcG9pbnRsZXNzIGNhcHMgc2VyaWFsaXphdGlvbgoJICBSZW1vdmUgdGhlIGNhcHMgc2VyaWFsaXphdGlvbiBpbiB0aGUgcnRwIGNhcHMuIHRoZSBzcGVjIG5vciB0aGUgcmVjZWl2ZXIKCSAgZG9lcyBhbnl0aGluZyB3aXRoIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTQ3CgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0yMCAxODo0MToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBBbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlciBjb3JyZWN0bHkKCSAgVXNlIHRoZSByaWdodCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTAzLTA3IDE3OjE0OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBwb3J0IHRvIHVwZGF0ZWQgMC4xMQoKMjAxMS0xMi0zMCAxMTo0MToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMS1wcmVtZXJnZQoJICBDb25mbGljdHM6CgkgIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoJICBleHQva2F0ZS9nc3RrYXRldGlnZXIuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jCgkgIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jCgkgIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYwoJICBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmMKCSAgZ3N0L21wZWdwc211eC9tcGVncHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9teGYvbXhmbXV4LmMKCSAgZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMi0wOSAxNzoyNTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c2VuYzogYWRkIHVwc3RyZWFtIG5lZ290aWF0aW9uIGZvciBtdWx0aXN0cmVhbSBhYmlsaXR5CgkgIFRoaXMgd2lsbCBoZWxwIGVsZW1lbnRzIHRoYXQgY2Fubm90IGRlYWwgd2l0aCBtdWx0aXN0cmVhbSwKCSAgc3VjaCBhcyB0aGUgUlRQIHBheWxvYWRlci4KCSAgVGhlIGNhcHMgbm93IGRvIG5vdCBpbmNsdWRlIGEgInN0cmVhbXMiIGZpZWxkIGFueW1vcmUsIGJ1dAoJICBhICJtdWx0aXN0cmVhbSIgYm9vbGVhbiwgc2luY2Ugd2UgaGF2ZSBubyByZWFsIHVzZSBmb3Iga25vd2luZwoJICB0aGUgZXhhY3QgYW1vdW50IG9mIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTU6MTM6MTEgLTAyMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgQWRkaW5nIG9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBlbGVtZW50CgkgIEFkZGluZyBPUFVTIFJUUCBtb2R1bGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgZHJhZnQ6CgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9pZC9kcmFmdC1zcGl0dGthLXBheWxvYWQtcnRwLW9wdXMtMDAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTcKCjIwMTYtMDItMTcgMTM6MjY6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSAgcnRwOiBoMjY0L2gyNjU6IGF2b2lkIGR1cGxpY2F0aW9uIG9mIHJlYWRfZ29sb21iKCkKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBoYXZlIHR3byBpZGVudGljYWwgaW1wbGVtZW50YXRpb25zIG9mIHRoZSByZWFkX2dvbG9tYgoJICBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0xNyAxNDozNzo0NCArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTaW1wbGUgaW1wbGVtZW50YXRpb24gb2YgVFJJQ0tNT0RFX0tFWV9VTklUUwoJICBXaGVuIHRoZSB0cmlja21vZGUga2V5LXVuaXRzIGZsYWcgaXMgc2V0IG9uIHRoZSBzZWdtZW50LCBzaW1wbHkgc2tpcAoJICBhbnkgc2FtcGxlIG9uIGEgdmlkZW8gc3RyZWFtIHRoYXQgaXNuJ3QgYSBrZXlmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTg1CgoyMDE1LTA4LTIxIDE0OjE1OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBzZW5kIEdBUCBldmVudHMgZm9yIGxhZ2dpbmcgYXVkaW8gYW5kIHZpZGVvIHN0cmVhbXMgdG9vCgkgIFNlbmQgR0FQIGV2ZW50cyBmb3Igbm9uLXN1YnRpdGxlIHN0cmVhbXMgdG9vIGlmIHRoZXkgbGFnIHRvbyBtdWNoCgkgIGJlaGluZCwgYnV0IHVzZSBhIGhpZ2hlciB0aHJlc2hvbGQgdGhhbiBmb3Igc3VidGl0bGVzLgoJICBUaGlzIGhlbHBzIHdpdGggZml4aW5nIHByZXJvbGxpbmcgd2l0aCBhIGZpbGUgd2hlcmUgb25lIG9mIHRoZQoJICBhdWRpbyBzdHJlYW1zIG9ubHkgaGFzIGRhdGEgc3RhcnRpbmcgZnJvbSAxOXMgb253YXJkcy4gSXQncyBub3QKCSAgYSBjb21wbGV0ZSBmaXggeWV0LCBpdCBhbHNvIHJlcXVpcmVzIGNoYW5nZXMgZWxzZXdoZXJlLCBzdWNoIGFzCgkgIGluIGJhc2VwYXJzZSwgdG8gbWFrZSBzdXJlIGNhcHMgYXJlIHByb3BhZ2F0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ0NjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg5OQoKMjAxNS0xMi0yMyAxOTo1NDoxMyArMDEwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlwYXkuaDoKCSAgcnRwdnA5cGF5OiBydHB2cDlkZXBheTogSW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBkcmFmdCAwMQoJICBRdWljayBhbmQgZGlydHkgaW1wbGVtZW50YXRpb24gb2YgYW4gUlRQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCSAgZm9yIFZQOS4gSW4gcGFydGljYWx1ciBpdCBhc3N1bWVzIG5vIHNwYXRpYWwgb3IgdGVtcG9yYWwgbGF5ZXJpbmcsCgkgIG5vbi1mbGV4aWJsZSBtb2RlLCBhbmQgc29tZSBvdGhlciBiaXRzIGFuZCBwaWVjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NzMKCjIwMTYtMDItMTYgMDk6MDI6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggc3RyaW5nIG1lbW9yeSBsZWFrCgkgIGNvZGVjX25hbWUgaXMgbm90IGJlaW5nIGZyZWVkIGluIGFsbCBjb25kaXRpb25zIGxlYWRpbmcgdG8gbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjExNwoKMjAxNS0xMi0xMCAxMjoxNTo1MiArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkICJnZXQtc2Vzc2lvbiIgc2lnbmFsCgkgIFRoaXMgZ2V0cyB0aGUgR3N0UlRQU2Vzc2lvbiBlbGVtZW50LCBhcyBjb21wYXJlZCB0byB0aGUgUlRQU2Vzc2lvbiBvYmplY3QKCSAgdGhhdCBpcyByZXR1cm5lZCBieSBnZXQtaW50ZXJuYWwtc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTI5MwoKMjAxNS0xMi0xNCAxMTowOTo0NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgcGx1Z2lucy1iYWQ6IEZpeCBleGFtcGxlIHBpcGVsaW5lcwoJICByZW5hbWUgZ3N0LWxhdW5jaCAtLT4gZ3N0LWxhdW5jaC0xLjAKCSAgcmVwbGFjZSBvbGQgZWxlbWVudHMgd2l0aCBuZXcgZWxlbWVudHMoZmZtcGVnY29sb3JzcGFjZSAtPiB2aWRlb2NvbnZlcnQsIGZmZW5jXyoqIC0+IGF2ZW5jXyoqKQoJICBmaXggY2FwcyBpbiBleGFtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDMyCgoyMDE1LTA4LTE3IDExOjUwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHN0aWxsIHJlc2V0IHBlbmRpbmcgYXVkaW8gaW5mbyBvbiBoYXJkIGZsdXNoCgkgIEZvbGxvdy11cCB0byBwcmV2aW91cyBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MzEKCjIwMTUtMDctMTUgMTA6NDQ6MDIgLTA2MDAgIEphc29uIExpdHppbmdlciA8amxpdHppbmdlckBjb250cm9sNC5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4IGhhbmRsaW5nIG9mIHNhbXBsZSByYXRlIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sKCSAgSWYgdGhlIHNhbXBsZSByYXRlIG9mIHRoZSBtZWRpYSBjaGFuZ2VzLCB0aGUgcmVzdWx0aW5nIGZsdXNoIHdpbGwKCSAgY2xlYXIgdGhlIGhhc19uZXh0X2F1ZGlvaW5mbyBmbGFnLCBhbmQgdGhlIGNhcHMgd29uJ3QgYmUgc2VudAoJICBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDMxCgoyMDE1LTA4LTE1IDEyOjU4OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIGF1ZGlvZGVjb2RlcnM6IHVzZSBkZWZhdWx0IHBhZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBBdm9pZHMgdXNlbGVzcyBjaGVjayBvZiBkb3duc3RyZWFtIGNhcHMgd2hlbiBoYW5kbGluZyBhbgoJICBhY2NlcHQtY2FwcyBxdWVyeQoJICBFbGVtZW50czogZHRzZGVjLCBmYWFkLCBnc21kZWMsIG1wZzEyM2F1ZGlvZGVjLCBvcHVzZGVjLAoJICBzYmNkZWMsIGFkcGNtZGVjLCBzaXJlbmRlYwoKMjAxNS0wNC0yNiAxODowNDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBvYnNvbGV0ZSBBbmRyb2lkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLgoKMjAxNS0wMS0xMSAwMTowODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXggY29tcGlsZXIgd2FybmluZyBhbmQgc2ltcGxpZnkgY2hlY2tzIGluIHNldF9jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTUKCjIwMTUtMDEtMDMgMTM6MDY6NDUgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiByZXdvcmsgc2V0X2Zvcm1hdCBjb2RlIHNvIG1wZzEyM2F1ZGlvZGVjIHdvcmtzIHdpdGggZGVjb2RlYmluL3BsYXliaW4KCSAgVGhlIG9sZCBjb2RlIHdhcyB1c2luZyBnc3RfY2Fwc19ub3JtYWxpemUoKSBhbmQgd2FzIGdlbmVyYWxseSBvdmVybHkKCSAgY29tcGxleC4gU2ltcGxpZnkgYnkgcGlja2luZyBzYW1wbGUgcmF0ZSBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20KCSAgdXBzdHJlYW0gYW5kIHRoZSBzYW1wbGUgZm9ybWF0IGZyb20gdGhlIGFsbG93ZWQgY2Fwcy4gSWYgdGhlIGZvcm1hdCBjYXBzCgkgIGlzIGEgbGlzdCBvZiBzdHJpbnMsIGp1c3QgcGljayB0aGUgZmlyc3Qgb25lLiBBbmQgaWYgdGhlIHNyY3BhZCBpc24ndAoJICBsaW5rZWQgeWV0LCB1c2UgdGhlIGRlZmF1bHQgZm9ybWF0IChTMTYpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTk1CgoyMDE0LTA5LTEwIDE3OjI0OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBGaXggdXAgb25lLWVsZW1lbnQgbGlzdHMgaW4gdGVtcGxhdGUgY2FwcwoKMjAxNC0wMy0wNSAwMDo1MTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIHRlc3RzOiBmaXggbXBnMTIzYXVkaW9kZWMgdGVzdCBmb3IgYmlnLWVuZGlhbiBhcmNoaXRlY3R1cmVzCgoyMDE0LTAyLTA0IDE3OjIyOjI3ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogaW1wcm92ZWQgZXJyb3IgcmVwb3J0IGFuZCBjaGVja3MKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxMy0xMi0wNSAxMjowNDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzYXVkaW9kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMDctMjYgMTc6MjU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgaGFyZGVyID8gOikKCjIwMTMtMDUtMTUgMTE6MjU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzYXVkaW9kZWM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTItMTAtMjQgMTI6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA0LTE1IDAwOjIyOjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBBZGQgY29uZGl0aW9uYWwgb24gQVBJIHZlcnNpb24gZm9yIG5ldyBlbnVtCgoyMDE2LTAyLTE2IDE5OjU5OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSAgZ3RrKGdsKXNpbms6IHJlbW92ZSB0aGUgc2lnbmFsIGhhbmRsZXJzIG9uIGZpbmFsaXplCgkgIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgc2luayBlbGVtZW50IHdpbGwgYmUgZnJlZWQgYmVmb3JlIHRoZSB3aWRnZXQgaXMKCSAgZGVzdHJveWVkLiAgV2hlbiB0aGUgd2lkZ2V0IHdhcyBldmVudHVhbGx5IGRlc3Ryb3llZCwgaXQgd2FzIGF0dGVtcHRpbmcgdG8KCSAgYWNjZXNzIG1lbWJlciB2YXJpYWJsZXMgb2YgdGhlIGZyZWVkIHNpbmsgc3RydWN0IHdoaWNoIHJlc3VsdGVkIGluIHVuZGVmaW5lZAoJICBiZWhhdmlvdXIuCgkgIEZpeCBieSBkaXNjb25uZWN0aW5nIG91ciBzaWduYWwgb24gZmluYWxpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIwOTgKCjIwMTYtMDItMTYgMDA6MTk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBydHA6IGgyNjU6IGhvb2sgdXAgbW92ZSBSVFAgSC4yNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIHRvIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMTYgMDA6MTQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiBoMjY1OiB1c2UgY29tbW9uIG1ldGEgdXRpbGl0eSBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0wNSAxODoxODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjV0eXBlcy5oOgoJICBydHA6IGgyNjU6IHJlbW92ZSBjb2RlY3BhcnNlciBkZXBlbmRlbmN5IGZyb20gaDI2NSBwYXlsb2FkZXIvZGVwYXlsb2FkZXIKCSAgTG9va3MgbGlrZSBpdCBqdXN0IHVzZXMgdGhlIE5BTCBlbnVtcyBhbmQgbm90aGluZyBlbHNlIGZyb20KCSAgdGhlIGNvZGVjcGFyc2VycywgYW5kIHRoYXQncyB0aGUgb25seSByZWFzb24gaXQgaGFkIHRvIGJlCgkgIG1vdmVkIGZyb20gLWdvb2QgdG8gLWJhZCB3aGVuIGl0IHdhcyBvcmlnaW5hbGx5IGFkZGVkLiBXZQoJICBjYW4gcHJvYmFibHkga2VlcCB0aG9zZSBOQUwgZW51bXMgdXAgdG8gZGF0ZSBlbm91Z2gsIHNvIGxldCdzCgkgIHJlbW92ZSB0aGUgY29kZWNwYXJzZXIgZGVwZW5kZW5jeSBzbyBpdCBjYW4gYmUgbW92ZWQgYmFjayBpbnRvCgkgIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE2IDAwOjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdwbHVnaW4tbW92ZS1ydHAtaDI2NScKCSAgTW92ZSBSVFAgSC4yNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGZyb20gLWJhZCB0byAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0wNSAxNTozNDo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIGdzdHJ0cGgyNjVkZXBheToga2VlcCBjb25zaXN0ZW5jeSB3aXRoIHJ0cGgyNjRkZXBheQoJICBVc2UgZ3N0X3J0cF9kcm9wX21ldGEoKSBhbmQgdGhlIHNhbWUgZnVuY3Rpb24gcHJvdG90eXBlIGZvcgoJICBnc3RfcnRwX2NvcHlfbWV0YSgpIHRvIGtlZXAgY29uc2lzdGVuY3kgd2l0aCB0aGUgUlRQIGVsZW1lbnRzIGluCgkgIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTYtMDItMDUgMTM6NTY6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB0ZXJtaW5hdGlvbiBvZiBhY2Nlc3MgdW5pdAoJICBPbmx5IGNvbnNpZGVyIHRoZSBhY2Nlc3MgdW5pdCBjb21wbGV0ZSB3aGVuIHRoZSBuZXh0LW9jY3VycmluZyBWQ0wgTkFMIHVuaXQKCSAgaGFzIHRoZSBmaXJzdCBiaXQgYWZ0ZXIgaXRzIE5BTCB1bml0IGhlYWRlciBlcXVhbCB0byAxLgoKMjAxNi0wMS0xNSAxNjoxMDowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHVubmVlZGVkIHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4gdGhyb3cgaXQKCSAgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlciBkaXJlY3RseS4KCjIwMTYtMDEtMTUgMTU6NTY6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogYWRkICJzZW5kIFZQUy9TUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgVlBTL1NQUy9QUFMgaW5mb3JtYXRpb24KCSAgc2VudCBpbiBSVFAgcGFja2V0cy4gVGhlcmUgYXJlIHNvbWUgc2NlbmFyaW9zIHdoZW4ga2V5IGZyYW1lcyBtYXkgYXBwZWFyCgkgIG1vcmUgZnJlcXVlbnRseSB0aGFuIG9uY2UgYSBzZWNvbmQsIGluIHdoaWNoIGNhc2UgdGhlIG1pbmltdW0gdGltZW91dAoJICBmb3IgImNvbmZpZy1pbnRlcnZhbCIgb2YgMSBzZWNvbmQgZm9yIHNlbmRpbmcgVlBTL1NQUy9QUFMgaXNuJ3QgZW5vdWdoLgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgVlBTL1NQUy9QUFMgaXMKCSAgYXZhaWxhYmxlIHdpdGggZXZlcnkga2V5ZnJhbWUgKHBhY2tldCBsb3NzIGFzaWRlKSwgc28gcmVjZWl2ZXJzIGNhbgoJICBhY3R1YWxseSBwaWNrIHVwIGRlY29kaW5nIGltbWVkaWF0ZWx5IGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGlmCgkgIFZQUy9TUFMvUFBTIGlzIG5vdCBzaWduYWxlZCBvdXQgb2YgYmFuZC4KCSAgVGhpcyBjb21taXQgYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZS4KCSAgVGhpcyBtb2RlIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdG8gLTEuIEluCgkgIHRoaXMgY2FzZSB0aGUgcGF5bG9hZGVyIHdpbGwgYWRkIFZQUywgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKQoJICBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNi0wMS0xNSAxNToxOTo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwaDI2NXBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTUtMDgtMTUgMTY6MjI6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzIHN1cmUKCSAgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE1LTA4LTE1IDE0OjQ1OjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IENvcHkgbWV0YWRhdGEgaW4gdGhlIHBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xNSAxMTo0MTo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBVc2UgR1NUX1dBUk5JTkdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfV0FSTklORygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTUgMTE6MzA6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZml4IHBvdGVudGlhbCBjcmFzaCB3aGVuIHNodXR0aW5nIGRvd24KCSAgQSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIG1heSBjYXVzZSBidWZmZXJzIHRvIGJlCgkgIHVucmVmZmVkIHdoaWxlIHRoZXkgYXJlIHN0aWxsIHVzZWQgYnkgdGhlIHN0cmVhbWluZyB0aHJlYWQgaW4KCSAgZ3N0X3J0cF9oMjY1X3BheV9zZW5kX3Zwc19zcHNfcHBzKCkgcmVzdWx0aW5nIGluIGEgY3Jhc2guIENoYWluIHVwIHRvIHRoZQoJICBwYXJlbnQgY2xhc3MgZmlyc3QgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0byBtYWtlIHN1cmUgc3RyZWFtaW5nCgkgIGhhcyBzdG9wcGVkIGFuZCBvbmx5IHRoZW4gZnJlZSB0aG9zZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzgxCgoyMDE1LTA4LTE0IDE1OjA4OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBidWZmZXIgbGVhayB3aGVuIHVzaW5nIFNQUy9QUFMKCSAgRml4ZXMgYSBidWZmZXIgbGVhayB0aGF0IHdvdWxkIG9jY3VyIGlmIHRoZSBwaXBlbGluZSB3YXMgc2h1dGRvd24gd2hpbGUgYQoJICBTUFMvUFBTIGhlYWRlciB3YXMgYmVpbmcgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3MQoKMjAxNS0wOC0xNCAxMTo0OTo1MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIHJ0cGgyNjVkZXBheTogY29weSBtZXRhZGF0YSBpbiB0aGUgZGVwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTIgMTc6NTQ6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGNoZWNraW5nIGlmIGRlcGF5IGhhcyBzcHMvcHBzIG5hbHMgYmVmb3JlIGluc2VydGlvbgoJICBSZWxhdGVkIHRvOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDMwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTc6MjI6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG9ubHkgdXBkYXRlIHRoZSBzcmNwYWQgY2FwcyBpZiBzb21ldGhpbmcgZWxzZSB0aGFuIHRoZSBjb2RlY19kYXRhIGNoYW5nZWQKCSAgaDI2NHBhcnNlIGFuZCBnc3RydHBoMjY0ZGVwYXkgZG8gdGhlIHNhbWUsIGxldCdzIGtlZXAgdGhlIGJlaGF2aW91cgoJICBjb25zaXN0ZW50LiBBcyB3ZSBub3cgaW5jbHVkZSB0aGUgY29kZWNfZGF0YSBpbnNpZGUgdGhlIHN0cmVhbSwgdGhpcyBjYXVzZXMKCSAgbGVzcyBjYXBzIHJlbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTY6NDM6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IFBQUyByZXBsYWNlcyBvbGQgUFBTIGlmIGl0IGhhcyB0aGUgc2FtZSBpZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjExOjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBJbnNlcnQgU1BTL1BQUyBOQUxzIGludG8gdGhlIHN0cmVhbQoJICBydHBoMjY0ZGVwYXkgZG9lcyB0aGUgc2FtZSBhbmQgdGhpcyBmaXhlcyBkZWNvZGluZyBvZiBzb21lIHN0cmVhbXMgd2l0aCAzMgoJICBTUFMgKG9yIDI1NiBQUFMpLiBJdCBpcyBhbGxvd2VkIHRvIGhhdmUgU1BTIElEIDAgdG8gMzEgKG9yIFBQUyBJRCAwIHRvIDI1NSksCgkgIGJ1dCB0aGUgZmllbGQgaW4gdGhlIGNvZGVjX2RhdGEgZm9yIHRoZSBudW1iZXIgb2YgU1BTIG9yIFBQUyBpcyBvbmx5IDUKCSAgKG9yIDgpIGJpdC4gQXMgc3VjaCwgMzIgU1BTIChvciAyNTYgUFBTKSBhcmUgaW50ZXJwcmV0ZWQgYXMgMCBldmVyeXdoZXJlLgoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIGluIHRoZSBwYXJ0IG9mIHRoZSBzcGVjdCBhYm91dCB0aGUgY29kZWNfZGF0YS4KCjIwMTUtMDgtMTIgMTU6NDk6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QgbmVlZCB0byBtYXAgdGhlCgkgIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlIHRoZSBtYXBwaW5nIHRoZSBiYXNlIGNsYXNzIGhhcwoJICBhbHJlYWR5IGRvbmUuCgkgIEJhc2VkIG9uOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTU6MTQ6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IFVzZSBHU1RfQlVGRkVSX1BUUygpIGluc3RlYWQgb2YgR1NUX0JVRkZFUl9USU1FU1RBTVAoKQoJICBTd2l0Y2hpbmcgdG8gR1NUX0JVRkZFUl9USU1FU1RBTVAoKSB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgcnRwIGNvZGUuCgoyMDE1LTA4LTEyIDE0OjU5OjUzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBwcmV2ZW50IHRyeWluZyB0byBnZXQgMCBieXRlcyBmcm9tIGFkYXB0ZXIKCSAgVGhpcyBjYXVzZXMgYW4gYXNzZXJ0aW9uIGFuZCB3b3VsZCBsZWFkIHRvIGdldHRpbmcgYSBOVUxMIGluc3RlYWQKCSAgb2YgYSBidWZmZXIuIFdpdGhvdXQgcHJvcGVyIGNoZWNraW5nIHRoaXMgd291bGQgZWFzaWx5IGxlYWQgdG8gYQoJICBzZWdmYXVsdC4KCSAgUmVsYXRlZCB0byBycHRoMjY0ZGVwYXk6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxOTkKCjIwMTUtMDctMjkgMTc6Mjk6MjggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIFZhbHVlIHNldCB0byByZXQgd2lsbCBiZSBvdmVyd3JpdHRlbiBhdCBsZWFzdCBvbmNlIGF0IHRoZSBlbmQgb2YgdGhlIHdoaWxlCgkgIGxvb3AsIHJlbW92aW5nIGFzc2lnbm1lbnQuCgoyMDE1LTA0LTI0IDE2OjQ4OjIzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJlbW92ZSB1bnVzZWQgZW51bSBpdGVtcyBQUk9QX0xBU1QKCSAgVGhpcyB3ZXJlIHByb2JhYmx5IGFkZGVkIHRvIHRoZSBlbnVtcyBkdWUgdG8gY2FyZ28gY3VsdCBwcm9ncmFtbWluZyBhbmQgYXJlCgkgIHVudXNlZC4KCjIwMTUtMDMtMDYgMTQ6NTQ6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGRvbmxfcHJlc2VudCB2YXJpYWJsZSB1bnVzZWQKCSAgZG9ubF9wcmVzZW50IGlzIG5vdCBpbXBsZW1lbnRlZCwgeWV0IHRoZSB2YWx1ZSBpcyBzZXQgYW5kIGNoZWNrZWQgYSBmZXcgdGltZXMuCgkgIENsZWFuaW5nIHRoaXMuCgkgIENJRCAjMTI0OTY4NwoKMjAxNS0wMS0wOCAxNTozNjowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHZhbHVlIHRydW5jYXRlZCB0b28gc2hvcnQgY3JlYXRlcyBkZWFkIGNvZGUKCSAgdHlwZSBpcyB0cnVuY2F0ZWQgdG8gMC0zMSB3aXRoICImIDB4MWYiLCBidXQgcmlnaHQgYWZ0ZXIgdGhhdCBpdCBpcyBjaGVja3MgaWYKCSAgdGhlIHZhbHVlIGlzIGVxdWl2YWxlbnQgdG8gR1NUX0gyNjVfTkFMX1ZQUywgR1NUX0gyNjVfTkFMX1NQUywgYW5kCgkgIEdTVF9IMjY1X05BTF9QUFMgKHdoaWNoIGFyZSAzMiwgMzMsIGFuZCAzNCByZXNwZWN0aXZlbHkpLiBPYnZpb3VzbHksIHRoaXMgd2lsbAoJICBuZXZlciBiZSBUcnVlIGlmIHRoZSB2YWx1ZSBpcyBtYXhpbXVtIDMxIGFmdGVyIHRoZSB0cnVuY2F0aW9uLgoJICBUaGUgaW50ZW50aW9uIG9mIHRoZSBjb2RlIHdhcyB0byB0cnVuY2F0ZSB0byAwLTYzLgoKMjAxNS0wMS0wOCAxNToyNzo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IG5hbCB1bml0IHR5cGUgY2hlY2sKCSAgQWZ0ZXIgZnVydGhlciBpbnZlc3RpZ2F0aW9uIHRoZSBwcmV2aW91cyBjb21taXQgaXMgd3JvbmcuIFRoZSBjb2RlIGludGVuZGVkIHRvCgkgIGNoZWNrIGlmIHRoZSB0eXBlIGlzIDM5IG9yIHRoZSByYW5nZXMgNDEtNDQgYW5kIDQ4LTU1LiBKdXN0IGxpa2UgZ3N0aDI2NXBhcnNlLmMKCSAgZG9lcy4gVHlwZSA0MCB3b3VsZCBub3QgYmUgY29tcGxldGUuCgoyMDE1LTAxLTA4IDEzOjQ3OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggZGVhZCBjb2RlIGFuZCBjaGVjayBmb3IgaW1wb3NzaWJsZSB2YWx1ZXMKCSAgbmFsX3R5cGUgaXMgdGhlIGluZGV4IGZvciBhIEdzdEgyNjVOYWxVbml0VHlwZSBlbnVtLiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGRlYWQKCSAgY29kZSBoZXJlOgoJICBGaXJzdCwgYWZ0ZXIgY2hlY2tpbmcgaWYgbmFsX3R5cGUgaXMgPj0gMzkgdGhlcmUgYXJlIHR3byBPUiBjb25kaXRpb25hbHMgdGhhdAoJICBjaGVjayBpZiB0aGUgdmFsdWUgaXMgaW4gcmFuZ2VzIGhpZ2hlciB0aGFuIHRoYXQgbnVtYmVyLCBzbyBpZiBuYWxfdHlwZSA+PSAzOQoJICBmYWxscyBpbiB0aGUgVHJ1ZSBicmFuY2ggdGhvc2Ugb3RoZXIgY29uZGl0aW9ucyBhcmVuJ3QgY2hlY2tlZCBhbmQgaWYgaXQgZmFsbHMKCSAgaW4gdGhlIEZhbHNlIGJyYW5jaCBhbmQgdGhleSBhcmUgY2hlY2tlZCwgdGhleSB3aWxsIGFsd2F5cyBhbHNvIGJlIEZhbHNlLiBUaGV5CgkgIGFyZSByZWR1bmRhbnQuCgkgIFNlY29uZCwgdGhlIGVudW0gaGFzIGEgcmFuZ2Ugb2YgMCB0byA0MC4gU28gdGhlIGNoZWNrcyBmb3IgcmFuZ2VzIGhpZ2hlciB0aGFuIDQxCgkgIHNob3VsZCBuZXZlciBiZSBUcnVlLgoJICBSZW1vdmluZyB0aGlzIHJlZHVuZGFudCBjaGVja3MuCgkgIENJRCAxMjQ5Njg0CgoyMDE0LTEwLTE2IDEwOjM0OjAxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlcgoKMjAxNi0wMi0xNSAxMTo1MTo0NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogcnRwbXV4OiBGaXggZWxlbWVudCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDU3CgoyMDE2LTAyLTEyIDIwOjU3OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiByZXdvcmsgdGhlIHNjYWxpbmcgY29kZQoJICBUaGUgcnVubmluZyBhdmVyYWdlIHdhcyB3cm9uZyBhbmQgdGhlIHJlc3VsdGluZyBzY2FsaW5nIGZhY3RvciB3YXMgb25seSBoZWxkIGluCgkgIHBsYWNlIHVzaW5nIHRoZSBDTEFNUC4gSW4gYWRkdGlvbiB3ZSBhcmUgbm93IGNvbnZlcmluZyBxdWlja2x5IHRvIHZvbHVtZQoJICBjaGFuZ2VzLgoJICBGSW5hbGx5IG5vdyB3aXRoIHRoaXMgY2hhbmdlLCB3ZSBjYW4gY2hhbmdlIHRoZSByZXNvbHV0aW9uIGRlZmluZXMgYW5kCgkgIGV2ZXJ5dGhpZ24gYWRqdXN0cy4KCjIwMTYtMDEtMjggMTc6MDA6NTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmg6CgkgIG1vbm9zY29wZTogdXNlIGNvbnN0YW50cyBpbiB0aGUgZHJhd2luZyBjb2RlCgkgIE1ha2UgYWxsIHRoZSBkcmF3aW5nIG9wcyBiZSBiYXNlZCBvbiB0aGUgY29uc3RhbnRzLiBUaGlzIHdheSB3ZSBjYW4gY2hhbmdlCgkgIHRoZSBmaXhlZCBzaXplIGF0IGxlYXN0IGF0IGNvbXBpbGUgdGltZS4KCjIwMTYtMDEtMjggMDk6NTE6MTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IHJlcGxhY2UgaGFyZGNvZGVkIHZhbHVlcyBieSBjb25zdGFudHMKCSAgVGhpcyBhdCBsZWFzdCBlc3RhYmxpc2hlcyB0aGUgcmVsYXRpb25zaGlwLgoKMjAxNi0wMS0yOCAwOTo0MzoxMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5oOgoJICBtb25vc2NwZTogbWFrZSB0aGUgY29udm9sdmVyIHVzZSBkeW5hbWljIG1lbW9yeQoJICBSZXBsYWNlIGFsbCAjZGVmaW5lcyB3aXRoIG1lbWJlcnMgYW5kIGluaXRpYWxpemUgdGhlIGNvbnZvbHZlciB3aXRoIGEgcGFyYW1ldGVyLgoKMjAxNi0wMS0yOCAwODo1Njo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvUkVBRE1FOgoJICBtb25vc2NvcGU6IHVwZGF0ZSBSRUFETUUKCSAgV2UgY2FuIGFscmVhZHkgY3JlYXRlIG11bHRpcGxlIGluc3RhbmNlcy4KCjIwMTYtMDEtMjggMDg6NTM6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogY29kZSBjbGVhbnVwCgkgIFVzZSBjb25zdGFudHMgbW9yZSBvZnRlbi4gQ2xlYW51cCBjb21tZW50cyBhbmQgYWRkIG1vcmUgdG8gZXhwbGFpbiBob3cgdGhpbmdzCgkgIHdvcmsuCgoyMDE2LTAyLTA5IDEyOjE0OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdsc3luY21ldGE6IHNlcGFyYXRlIG91dCBncHUvY3B1IHdhaXRzLgoJICBDUFUgd2FpdHMgYXJlIG1vcmUgZXhwZW5zaXZlIGFuZCBhcmUgb25seSByZXF1aXJlZCBpZiB0aGUgQ1BVIGlzIGV2ZXIgZ29pbmcgdG8KCSAgYWNjZXNzIHRoZSBkYXRhLiBHUFUgd2FpdHMgcGVyZm9ybSBpbnRlci1jb250ZXh0IHN5bmNocm9uaXNhdGlvbiBhbmQgYXJlIGNoZWFwZXIKCSAgYXMgdGhleSBkb24ndCByZXF1aXJlIENQVSBpbnRlcnZlbnRpb24uCgoyMDE2LTAyLTA4IDIzOjQxOjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgY2hlY2sgZm9yIGltcG9zc2libGUgY29uZGl0aW9uCgkgIENvbW1pdCBiZDI3YTFmMzBiNDQ1OGYyZWRlZTUzYzc2ZGQwN2ZiMzU5MDRiNjFkIGFkZGVkIGEgZmV3IGVycm9yIGhhbmRsaW5nCgkgIG1lbW9yeSBtYW5hZ2VtZW50IGNoZWNrcy4gVGhlc2UgY2hlY2sgc3JjY2FwcyB0byBzZWUgaWYgaXQgbmVlZHMgdG8gYmUKCSAgdW5yZWZlcmVuY2VkIGJlZm9yZSByZXR1cm5pbmcsIGluIHRoZSBjYXNlIG9mIGludmFsaWRfY2FwcyB0aGlzIGdvdG8ganVtcAoJICBhbHdheXMgaGFwcGVucyBiZWZvcmUgc3JjY2FwcyBpcyBzZXQsIHNvIGl0IHdpbGwgYWx3YXlzIGJlIE5VTEwgaW4gdGhpcwoJICBlcnJvciBsYWJlbC4KCSAgQ0lEICMxMzUyMDM1CgoyMDE2LTAyLTA4IDEyOjQ4OjQ2ICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDUKCjIwMTYtMDItMDggMTU6MzE6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBzcGVsbGluZyBvZiByZWVucXVldWVpbmcKCSAgVG8gbWF0Y2ggY29tbWl0IDdkNzA3NGNlZjAyNzJjZDUxNTUwOThiZmMyYmRhNjg0OWRkODkyNjcuIEkgbG92ZSB0aGUgaWRlYQoJICBvZiBhaW1pbmcgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25zZWN1dGl2ZSB2b3dlbHMuCgoyMDE2LTAyLTA4IDEwOjE3OjQ5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBzcGVsbGluZyBvZiBxdWV1ZWluZwoJICBEaWRuJ3Qga25vdyB3aGljaCBvbmUgdG8gY2hvb3NlIGJldHdlZW4gcXVldWluZyBhbmQgcXVldWVpbmcsIHNvIEkgcGlja2VkCgkgIHRoZSBvbmUgd2l0aCB0aGUgYmlnZ2VzdCBhbW91bnQgb2Ygdm93ZWxzIGluIGEgcm93IDstUCAoYm90aCBhcmUKCSAgYWNjZXB0YWJsZSBhcHBhcmVudGx5KQoKMjAxNi0wMi0wNyAxNTowMjozNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBEb24ndCBwYXNzIHRoZSBzYW1lIGRhdGEgb3ZlciBhbmQgb3ZlcgoJICBXZSBhbHJlYWR5IHBhc3MgdGhlIGVudGlyZSBmcmFtZSB0byB0aGUgZGVjb2Rlci4gSWYgdGhlIGRlY29kZXIgYXNrIGZvcgoJICBtb3JlIGRhdGEsIGRvbid0IHBhc3MgdGhlIHNhbWUgZGF0YSBhZ2FpbiBhcyB0aGlzIGxlYWRzIHRvIGluZmluaXQgbG9vcC4KCSAgSW5zdGVhZCwgc2ltcGx5IGZhaWwgdGhlIGZpbGwgZnVuY3Rpb24gdG8gc2lnbmFsIHRoZSBwcm9ibGVtIHdpdGggdGhhdAoJICBmcmFtZS4gSXQgd2lsbCB0aGVuIGJlIHNraXBwZWQgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2NzAKCjIwMTYtMDItMDggMDA6MTA6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbHpvLmM6CgkgIG1hdHJvc2thOiBnZXQgcmlkIG9mIF9zdGRpbnQuaCBpbmNsdWRlCgoyMDE2LTAyLTA1IDIwOjAwOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGV4dGVuZCB0aGUgQU1fVEVTVFNfRU5WSVJPTk1FTlQgZnJvbSBjaGVjay5tYWsKCSAgVG8gZ2V0IHRoZSBDS19ERUZBVUxUX1RJTUVPVVQgZGVmaW5lZCBmb3IgYWxsIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NzIKCjIwMTYtMDItMDUgMTg6MDQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODZlNDY2MyB0byBiNjRmMDNmCgoyMDE2LTAxLTI0IDE1OjQ3OjEyICswMTAwICBIb2xnZXIgS2FlbGJlcmVyIDxob2xnZXIua0BlbGJlcmVyLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4ucW1sOgoJICB0ZXN0czogZml4IHdhcm5pbmcgaW4gcW1sIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA4MgoKMjAxNi0wMS0zMCAxODo0MzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBTa2lwIEFQUCBhbmQgSlBHIG1hcmtlcnMgYW5kIHByaW50IHdhcm5pbmdzIGZvciB1bmtub3duIG1hcmtlcnMKCSAgRm9yIEFQUC9KUEcgbWFya2VycyB0aGUgc2l6ZSBpcyBmb2xsb3dpbmcgYW5kIHdlIGhhdmUgdG8gc2tpcCB0aGF0LiBUaGlzIGlzCgkgIG5vdCByZWFsbHkgYSBwcm9ibGVtIHVubGVzcyB0aGUgbWFya2VyIGNvbnRhaW5zIGUuZy4gYSBwcmV2aWV3IEpQRUcgb3IKCSAgc29tZXRoaW5nIGVsc2UgdGhhdCB3ZSBtaWdodCBpbnRlcnByZXRlIGFzIGFub3RoZXIgbWFya2VyLgoKMjAxNi0wMS0yNiAyMjozNzozMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbiBmb3IgZnJhZ21lbnRlZCBmb3JtYXQKCSAgcXRkZW11eCBjYWxjdWxhdGVzIGZyYW1lcmF0ZSB1c2luZyBkdXJhdGlvbiBhbmQgdGhlIG51bWJlciBvZiBzYW1wbGUuCgkgIEluIGNhc2Ugb2YgZnJhZ21lbnRlZCBtcDQgZm9ybWF0LCBob3dldmVyLCB0aGUgbnVtYmVyIG9mIHNhbXBsZSBjYW4KCSAgYmUgZmlndXJlIG91dCBhZnRlciBwYXJzaW5nIGV2ZXJ5IG1vb2YgYm94LiBCZWNhdXNlIHF0ZGVtdXggZG9lcyBub3QKCSAgcGFyc2UgZXZlcnkgbW9vZiBpbiBRVERFTVVYX1NUQVRFX0hFQURFUiBzdGF0ZSwgaXQgd2lsbCBjYXVzZSBpbmNvcnJlY3QKCSAgZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBUaGlzIHBhdGNoIHdpbGwgdHJpZ2VyIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKSBmb3IgZXZlcnkgbmV3IG1vb2YuCgkgIFRoZW4sIGZyYW1lcmF0ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgYnkgdXNpbmcgZHVyYXRpb24gYW5kIG5fc2FtcGxlcyBvZiB0aGUgbW9vZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3NAoKMjAxNi0wMS0yOCAyMjozNjoyMyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxpbmcgemVybyBzZWdtZW50LWR1cmF0aW9uIGVkaXQgbGlzdAoJICBCYXNlZCBvbiBkb2N1bWVudCBJU09fSUVDXzE0NDk2LTEyLCBlZGl0IGxpc3QgYm94IGNhbiBoYXZlCgkgIHNlZ21lbnQgZHVyYXRpb24gYXMgemVyby4gSXQgZG9lcyBub3QgaW1wbHkgdGhhdCBtZWRpYV9zdGFydCBlcXVhbHMgdG8KCSAgbWVkaWFfc3RvcC4gQnV0LCBpdCBqdXN0IGluZGljYXRlcyBhIHNhbXBsZSB3aGljaCBzaG91bGQgYmUgcHJlc2VudGVkCgkgIGF0IHRoZSBmaXJzdC4gVGhpcyBwYXRjaCBkZXJpdmVzIHNlZ21lbnQgZHVyYXRpb24gdXNpbmcgbWVkaWFfdGltZQoJICBhbmQgZHVyYXRpb24gb2YgZmlsZS4gQW5kIHNldCBkZXJpdmVkIGR1cmF0aW9uIHRvIHNlZ21lbnQtZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3ODEKCjIwMTYtMDEtMjggMjE6MzY6NTQgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBleHBvc2Ugc3RyZWFtcyB3aXRoIGZpcnN0IG1vb2YgZm9yIGZyYWdtZW50ZWQgZm9ybWF0CgkgIEluIGNhc2Ugb2YgcHVzaCBtb2RlLCBxdGRlbXV4IGV4cG9zZSBzdHJlYW1zIGFmdGVyIGdvdCBtb292IGJveC4KCSAgV2UgY2FuIG5vdCBndWFyYW50ZWUgdGhhdCBhIG1vb3YgYm94IGhhcyBzYW1wbGUgZGF0YSBzdWNoIGFzIHNhbXBsZSBkdXJhdGlvbgoJICBhbmQgdGhlIG51bWJlciBvZiBzYW1wbGUgaW4gc3RibCBib3ggZm9yIGZyYWdtZW50ZWQgZm9ybWF0IGNhc2UuCgkgIFNvLCBpZiBhIG1vb3YgaGFzIG5vIHNhbXBsZSBkYXRhLCBzdHJlYW1zIHdpbGwgbm90IGJlIGV4cG9zZWQgdW50aWwgZ2V0IHRoZSBmaXJzdCBtb29mLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzc5CgoyMDE2LTAxLTI3IDE4OjQ4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGVjayBmb3Igc3Vic2V0IGluc3RlYWQgb2Ygbm9uLWVtcHR5IGludGVyc2VjdGlvbiBmb3IgQUNDRVBUX0NBUFMKCjIwMTYtMDEtMjcgMTg6NDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFVuc2V0IFJFQ09ORklHVVJFIGZsYWcgb24gc3JjcGFkIHdoZW5ldmVyIHdlIGNvbmZpZ3VyZSBuZXcgY2FwcwoJICBQcmV2ZW50cyBkb3VibGUtbmVnb3RpYXRpb24gZHVyaW5nIHN0YXJ0dXAgYW5kIGluIHNvbWUgb3RoZXIgY2FzZXMuCgoyMDE2LTAxLTI3IDE2OjQzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBuZWdvdGlhdGlvbiB1bml0IHRlc3RzIGZvciBhbGwgNCBtb2RlcwoJICBUaGVzZSBub3cgY2hlY2sgdGhlIG91dHB1dCBjYXBzIGJhc2VkIG9uIHRoZSBpbnB1dCBjYXBzIGFuZCBhIGZvbGxvd2luZwoJICBjYXBzZmlsdGVyIGFuZCBtYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGV4YWN0bHkgYXMgZXhwZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5OTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxNzozOToyMCArMDEwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvIHBhc3N0aHJvdWdoIGluIGF1dG8gbW9kZSBpZiBkb3duc3RyZWFtIG9ubHkgc3VwcG9ydHMgaW50ZXJsYWNlZAoJICBJZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKCSAgMSkgdXBzdHJlYW0gYW5kIGRvd25zdHJlYW0gY2FwcyBhcmUgY29tcGF0aWJsZQoJICAyKSB1cHN0cmVhbSBpcyBpbnRlcmxhY2VkCgkgIDMpIGRvd25zdHJlYW0gZG9lc24ndCBzdXBwb3J0IHByb2dyZXNzaXZlIG1vZGUKCSAgdGhlbiBkZWludGVybGFjZSB3aWxsIGp1c3QgZG8gcGFzc3Rocm91Z2ggaW5zdGVhZCBvZiBmYWlsaW5nIHRvIGxpbmsuCgkgIFRoaXMgaXMgZG9uZSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW8gaW4gbWluZDoKCSAgdmlkZW90ZXN0c3JjICEgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGRlaW50ZXJsYWNlCgkgIG5hbWU9ZGVpbl9zcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZmlsZSAhIGZpbGVzaW5rIHQuICEKCSAgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZGVza3RvcCAhIGF1dG92aWRlb3NpbmsKCSAgSW4gdGhpcyBjYXNlLCBkZWluX3NyYyB3aWxsIGRvIHRoZSBkZWludGVybGFjaW5nLiBIb3dldmVyLAoJICB2aWRlb3Rlc3RzcmMgISAidmlkZW8veC1yYXcsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEgZGVpbnRlcmxhY2UKCSAgbmFtZT1kZWluX3NyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9maWxlICEgZmlsZXNpbmsgdC4gIQoJICBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9kZXNrdG9wICEgYXV0b3ZpZGVvc2luayB0LiAhIHF1ZXVlICEKCSAgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGZha2VzaW5rCgkgIEluIHRoaXMgY2FzZSwgY2FwcyBhdXRvLW5lZ290aWF0aW9uIHdpbGwgbWFrZSBkZWluX2ZpbGUgYW5kIGRlaW5fZGVza3RvcCBkbwoJICB0aGUgZGVpbnRlcmxhY2luZywgd2hpbGUgZGVpbl9zcmMgd2lsbCBiZSBwYXNzdGhyb3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk5NQoKMjAxNi0wMS0yNiAxODowNTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEFkZCBtb2RlPWF1dG8tc3RyaWN0CgkgIEluIHRoaXMgbW9kZSB3ZSB3aWxsIHBhc3N0aHJvdWdoIGFsbCBwcm9ncmVzc2l2ZSBjYXBzIGJ1dCBpbnRlcmxhY2VkIGNhcHMgbXVzdCBiZQoJICBjYXBzIHdoZXJlIHdlIGFjdHVhbGx5IHN1cHBvcnQgZGVpbnRlcmxhY2luZy4KCSAgVGhpcyBpcyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gYXV0byBhbmQgYXV0by1zdHJpY3QsIGF1dG8gd291bGQKCSAgcGFzc3Rocm91Z2ggYWxsIHVuc3VwcG9ydGVkIGludGVybGFjZWQgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxNzo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IHJlY29uZmlndXJhdGlvbiBhIGJpdCBiZXR0ZXIKCSAgQW5kIGUuZy4gY29uc2lkZXIgcmVjb25maWd1cmF0aW9uIGNhdXNlZCBieSBSRUNPTkZJR1VSRSBldmVudHMgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgoyMDE2LTAxLTI2IDExOjU3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZXdyaXRlIGNhcHMgbmVnb3RpYXRpb24KCSAgUHJldmlvdXNseSB0aGUgcmVzdWx0IG9mIHRoZSBDQVBTIHF1ZXJ5IGFuZCBBQ0NFUFRfQ0FQUyBkZXBlbmRlZCBvbiB3aGF0IGtpbmQKCSAgb2YgY2FwcyB3ZXJlIGxhc3Qgc2V0LCBhbmQgZS5nLiBpZiB3ZSBsYXN0IGhhZCBpbnRlcmxhY2VkIGNhcHMgb3Igbm90LiBUaGF0J3MKCSAganVzdCBicm9rZW4uCgkgIEFsc28gcHJldmlvdXNseSB0aGUgaGFuZGxpbmcgb2Ygbm9uLXN5c21lbSBjYXBzIGZlYXR1cmVzIHdhcyByYXRoZXIgcmFuZG9tIGFuZAoJICB1bnVzdWFibGUuCgkgIE5vdyB0aGUgYmVoYXZpb3VyIGlzIHRoZSBmb2xsb3dpbmcsIGRlcGVuZGluZyBvbiB0aGUgbW9kZSBwcm9wZXJ0eToKCSAgMSkgbW9kZT1kaXNhYmxlZAoJICBDb21wbGV0ZWx5IGRvIHBhc3N0aHJvdWdoIG9mIGV2ZXJ5dGhpbmcKCSAgMikgbW9kZT1pbnRlcmxhY2VkCgkgIE9ubHkgYWNjZXB0IGZvcm1hdHMgd2UgY2FuIGFjdHVhbGx5IGRlaW50ZXJsYWNlLCBhbmQgYWNjZXB0IGludGVybGFjZWQKCSAgYW5kIHByb2dyZXNzaXZlIGNvbnRlbnQgYW5kIGFsd2F5cyBydW4gdGhlIGRlaW50ZXJsYWNlciBhbmQgb3V0cHV0CgkgIHByb2dyZXNzaXZlIGNvbnRlbnQKCSAgMykgbW9kZT1hdXRvIChpLmUuIHBsYXliaW4pCgkgIEFjY2VwdCBhbGwgcHJvZ3Jlc3NpdmUgZm9ybWF0cyBhcyBwYXNzdGhyb3VnaCwgYWNjZXB0IGFsbCBmb3JtYXRzIHRoYXQgd2UKCSAgY2FuIGRlaW50ZXJsYWNlIG91cnNlbHZlcyAod2hpY2ggd2UgZG8gdGhlbiksIGJ1dCBhbHNvIGFjY2VwdCBldmVyeXRoaW5nCgkgIGVsc2UgZm9yIHdoaWNoIHdlIHRoZW4ganVzdCBwYXNzdGhyb3VnaC4gSW4gYXV0byBtb2RlLCBkZWludGVybGFjaW5nIGlzIGJlc3QKCSAgZWZmb3J0OiBJZiB3ZSBjYW4sIHdlIGRlaW50ZXJsYWNlLCBpZiB3ZSBjYW4ndCB3ZSBqdXN0IG91dHB1dCBpbnRlcmxhY2VkCgkgIGNvbnRlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1MwoKMjAxNi0wMS0yNiAxMTozNDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIHVudXNlZCwgb2Jzb2xldGUgYnVmZmVyYWxsb2MgY29kZQoKMjAxNi0wMS0yNiAxODo1MDozOCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBBX0FBQyBpbnN0ZWFkIG9mIEFfQUFDL01QRUd4L3kKCSAgU29tZSBHb29nbGVDYXN0IGNvbXBhdGlibGUgZGV2aWNlcyBpZ25vcmUgQV9BQUMvTVBFR3gveSB0cmFja3M7IEFsc28gYWNjb3JkaW5nIHRvIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPU1hdHJvc2thIEFfQUFDL01QRUd4L3kgaXMgb2Jzb2xldGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTE0NAoKMjAxNi0wMS0yNSAxNzoyMToyNCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIGdzdDogRml4IHVuaW50aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5ncwoJICBXaGlsZSBjcm9zcy1jb21waWxpbmcgd2l0aCBMaW5hcm8gR0NDIDUuMS0yMDE1LjA4LCBpdCBjb21wbGFpbmVkCgkgIGFib3V0IGEgY291cGxlIHVuaXRpYWxpemVkIHZhcmlhYmxlcy4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0aGVtIHRvIHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwOTQKCjIwMTYtMDEtMjUgMTY6Mjk6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkgIHF0OiBzcGVjaWZ5IHRoYXQgd2UgY3VycmVudGx5IG9ubHkgdGFrZSAyRCB0ZXh0dXJlcwoJICBGaXhlcyBibGFjayBzY3JlZW4gdmlkZW8gcGxheWJhY2sgb24gYW5kcm9pZCB3aXRob3V0IGEgY2FwcyBmaWx0ZXIuCgoyMDE2LTAxLTI1IDE1OjAzOjIzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXhzcmM6IHByaW50IHBvdGVudGlhbGx5IG5lZ2F0aXZlIG9mZnNldCB3aXRoIGEgc2lnbgoKMjAxNi0wMS0yMSAxNzo0MTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBSZS1hZGQgY29sb3JpbWV0cnkgZmllbGQgZm9yIFJHQiBmb3JtYXRzCgkgIFRoaXMgdGltZSwgY2hlY2sgaWYgaXQncyBhbiBSR0IgZm9ybWF0IGFuZCBzZXRzIHRoZSB0cmFuc2Zvcm1hdGlvbgoJICBtYXRyaXggdG8gaWRlbnRpdHkuIFRoZSByZXN0IG9mIHRoZSBjb2xvcmltZXRyeSBpbmZvcm1hdGlvbiBpcwoJICBtZWFuaW5nZnVsbCBhbmQgc2hhbGwgYmUga2VwdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYyNAoKMjAxNi0wMS0yMiAxMDowMzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBzUkdCIGNvbG9yc3BhY2UgZGVmaW5pdGlvbgoJICBWNGwyIGNhbiBhbHNvIHVzZSB0aGUgc1JHQiBjb2xvcnNwYWNlIGZvciBZVVYgZm9ybWF0cyBhbmQgdGh1cyBuZWVkcyBhCgkgIGRlZmF1bHQgbWF0cml4LgoKMjAxNi0wMS0yMSAxNToyOTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IGZpeCBzYW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NTcxCgoyMDE2LTAxLTIxIDEwOjQ5OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIGFkb2JlIGNvbG9yc3BhY2Ugc3VwcG9ydAoJICBVc2UgdGhlIG5ldyBwcmltYXJpZXMgYW5kIHRyYW5zZmVyIGZ1bmN0aW9uIGZvciBBZG9iZSBSR0IuCgkgIEV4cGxpY2l0bHkgbGlzdCB0aGUgY29sb3JpbWV0cnkgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBHU3RyZWFtZXIKCSAgb25lcy4gVGhlIGRlZmF1bHRzIGZvciBCVDIwMjAsIGZvciBleGFtcGxlLCBkbyBub3QgbWF0Y2guCgkgIEV4cGxpY2l0bHkgc2V0IHRoZSBtYXRyaXggb2YgU1JHQiB0byBSR0IuCgoyMDE2LTAxLTIwIDEzOjQxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBFbnN1cmUgdGhhdCB3ZSBhbHdheXMgaGF2ZSB2YWxpZCBmcmFtZSB1c2VyIGRhdGEgYmVmb3JlIHVzaW5nIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzLgoKMjAxNi0wMS0yMCAxMDowMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogVW5yZWYgZnJhbWUgaW4gYWxsIGNvZGUgcGF0aHMgb2YgaGFuZGxlX2ZyYW1lKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY2NgoKMjAxNi0wMS0xOSAyMjo0OToyMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnB4ZW5jOiBVbnJlZiBmcmFtZSBvbiBFUlJPUgoJICBBbGwgY29kZSBwYXRocyBmb3IgaGFuZGxlX2ZyYW1lKCkgbXVzdCBzb21laG93IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBmcmFtZSwgYmUKCSAgaXQgYnkgYWN0dWFsbHkgdW5yZWZmaW5nLCBmb3J3YXJkaW5nIHRoZSBmcmFtZSBlbHNld2hlcmUgb3Igc3RvcmluZyBpdCBmb3IKCSAgbGF0ZXIuCgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY2NgoKMjAxNi0wMS0yMCAxODoyMDo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogRG9uJ3QgZnJlZSBwcm9wcyBzdHJ1Y3R1cmUgdHdpY2UuCgkgIGdzdF92NGwyX2RldmljZV9wcm92aWRlcl9wcm9iZV9kZXZpY2UoKSBmcmVlcyB0aGUgcGFzc2VkIHByb3BzCgkgIHN0cnVjdHVyZSwgZG9uJ3QgZnJlZSBpdCBhZ2FpbiBpbiB0aGUgY2FsbGVyLgoKMjAxNi0wMS0xOSAxNToxNTozNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBDbGVhbnVwIHVuZWVkZWQgcmV0dXJuIHN0YXRlbWVudAoKMjAxNi0wMS0xOSAxNToxNDo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBzZXQgY29sb3JpbWV0cnkgZm9yIG5vbiBZVVYgZm9ybWF0cwoJICBTZXR0aW5nIGNvbG9ybWV0cnkgaW4gY2FwcyBmb3IgUkdCIGhhdmUgbm8gbWVhbmluZywgYnV0IHdvcnN0IGl0CgkgIGNvbmZ1c2VzIHRoZSBjb252ZXJ0ZXJzIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MjQKCjIwMTYtMDEtMTkgMTM6MDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgcnRwOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MtNgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0cnRwTDE2ZGVwYXkuaDoyNzowLAoJICBmcm9tIGdzdHJ0cC5jOjczOgoJICBnc3RydHBjaGFubmVscy5oOjE1NDozMzogZXJyb3I6ICdjaGFubmVsX29yZGVycycgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWNvbnN0LXZhcmlhYmxlXQoJICBzdGF0aWMgY29uc3QgR3N0UlRQQ2hhbm5lbE9yZGVyIGNoYW5uZWxfb3JkZXJzW10gPQoKMjAxNi0wMS0xOSAxNDo1NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgcGxheSBhbnl0aGluZyBhZnRlciB0aGUgZW5kIG9mIHRoZSBkYXRhIGNodW5rIGV2ZW4gd2hlbiBzZWVraW5nCgkgIEVzcGVjaWFsbHkgaW4gcHVzaCBtb2RlIHdlIHdvdWxkIGNvbXBsZXRlbHkgaWdub3JlIHRoZSBzaXplIG9mIHRoZSBkYXRhIGNodW5rCgkgIHdoZW4gbm90IHN0b3AgcG9zaXRpb24gaXMgZ2l2ZW4gZm9yIHRoZSBzZWVrLiBJbnN0ZWFkIG1ha2Ugc3VyZSB0aGF0IHRoZSBlbmQKCSAgb2Zmc2V0IGlzIGF0IG1vc3QgdGhlIGVuZCBvZiB0aGUgZGF0YSBjaHVuayBpZiBrbm93bi4KCSAgV2l0aG91dCB0aGlzIHdlIHdvdWxkIG91dHB1dCBhbnl0aGluZyBhZnRlciB0aGUgZGF0YSBjaHVuaywgcG9zc2libHkgY2F1c2luZwoJICBsb3VkIG5vaXNlcyBpZiB0aGUgbWVkaWEgZmlsZSBpcyBmb2xsb3dlZCBieSBhbiBJTkZPIGNodW5rIG9yIGFuIElEMyB0YWcuCgoyMDE2LTAxLTE5IDE0OjU1OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBkbyBjYWxjdWxhdGlvbnMgd2l0aCAtMSBvZmZzZXRzIHdoZW4gaGFuZGxpbmcgU0VHTUVOVCBldmVudHMKCSAgV2UgdXNlIHRoYXQgdG8gc2lnbmFsICJpbmZpbml0eSIsIHRha2luZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoYXQgYW5kIHNvbWUKCSAgb3RoZXIgdmFsdWUgaXMgbm90IGdvaW5nIHRvIGdpdmUgdXMgYW55IHVzZWZ1bCByZXN1bHQgZm9yIHRoZSBlbmQgb2Zmc2V0cyBvZgoJICBzZWdtZW50cy4KCjIwMTYtMDEtMTggMTE6MzA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZXZlcnQgIldJUDogcnRwaml0dGVyYnVmZmVyOiBBZGQgUkZDNzI3MyBtZWRpYSBjbG9jayBoYW5kbGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNzE1MDFmNjU3NmRlNGQxNDFlN2MyZjYxOGUyOGI5ZTNiMWU1YjM4LgoJICBJdCB3YXNuJ3QgbWVhbnQgdG8gYmUgcHVzaGVkIHlldCBhcyB0aGUgY29tbWl0IG1lc3NhZ2UgaW5kaWNhdGVzLgoKMjAxNi0wMS0xMiAxNDowMToyMSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFjb25jaGlsbG9AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgcnRjcC9zcnRjcCBjYXBzIHByb3Blcmx5IHdoZW4gdXNpbmcgaW50ZXJsZWF2ZWQgZGF0YQoJICBXZSBjaGVjayB0aGUgc3RyZWFtIHByb2ZpbGUgYW5kIHVzZSB0aGUgcHJvcGVyIFJUQ1AgY2FwczoKCSAgYXBwbGljYXRpb24veC1zcnRjcCBpZiB3ZSBhcmUgdXNpbmcgYSBzZWN1cmUgcHJvZmlsZSBhbmQKCSAgYXBwbGljYXRpb24veC1ydGNwIG90aGVyd2lzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1NgoKMjAxNi0wMS0wNSAxNjoxNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFdJUDogcnRwaml0dGVyYnVmZmVyOiBBZGQgUkZDNzI3MyBtZWRpYSBjbG9jayBoYW5kbGluZwoKMjAxNi0wMS0xNSAxMTozNjozNSArMDAwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSAgdnA4ZW5jOiBSZXR1cm4gRkxPV19FUlJPUiB3aGVuIGFuIGVycm9yIGFjY3VyZXMKCSAgRkFMU0Ugd291bGQgbWVhbiBGTE9XX09LCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2NjYKCjIwMTYtMDEtMDggMjI6MTk6MDYgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2UuYm9yb3Zrb3ZAZ21haWwuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBNYXJrIG1hdGVyaWFsIGRpcnR5IHdoZW4gdGV4dHVyZSBidWZmZXIgaXMgdXBkYXRlZAoJICBRdCBtaWdodCBub3QgcmVkcmF3IHRoZSBzY2VuZSBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyODYKCjIwMTYtMDEtMTUgMDM6NTc6NDUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGJyZWFrIGFzIHNvb24gYXMgdGhlIGRldmljZSBpcyBmb3VuZAoJICBObyBuZWVkIHRvIGxvb3AgZnVydGhlciBpZiB0aGVyZSdzIG5vIHNpZGUtZWZmZWN0cyBmb3IgaXQKCjIwMTYtMDEtMTUgMDM6NTY6NDkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogRml4IGVycm9yIGhhbmRsaW5nIHdoZW4gc2VsZWN0aW5nL29wZW5pbmcgZGV2aWNlcwoJICBQb3N0IGFuIGVsZW1lbnQgZXJyb3Igd2hlbiB0aGUgQ29yZUF1ZGlvIGRldmljZSBjYW5ub3QgYmUgc2VsZWN0ZWQgb3Igb3BlbmVkLgoJICBBbHNvIGVuc3VyZSB0aGF0IHdlIHBvc3QgYSBHU1RfRVJST1Igd2l0aCBtb3JlIGRldGFpbC4KCjIwMTYtMDEtMTMgMjM6NDA6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFdoZW4gZmx1c2hpbmcgb24gRU9TLCBkb24ndCBwcm9jZXNzIG1vcmUgZGF0YSB0aGFuIHRoZSAiZGF0YSIgc2l6ZQoJICBFdmVuIGlmIHdlIGhhdmUgbW9yZSBkYXRhIHF1ZXVlZCB1cCB3aGVuIGZsdXNoaW5nIHRoYW4gdGhlIHNpemUgb2YgdGhlIGRhdGEKCSAgY2h1bmssIGRvbid0IHByb2Nlc3MgYW5kIG91dHB1dCBpdC4gSWYgdGhlIGRhdGEgc2l6ZSBpcyBrbm93biwgdGhpcyBsaWtlbHkKCSAgY29udGFpbnMgYW5vdGhlciBjaHVuayAoZS5nLiBhbiBJTkZPIGNodW5rKSBvciB0aGluZ3MgbGlrZSBJRDMgdGFncy4gSnVzdAoJICBvdXRwdXR0aW5nIHRoZW0gYXMgaWYgdGhleSB3ZXJlIGRhdGEgaXMgZ29pbmcgdG8gY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvdXIKCSAgYW5kIHVucGxlYXNhbnQgYXVkaW8gbm9pc2VzLgoKMjAxNC0wOC0yOSAxNTo0MDoyMyArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBmaXggYSB0aGlua28gaW4gdGhlIHdhdmVuYyBleGFtcGxlCgkgIFRoZSBjb2RlIGlzIHN1cHBvc2VkIHRvIGZvbGxvdyBzb21laG93IHdoYXQgdGhlIGNvbW1lbnQgYWJvdmUgc2F5cywgdGhhdAoJICBpcyB0byBoYXZlIG9uZSBjaGFubmVsIHdpdGggYSB3YXZlIG9mIGZyZXEgNDQwIGFuZCB0aGUgb3RoZXIgY2hhbm5lbAoJICB3aXRoIGEgd2F2ZSBvZiBmcmVxIDg4MCwgYnV0IGFuIG9mZiBieSBvbmUgZXJyb3IgcmVzdWx0cyBpbiBmcmVxdWVuY2llcwoJICBvZiAwIGFuZCA0NDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NzMKCjIwMTQtMDgtMjkgMTU6MDc6NTggKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggdGhlIGV4YW1wbGUgYnkgc2V0dGluZyBjaGFubmVsLW1hc2tzIGluIHRoZSBzaW5rIHBhZHMKCSAgVGhlIGN1cnJlbnQgZXhhbXBsZSBkb2VzIG5vdCB3b3JrLCBpdCBmYWlscyB3aXRoOgoJICBFUlJPUjogZnJvbSBlbGVtZW50IC9Hc3RQaXBlbGluZTpwaXBlbGluZTAvR3N0RGVjb2RlQmluOmRlY29kZWJpbjAvR3N0V2F2UGFyc2U6d2F2cGFyc2UwOiBJbnRlcm5hbCBkYXRhIGZsb3cgZXJyb3IuCgkgIGdzdHdhdnBhcnNlLmMoMjE3OCk6IGdzdF93YXZwYXJzZV9sb29wICgpOiAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdERlY29kZUJpbjpkZWNvZGViaW4wL0dzdFdhdlBhcnNlOndhdnBhcnNlMDoKCSAgc3RyZWFtaW5nIHRhc2sgcGF1c2VkLCByZWFzb24gbm90LW5lZ290aWF0ZWQgKC00KQoJICBUaGlzIGlzIGJlY2F1c2UgbmVnb3RpYXRpb24gd2l0aCB3YXZlbmMgZ2V0cyBtZXNzZWQgdXAgYnkgdGhlIG1pc3NpbmcKCSAgY2hhbm5lbCBwb3NpdGlvbnMgY29uZmlndXJhdGlvbi4KCSAgVGhlIHByb3BlciB3YXkgdG8gZGVmaW5lIHRoZSBjaGFubmVsIGxheW91dCB3aGVuIHVzaW5nIHRoZSBpbnRlcmxlYXZlCgkgIGVsZW1lbnQgaW4gY29kZSB3b3VsZCBiZSB0byBzZXQgdGhlIGNoYW5uZWwtcG9zaXRpb25zIHByb3BlcnR5LCBidXQKCSAgZ3N0LWxhdW5jaC0xLjAgZG9lcyBub3Qga25vdyBob3cgdG8gZGVhbCB3aXRoIGFycmF5czsgc28gdGhlIGV4YW1wbGUKCSAgcGlwZWxpbmUgd29ya3MgYXJvdW5kIHRoZSBpc3N1ZSBieSBzZXR0aW5nIHRoZSBjaGFubmVsLW1hc2tzIGluIHRoZSBzaW5rCgkgIHBhZHMuCgkgIEFsc28gZml4IGEgcmVwZXRpdGlvbiBpbiB0aGUgZGVpbnRlcmxlYXZlIGV4YW1wbGUgZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY3MwoKMjAxNi0wMS0xMSAxNjoyOTo1NSArMDAwMCAgVGltIFNoZXJpZGFuIDx0aW0uc2hlcmlkYW5AaW1ndGVjLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IEZpeCBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24KCSAgU0JDIGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiB3YXNuJ3QgYmVpbmcgcm91bmRlZCB1cCB0byB0aGUgbmVhcmVzdCBieXRlCgkgIChhcyBzcGVjaWZpZWQgaW4gdGhlIEEyRFAgMS4wIHNwZWNpZmljYXRpb24sIHNlY3Rpb24gMTIuOSkuIFRoaXMgY291bGQKCSAgY2F1c2UgJ3N0ZXJlbycgYW5kICdqb2ludCBzdGVyZW8nIG1vZGUgU0JDIHN0cmVhbXMgdG8gaGF2ZSBpbmNvcnJlY3RseQoJICBjYWxjdWxhdGVkIGZyYW1lIGxlbmd0aHMuCgkgIEluY29ycmVjdCBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gY2F1c2VzIGZyYW1lIGNvYWxlc2NpbmcgdG8gZmFpbCwgYXMKCSAgc3Vic2VxdWVudCBmcmFtZXMgaW4gdGhlIHN0cmVhbSBhcmVuJ3QgZm91bmQgaW4gdGhlIGV4cGVjdGVkIGxvY2F0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjQ0NgoKMjAxNi0wMS0xMCAyMjo1NDoxMiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZW1vdGUgd2FybmluZyBvbiB3cm9uZyByZXNlcnZlZCB2YWx1ZSB0byBmaXhtZQoJICBXZSBhcmUgbGlrZWx5IGp1c3QgcGFyc2luZyBhIGJhY2t3YXJkLWNvbXBhdGlibGUgc3RyZWFtIHdlCgkgIGRvbid0IGZ1bGx5IHN1cHBvcnQuCgoyMDE2LTAxLTA4IDE2OjI3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHNpbXBsaWZ5IGNhcHMgc2VsZWN0aW9uCgkgIFRoZSBkb3duc3RyZWFtIGNhcHMgcXVlcnkgd2l0aCBhIGZpbHRlciBhbHJhZWR5IGdpdmVzIHVzIHRoZSBwb3NzaWJsZQoJICBpbnRlcnNlY3Rpb24gc28gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpdCBhZ2FpbiB3aXRoIGRvd25zdHJlYW0KCSAgaWYgaXQgaXMgc3VwcG9ydGVkLiBKdXN0IHRyeSB0byBzZXQgaXQgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjQyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbgoJICB0aHJvdyBpdCBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyCgkgIGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDozODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJICBydHBkdmRlcGF5OiBmaXggdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbgoJICB0aHJvdyBpdCBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyCgkgIGRpcmVjdGx5LgoKMjAxNi0wMS0wNyAyMDozNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IGZpeCB1bm5lY2Vzc2FyeSBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuCgkgIHRocm93IGl0IGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIKCSAgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjI3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBmaXggbWFqb3IgbWVtb3J5IGxlYWsgYW5kIHBlcmZvcm1hbmNlIGlzc3VlCgkgIFdlIGNhbGwgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWQoKSB3aGljaCBjcmVhdGVzIGEgc3ViLWJ1ZmZlcgoJICBvZiBlYWNoIGlucHV0IGJ1ZmZlciwganVzdCB0byBjb3B5IG92ZXIgbWV0YXMsIGFuZCB0aGVuIGxlYWsgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyODkKCjIwMTYtMDEtMDggMTU6MzI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IEZpeCBjb21waWxlciB3YXJuaW5ncyBpbiB0aGUgdW5pdCB0ZXN0CgkgIGVsZW1lbnRzL3JnYW5hbHlzaXMuYzo5MTk6NjY6IGVycm9yOiBzaGlmdGluZyBhIG5lZ2F0aXZlIHNpZ25lZCB2YWx1ZSBpcyB1bmRlZmluZWQKCSAgWy1XZXJyb3IsLVdzaGlmdC1uZWdhdGl2ZS12YWx1ZV0KCSAgcHVzaF9idWZmZXIgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyAoODAwMCwgMTYsIDUxMiwgLTEgPDwgMTQsIDApKTsKCSAgfn4gXgoJICBlbGVtZW50cy9yZ2FuYWx5c2lzLmM6OTI5OjY5OiBlcnJvcjogc2hpZnRpbmcgYSBuZWdhdGl2ZSBzaWduZWQgdmFsdWUgaXMgdW5kZWZpbmVkCgkgIFstV2Vycm9yLC1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdCgkgIHB1c2hfYnVmZmVyICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8gKDgwMDAsIDE2LCA1MTIsIDAsIC0xIDw8IDE0KSk7CgkgIH5+IF4KCSAgZWxlbWVudHMvcmdhbmFseXNpcy5jOjkzOTo2NDogZXJyb3I6IHNoaWZ0aW5nIGEgbmVnYXRpdmUgc2lnbmVkIHZhbHVlIGlzIHVuZGVmaW5lZAoJICBbLVdlcnJvciwtV3NoaWZ0LW5lZ2F0aXZlLXZhbHVlXQoJICBwdXNoX2J1ZmZlciAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyAoODAwMCwgMTYsIDUxMiwgLTEgPDwgMTQpKTsKCSAgfn4gXgoKMjAxNi0wMS0wNSAxODoxMzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG9uJ3QgbWFwIGJ1ZmZlciBtdWx0aXBsZSB0aW1lcyB3aGVuIHBhcnNpbmcKCjIwMTYtMDEtMDcgMTg6MjA6MzAgKzAyMDAgIFN0ZXZlbiBIb3ZpbmcgPHNoQGJpZ2Jyb3RoZXIubmw+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IFN0b3JlIHN1YnRpdGxlIHN0cmVhbSBjb3VudCBpbiB0aGUgY29ycmVjdCB2YXJpYWJsZQoJICBBbmQgZG9uJ3Qgb3ZlcnJpZGUgdGhlIHZpZGVvIHN0cmVhbSBjb3VudCBpbnN0ZWFkLgoKMjAxNi0wMS0wNSAxODo1OTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogVGhlIGNoaWxkLXByb3h5IEFQSSBpcyBHT2JqZWN0IGJhc2VkIGluIDEueAoJICBOb3QgR3N0T2JqZWN0IGFueW1vcmUuCgoyMDE1LTA1LTIxIDE3OjQxOjEyICswMjAwICBQYWJsbyBBbnRvbiA8cGFibG8uYW50b25Adm9kYWx5cy1sYWJzLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMi0qOiBDb25maWd1cmluZyBvdXRwdXQgcG9vbCBjb3JyZWN0bHkgZm9yIHVzaW5nIGRyaXZlcnMgbWluX2J1ZmZlciBpZiBwcmVzZW50LgoJICBTaWduZWQtb2ZmLWJ5OiBQYWJsbyBBbnRvbiA8cGFibG8uYW50b25Adm9kYWx5cy1sYWJzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTczNgoKMjAxNS0xMi0zMSAxNTo0NjozMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhZGQgZGVidWcgbXNnIG9uIENSQyBtaXNtYXRjaCB3aGlsZSB2YWxpZGF0aW5nIGZyYW1lIGhlYWRlcgoKMjAxNS0xMi0zMSAxNjowMDo0OSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHVubmVlZGVkIGJyYWNlcyBhdCBfcGFyc2VfZnJhbWUoKSBleGl0CgkgIEFkZGl0aW9uYWxseSwgZHJvcCByZWR1bmRhbnQgY29tbWVudCAmIGxpbmUgYnJlYWsKCjIwMTUtMTItMzEgMTU6NTU6MTggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWlub3IgZ3JhbW1hciBjb3JyZWN0aW9uCgoyMDE1LTEyLTMxIDE1OjM0OjU3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVwZGF0ZSBVUkxzIG9uIHBvaW50ZXJzIHRvIG9ubGluZSBzcGVjCgoyMDE1LTEyLTMxIDE0OjQwOjE1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1ha2UgYnVmZmVyIERUUyBzZXR0aW5nIGV4cGxpY2l0bHkgdW5jb25kaXRpb25hbAoJICBXZSBhcmUgc2V0dGluZyBpdCB0byBQVFMgcmVnYXJkbGVzcyBvZiBibG9ja19zdHJhdGVneQoKMjAxNS0xMi0zMSAxNDoyMTo0MCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhZGQgYWN0dWFsIGludmFsaWQgYmxvY2sgdHlwZSB0byB3YXJuaW5nCgkgIEZvciBzb21lb25lIHRoYXQgcmVhZCB0aGUgc3BlYyBpcyBjbGVhciB0aGUgb25seSAqaW52YWxpZCoKCSAgZGF0YSBibG9jayB0eXBlIGlzIDEyNy4gRm9yIHRoZSByZXN0LCBpdHMgdXNlZnVsIGluZm9ybWF0aW9uLgoJICBBZGRpdGlvbmFsbHkuIHZhbHVlcyA3LTEyNiBhcmUgY3VycmVudGx5IHJlc2VydmVkIGJ5IHRoZQoJICBzcGVjIHNvIHRoZSBzaXR1YXRpb24gbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmUuCgoyMDE1LTEyLTMxIDE0OjEyOjM2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVzZSBzaGlmdCBpbnN0ZWFkIG9mIG1hc2sgJiBjb21wCgkgIFdlIGFyZSBvbmx5IGludGVyZXN0ZWQgb24gdGhlIGZpcnN0IGJpdCBvZiB0aGUgZmlyc3QKCSAgYnl0ZSBvZiB0aGUgbWV0YWRhdGEgYmxvY2sgaGVhZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlcgoJICBpcyBtYXJrZWQgYXMgdGhlIGxhc3Qgb25lLiBUaGUgc2hpZnQgbWFrZXMgaXQgcXVpdGUKCSAgY2xlYXJlci4KCjIwMTUtMTItMzEgMTI6NTI6MTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogd2FybiBvbiB3aXNoZnVsIHBhcnNpbmcgb2Ygd2VpcmQgaGVhZGVycwoJICBJZiB3ZSBnZXQgYW55dGhpbmcgZnJvbSA3IHRvIDEyNiBhcyB0eXBlIHdoZW4gcGFyc2luZwoJICBhIG1ldGFkYXRhIGJsb2NrIGhlYWRlciwgd2UgYXJlIGxpa2VseSBkZWFsaW5nIHdpdGggYQoJICBGTEFDIHN0cmVhbSB2ZXJzaW9uIHdlIGRvbid0IGZ1bGx5IHVuZGVyc3RhbmQuIElzc3VlCgkgIGEgd2FybmluZyBpZiBzby4KCSAgRG9jdW1lbnQgZnVuY3Rpb24gYXNzdW1wdGlvbnMgcmVnYXJkaW5nIHRoZSBwYXNzZWQtb24KCSAgdHlwZSB3aGlsZSBhdCB0aGlzLgoKMjAxNS0xMi0zMSAxMTozMzo0NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzaG93IG1lYW5pbmdmdWwgaW5mbyBvbiBmcmFtZSBDUkMgY2hlY2sKCSAgQXMgQ1JDcyBhcmUgY2FsY3VsYXRlZCBmb3IgdGhlIGNvbXBhcml0aW9uIGFscmVhZHksIHdlCgkgIG1pZ2h0IGFzIHdlbGwgKGNoZWFwbHkpIGluZm9ybSB0aGUgdXNlciBob3cgdGhlIG51bWJlcnMKCSAgZGlmZmVyIGlmIGEgbWlzc21hdGNoZWQgcGFpciBpcyBmb3VuZC4KCSAgV2hpbGUgYXQgaXQ6CgkgIFJlcGhyYXNlIGNhbmRpZGF0ZS1mcmFtZSBtZXNzYWdlIHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxNS0xMi0zMSAwMjo0MDo0MyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHJlbWFpbmluZyB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDE1LTEyLTMxIDAyOjE1OjA2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3Agc3VwZXJmbG91cyBlbHNlIGNsYXVzZXMKCjIwMTUtMTItMzEgMDE6MDk6NTEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZmFjdG9yIG91dCBidWZmZXIgdGltZSBhbmQgb2Zmc2V0IHJlc2V0dGluZwoJICBBdm9pZHMgbXVsdGlwbGUgb2NjdXJyZW5jZXMgb2YgdGhlIHNhbWUgcmVzZXR0aW5nIHBhdHRlcm4KCjIwMTUtMTItMzEgMDA6NTQ6NDggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbW92ZSBibG9jayBoYW5kbGluZyBieSB0eXBlIG91dCBvZiBfcGFyc2VfZnJhbWUoKQoKMjAxNS0xMC0wNyAxODo1MToyNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlcGxhY2UgZHVwbGljYXRlZCBjb2RlcyB0byBjYWxsIG5ldyBiYXNlIHNkcCBhcGlzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4ODAKCjIwMTUtMTItMzAgMTI6MTY6NTYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCByZWR1bmRhbnQgcmV0dXJuIHN0YXRlbWVudCBvbiBfaGVhZGVyX2lzX3ZhbGlkKCkKCSAgRml4IHRoZSByYXRoZXIgdmFndWUgZXJyb3IgbWVzc2FnZSB3aGlsZSBhdCBpdC4KCjIwMTUtMTItMzAgMDE6NTY6MjYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmV3b3JrIGdzdF9mbGFjX3BhcnNlX2ZyYW1lX2lzX3ZhbGlkKCkKCSAgZHJvcCB1bm5lY2Vzc2FyeSBuZXN0aW5nIGxvb2tpbmcgZm9yIGVuZCBvZiBmcmFtZQoKMjAxNS0xMi0zMCAwMDozNzowNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmYWN0b3Igb3V0IGNvbnRleHQgY2xlYXJpbmcgcm91dGluZQoKMjAxNS0xMi0yOSAxODowNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBHdWFyZCBhZ2FpbnN0IG5vIGNvZGVjIGRhdGEgaW4gcHJvcmVzIGNhcHMgY3JlYXRpb24KCSAgQ0lEIDEzNDY1MzIKCjIwMTUtMTItMjkgMTc6NTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJICB2cHhkZWM6IEluaXRpYWxpemUgYnVmZmVyIHZhcmlhYmxlIHRvIE5VTEwKCSAgRmFsc2UgcG9zaXRpdmUgYnV0IHRyaXZpYWwgdG8gZml4IGFuZCBwb3NzaWJseSBjYXVzaW5nIGNvbXBpbGVyIHdhcm5pbmdzIGF0CgkgIHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSB0b28uCgkgIENJRCAxMzQ2NTM1CgoyMDE1LTA3LTI3IDE1OjUzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyZGV2aWNlcHJvdmlkZXI6IGFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBkZXZpY2UKCSAgQWRkIHByb3BlcnRpZXMgdG8gdGhlIGRldmljZSB3aXRoIGV4YWN0bHkgdGhlIHNhbWUga2V5cyBhbmQgc2VtYXRpY3MKCSAgYXMgd2hhdCBwdWxzZWF1ZGlvIHVzZXMgYXMgcHJvcGVydHkga2V5cy4KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2Ugd2hlbiBhIGRldmljZSBpcyBwcm9iZWQgbWFudWFsbHkgYW5kIG5vdCB0aHJvdWdoIGd1ZGV2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc1OTc4MAoKMjAxNS0xMi0yNSAxMTo0MToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRnJlZSB0aGUgdmFyaW91cyBidWZmZXJzIGluIEdzdEJhc2VUcmFuc2Zvcm06OnN0b3AoKQoJICBQcmV2aW91c2x5IHdlIGxlYWtlZCB0aGVtIGNvbXBsZXRlbHksIGJ1dCBhcyB0aGV5J3JlIHNwZWNpZmljIHRvIHRoZSBjYXBzCgkgIGZyZWVpbmcgdGhlbSBpbiBzdG9wKCkgaW5zdGVhZCBvZiBmaW5hbGl6ZSgpIG1ha2VzIG1vc3Qgc2Vuc2UuCgoyMDE1LTEyLTI0IDE1OjI4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMSA9PT0KCjIwMTUtMTItMjQgMTQ6MTY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMQoKMjAxNS0xMi0yNCAxMzoxOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0xMi0yNCAxMjoyMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2h1LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0xMi0yMSAwOTo1NzozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBkcm9wIGZsdXNoZXMgZnJvbSBvdXIgb3duIG9mZnNldCBzZWVrCgkgIFByZXZlbnRzIGRvd25zdHJlYW0gZnJvbSByZWNlaXZpbmcgZmx1c2hlcyBmb3IgYSBzZWVrIG9ubHkgaW4KCSAgdXBzdHJlYW0uIFRob3NlIHNlZWtzIGFyZSBvbmx5IHRvIHN0YXJ0IHJlYWRpbmcgZnJvbSB0aGUgcmlnaHQKCSAgb2Zmc2V0IHdoZW4gc2tpcHBpbmcgb3IgcmV0dXJuaW5nIHRvIHF0IGF0b21zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTI4CgoyMDE1LTExLTExIDE2OjUzOjE5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBtYXNrIGZvciBQQ00gc3RyZWFtcwoJICBKdXN0IHVzZSB0aGUgZ3N0X2F1ZGlvX2NoYW5uZWxfZ2V0X2ZhbGxiYWNrX21hc2sgZnVuY3Rpb24gZm9yIG5vdyBhcwoJICB0aGUgc3BlY2lmaWNhdGlvbiBpcyB0b28gY29tcGxpY2F0ZWQgYW5kIG5vYm9keSBpbXBsZW1lbnRzIGl0LgoKMjAxNS0xMi0yMSAxMTozNzoyNiArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBzbGVlcCBmb3IgYnVmZmVyLXRpbWUgbG93ZXIgdGhhbiAyMDAwMDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODY4MAoKMjAxNS0xMi0yMSAxMjozMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLUJzeW1ib2xpYy1mdW5jdGlvbnMgaWYgYXZhaWxhYmxlCgkgIFdoaWxlIHRoaXMgaXMgbW9yZSB1c2VmdWwgZm9yIGxpYnJhcmllcywgc29tZSBvZiBvdXIgcGx1Z2lucyB3aXRoIG11bHRpcGxlCgkgIGZpbGVzIGFuZCBzb21lIGludGVybmFsIEFQSSBjYW4gYWxzbyBiZW5lZml0IGZyb20gdGhpcy4KCjIwMTUtMTItMTggMTU6MzQ6NTIgKzAwMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgcHJvZ3Jlc3NyZXBvcnQ6IGFkZCBzdXBwb3J0IGZvciB1c2luZyBmb3JtYXQ9YnVmZmVycyB3aXRoIGRvLXF1ZXJ5PWZhbHNlCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBpbnZlc3RpZ2F0aW5nIGFuZCBkZWJ1Z2dpbmcgcGlwZWxpbmVzIHdoaWNoIGFyZQoJICBwcm9kdWNpbmcgYnVmZmVycyBhdCBhIHNsb3dlci9mYXN0ZXIgcmF0ZSB0aGFuIHlvdSB3b3VsZCBleHBlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MzUKCjIwMTUtMTItMTggMTU6NDk6NDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXBkYXRlIGZvcm1hdHMgdGFibGUKCSAgVGhpcyBjaGFuZ2UgYWRkIGFsbCB0aGUgbmV3IFJHQiBiYXNlZCBmb3JtYXQuIFRob3NlIGZvcm1hdCByZW1vdmVzIHRoZQoJICBhbWJpZ3VpdHkgd2l0aCB0aGUgQUxQSEEgY2hhbm5lbC4gU29tZSBvdGhlciBtaXNzaW5nIG11bHRpcGxhbmFyIGZvcm1hdAoJICBoYXMgYmVlbiBhZGRlZCB3aXRoIHNvbWUgYWRkaXRpb25hbCBjbGVhbnVwLgoKMjAxNS0xMi0xOCAwNToxNzoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB3cml0ZSBpbnZhbGlkIGVkaXQgbGlzdCBzdGFydCB0aW1lLgoJICBBdm9pZCB3cml0aW5nIGEgbmVnYXRpdmUgbnVtYmVyIGFzIGEgbGFyZ2UgcG9zaXRpdmUKCSAgaW50ZWdlciBpbiBhbiBlZGl0IGxpc3Qgd2hlbiB0aGUgZmlyc3RfdHMgaXMgc21hbGxlcgoJICB0aGFuIHRoZSBmaXJzdF9kdHMgLSB3aGljaCBjYW4gaGFwcGVuIHdoZW4gdGhlIGZpcnN0CgkgIHBhY2tldCByZWNlaXZlZCBoYXMgYSBQVFMgYnV0IG5vIERUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYxNQoKMjAxNS0xMi0wNCAyMzoxNjo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IE9ubHkgdXBkYXRlIHJ1bm5pbmcgdGltZSB3aGVuIGl0IGluY3JlYXNlcy4KCSAgRG9uJ3QgaW5jcmVtZW50IHJ1bm5pbmcgdGltZSBmcm9tIGV2ZXJ5IGJ1ZmZlci4gVGhlIGNvcnJlY3QKCSAgbG9naWMgdG8gb25seSBpbmNyZW1lbnQgd2hlbiBydW5uaW5nIHRpbWUgYWR2YW5jZXMgaXMgYQoJICBsaXR0bGUgZnVydGhlciBkb3duLCBzbyBkZWxldGUgdGhpcyBsZWZ0LW92ZXIgbGluZS4KCjIwMTUtMTEtMTggMTE6MDE6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBJbXBsZW1lbnQgcHJvcmVzIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI1OAoKMjAxNS0xMS0xOCAxNjoyMDozOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYS1kZW11eDogUGxheSBQcm9SZXMgdmlkZW8gc3RyZWFtcwoJICBHZW5lcmF0ZSB2aWRlby94LXByb3JlcyBjYXBzIGZvciBQcm9SZXMgdmlkZW8gc3RyZWFtcy4KCSAgRXZlcnkgZnJhbWUgbmVlZHMgYW4gOCBieXRlIGhlYWRlciBwcmVwZW5kZWQsIGFzIGRlc2NyaWJlZCBpbgoJICBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1BcHBsZV9Qcm9SZXMjRnJhbWVfbGF5b3V0CgkgIHNvIGRvIHRoYXQgaW4gYSBwb3N0LXByb2Nlc3NpbmcgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyNTgKCjIwMTUtMTItMTggMTA6MTg6MDkgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIGR2ZGVjOiBSZW1vdmUgdW51c2VkIGZpZWxkcwoJICBSZW1vdmUgdW51c2VkIGZpZWxkcyBmcmFtZV9sZW4gYW5kIHNwYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MTQKCjIwMTUtMTItMTcgMTY6MDM6MDQgKzAxMDAgIFZpbmNlbnQgRGVob3JzIDx2aW5jZW50LmRlaG9yc0BvcGVud2lkZS5mcj4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSAgcnRwajJrZGVwYXk6IFB1c2ggb25lIEpQRUcyMDAwIGZyYW1lIHBlciBidWZmZXIsIG5vdCBhIGJ1ZmZlciBsaXN0IHdpdGggbXVsdGlwbGUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTQzCgoyMDE1LTEyLTE2IDExOjQzOjU4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgZHYxMzk0OiBsb2cgZXJyb3IgaWYgZmFpbGVkIHRvIHNldCBzb2NrZXQgc3RhdHVzIGZsYWcKCSAgTG9nIGFuIGVycm9yIG1lc3NhZ2UgaWYgZmFpbGVkIHRvIHNldCB3cml0ZSBvciByZWFkIHNvY2tldCBhcwoJICBub24tYmxvY2tpbmcuCgkgIENJRCAxMTM5NjA4CgkgIENJRCAxMTM5NjA5CgoyMDE1LTEyLTE1IDE3OjEwOjAwICswMDAwICBEYXZlIENyYWlnIDxkYXZlY3JhaWdAdW5iYWxhbmNlZGF1ZGlvLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQ2hlY2sgZm9yIE5VTEwgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MDMKCjIwMTUtMTItMTYgMDk6MzU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSB0byBnaXQKCjIwMTUtMTItMTUgMTk6Mjg6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXRzaW5rOiBBZGQgY29uZmlndXJlZCBHTCBjZmxhZ3MgdG8gdGhlIGJ1aWxkCgkgIFdlIGRvbid0IGRpcmVjdGx5IGxpbmsgdG8gR0wgaW4gdGhlIGVsZW1lbnQsIHRob3VnaCB3ZSB1c2UgR0wgaGVhZGVycy4KCSAgRm9yIHRoaXMgcmVhc29uIHdlIG5lZWQgdG8gaW5jbHVkZSB0aGUgcHJvcGVyIEdMIGhlYWRlcnMgcGF0aC4gVGhpcwoJICBwcmV2ZW50IHRoaXMgZWxlbWVudCBmcm9tIHVzaW5nIGEgZGlmZmVyZW50IEdMIGhlYWRlciB0aGVuIGxpYmdzdGdsLgoKMjAxNS0xMi0xNSAxNDoyNzoyMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSAgdnB4OiBBZGQgbWlzc2luZyBoZWFkZXJzIGluIE1ha2VmaWxlLmFtCgkgIFRoaXMgZml4ZXMgZGlzdGNoZWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTA5LTI0IDEyOjU3OjAwICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cHhlbmMuaDoKCSAgdnB4OiBjcmVhdGVkIGNvbW1vbiBiYXNlY2xhc3MgR3N0VlBYRW5jCgkgIEdzdFZQOEVuYyBhbmQgR3N0VlA5RW5jIGhhcyBhbG1vc3QgODAlIGNvZGUgaW4gY29tbW9uLgoJICBjcmVhdGVkIGNvbW1vbiBiYXNlY2xhc3MgR3N0VlBYRW5jIGZvciBHc3RWUDhFbmMgYW5kIEdzdFZQOUVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTEyLTE1IDEyOjU3OjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5oOgoJICB2cHhkZWM6IFJlbW92ZSB1bm5lZWRlZCBhZGQgdmlkZW9fbWV0YQoJICBUaGlzIGFsc28gcmVtb3ZlIGNvcGllcyBmb3IgVlA4LCB3aGljaCB3YXMgbm90IGNvcnJlY3RseSBpbiBwbGFjZQoJICBpbiBwcmV2aW91cyByZWxhdGVkIHBhdGNoLgoKMjAxNS0xMi0xNSAwOTo0OToyNCArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmg6CgkgIHZweDogY3JlYXRlZCBjb21tb24gYmFzZSBjbGFzcyBHc3RWUFhkZWMgZm9yIHZweCBkZWNvZGVycwoJICBCYXNlIGNsYXNzIGZvciB0aGUgdnA4ZGVjIGFuZCB2cDlkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1MTAKCjIwMTUtMDYtMTAgMDk6MTc6MDggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBHVGxzSW50ZXJhY3Rpb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDcwOQoKMjAxNS0xMi0xNCAwOTowNTowNiAtMDUwMCAgRXZhbiBDYWxsYXdheSA8ZXZhbi5jYWxsYXdheUBpcGNvbmZpZ3VyZS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJldHJ5IGNvbm5lY3Rpb24gaWYgdHVubmVsaW5nIG5lZWRzIGF1dGhlbnRpY2F0aW9uCgkgIExldmVyYWdlIHJlc3BvbnNlIGZyb20gZ3N0X3J0c3BfY29ubmVjdGlvbl9jb25uZWN0X3dpdGhfcmVzcG9uc2UgdG8KCSAgZGV0ZXJtaW5lIGlmIHRoZSBjb25uZWN0aW9uIHNob3VsZCBiZSByZXRyaWVkIHVzaW5nIGF1dGhlbnRpY2F0aW9uLiAgSWYKCSAgc28sIGFkZCB0aGUgYXBwcm9wcmlhdGUgYXV0aGVudGljYXRpb24gaGVhZGVycyBiYXNlZCB1cG9uIHRoZSByZXNwb25zZQoJICBhbmQgcmV0cnkgdGhlIGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1OTYKCjIwMTUtMTItMTQgMTQ6MTk6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNoZWNrIHBvcnQtcmFuZ2UgZm9ybWF0CgkgIFRoZSBzdHJpbmcgY291bGQgZXhpc3QgYnV0IHdpdGggYSB3cm9uZyBmb3JtYXQsIGluIHRoYXQgY2FzZSB3ZSBzdGlsbCB3YW50CgkgIHRvIHJlc2V0IHRoZSB2YWx1ZXMgb2YgY2xpZW50X3BvcnRfcmFuZ2UubWluIGFuZCBtYXggbGlrZSB3ZSBkbyBpZiB0aGVyZSBpcwoJICBubyBzdHJpbmcuCgkgIENJRCAxMTM5NTkzCgoyMDE1LTEyLTE0IDE0OjU1OjEyICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2hlY2sgZGV2aWNlIHByb3BlcnR5IGFuZCBmYWlsIGlmIGRldmljZSBjYW4ndCBiZSBmb3VuZAoJICBEb24ndCB1c2UgZGVmYXVsdCBpZiBhIHNwZWNpZmljIGRldmljZSBpcyBzZXQgYnV0IGl0IGNhbid0IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDUyCgoyMDE1LTEyLTE0IDE0OjE1OjAwICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGhhbmRsaW5nIG9mIHRoZSBtdXRlIHByb3BlcnR5CgkgIC0gc2V0IG11dGUgdmFsdWUgYXQgc3RhcnR1cAoJICAtIGNvcnJlY3Qgc2V0IGFuZCBnZXQgbXV0ZSBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNS0xMi0xNCAxMzo0Mzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIGdsbWVtb3J5OiBiYXNlIGNsYXNzaWZ5IGFuZCBhZGQgdGhlIHBibyBtZW1vcnkgb24gdG9wCgkgIFRoZSBiYXNlIGNsYXNzIGlzIHVzZWZ1bCBmb3IgaGF2aW5nIG11bHRpcGxlIGJhY2tpbmcgbWVtb3J5IHR5cGVzIG90aGVyCgkgIHRoYW4gdGhlIGRlZmF1bHQuICBlLmcuIElPU3VyZmFjZSwgRUdMSW1hZ2UsIGRtYWJ1Zj8KCSAgVGhlIFBCTyB0cmFuc2ZlciBsb2dpYyBpcyBub3cgaW5zaWRlIEdzdEdMTWVtb3J5UEJPIHdoaWNoIHVzZXMgR3N0R0xCdWZmZXIKCSAgdG8gbWFuYWdlIHRoZSBQQk8gbWVtb3J5LgoJICBUaGlzIGFsc28gbW92ZXMgdGhlIGZvcm1hdCB1dGlsaXR5IGZ1bmN0aW9ucyBpbnRvIHRoZWlyIG93biBmaWxlLgoKMjAxNS0xMi0xMSAxMToyMzoxMyArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgR2V0U3RhdHVzKCkgdG9vIHRvIGRlY2lkZSBpZiB0aGVyZSB3YXMgYW4gZXJyb3IKCSAgSWYgR2V0U3RhdHVzKCkgZmFpbHMsIHRoZSBzdGF0dXMgaXRzZWxmIHdvbid0IGJlIHZlcnkgbWVhbmluZ2Z1bCBidXQgd2UgYWxzbwoJICBoYXZlIHRvIGxvb2sgYXQgaXRzIHJldHVybiB2YWx1ZS4gVGhpcyBmaXhlcyBibG9ja2luZyBwaXBlbGluZXMgd2hlbiByZW1vdmluZwoJICBzb3VuZCBkZXZpY2VzIG9yIGR1cmluZyBvdGhlciBlcnJvcnMsIHdoZXJlIHdlIHdvdWxkbid0IG5vdGljZSB0aGUgZXJyb3IgYW5kCgkgIHRoZW4gd2FpdCBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDk4CgoyMDE1LTEyLTEwIDE3OjQxOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZW1vdmUgdW51c2VkIHBhcmFtZXRlcnMgaW4gYnVpbGRfKl9leHRlbnNpb24KCSAgQXRvbVRSQUsgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIGJ5IGJ1aWxkX21vdl9hbGFjX2V4dGVuc2lvbigpLAoJICBidWlsZF9qcDJoX2V4dGVuc2lvbigpLCBvciBidWlsZF9tb3ZfYWxhY19leHRlbnNpb24oKSAgYW5kIGNhbiBiZQoJICByZW1vdmVkLgoKMjAxNS0xMi0xMCAxNToxMTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZXBsYWNlIHZhcmlhYmxlIG9ubHkgdXNlZCBvbmNlCgkgIFJlcGxhY2UgaGFzX3NoaWZ0IHZhcmlhYmxlIHdpdGggdmFsdWUgc2luY2UgaXQgaXMgb25seSB1c2Ugb25jZS4KCjIwMTUtMTItMDkgMTI6MjQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggcGFja2V0IGRyb3BwaW5nIGFmdGVyIGEgYmlnIGRpc2NvbnQKCSAgV2Ugd291bGQgcXVldWUgNSBjb25zZWN0aXZlIHBhY2tldHMgYmVmb3JlIGNvbnNpZGVyaW5nIGEgcmVzZXQgYW5kIGEgcHJvcGVyCgkgIGRpc2NvbnQgaGVyZS4gSW5zdGVhZCBvZiBleHBlY3RpbmcgdGhlIG5leHQgb3V0cHV0IHBhY2tldCB0byBoYXZlIHRoZSBjdXJyZW50CgkgIHNlcW51bSAoaS5lLiB0aGUgZmlmdGgpLCBleHBlY3QgaXQgdG8gaGF2ZSB0aGUgZmlyc3Qgc2VxbnVtLiBPdGhlcndpc2Ugd2UncmUKCSAgZ29pbmcgdG8gZHJvcCBhbGwgcXVldWVkIHVwIHBhY2tldHMuCgoyMDE1LTEyLTA5IDExOjQ5OjAyICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogUmVtb3ZlIHVuc2VkIGZpZWxkCgkgIFJlbW92ZSB1bnVzZWQgZmllbGQgY29sbGVjdF9ldmVudCBpbiBpbnRlcmxlYXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MjI2CgoyMDE1LTEyLTA3IDE2OjMzOjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFN0b3AgcHVzaGluZyBkYXRhIGFzIHNvb24gYXMgcG9zc2libGUgaW4gcHVzaC1tb2RlCgkgIFdoZW4gd29ya2luZyBpbiBwdXNoLW1vZGUsIHdlIGF0dGVtcHQgdG8gcHVzaCBvdXQgZXZlcnl0aGluZyBjdXJyZW50bHkKCSAgYnVmZmVyZWQgaW4gdGhlIGFkYXB0ZXIuCgkgIFRoaXMgaGFzIHR3byBwaXRmYWxsczoKCSAgKiBXZSBjb3VsZCBzdG9wIGVhcmxpZXIgKHRoZSBtb21lbnQgd2UgZ2V0IGEgbm9uLW9rIG9yIG5vbi1ub3QtbGlua2VkKQoJICAqIFdlIHJldHVybiB0aGUgbGFzdCBjb21iaW5lZCBmbG93IHJldHVybiwgd2hpY2ggbWlnaHQgYmUgY29tcGxldGVseQoJICBkaWZmZXJlbnQgZnJvbSB0aGUgcHJldmlvdXMgY29tYmluZWQgZmxvdyByZXR1cm4KCjIwMTUtMTItMDcgMDk6MDg6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzE5OTA5IHRvIDg2ZTQ2NjMKCjIwMTUtMTItMDcgMTQ6NDE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBhIHdhcm5pbmcgaWYgYW4gZW1wdHkgUlRDUCBwYWNrZXQgaXMgdHJpZWQgdG8gYmUgc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTE5CgoyMDE1LTExLTMwIDE5OjIwOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkgIHZweGRlYzogVXNlIEdzdE1lbW9yeSB0byBhdm9pZCBjb3BpZXMKCSAgV2l0aCB0aGUgVlBYIGRlY29kZXJzIGl0J3Mgbm90IHNpbXBsZSB0byB1c2UgZG93bnN0cmVhbSBidWZmZXIgcG9vbCwKCSAgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBpbWFnZSBzaXplIGFuZCBhbGlnbm1lbnQgd2hlbiBidWZmZXJzIGdldAoJICBhbGxvY2F0ZWQuIFdlIGNhbiB0aG91Z2ggdXNlIEdzdEFsbG9jYXRvciAoZm9yIGRvd25zdHJlYW0sIG9yIHRoZSBzeXN0ZW0KCSAgYWxsb2NhdG9yKSB0byBhdm9pZCBhIGNvcHkgYmVmb3JlIHB1c2hpbmcgaWYgZG93bnN0cmVhbSBzdXBwb3J0cwoJICBHc3RWaWRlb01ldGEuIFRoaXMgd291bGQgc3RpbGwgY2F1c2UgYSBjb3B5IGZvciBzaW5rIHRoYXQgcmVxdWlyZXMKCSAgc3BlY2lhbGl6ZWQgbWVtb3J5IGFuZCBkb2VzIG5vdCBoYXZlIGEgR3N0QWxsb2NhdG9yIGZvciB0aGF0LCB0aG91Z2gKCSAgaXQgd2lsbCBncmVhdGx5IGltcHJvdmUgcGVyZm9ybWFuY2UgZm9yIHNpbmsgbGlrZSBnbGltYWdlc2luayBhbmQKCSAgY2x1dHRlcnNpbmsuIFRvIGF2b2lkIGFsbG9jYXRpbmcgZm9yIGV2ZXJ5IGJ1ZmZlciwgd2UgYWxzbyB1c2UgYQoJICBpbnRlcm5hbCBidWZmZXIgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTM3MgoKMjAxNS0xMS0zMCAwODo0MjozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEF2b2lkIG92ZXItc2tpcHBpbmcgd2hlbiBjaGVja2luZyBMT0FTIGNvbmZpZwoJICBUaGVyZSBtaWdodCBiZSBtdWx0aXBsZSBMT0FTIGNvbmZpZyBpbiBhIHJvdyBpbiBhIGZ1bGwgZnJhbWUuIFRoZSBmaXJzdAoJICBvbmUgbWlnaHQgYmUgYSBtdWx0aS1sYXllciBjb25maWcgKHdoaWNoIHdlIGNhbid0IHByb3Blcmx5IHBhcnNlIHlldCkuLi4KCSAgYnV0IHRoZW4gZm9sbG93ZWQgYnkgYSB2YWxpZCAoc2luZ2xlLWxheWVyKSBvbmUuCgkgIFRoZSBjb2RlIHdhcyBwcmV2aW91c2x5IHNraXBwaW5nIHdob2xlIGZyYW1lcyAoaW5zdGVhZCBvZiBqdXN0IHRoZSBMT0FTCgkgIGNvbmZpZyB3ZSBmYWlsZWQgdG8gcmVhZCkgcmVzdWx0aW5nIGluIG11bHRpcGxlIGZyYW1lcyAoc2VlbiB1cCB0byA2cyBpbgoJICBzb21lIHNpdHVhdGlvbikgYmVpbmcgZHJvcHBlZCBiZWZvcmUgZmluYWxseSBnZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODI2CgoyMDE1LTExLTI1IDE3OjA4OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUHJvcGVybHkgc2V0IFNQQVJTRSBzdHJlYW0gZmxhZ3MgZm9yIHN1YnBpY3R1cmUvc3VidGl0bGUKCSAgQW5kIHdoaWxlIHdlJ3JlIGF0IGl0LCBhbHNvIGRldGVjdCAnRFhTQScgYXMgYmVpbmcgYSB2YXJpYW50IGZvdXJjYwoJICBvZiAnRFhTQicgZm9yIFhTVUIKCjIwMTUtMTEtMzAgMjE6MjM6NTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogZ3JhbW1hciBmaXgKCjIwMTUtMTEtMzAgMjE6MDE6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogc3dpdGNoIHNob3V0Y2FzdCBzdHJlYW0gcHJvdmlkZXIKCSAgRml4ZXMgZmFpbGluZyBJQ1kgdGVzdC4gUHJldmlvdXMgcHJvdmlkZXIgaGFzCgkgIHN0cmVhbWluZyBkaXNhYmxlZCBvdXRzaWRlIFVLLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTE0CgoyMDE1LTExLTE4IDE2OjEwOjExICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG9uJ3QgY3Jhc2ggaWYgd2UgbmV2ZXIgZ290IGF1ZGlvIGNhcHMgYmVmb3JlIHN0b3BwaW5nCgkgIGF1ZHMuYmxvY2thbGlnbiBpcyBzZXQgb25jZSB0aGUgZmlyc3QgY2FwcyBhcnJpdmUuIElmCgkgIGdzdF9hdmlfbXV4X3N0b3BfZmlsZSgpIGlzIGNhbGxlZCBiZWZvcmUgdGhpcyBoYXBwZW5zIHRoZW4gYXVkcy5ibG9ja2FsaWduCgkgIGlzIHplcm8gYW5kIGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2ZpZWxkcygpIGNhdXNlIGEgY3Jhc2g6CgkgIFsuLi5dCgkgIGF2aXBhZC0+cGFyZW50Lmhkci5yYXRlID0gYXZpcGFkLT5hdWRzLmF2X2JwcyAvIGF2aXBhZC0+YXVkcy5ibG9ja2FsaWduOwoJICBbLi4uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTEyCgoyMDE1LTEyLTAxIDE4OjIwOjIzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkb24ndCBibG9jayB3aGVuIHJlc3VyZWN0aW5nIGEgYnVmZmVyCgkgIFdoZW4gd2UgYXJlIHJlc3VyZWN0aW5nIGEgYnVmZmVyLCBkb24ndCBibG9jay4gaW5zdGVhZCBsZXQgdXMgY29weSBhCgkgIGJ1ZmZlci4KCjIwMTUtMTItMDEgMDA6MzA6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVtb3ZlIGV4dHJhIHZhcmlhYmxlIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHNlZSB0aGF0IHRoZSBldmVudCBpcyBiZWluZyByZXBsYWNlZC91bnJlZmVkCgoyMDE1LTEyLTAxIDAwOjIyOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlc3BlY3Qgc2VxbnVtIGluIHNlZWsgZXZlbnRzCgkgIFByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgc2VlayBzZXFudW0gdG8gZXZlbnRzIG9yaWdpbmF0ZWQgZnJvbQoJICBzZWVraW5nIHRvIG1ha2Ugc3VyZSB0aGV5IGhhdmUgdGhlIHNhbWUgdmFsdWUKCjIwMTUtMTItMDEgMDA6MDM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZmx1c2ggdXBzdHJlYW0gd2hlbiBzZWVraW5nIGluIHB1bGwgbW9kZQoJICBNYWtlcyBzdXJlIHVwc3RyZWFtIHdpbGwgdW5ibG9jayBhbmQgcmV0dXJuIHRoZSB0aHJlYWQgc28gdGhhdAoJICBzZWVraW5nIGNhbiBjb250aW51ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODYxCgoyMDE1LTExLTI3IDA5OjI3OjI5ICswMTAwICBBbnRvbiBCb25kYXJlbmtvIDxhbnRvbmJvQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFkZCAic2VuZCBTUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgU1BTL1BQUyBpbmZvcm1hdGlvbiBzZW50CgkgIGluIFJUUCBwYWNrZXRzLiBUaGVyZSBhcmUgc29tZSBzY2VuYXJpb3Mgd2hlbiBrZXkgZnJhbWVzIG1heSBhcHBlYXIKCSAgbW9yZSBmcmVxdWVudGx5IHRoYW4gb25jZSBhIHNlY29uZCwgaW4gd2hpY2ggY2FzZSB0aGUgbWluaW11bSB0aW1lb3V0CgkgIGZvciAiY29uZmlnLWludGVydmFsIiBvZiAxIHNlY29uZCBmb3Igc2VuZGluZyBTUFMvUFBTIGlzIG5vdCBzdWZmaWNpZW50LgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgU1BTL1BQUyBpcwoJICBhdmFpbGFibGUgd2l0aCBldmVyeSBrZXlmcmFtZSAocGFja2V0IGxvc3MgYXNpZGUpLCBzbyByZWNlaXZlcnMgY2FuCgkgIGFjdHVhbGx5IHBpY2sgdXAgZGVjb2RpbmcgaW1tZWRpYXRlbHkgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgaWYKCSAgU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBTUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lLiBUaGlzCgkgIG1vZGUgY2FuIGJlIGVuYWJsZWQgYnkgc2V0dGluZyAiY29uZmlnLWludGVydmFsIiBwcm9wZXJ0eSB0byAtMS4gSW4gdGhpcwoJICBjYXNlIHRoZSBwYXlsb2FkZXIgd2lsbCBhZGQgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKSBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0xMS0yNyAwOTowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIFRoaXMgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgZXZlbiB3aXRoIHRoZSBHVmFsdWUgQVBJLCBhcyBzaG93biBieQoJICBhIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0xMS0yNiAyMTo0NjoxMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBBZGQgc3VwcG9ydCBmb3IgZGVtdXhpbmcgT3B1cyBlbmNhcHN1bGF0ZWQgaW4gTVA0IGZpbGVzLCBiYXNlZCBvbiB0aGUKCSAgZm9sbG93aW5nIHNwZWM6IGh0dHBzOi8vd3d3Lm9wdXMtY29kZWMub3JnL2RvY3Mvb3B1c19pbl9pc29ibWZmLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY0MwoKMjAxNS0xMS0yNSAyMjo0ODozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgbWFjcm8gZm9yIGNvZGVjX25hbWUKCSAgVXNlIF9jb2RlYygpIG1hY3JvIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMTUtMDMtMjUgMTY6MzI6NTUgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogdmlkZW9kZWM6IGNob29zZSBmb3JtYXQgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MjcKCjIwMTUtMDMtMjcgMTU6MDI6MzMgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogYWRkIGdzdF92NGwyX29iamVjdF9wcm9iZV9jYXBzCgkgIEFkZCBhIHZhcmlhbnQgb2YgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzIHRoYXQgYnlwYXNzZXMgdGhlIHByb2JlZF9jYXBzIGNhY2hlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODI3CgoyMDE1LTExLTE5IDE3OjIwOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDItcHJvYmU6IFNraXAgZGV2aWNlcyB3aXRob3V0IHN1cHBvcnRlZCBmb3JtYXRzCgoyMDE1LTExLTEzIDEyOjM1OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogVHJhY2sgL2Rldi92aWRlbyogdG8gdHJpZ2dlcmVkIHJlcXVpcmVkIHByb2JlCgkgIElmIHNvbWV0aGluZyBpbiAvZGV2L3ZpZGVvKiBnZXQgYWRkZWQsIHJlbW92ZWQgb3IgcmVwbGFjZWQsIHdlIG5lZWQgdG8KCSAgcHJvYmUgdGhlIGRldmljZXMgYWdhaW4gaW4gb3JkZXIgdG8gZW5zdXJlIHRoZSBkeW5hbWljIGRldmljZXMgYXJlIHVwIHRvCgkgIGRhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwODUKCjIwMTUtMTEtMjUgMTQ6NTE6NDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBydHBzZXNzaW9uOiBkb24ndCBzZW5kIGVtcHR5IFJUQ1AgcGFja2V0cwoJICBnZW5lcmF0ZV9ydGNwIGNhbiBwcm9kdWNlIGVtcHR5IHBhY2tldHMgd2hlbiByZWR1Y2VkIHNpemUgUlRDUCBpcyB0dXJuZWQgb24uCgkgIFNraXAgdGhlbSBzaW5jZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHVzaCB0aGVtIGFuZCB0aGV5IGNhdXNlIGVycm9ycyB3aXRoCgkgIGVsZW1lbnRzIHRoYXQgZXhwZWN0IFJUQ1AgcGFja2V0cyB0byBjb250YWluIGRhdGEgKGxpa2Ugc3J0cGVuYykuCgoyMDE1LTExLTI0IDEwOjU3OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzdG9yZSB0aGUgc2VnbWVudCBvbiBjYXNlIG9mIHNvZnQgcmVzZXQKCSAgV2hlbiBzZWVraW5nIGJhY2sgdG8gcmVzdG9yZSB0aGUgbWRhdCBwb3NpdGlvbiBhIGZsdXNoIGlzIHB1c2hlZAoJICB0aHJvdWdoIGFuZCBpdCByZXNldHMgZG93bnN0cmVhbSBzZWdtZW50IGluZm9ybWF0aW9uLiBNYWtlIHN1cmUKCSAgdGhhdCBhZnRlciB0aGUgZmx1c2ggKHRoYXQgZG9lcyBhIHNvZnQgcmVzZXQpIGEgc2VnbWVudCB3aWxsCgkgIGJlIHB1c2hlZCBhZ2FpbgoJICBGaXhlcyByZWdyZXNzaW9ucyBzcG90dGVkIGF0CgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci12YWxpZGF0ZS8yMTAwLwoKMjAxNS0xMS0yMCAxMjo0NDoyMiArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IHNwZWxsaW5nIG9mIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzOTAKCjIwMTUtMTEtMjAgMTE6MDU6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdW5pdGUgZHVwbGljYXRlIEZvdXJDQwoJICBVbml0ZSBpbiBmb3VyY2MuaCB0aGUgRm91ckNDcyB0aGF0IGFyZSB1c2VkIHR3aWNlIG9yIG1vcmUgaW4gcXRkZW11eAoKMjAxNS0xMS0yMCAxMToxODo0MyArMTEwMCAgUm9tYW4gTm93aWNraSA8cm5vd2lja2lAc2ltcy5wbD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcmV1c2UgZXhpc3RpbmcgR3N0UVNHVGV4dHVyZQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrIGxlYWtpbmcgdGhlIHRleHR1cmUgb2JqZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI4NgoKMjAxNS0xMS0yMCAxMTowODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHFtbDogYWN0aXZhdGUgdGhlIHdyYXBwZWQgY29udGV4dCB3aGVuIGJpbmRpbmcKCSAgTWl0aWdhdGVzIHRoZSBmb2xsb3dpbmcgY3JpdGljYWwKCSAgZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZDogYXNzZXJ0aW9uICdjb250ZXh0LT5wcml2LT5hY3RpdmVfdGhyZWFkID09IGdfdGhyZWFkX3NlbGYgKCknIGZhaWxlZAoKMjAxNS0xMS0xOSAxMTo1NToxOSArMDEwMCAgUm9tYW4gTm93aWNraSA8cm5vd2lja2lAc2ltcy5wbD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcHJvcGVyIGluaXRpYWxpemF0aW9uIGlmIHNjZW5lIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQKCSAgVGhlIHNjZW5lIGdyYXBoIGNhbiBiZSBpbml0aWFsaXplZCB3aGVuIHRoZSB3ZSByZWNlaXZlIHdpbmRvdyBoYW5kbGUgY2hhbmdlCgkgIG5vdGlmaWNhdGlvbiBhbmQgc28gd2Ugd2lsbCBub3QgcmVjZWl2ZSBhIHNjZW5lZ3JhcGggaW5pdGlhbGl6YXRpb24KCSAgbm90aWZpY2F0aW9uLiAgSW5pdGlhbGl6ZSBvdXJzZWxmIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODMzNwoKMjAxNS0xMS0xOSAxNTozMzo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogRml4IGNhcHR1cmUvb3V0cHV0LWlvLW1vZGUgcHJvcGVydGllcwoJICBUaGVyZSB3YXMgc29tZSBtaXNzLW1hdGNoIGluIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcyBtYWtlcyBpdAoJICBjb25jaXN0ZW50LCB0aG91Z2ggZnVuY3Rpb25hbGx5IGl0IHdvcmtlZCwgZXhjZXB0IHRoZSB2aWRlbyBkZWNvZGVyCgkgIG91dHB1dC1pby1tb2RlIGdldHRlci4KCjIwMTUtMTEtMTkgMTk6NDg6MDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiByZW1vdmUgdW51c2VkIGFyZ3VtZW50IG9mIGJ1aWxkX21vdl93YXZlX2V4dGVuc2lvbigpCgkgIEF0b21UcmFrICogdHJhayBhcmd1bWVudCBvZiBidWlsZF9tb3ZlX3dhdmVfZXh0ZW5zaW9uKCkgaXNuJ3QgdXNlZC4KCSAgUmVtb3ZpbmcgaXQuCgoyMDE1LTExLTE5IDE5OjI4OjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGUgRm91ckNDCgkgIFVzZSB0aGUgYXZhaWxhYmxlIEZvdXJDQ3MgaW4gZm91cmNjLmggaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGVtLgoKMjAxNS0xMS0xOSAxODozNjozOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGNlbnRyYWxpemUgYWxsIEZvdXJDQwoJICAxMCBGb3VyQ0NzIGdlbmVyYXRlZCB3aXRoIEdTVF9NQUtFX0ZPVVJDQygpIGluIGdzdHF0bXV4LmMgYW5kIGF0b21zLmMKCSAgYWxyZWFkeSBleGlzdCBpbiBmb3VyY2MuaC4gRG9uJ3QgZHVwbGljYXRlIHRoZXNlIGFuZCB1c2UgdGhlbSBkaXJlY3RseS4KCSAgUGx1cyBtb3ZpbmcgNiB0byBmb3VyY2MuaCwgdG8gY2VudHJhbGl6ZSB0aGVtIGFsbC4KCjIwMTUtMTEtMTkgMTc6MzI6MTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2Evd2VibW11eDogZml4IG91dGRhdGVkIGV4YW1wbGUgbGF1bmNoIGxpbmVzCgkgIFVwZGF0ZSBnc3QtbGF1bmNoLTAuMTAgbGluZXMgdG8gZ3N0LWxhdW5jaC0xLjAKCjIwMTUtMTEtMTYgMTM6MjY6NTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIGlzb21wNDogYWRkIHN1cHBvcnQgZm9yIE9wdXMgaW4gbXA0bXB1eAoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QNCBmaWxlcyBjb250YWluaW5nIE9wdXMuIEJhc2VkIG9uIHRoZSBzcGVjCgkgIGRldGFpbGVkIGhlcmU6CgkgIGh0dHBzOi8vd3d3Lm9wdXMtY29kZWMub3JnL2RvY3Mvb3B1c19pbl9pc29ibWZmLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY0MwoKMjAxNS0xMS0xNyAxNToyMzoxNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBSZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgkgIGdfZnJlZSgpIGlzIE5VTEwtc2FmZQoKMjAxNS0xMS0xOCAxOToxMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZXBsYWNlIHRhYnMgd2l0aCBzcGFjZXMKCjIwMTUtMTEtMTggMTk6MDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gcHJldmVudCB1bnNpZ25lZCBjb21wYXJlIGJldHdlZW4gbmVnYXRpdmUgYW5kIHBvc2l0aXZlIG51bWJlcnMKCSAgVGhpcyBmaXhlcyBzZWVraW5nIGlmIHRoZSBmaXJzdCBlbnRyaWVzIGluIHRoZSBzYW1wbGVzIHRhYmxlIGFyZSBuZWdhdGl2ZS4gVGhlCgkgIGJpbmFyeSBzZWFyY2ggd291bGQgYWx3YXlzIGZhaWwgb24gdGhpcyBhcyB0aGUgYXJyYXkgd291bGQgbm90IGJlIHNvcnRlZCBpZgoJICBpbnRlcnByZXRpbmcgdGhlIG5lZ2F0aXZlIG51bWJlcnMgYXMgaHVnZSBwb3NpdGl2ZSBudW1iZXJzLiBUaGlzIGNhdXNlZCB1cyB0bwoJICBhbHdheXMgb3V0cHV0IGJ1ZmZlcnMgZnJvbSB0aGUgYmVnaW5uaW5nIGFmdGVyIGEgc2VlayBpbnN0ZWFkIG9mIGNsb3NlIHRvIHRoZQoJICBzZWVrIHBvc2l0aW9uLgoJICBBbHNvIGFkZCBhIGNhc2UgdG8gdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIGVxdWFsaXR5LgoKMjAxNS0xMS0xOCAxNjowMTo0OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBkdXBsaWNhdGUgY2hlY2sKCSAgV2Ugd2FudCAxIG9yIDIgc3RyZWFtaGVhZGVycywgdGhlIGNoZWNrICBpZiAoYnVmYXJyLT5sZW4gIT0gMSAmJgoJICBidWZhcnItPmxlbiAhPSAyKSBpcyBlbm91Z2guIE5vdCBuZWVkIHRvIGNoZWNrIGlmIGJ1ZmFyci0+bGVuIGlzIDw9IDAgb3IKCSAgPiAyNTUuCgoyMDE1LTExLTE4IDE0OjQ4OjM2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRml4IGVycm9yIGxlYWsgYW5kIGhhbmRsZSBlcnJvcgoJICBnX3RocmVhZF90cnlfbmV3IGFsbG93cyBmb3IgcG9zc2libGl0eSBvZiBmYWlsdXJlcy4gSW4gY2FzZSBpdCBmYWlscywKCSAgZXJyb3IgaXMgbm90IGhhbmRsZWQgYW5kIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI2MAoKMjAxNS0xMS0xNSAxNzoxNjoyOSAtMDgwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogUHJvcGVybHkgaGFuZGxlIGJhY2t3YXJkIGNvbXBhdCBmb3IgZXZlbnQgZGVzZXJpYWxpemF0aW9uCgkgIEFjdHVhbCBjb2RlIGlzIGNoZWNraW5nIGZvciBhIE5VTEwgdGVybWluYXRvciBhbmQgYSAnOycgdGVybWluYXRvciwKCSAgZm9yIGJhY2t3YXJkIGNvbXBhdCwgaW4gYSBjaGFpbmVkIHdheSB0aGF0IGNhdXNlIGFsbCBldmVudHMgYmVpbmcgcmVqZWN0ZWQuCgkgIFRoZSBwcm9wZXIgY29uZGl0aW9uIGlzIHRvIHJlamVjdCB0aGUgZXZlbnRzIHdoZW4gdGVybWluYXRvciBpc24ndAoJICBpbiBbJ1wwJywgJzsnXSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNTEKCjIwMTUtMTEtMTUgMTc6MTE6MDIgLTA4MDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogVGVzdCBmb3IgaGFuZGxpbmcgb2YgY3VzdG9tIGV2ZW50cyBpbiBydHBnc3QKCSAgQWRkIGEgc2ltcGxlIHRlc3QgdGhhdCBjaGVja3MgcHJvcGVyIHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uCgkgIG9mIGN1c3RvbSBldmVudHMgd2l0aCBydHBnc3RwYXkgYW5kIHJ0cGdzdGRlcGF5LgoKMjAxNS0xMS0xNiAxNjoyMzo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBVc2UgdGhyZWFkcyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMKCSAgVGhpcyBhZGRzIGFuIGF1dG9tYXRpYyBtb2RlIHRvIHRoZSB0aHJlYWRzIHByb3BlcnR5IG9mIHZweGRlYyBpbiBvcmRlciB0bwoJICB1c2UgYXMgbWFueSB0aHJlYWRzIGFzIHRoZXJlIGlzIENQVSBvbiB0aGUgcGxhdGZvcm0uIFRoaXMgYnJpbmdzIGJhY2sKCSAgR1N0cmVhbWVyIFZQWCBkZWNvZGluZyBwZXJmb3JtYW5jZSBjbG9zZXIgdG8gd2hhdCBpcyBhY2hpZXZlZCBieSBvdGhlcgoJICBwbGF5ZXJzLCBpbmNsdWRpbmcgQ2hyb21pdW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxOTUKCjIwMTUtMTEtMTYgMTA6NTg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNlbmQgaW5pdGlhbCBnYXBzIGZvciBub24tZnJhZ21lbnRlZCBzdHJlYW1zCgkgIEl0IHdvdWxkIGJlIHVudXN1YWwgdG8gaGF2ZSB0aGUgaGVhZGVyIHNlZ21lbnQgd2l0aCBhbiAnZWR0cycgYXRvbQoJICBpbmRpY2F0aW5nIGdhcHMgYXQgdGhlIGJlZ2lubmluZyB3aGVuIGhhbmRsaW5nIGZyYWdtZW50ZWQgc3RyZWFtcy4KCSAgVGhlIGhlYWRlciB1c3VhbGx5IGRvZXNuJ3QgY29udGFpbiBhbnkgdGltZXN0YW1waW5nIGluZm9ybWF0aW9uLCB0aGlzCgkgIHNob3VsZCBjb21lIGZyb20gdGhlIHBsYXlsaXN0L21hbmlmZXN0IGFuZCB0aGUgc2VnbWVudHMgd2l0aCBtZWRpYQoJICBpbiB0aG9zZSBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNzEKCjIwMTUtMTEtMTcgMDk6NDE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgIlJldmVydCAicXRkZW11eDogcmVzcGVjdCBxdCBzZWdtZW50cyBpbiBwdXNoLW1vZGUgZm9yIGVtcHR5IHN0YXJ0cyIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDg0MmZmMjg4YTlkMDEyMTRhMDQ2YmVjYmZkOWNiZmYzYTRhY2VhMC4KCSAgVGhpcyB3YXMgcmV2ZXJ0ZWQgYnkgYWNjaWRlbnQKCjIwMTUtMTEtMTcgMTI6Mzk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEFkZCAibG9vcCIgcHJvcGVydHkgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBtdWx0aWNhc3QgbG9vcGJhY2sKCSAgT24gUE9TSVgsIElQX01VTFRJQ0FTVF9MT09QIGlzIGEgc2V0dGluZyBmb3IgdGhlIHNlbmRlciBzb2NrZXQuIE9uIFdpbmRvd3MgaXQKCSAgaXMgYSBzZXR0aW5nIGZvciB0aGUgcmVjZWl2ZXIgc29ja2V0LiBBcyBzdWNoIHdlIHdpbGwgbmVlZCBpdCBvbiB1ZHBzcmMgdG9vIHRvCgkgIGFsbG93IGZpbHRlcmluZyBvdXQgb3VyIG93biBtdWx0aWNhc3QgcGFja2V0cy4KCjIwMTUtMTEtMTYgMTM6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE0MmQ4ZTJkMjNlNTYwMmU3MzgyOTc3YWYxMDQzZDYyMTYyNWY4YzguCgoyMDE1LTExLTE2IDE2OjU2OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgVGhlIHN0cmluZyBnb3QgdXNpbmcgZ19zdHJkdXBfcHJpbnRmIHdpbGwgYmUgYWxsb2NhdGVkIG1lbW9yeQoJICBhbmQgc2hvdWxkIGJlIGZyZWVkIGFmdGVyIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE2MQoKMjAxNS0xMS0xNCAyMTo1MToxMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyL29iamVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjQ1OjI5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBvc3NzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTo0MzoyNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgIHN1bmF1ZGlvc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjM2OjMwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MzE6MDggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MjY6MjEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYS9yZWFkLWNvbW1vbjogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDo0MzoxMCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQvYXRvbXM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzU6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cC90aGVvcmFwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzM6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cC92b3JiaXNwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzE6MzQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHAvanBlZ3BheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDoyNzowNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjIyOjA5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MTQ6MjUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjA5OjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJICBlZmZlY3R2L29wdHY6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDU6MDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0di9zaGFnYWRlbGljdHY6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDE6NDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICBlZmZlY3R2L3JpcHBsZTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxOTo1Njo1NyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJICBlZmZlY3R2L3JhZGlvYWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTk6NTI6MTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJICBlZmZlY3R2L3N0cmVhazogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE3OjA0OjU1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTY6NTc6MTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE2OjU0OjQyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNjoyMDozMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTMgMTM6MzQ6MDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGFkZCBzdXBwb3J0IG9mIE5WMTYsIE5WNjEgYW5kIE5WMjQgZm9ybWF0cwoJICBNYXBwZWQgcmVzcGVjdGl2ZWx5IHRvIFY0TDJfUElYX0ZNVF9OVjE2L1Y0TDJfUElYX0ZNVF9OVjE2TSwKCSAgVjRMMl9QSVhfRk1UX05WNjEsVjRMMl9QSVhfRk1UX05WNjFNIGFuZCBWNEwyX1BJWF9GTVRfTlYyNCB2NGwyIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNTgKCjIwMTUtMTEtMTEgMTQ6MTA6NTMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHBhcnRyZWFkZXI6IEZpeCBHQ29uZCBsZWFrCgkgIGluYWN0aXZlX2NvbmQgaXMgbm90IGJlaW5nIGNsZWFyZWQgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTI0CgoyMDE1LTA4LTA2IDEyOjQ0OjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggb3V0cHV0IHN0YXRlIG1lbW9yeSBsZWFrCgkgIFdoZW4ganBlZ19maW5pc2hfZGVjb21wcmVzcyBpcyBjYWxsZWQsIG91dHB1dCBzdGF0ZSByZWZlcmVuY2UgaXMgYmVpbmcgY3JlYXRlZC4KCSAgQnV0IGlmIHRoZXJlIGlzIGFueSBmYWlsdXJlcyBpbiBmaW5pc2hpbmcgZGVjb21wcmVzcywgaXQganVtcHMgdG8gc2V0am1wLAoJICBhbmQgYXQgdGhhdCBwb2ludCBzdGF0ZSB3YXMgbm90IHJlZmVyZW5jZWQuIFJlc3VsdGluZyBpbiBsZWFrIG9mIG91dHB1dCBzdGF0ZS4KCSAgSGVuY2UgYWRkaW5nIGFub3RoZXIgc2V0am1wIGFmdGVyIG91dHB1dCBzdGF0ZSBpcyByZWZlcmVuY2VkLgoJICBTaW1pbGFybHkgYWRkaW5nIGFub3RoZXIgc2V0am1wIHRvIHVubWFwIHRoZSBmcmFtZSBpbiBjYXNlIGVycm9yIGhhcHBlbnMgYmVmb3JlCgkgIGZpbmlzaF9kZWNvbXByZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwODcKCjIwMTUtMTEtMTAgMTI6MzI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0azogYWRkIHRoZSBvdmVybGF5Y29tcG9zaXRpb24gZmVhdHVyZSB0byB0aGUgdGVtcGxhdGUgY2FwcwoJICBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIF9nZXRfY2FwcyBpbXBsIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlCgkgIGZlYXR1cmUgaW4gdGhlIGZpbHRlciBjYXBzIHdoaWNoIHdoZW4gaW50ZXJlY3Rpbmcgd2l0aCB0aGUgdGVtcGxhdGUsCgkgIHdpbGwgcmV0dXJuIEVNUFRZIGFuZCB0aGVyZWZvcmUgZmFpbCBuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg1NAoKMjAxNS0wOC0xMCAxMToyMzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc3BlY3QgcXQgc2VnbWVudHMgaW4gcHVzaC1tb2RlIGZvciBlbXB0eSBzdGFydHMKCSAgSW4gcHVzaC1tb2RlIGl0IGlzIGhhcmQgdG8gc3VwcG9ydCBxdCBzZWdtZW50cyBvdmVyYWxsIGJ1dCBpdCBpcwoJICBwb3NzaWJsZSB0byBzdXBwb3J0IHdoZW4gdGhlIGZpbGUgaXNuJ3QgaGVhdmlseSBlZGl0ZWQgYnV0IGp1c3QgY29udGFpbgoJICBhIHNlZ21lbnQgdG8gaW5kaWNhdGUgYSBnYXAgYXQgdGhlIGJlZ2lubmluZy4gVGhpcyBhbHNvIGFsbG93cyBwcm9wZXJseQoJICB0aW1lc3RhbXBpbmcgZGF0YSB0aGF0IGhhcyBuZWdhdGl2ZSBEVFMgaW4gcHVzaC1tb2RlLgoJICBJdCBpcyByZWxldmFudCB0byBzdXBwb3J0IHRob3NlIGZvciAyIHNjZW5hcmlvczoKCSAgMSkgZnJhZ21lbnRlZCBzdHJlYW1pbmcKCSAgMikgSFRUUCBwbGF5YmFjayBvZiAncmVndWxhcicgbXA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0ODQKCjIwMTUtMTEtMDUgMTg6Mzk6MzMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkgIHB1bHNlOiBEb24ndCBsZWFrIGNhcHMgYW5kIHN0cnVjdHVyZXMgaW4gdGhlIGRldmljZSBwcm92aWRlcgoKMjAxNS0xMS0wNCAxOTowMToyMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IERvY3VtZW50IHByb3BlcnRpZXMgdGhhdCBhcmUgZXhwcmVzc2VkIGluIGJpdHMgcGVyIHNlY29uZAoJICBUaGlzIGNoYW5nZWQgaW4gOTI4Y2QxMTBiY2VhNWQxNDNjYWIzZWE3NDc5OTE4NTFkNTJlY2JhZCBhbmQKCSAgNzNjMGMyOTIwZjlhY2E5Njk4MmE0ZGUwYzIwYjM0MTdhYTE0OGI4MSBidXQgd2FzIG5vdCBkb2N1bWVudGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTExLTA0IDE4OjUxOjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBUcml2aWFsIGdzdC1pbmRlbnQgZml4ZXMKCjIwMTUtMDgtMTIgMTM6MzU6NDAgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgZm9yIGNlbmMgYXV4aWxpYXJ5IGluZm8gcGFyc2luZyBvdXRzaWRlIG9mIG1vb2YgYm94CgkgIFdoZW4gdGhlIGNlbmMgYXV4IGluZm8gaW5kZXggaXMgb3V0IG9mIG1vb2YgYm91bmRhcmllcywga2VlcCB0cmFjayBvZgoJICBpdCBhbmQgcGFyc2UgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWRhdCBib3gsIGJlZm9yZSB0aGUgZmlyc3Qgc2FtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjE0CgoyMDE1LTExLTAzIDIwOjMzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBjb2RlY3V0aWxzIGhlbHBlcnMgZm9yIGNyZWF0aW5nIE9wdXMgY2FwcwoJICBBbHNvIGZpeCB1cCBjb2RlYyBkYXRhIHdpdGggdmFsdWVzIGZyb20gdGhlIGNvbnRhaW5lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxNDo1MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBUaGVyZSBpcyBubyBtdWx0aXN0cmVhbSBmaWVsZCBmb3IgT3B1cyBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTI6NDI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYS93ZWJtbXV4OiBTdXBwb3J0IE9wdXMgaW4gd2VibW11eCBhbmQgVlA5IGluIG1hdHJvc2thbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk5NTAKCjIwMTUtMTEtMDMgMTI6NDA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUGFyc2UgYW5kIGhhbmRsZSBDb2RlY0RlbGF5LCBTZWVrUHJlcm9sbCBhbmQgRGlzY2FyZFBhZGRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAxMjoxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogV3JpdGUgQ29kZWNEZWxheSwgRGlzY2FyZFBhZGRpbmcgYW5kIFNlZWtQcmVyb2xsIGZvciBPcHVzCgkgIEFuZCBhbHNvIGFkanVzdCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgYWNjb3JkaW5nIHRvIHRoZSBjb2RlYyBkZWxheSwgYm90aAoJICBzaG91bGQgaW5jbHVkZSBpdCBmb3Igd2hhdGV2ZXIgcmVhc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE1LTExLTAzIDExOjQ5OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogT3B1cyBoZWFkZXJzIGFyZSBub3QgaW4tYmFuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA1CgoyMDE1LTExLTAzIDIyOjAxOjA3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogU2V0IE9fQ0xPRVhFQyBvbiB0aGUgZGV2aWNlIGZkCgkgIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGF0IGNoaWxkIHByb2Nlc3NlcyBkb24ndCBpbmhlcml0IHRoZSB2aWRlbwoJICBkZXZpY2UgZmQgd2hpY2ggY2FuIGNhdXNlIHByb2JsZW1zIHdpdGggc29tZSBkcml2ZXJzLgoKMjAxNS0xMS0wMyAxNDo0NjozMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBzd2l0Y2ggR19HSU5UNjRfRk9STUFUIGZvciBHU1RfU1RJTUVfQVJHUwoJICBObyBuZWVkIHRvIHVzZSBHX0dJTlQ2NF9GT1JNQVQgZm9yIHBvdGVudGlhbGx5IG5lZ2F0aXZlIHZhbHVlcyBvZgoJICBHc3RDbG9ja1RpbWVEaWZmLiBTaW5jZSAxLjYgdGhlc2UgY2FuIGJlIGhhbmRsZWQgd2l0aCBHU1RfU1RJTUVfQVJHUy4KCSAgUGx1cyBpdCBjcmVhdGVzIG1vcmUgcmVhZGFibGUgdmFsdWVzIGluIHRoZSBsb2dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NDgwCgoyMDE1LTExLTAzIDE0OjI2OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDE2OjUzOjE1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBkaWZmLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDIgMTY6NDM6NDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgaXMKCSAgYXZhaWxhYmxlIGZvciB0aGlzLgoKMjAxNS0xMC0zMCAxMDowNTozNyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgIGF1ZGlvY2hlYmJhbmQ6IEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmUKCSAgRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM0MAoKMjAxNS0xMC0yOCAyMzo0NzozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDI6IGZpeCBkb3VibGUtdW5yZWYgaW4gdGhlIHY0bDIgZGV2aWNlIHByb3ZpZGVyCgoyMDE1LTEwLTI3IDEwOjQ4OjAwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGRyb3AgSlBFRyBmcmFtZXMgdGhhdCBvbmx5IGhhdmUgUFRTIGJ1dCBubyBEVFMgc2V0CgkgIEZvciB0aGUgTVMvVmZXIGNvZGVjIGlkcywgd2Ugd2FudCB0byB3cml0ZSBEVFMgdGltZXN0YW1wcyBpbnN0ZWFkCgkgIG9mIFBUUyBiZWNhdXNlIHRoYXQncyB3aGF0IGV2ZXJ5b25lIGVsc2Ugc2VlbXMgdG8gZG8gKGFuZCBpdCdzIGFsc28KCSAgaG93IGl0IGlzIGluIEFWSSkuIFNvIGZvciB0aG9zZSBpbnB1dCBmb3JtYXRzIHdlIHVzZSB0aGUgYnVmZmVyIERUUwoJICBpbnN0ZWFkIG9mIHRoZSBQVFMuIEhvd2V2ZXIsIGlmIHRoZXJlJ3Mgbm8gRFRTIHNldCBidXQgb25seSB0aGUgUFRTCgkgIHRoZW4ganVzdCB0YWtlIHRoZSBQVFMgaW5zdGVhZCBvZiBkcm9wcGluZyB0aGUgaW5wdXQgYnVmZmVyLiBUaGlzCgkgIGlzIHVzZWZ1bCBlc3BlY2lhbGx5IGZvciBJLWZyYW1lIG9ubHkgY29kZWNzIGxpa2UgSlBFRyBhbmQgaHVmZnl1diwKCSAgYnV0IHNob3VsZCBhbHNvIGJlIGZpbmUgYXMgZmFsbGJhY2sgaW4gZ2VuZXJhbC4KCSAgRml4ZXMgcmVncmVzc2lvbiB3aXRoIGlucHV0IEpQRUcgZnJhbWVzIHRoYXQgb25seSBoYXZlIFBUUyBzZXQgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk2NwoKMjAxNS0xMC0yNCAyMzo1NzozOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHRlc3RzL2NoZWNrL3NwbGl0bXV4OiB0ZXN0IHRoYXQgdGhlIHJlbGVhc2VfcGFkIHZmdW5jIG9mIHNwbGl0bXV4c2luayBhY3R1YWxseSByZWxlYXNlcyBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjIKCjIwMTUtMTAtMjQgMjM6NTc6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGRvIG5vdCBkZXN0cm95IHRoZSBtdWx0aXF1ZXVlICYgbXV4ZXIgd2hlbiBnb2luZyB0byBOVUxMCgkgIEluc3RlYWQsIGRlbGF5IGl0IHVudGlsIGFsbCByZXF1ZXN0IHBhZHMgaGF2ZSBiZWVuIHJlbGVhc2VkLiBUaGlzIGlzCgkgIGJlY2F1c2UgdGhlIHJlbGVhc2VfcGFkKCkgdmZ1bmMgcmVxdWlyZXMgdGhlIG11bHRpcXVldWUgYW5kIG11eGVyIHRvCgkgIGJlIHRoZXJlIGluIG9yZGVyIHRvIHJlbGVhc2UgdGhlaXIgcmVxdWVzdCBwYWRzIGFzIHdlbGwuIElmIHRob3NlCgkgIGVsZW1lbnRzIGFyZSBkZXN0cm95ZWQgZWFybGllciwgcmVsZWFzZV9wYWQoKSBkb2VzIG5vdCB3b3JrLCBubwoJICBwYWRzIGFyZSByZWxlYXNlZCBhbmQgc29tZSByZXNvdXJjZXMgYXJlIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMgoKMjAxNS0xMC0yMCAxNToyODoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZWFkIGJ1ZmZlciB0aW1lc3RhbXAgKmFmdGVyKiBhY3R1YWxseSBzZXR0aW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4MDkKCjIwMTUtMTAtMjQgMTc6MTQ6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogRml4IGhhbmRsaW5nIG9mIHJhdGUgPCAwCgkgIFdlIGhhdmUgdG8gcmV2ZXJzZSBhbGwgc2FtcGxlcyBpbiBhIGJ1ZmZlciBiZWZvcmUgcHJvY2Vzc2luZyB0aGVtIHRvIHByb3Blcmx5CgkgIGhhdmUgY29udGludW91cyBkYXRhIGZyb20gb25lIGJ1ZmZlciB0byBhbm90aGVyLiBBcyBhIHJlc3VsdCB3ZSB3aWxsIGhhdmUgYQoJICBuZWdhdGl2ZSBhcHBsaWVkIHJhdGUgYW5kIGEgcmF0ZSBvZiAxLjAuCgkgIEFsc28gbWFrZSBzdXJlIHRoYXQgaW5wdXQgYnVmZmVycyBhcmUgY29ycmVjdGx5IGNsaXBwZWQgdG8gdGhlIHNlZ21lbnQsCgkgIG90aGVyd2lzZSBvdXIgY2FsY3VsYXRpb25zIGFyZSBnb2luZyB0byBnbyB3cm9uZy4KCSAgQWxzbyBjb3B5IG92ZXIgdGhlIHNlZ21lbnQgZXZlbnQncyBzZXF1ZW5jZSBudW1iZXIgdG8gdGhlIG91dHB1dCBzZWdtZW50IHdoaWxlCgkgIHdlJ3JlIGF0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDMzCgoyMDE1LTEwLTE5IDE4OjA0OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGJyZWFrIGFzIHNvb24gYXMgbm9uLWludGVybGFjZWQgaWYgZm91bmQKCSAgSXQgbG9va3MgZm9yIGEgbm9uLWludGVybGFjZWQgZW50cnkgb24gdGhlIGZpbHRlciBjYXBzLCBicmVhawoJICBhcyBzb29uIGFzIG9uZSBpcyBmb3VuZCB0byBhdm9pZCB3YXN0aW5nIGNwdQoKMjAxNS0xMC0xOSAxNzo1MDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXBsZW1lbnQgYWNjZXB0LWNhcHMKCSAgSW1wbGVtZW50IGFjY2VwdC1jYXBzIGhhbmRsZXIgdG8gYXZvaWQgZG9pbmcgYSBmdWxsIGNhcHMgcXVlcnkKCSAgZG93bnN0cmVhbSB0byBoYW5kbGUgaXQuCgkgIFRoaXMgY29tbWl0IGltcGxlbWVudHMgYWNjZXB0LWNhcHMgYXMgYSBzaW1wbGlmaWNhdGlvbiBvZiB0aGUgX2dldGNhcHMKCSAgZnVuY3Rpb24sIHNvIGl0IGV4cG9zZXMgdGhlIHNhbWUgbGltaXRhdGlvbnMgdGhhdCBnZXRjYXBzIHdvdWxkLgoJICBGb3IgZXhhbXBsZSwgbm90IGFjY2VwdGluZyByZW5lZ290aWF0aW9uIHRvIGNhcHMgd2l0aCBjYXBzZmVhdHVyZXMgd2hlbgoJICBpdCB3YXMgbGFzdCBjb25maWd1cmVkIHRvIGEgY2FwcyB0aGF0IGl0IGhhcyB0byBkZWludGVybGFjZS4KCjIwMTUtMTAtMTkgMTc6MDY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkZWludGVybGFjZTogZml4IHNtYWxsIHR5cG8gaW4gY29tbWVudAoKMjAxNS0xMC0yNiAwMDo0MToyOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERpc3Qgc3BsaXR2aWRlbzBbMDEyXS5vZ2cgdGVzdCBmaWxlcy4KCjIwMTUtMTAtMjMgMjA6MTY6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogQWRkIHN1cHBvcnQgZm9yIEY2NAoKMjAxNS0xMC0yMiAxNzo0MDozOCAtMDcwMCAgTWlzY2hhIFNwaWVnZWxtb2NrIDxtc3BpZWdlbG1vY2tAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogTWlub3IgZml4ZXMgaW4gdmFyaW91cyBwbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk5NgoKMjAxNS0xMC0yMSAxNzo0MzozMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IHJlbW92ZSBjb21waWxlciB0cmljawoJICBBZnRlciBjb21taXQgMmNiNmNmZWQyMjE2NmIyNjJhZTUwY2I1OGYzZmYxMWRkOGJhOTFmOSB0aGVyZSBpcyBubyBuZWVkIHRvCgkgIHRyaWNrIHRoZSBjb21waWxlciBhbnltb3JlIGFib3V0IHRoZSB1c2FnZSBvZiB2YXJpYWJsZSBjcHVGbGF2b3VyLgoKMjAxNS0xMC0yMSAxNDozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjk5ODAwYSB0byBiMzE5OTA5CgoyMDE1LTEwLTIxIDE3OjQxOjM4ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIGF1ZGlvZng6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHVuc3VlZCB2YXJpYWJsZSBoYXZlX2NvZWZmcyBpbiBhdWRpb2Z4YmFzZWlpcmZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2OTA1CgoyMDE1LTEwLTIwIDE3OjI5OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVc2UgbmV3IEdTVF9FTkFCTEVfRVhUUkFfQ0hFQ0tTICNkZWZpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg3MAoKMjAxNS0xMC0yMSAxNDoyNTo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5YWVkMWQ3IHRvIGI5OTgwMGEKCjIwMTUtMTAtMjEgMTE6NTM6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZWxheCBjcmVhdGlvbiB0aW1lIHBhcnNpbmcKCSAgUGFyc2Ugd3JvbmcgdGltZXN0YW1wcyBsaWtlIHdlIHVzZWQgdG8gd3JpdGUgYXMgd2VsbCwKCSAgZS5nLiAxMDo5OjQyLCBhbmQgdGhlIGhvdXIgbWlnaHQgYmUgd2l0aG91dCBhIGxlYWRpbmcKCSAgemVybyBpbiBhbnkgY2FzZS4KCjIwMTUtMTAtMjEgMTE6NDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggaW5kZW50YXRpb24KCjIwMTUtMTAtMjEgMTE6NDQ6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBleHRyYWN0IGJvdGggY3JlYXRpb24gZGF0ZSBhbmQgdGltZQoJICBCZWZvcmUgd2Ugb25seSBleHRyYWN0ZWQgdGhlIGRhdGUgcGFydC4KCjIwMTUtMTAtMjEgMTE6MTY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZpeCB3cml0aW5nIG9mIGNyZWF0aW9uIHRpbWUKCSAgRG9uJ3Qgd3JpdGUgdGltZSBhcyBlLmcuIDExOjk6NDIKCjIwMTUtMTAtMTMgMTI6NDI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogdXBkYXRlIGZyYWdtZW50IG9mZnNldAoJICBJdCB3YXMgYWx3YXlzIGJlaW5nIHNldCB0byAwLCBtYWtpbmcgdGhlIHJlc3VsdGluZyBzdHJlYW0gYnJva2VuCgkgIGZvciB0aGUgcmVjZWl2ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjQyMgoKMjAxNS0xMC0xOSAxNTozNjozNyArMDMwMCAgUnlhbiBIZW5kcmlja3NvbiA8cnlhbi5oZW5kcmlja3NvbkBhbHVtLm1pdC5lZHU+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1bmNvbmRpdGlvbmFsbHkgdXNlIHN0cm5sZW4oKQoJICBJdCdzIG5vdCBhdmFpbGFibGUgb24gb2xkZXIgT1NYIGFuZCB3ZSBjYW4gYXMgd2VsbCB1c2UgbWVtY2hyKCkgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE1NAoKMjAxNS0xMC0xOSAxNzozODozMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogRml4IGV2ZW50IG1lbW9yeSBsZWFrCgkgIEZyZWUgdGhlIGV2ZW50IGFmdGVyIGJlaW5nIGhhbmRsZWQgdG8gcHJldmVudCBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njc5OQoKMjAxNS0xMC0xOSAwOToxNDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHVuaWZ5IHJhdyBhdWRpbyBjYXBzIGludG8gYSBzaW5nbGUgY2FwcyBzdHJ1Y3R1cmUKCjIwMTUtMTAtMTkgMTU6MTU6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGdsOiBiZSBjb25zaXN0ZW50IGluIGdvYmplY3QgYm9pbGVycGF0ZQoJICBHU1RfR0xfSVNfKiB2cyBHU1RfSVNfR0xfKgoJICBnaXQgZ3JlcCAtbCAnR1NUX0dMX0lTXycgfCB4YXJncyBzZWQgLWkgJ3MvR1NUX0dMX0lTXy9HU1RfSVNfR0xfL2cnCgoyMDE1LTEwLTE5IDE1OjE1OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdsOiBiZSBjb25zaXN0ZW50IGluIGdvYmplY3QgYm9pbGVycGF0ZQoJICBHU1RfR0xfSVNfKiB2cyBHU1RfSVNfR0xfKgoJICBnaXQgZ3JlcCAtbCAnR1NUX0dMX0lTXycgfCB4YXJncyBzZWQgLWkgJ3MvR1NUX0dMX0lTXy9HU1RfSVNfR0xfL2cnCgoyMDE1LTEwLTE3IDE1OjI2OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsc2hhZGVyZWxlbWVudDogaW1wbGVtZW50IG9uLWRlbWFuZCBjcmVhdGUtc2hhZGVyIHNpZ25hbGxpbmcKCSAgT25lIG1heSBub3QgaGF2ZSBhbiBHc3RHTENvbnRleHQgYXZhaWxhYmxlIG9yIGN1cnJlbnQgaW4gdGhlIHRocmVhZCB3aGVyZSBvbmUKCSAgd291bGQgbmVlZCB0byB1cGRhdGUgdGhlIHNoYWRlci4gIFN1cHBvcnQgdGhpcyBieSBzaWduYWxsaW5nIGNyZWF0ZS1zaGFkZXIKCSAgd2hlbmV2ZXIgdGhlIG9uZS1zaG90ICd1cGRhdGUtc2hhZGVyJyBpcyBzZXQgdG8gVFJVRS4KCjIwMTUtMTAtMTcgMDI6NDA6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBzZXBhcmF0ZSBvdXQgdGhlIHdpZGdldC93aW5kb3cgZGVzdHJveSBjYWxsYmFja3MKCSAgRml4ZXMgYXNzZXJ0aW9uIGR1ZSB0byB0aGUgc2lua19maW5hbGl6ZSgpIGJlaW5nIHJ1biBiZWZvcmUgdGhlIHdpZGdldCBkZXN0cm95CgkgIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTY5CgoyMDE1LTEwLTE3IDAxOjA4OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgZ2wvZXhhbXBsZXM6IGFkZCBhIGxpdmUgc2hhZGVyIGRlbW8gdXNpbmcgdGhlIG5ldyBHc3RHTFNMU3RhZ2UKCSAgSW1wbGVtZW50ZWQgd2l0aCB2aWRlb3Rlc3RzcmMgISBnbHNoYWRlciAhIGdsdXBsb2FkICEgZ3RrZ2xzaW5rCgkgIEVycm9ycyBvbiBhbiBpbnZhbGlkIHNoYWRlciBjb21waWxhdGlvbiBhcmUgaWdub3JlZCBob3dldmVyIGFueSBlcnJvcgoJICBwcm92aWRlZCBieSB0aGUgZ2xzbCBjb21waWxlciBpcyBwcmludGVkIHRvIHN0ZG91dC4KCjIwMTUtMTAtMTQgMTU6NDI6NTAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgRkZWMSBjb2RlZCBzdHJlYW1zIGluIG1vdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDk1CgoyMDE1LTA5LTA0IDE2OjAyOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdsc2hhZGVyOiBwb3J0IHRvIHVzaW5nIEdzdEdMU0xTdGFnZSBvYmplY3RzIGZvciBzdHJpbmcgbWFuYWdlbWVudAoJICBBIEdzdEdMU2hhZGVyIGlzIG5vdyBzaW1wbHkgYSBjb2xsZWN0aW9uIG9mIHN0YWdlcyB0aGF0IGFyZQoJICBjb21waWxlZCBhbmQgbGlua2VkIHRvZ2V0aGVyIGludG8gYSBwcm9ncmFtLiAgVGhlIHVuaWZvcm0vYXR0cmlidXRlCgkgIGludGVyZmFjZSBoYXMgcmVtYWluZWQgdGhlIHNhbWUuCgoyMDE1LTEwLTE0IDE1OjUzOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEVPUyBpbW1lZGlhdGVseSBpZiB3ZSBoYXZlIGFuIGVtcHR5IHNlZWsgc2VnbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2CgoyMDE1LTEwLTE0IDEwOjQzOjE5ICswMzAwICBTdGF2cm9zIFZhZ2lvbml0aXMgPHN0YXZyb3N2QGRpZ2lzb2Z0LnR2PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE1ha2Ugbm9uLWluY2x1c2l2ZSBzZWdtZW50IGJvdW5kYXJpZXMgaW5jbHVzaXZlCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGZpbGVzcmMgYW5kIHNvdXBodHRwc3JjIGFyZSBiZWhhdmluZwoJICBkaWZmZXJlbnRseSByZWdhcmRpbmcgdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBzZWdtZW50IGJvdW5kYXJpZXMuIFRoZQoJICBmaWxlc3JjIGlzIHVzaW5nIGEgbm9uLWluY2x1c2l2ZSBib3VuZGFyaWVzLCB3aGlsZSB0aGUgc291cGh0dHBzcmMKCSAgdXNlcyBpbmNsdXNpdmUuIEN1cnJlbnRseSB0aGUgaGxzZGVtdXggY2FsY3VsYXRlcyB0aGUgYm91bmRhcmllcyBhcwoJICBpbmNsdXNpdmUsIHNvIGZvciB0aGlzIHJlYXNvbiB0aGVyZSBpcyBubyBwcm9ibGVtIHdpdGggdGhlIHNvdXBodHRwc3JjLAoJICBidXQgdGhlcmUgaXMgYW4gaXNzdWUgaW4gdGhlIGZpbGVzcmMuCgkgIFRoZSBHc3RTZWdtZW50IGlzIG5vbi1pbmNsdXNpdmUsIHNvIHRoZSBwcm9wb3NlZCBzb2x1dGlvbiBpcyB0byB1c2UKCSAgbm9uLWluY2x1c2l2ZSBib3VuZGFyaWVzIGluIHRoZSBobHNkZW11eCBpbiBvcmRlciB0byBiZSBjb25zaXN0ZW50LgoJICBNYWtlIHRoZSBjaGFuZ2UgaW4gdGhlIGhsc2RlbXV4LCB3aWxsIGJyZWFrIHRoZSBzb3VwaHR0cHNyYywgd2hpY2gKCSAgd2lsbCBleHBlY3QgaW5jbHVzaXZlIGJvdW5kYXJpZXMsIGJ1dCB0aGUgaGxzZGVtdXggd2lsbCBvZmZlcgoJICBub24taW5jbHVzaXZlLiBUaGlzIGNoYW5nZSBtYWtlcyBzdXJlIHRoYXQgdGhlIG5vbi1pbmNsdXNpdmUKCSAgYm91bmRhcmllcyBhcmUgY29udmVydGVkIHRvIGluY2x1c2l2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xMSAyMjowNzo1NCArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkgIHNvdXBodHRwY2xpZW50c2luazogQWRkIHRoZSByZXRyeSBhbmQgcmV0cnktZGVsYXkgcHJvcGVydGllcwoJICBUaGVzZSBhbGxvdyBhIGZhaWxlZCByZXF1ZXN0IHRvIGJlIHJldHJpZWQgYWZ0ZXIgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzCgkgIGluc3RlYWQgb2YgZmFpbGluZyB0aGUgcGlwZWxpbmUuIFRha2UgYWNjb3VudCBvZiB0aGUgUmV0cnktQWZ0ZXIgaGVhZGVyIGlmCgkgIHByZXNlbnQuIEFkZCByZXRyaWVzIHBhcmFtZXRlciB0aGF0IGNvbnRyb2xzIHRoZSBudW1iZXIgb2YgdGltZXMgYW4gSFRUUAoJICByZXF1ZXN0IHdpbGwgYmUgcmV0cmllZCBiZWZvcmUgZmFpbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMxOAoKMjAxNS0xMC0xNCAxMjowMzoxNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNhcHMgbGVhawoJICBJZiB0aGUgUXREZW11eFN0cmVhbSBhcmUgcmUtdXNlZCB0aGV5IG1heSBhbHJlYWR5IGhhdmUgY2FwcyB3aGljaCB1c2VkCgkgIHRvIGJlIGxlYWtlZC4KCSAgUmVwcm9kdWNlZCB1c2luZyB0aGUKCSAgdmFsaWRhdGUuZGFzaC5wbGF5YmFjay5zZWVrX2ZvcndhcmQuZGFzaF9leE1QRF9CSVBfVEMxIHZhbGlkYXRlCgkgIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYxCgoyMDE1LTEwLTE0IDA5OjI5OjUwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB0YWdsaXN0IG1lbW9yeSBsZWFrCgkgIEZyZWUgdGhlIHN0cmVhbSBhbmQgaXRzIHN1YiBpdGVtcyBpbnN0ZWFkIG9mIGp1c3QgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTQ0CgoyMDE1LTEwLTExIDEyOjA2OjI2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFsbG93IG5lZ290aWF0aW5nIHRvIFM4IGFzIGEgcmF3IGZvcm1hdCBidXQgc3RvcCBtYWtpbmcgaXQgYmVzdCBjaG9pY2UKCSAgTmVnb3RpYXRpb24gdG8gYXVkaW8veC1yYXcsZm9ybWF0PVM4IHdhcyBub3QgcG9zc2libGUgYmVjYXVzZSBTOCBkb2VzCgkgIG5vdCBoYXZlIGEgYml0IG9yZGVyIHNvIHdlIGVuZGVkIHVwIGRvaW5nIGBpZiAoIWVudHJ5LmZvdXJjYykgZ290byByZWZ1c2VfY2FwcztgCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzODcKCjIwMTUtMTAtMTEgMDk6MTg6NDAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIHByb3JlcyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzODgKCjIwMTUtMTAtMTIgMTg6NTY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBHU1RfUExVR0lOU19CQVNFX0xJQlMgZm9yIGZsdmRlbXV4IGNoZWNrCgkgIFNvIGl0IHB1bGxzIGluIHRoZSByaWdodCBsaWJnc3R0YWctMS4wLgoKMjAxNS0xMC0xMSAyMjoyNzo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbS9nb29tMmsxOiByZW1vdmUgb2Jzb2xldGUgbGVmdCBvdmVyIGZpbGVzCgkgIFRoZXkgbm93IHVzZSB0aGUgbmV3IEdzdEF1ZGlvVmlzdWFsaXplciBiYXNlIGNsYXNzCgkgIGZyb20gZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscwoJICBBbHNvIGZpeGVkIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gZ3N0X2F1ZGlvX3Zpc3VhbGl6ZXJfZ2V0X3R5cGUKCSAgQWRkZWQgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIHRvIE1ha2VmaWxlLmFtIGFuZCByZS1vcmRlciBMSUJBREQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMTAtMTIgMTA6NDg6MjMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrIGR1cmluZyBmYWlsdXJlcwoJICBtYXBwZWQgYnVmZmVyIGlzIG5vdCBiZWluZyB1bm1hcHBlZCBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzMQoKMjAxNS0xMC0xMiAxMToxODo1MSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IENoZWNrIGlmIHNvdXAgbWVzc2FnZSBpcyBjcmVhdGVkCgkgIElmIHNvdXAgbWVzc2FnZSBpcyBub3QgY3JlYXRlZCB0aGVuIHRoZSBzYW1lIHNob3VsZCBub3QgYmUgcGFzc2VkCgkgIG9uLCB3aGljaCBpcyByZXN1bHRpbmcgaW4gc2VnZmF1bHQuIEhlbmNlIHRocm93aW5nIGEgd2FybmluZyBtZXNzYWdlCgkgIGFuZCByZXR1cm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMiAxMToxNToxNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IENoZWNrIGlmIGxvY2F0aW9uIGJlaW5nIHNldCBpcyB2YWxpZAoJICBBZGRpbmcgYSBjaGVjayBpbiBzZXRfcHJvcGVydHkgdG8gZmluZCBpZiB0aGUgbG9jYXRpb24gdXJpIGlzIHZhbGlkCgkgIGFuZCBwcmludGluZyB3YXJuaW5nIGlmIG5vdCB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMiAxMTowOTozMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZpeCBtZW1vcnkgbGVha3MgZHVyaW5nIGZhaWx1cmVzCgkgIGZyZWVpbmcgc3RyZWFtaGVhZGVyX2J1ZmZlcnMgYW5kIHNlbnRfYnVmZmVycyBkdXJpbmcgZmFpbHVyZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMiAxMTowMzoxNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IFJlcGxhY2UgcmVkdW5kYW50IGZyZWVfYnVmZmVyX2xpc3QgZnVuY3Rpb24KCSAgUmVtb3ZpbmcgZnJlZV9idWZmZXJfbGlzdCBhbmQgcmVwbGFjaW5nIGl0IHdpdGggYWxyZWFkeSBhdmFpbGFibGUgZnVuY3Rpb24KCSAgZ19saXN0X2ZyZWVfZnVsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzI2CgoyMDE1LTEwLTExIDE2OjQwOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEb24ndCBmb3JnZXQgYmFzZSBDRkxBR1MgZm9yIGZsdmRlbXV4IGNoZWNrCgkgIGVsZW1lbnRzL2ZsdmRlbXV4LmM6MjU6MjU6IGZhdGFsIGVycm9yOiBnc3QvdGFnL3RhZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgoyMDE1LTEwLTExIDExOjM3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBDcmVhdGUgYSBUSU1FIHNlZ21lbnQgd2hlbiBjcmVhdGluZyBzdHJlYW1hYmxlIG91dHB1dAoJICBSZWxhdGVkIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MzUgd2hpY2gKCSAgZG9lcyB0aGUgc2FtZSBmb3IgZmx2bXV4LgoKMjAxNS0wOS0yMyAxMzo1MDo1MiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG91dHB1dCBzcGVleCB2b3JiaXNjb21tZW50IGFzIGEgR3N0VGFnTGlzdAoJICBUaGlzIGlzIHdoYXQgc3BlZXhkZWMgZXhwZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3OAoKMjAxNS0wOS0yMiAyMjo1OToxNiArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogR1NUX0JVRkZFUl9PRkZTRVRzIHNob3VsZCBiZSBHU1RfQlVGRkVSX09GRlNFVF9OT05FCgkgIE9yIGVsc2UgZmx2ZGVtdXggZG9uJ3QgdW5kZXJzdGFuZCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1CgoyMDE1LTA5LTAyIDEwOjQ0OjU5ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgdGltZSBzZWdtZW50IGFuZCBjb3B5IHRpbWVzdGFtcHMgd2hlbiBzdHJlYW1hYmxlCgkgIEFkZCBhIGJhc2ljIHRlc3QgdXNpbmcgc3BlZXggZGF0YSB0byB2ZXJpZnkgdGltZXN0YW1waW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1CgoyMDE1LTA5LTIzIDEzOjE0OjAzICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzcGVleCBpcyBhbHNvIGFsd2F5cyAxNktIegoJICBUaGlzIGlzIGp1c3QgYSBjb3NtZXRpYyBjaGFuZ2UgZm9yIHRoZSBsb2dzLCBzaW5jZSB0aGUgcmlnaHQgY2FwcwoJICBmb3IgU3BlZXggaXMgYmVpbmcgc2V0IGVsc2V3aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3OQoKMjAxNS0wNy0xNCAxNToxOTo0NCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogQWRkICdzb3VyY2Utc3RhdHMnIHRvIHN0YXRzIGFuZCBub3RpZnkKCSAgQWRkIHN0YXRpdGljcyBmcm9tIGVhY2ggcnRwIHNvdXJjZSB0byB0aGUgcnRwIHNlc3Npb24gcHJvcGVydHkuCgkgICdzb3VyY2Utc3RhdHMnIGlzIGEgR1ZhbHVlQXJyYXkgd2hlcmUgZWFjaCBlbGVtZW50IGlzIGEgR3N0U3RydWN0dXJlIG9mCgkgIHN0YXRzIGZvciBvbmUgcnRwIHNvdXJjZS4KCSAgVGhlIGF2YWlsYWJpbGl0eSBvZiBuZXcgc3RhdHMgaXMgc2lnbmFsZWQgdmlhIGdfb2JqZWN0X25vdGlmeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY2OQoKMjAxNS0wNi0wNSAxNzoyMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBJbXBsZW1lbnQgc2VuZGluZyBvZiByZWR1Y2VkIHNpemUgUlRDUCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0NTYKCjIwMTUtMTAtMDggMTU6MDE6MTMgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgIGF1ZGlvZng6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAnZGVncmVlJyBpbiBhdWRpb2R5bmFtaWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzNAoKMjAxNS0xMC0wOCAxNDo0NDowNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggbWVtb3J5IGxlYWsgZm9yIGNvcnJ1cHRlZCBmaWxlCgkgIEZyZWUgYnJhbmRzIGJlZm9yZSBvdmVycmlkaW5nIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMjYKCjIwMTUtMTAtMDggMTE6NDQ6MDQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmZGVjOiBGaXggcGl4YnVmX2xvYWRlciBsZWFrIGR1cmluZyBmYWlsdXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjE5CgoyMDE1LTEwLTA3IDIzOjIzOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogQWRkIG1pc3NpbmcgYnJlYWsKCjIwMTUtMTAtMDcgMTM6MDM6MDIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogVGFrZSBpbnRvIGFjY291bnQgcGFja2V0IHJhdGUgZm9yIG1heC1kcm9wb3V0IGFuZCBtYXgtbWlzb3JkZXIgY2FsY3VsYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTUtMTAtMDcgMTM6MDI6MTIgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBtYW5hZ2VyOiBhZGQgIm1heC1kcm9wb3V0LXRpbWUiIGFuZCAibWF4LW1pc29yZGVyLXRpbWUiIHByb3BzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTUtMTAtMDcgMTc6MTQ6NTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGF0ZSBtZW1vcnkgbGVhawoJICBXaGVuIGdldHRpbmcgZGF0ZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgc2hvdWxkIGJlIGZyZWVkIGFmdGVyCgkgIHVzaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MTcxCgoyMDE1LTEwLTA1IDExOjAzOjM4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHNhbXBsZSBtZW1vcnkgbGVhawoJICBXaGVuIGdldHRpbmcgc2FtcGxlIGZyb20gdGFnbGlzdCwgdGhlIG1lbW9yeSBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIKCSAgdXNpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwNjgKCjIwMTUtMTAtMDUgMTM6MTA6NTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IEZpeCBidWZmZXIgbGVhawoJICBCdWZmZXIgaXMgYWRkZWQgdG8gdGhlIGludGVybmFsIGNhY2hlLCBhbmQgcHVzaGVkIG9ubHkgd2hlbiBhY2N1bXVsYXRlZAoJICBidWZmZXIgZHVyYXRpb24gY3Jvc3NlcyAyMDAgbXMuIFNvIHdoZW4gdGhlIGNoYWluIGVuZHMsIHRoZSBidWZmZXIgYWNjdW11bGF0ZWQKCSAgaXMgbm90IGZyZWVkLiBGcmVlaW5nIHRoZSBjYWNoZSB3aGVuIHRoZSBzdGF0ZSBjaGFuZ2VzIGZyb20gUEFVU0VEIHRvIFJFQURZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjEyCgoyMDE1LTA4LTMxIDIxOjEwOjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIGRlZmF1bHQgdXBzdHJlYW0gZXZlbnQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY5NAoKMjAxNS0wOC0zMSAyMTowNTowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBcyAweEZGRkZGRkZGIGlzIGEgdmFsaWQgc3NyYywgY2hlY2sgaWYgaXQgaGFzIGJlZW4gc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMDctMjIgMDk6NDc6MjIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIGdzdHJ0cG11eDogYWxsb3cgdGhlIHNzcmMtcHJvcGVydHkgdG8gZGVjaWRlIHNzcmMgb24gb3V0Z29pbmcgYnVmZmVycwoJICBCeSBub3QgZG9pbmcgdGhpcywgdGhlIG11eGVyIGlzIG5vdCBlZmZlY3RpdmVseSBhIHJ0cG11eGVyLCByYXRoZXIgYQoJICBmdW5uZWwsIHNpbmNlIGl0IHNob3VsZCBiZSBhIHNpbmdsZSBzdHJlYW0gdGhhdCBleGlzdHMgdGhlIG11eGVyLgoJICBJZiBub3Qgc3BlY2lmaWVkLCB0YWtlIHRoZSBmaXJzdCBzc3JjIHNlZW4gb24gYSBzaW5rcGFkLCBhbGxvd2luZyB1cHN0cmVhbQoJICB0byBkZWNpZGUgc3NyYyBpbiAicGFzc3Rocm91Z2giIHdpdGggb25seSBvbmUgc2lua3BhZC4KCSAgQWxzbywgbGV0IGRvd25zdHJlYW0gc3NyYyBvdmVycnVsZSBpbnRlcm5hbCBjb25maWd1cmVkIG9uZQoJICBXZSBoZW5jZSBoYXMgdGhlIGZvbGxvd2luZyBvcmRlciBmb3IgZGV0ZXJtaW5pbmcgdGhlIHNzcmMgdXNlZCBieQoJICBydHBtdXg6CgkgIDAuIFN1Z2dlc3Rpb24gZnJvbSBHc3RSVFBDb2xsaXNpb24gZXZlbnQKCSAgMS4gRG93bnN0cmVhbSBjYXBzCgkgIDIuIHNzcmMtUHJvcGVydHkKCSAgMy4gKEZpcnN0KSB1cHN0cmVhbSBjYXBzIGNvbnRhaW5pbmcgc3NyYwoJICA0LiBSYW5kb21seSBnZW5lcmF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY5NAoKMjAxNS0xMC0wMiAyMjo0MjoyMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4dXAgbGFzdCBjb21taXQKCjIwMTUtMTAtMDIgMjI6MjE6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIFVwZGF0ZSBHTGliIGRlcGVuZGVuY3kgdG8gMi40MC4wCgoyMDE1LTA2LTMwIDE2OjU2OjE5ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBhZGQgdXRpbGl0eSBmb3IgY2FsY3VsYXRpbmcgUlRQIHBhY2tldCByYXRlCgoyMDE1LTA4LTEwIDE4OjE0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGVtcHR5IHNlZ21lbnRzIGluIHNlZWtpbmcgYWRqdXN0CgkgIElmIHNlZWtpbmcgdGFyZ2V0cyBhbiBlbXB0eSBzZWdtZW50IHNraXAgaXQgYXMgdGhlcmUgaXMgbm8gbWVkaWEKCSAgb2Zmc2V0IHRvIGdldCBmcm9tIGl0LiBJbnN0ZWFkIGxvb2sgZm9yIHRoZSBuZXh0IG9uZS4KCSAgVGhpcyBkb2Vzbid0IG1ha2Ugc2Vla2luZyBpbiBwdXNoLW1vZGUgd29yayBpZiB5b3Ugc2VlayB0byBhbgoJICBlbXB0eSBzZWdtZW50IGJ1dCBhdCBsZWFzdCB3b24ndCBnZXQgeW91IHRvIHdyb25nIG9mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0ODQKCjIwMTUtMDQtMTcgMTQ6MjU6NDMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBzcGxpdG11eHNpbms6IHBvc3QgbWVzc2FnZXMgd2hlbiBmcmFnbWVudHMgYXJlIGJlaW5nIG9wZW5lZCBhbmQgY2xvc2VkCgkgIFRoaXMgY2FuIGJlIHVzZWZ1bCBmb3IgYXBwbGljYXRpb25zIHRoYXQgbmVlZCB0byB0cmFjayB0aGUgY3JlYXRlZCBmcmFnbWVudHMKCSAgKHRvIGxvZyB0aGVtIGluIGEgcmVjb3JkaW5nIGRhdGFiYXNlLCBmb3IgZXhhbXBsZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwOAoKMjAxNS0wNC0yOSAxODoyMzoyOCArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBhbGxvdyBub24tdmlkZW8gc3RyZWFtcyB0byBzZXJ2ZSBhcyByZWZlcmVuY2UKCSAgSW4gdGhlIGFic2VuY2Ugb2YgYSB2aWRlbyBzdHJlYW0sIHRoZSBmaXJzdCBzdHJlYW0gd2lsbCBiZSB1c2VkIGFzCgkgIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxNwoKMjAxNS0wNy0yMiAxNzo0NToxMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogaW5pdGlhbGl6ZSBtdXhfc3RhcnRfdGltZSBwcm9wZXJseQoJICBtdXhfc3RhcnRfdGltZSByZWZlcnMgdG8gdGhlIHJ1bm5pbmdfdGltZSBvZiB0aGUgYnVmZmVyCgkgIHRoYXQgZ29lcyBmaXJzdCBpbiB0aGUgb3V0cHV0IGZpbGUuIE5vcm1hbGx5IHRoaXMgdGltZSBpcwoJICAwLCBzbyB0aGlzIHZhcmlhYmxlIGlzIGluaXRpYWxpemVkIHRvIDAgZHVyaW5nIHRoZSBzdGF0ZQoJICBjaGFuZ2UgdG8gUEFVU0VELgoJICBIb3dldmVyLCB3aGVuIGRlYWxpbmcgd2l0aCBkeW5hbWljIHBpcGVsaW5lcyBhbmQgc3RhcnRpbmcKCSAgYSByZWNvcmRpbmcgd2hpbGUgdGhlIHBpcGVsaW5lIGhhcyBhbHJlYWR5IHJ1biBmb3IgYSB3aGlsZSwKCSAgdGhlIHJ1bm5pbmdfdGltZSBvZiB0aGUgZmlyc3QgYnVmZmVyIGlzID4gMCBhbmQgdGhpcyBjYXVzZXMKCSAgYSBwcm9ibGVtIHdpdGggZGV0ZWN0aW5nIHRoZSBlbmQgb2YgdGhlIGZpcnN0IGZpbGUocykgd2hlbgoJICBzcGxpdHRpbmcgYnkgZHVyYXRpb24sIGJlY2F1c2UgdGhlIGNvZGUgd2lsbCBsYXRlciBjb21wYXJlCgkgIHRoZSB0aHJlc2hvbGRfdGltZSB3aXRoIChsYXN0IGJ1ZmZlciBydW5uaW5nX3RpbWUgLSBtdXhfc3RhcnRfdGltZSkKCSAgYW5kIHdpbGwgZ2V0IGl0IHdyb25nIHVudGlsIG11eF9zdGFydF90aW1lIGFkdmFuY2VzIGVub3VnaAoJICB0byBtYWtlIHRoaXMgZGlmZmVyZW5jZSA8IHRocmVzaG9sZF90aW1lLCBjcmVhdGluZyBlbXB0eSBmaWxlcwoJICBpbiB0aGUgbWVhbnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjQKCjIwMTUtMDktMTYgMTY6MDM6MDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmV2ZXJzZSBwbGF5YmFjayBkb2VzIG5vdCBjb25zaWRlciBzZWdtZW50LnN0YXJ0CgkgIER1cmluZyByZXZlcnNlIHBsYXliYWNrLCB0aGUgbWVkaWEgc2hvdWxkIHN0b3AgcGxheWluZyBhdCBzZWdtZW50LnN0YXJ0CgkgIFRoaXMgZG9lcyBub3QgaGFwcGVuLCBhbmQgYXZpZGVtdXggY29udGludWVzIHRvIHByb2Nlc3MgZGF0YSBldmVuIHdoZW4KCSAgY3VycmVudCB0aW1lc3RhbXAgaXMgbGVzcyB0aGF0IHNlZ21lbnQuc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwOTQKCjIwMTUtMDktMjMgMTI6Mzk6MzUgKzA5MDAgIE1hbmFzYSBBdGhyZXlhIDxtYW5hc2EuYXRocmV5YUBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIG11bHRpIHRyZXggdG8gZmluZCB0cmFjayBpZCBpbiBtcDQgbXBlZy1kYXNoIHN0cmVhbQoJICBJZiBzdHJlYW0gaGFzIG1vcmUgdGhhbiBvbmUgdHJleCBib3ggd2hpY2ggaXMgbm90IG1hdGNoZWQgdG8gYWN0dWFsCgkgIHRyYWNrIGlkLCBpdCBtYWtlcyBxdGRlbXV4IGNyYXNoZWQuCgkgIEF1dGhvciA6IE1hbmFzYSBBdGhyZXlhIChtYW5hc2EuYXRocmV5YUBsZ2UuY29tKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODY0CgoyMDE1LTA5LTA0IDE0OjI0OjQ1ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZ2V0IHNpemUsIHN0cmlkZSBpbmZvIHVzaW5nIFZpZGVvSW5mbwoJICBVc2UgVmlkZW9JbmZvIGRhdGEgdG8gZ2V0IHNpemUgc3RyaWRlIGFuZAoJICBvZmZzZXQsIGluc3RlYWQgb2YgaGFyZCBjb2RlZCBtYWNyb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NTgKCjIwMTUtMDktMDQgMTQ6MTg6NTAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmcmVlIG1hc2sKCSAgRnJlZSB0aGUgbWVtb3J5IGFsbG9jYXRlZCB0byAnbWFzaycgdG8gYXZvaWQKCSAgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NTUKCjIwMTUtMDgtMjAgMTE6MDI6NTggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBnc3RyZWFtZXI6IGdvb2Q6IHRlc3RzOiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gY29udGV4dCBwYXJzZSBmYWlscy4KCSAgV2hlbiBnX29wdGlvbl9jb250ZXh0X3BhcnNlIGZhaWxzLCBjb250ZXh0IGFuZCBlcnJvciB2YXJpYWJsZXMgYXJlIG5vdCBnZXR0aW5nIGZyZWUnZAoJICB3aGljaCByZXN1bHRzIGluIG1lbW9yeSBsZWFrcy4gRnJlZSdpbmcgdGhlIHNhbWUuCgkgIEFuZCByZXBsYWNpbmcgZ19lcnJvcl9mcmVlIHdpdGggZ19jbGVhcl9lcnJvciwgd2hpY2ggY2hlY2tzIGlmIHRoZSBlcnJvciBiZWluZyBwYXNzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg1MwoKMjAxNS0xMC0wMiAxNjoxODoxNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBkb2Vzbid0IGhhbmRsZSBwcm9iYXRpb24gYW5kIHJ0cCBnYXAgaW4gY2FzZSBvZiBzZW5kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDU0OAoKMjAxNS0xMC0wMiAxNjoxNjozMiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBtYW5hZ2VyOiBhZGQgbmV3IG9uLW5ldy1zZW5kZXItc3NyYywgb24tc2VuZGVyLXNzcmMtYWN0aXZlIHNpZ25hbHMKCSAgQWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZ2V0IGludGVybmFsIHNvdXJjZSdzIFJUUCBzdGF0aXN0aWNzLgoJICAoZWcuIHNlbmRlciBzb3VyY2VzIGZvciBhIHNlcnZlci9jbGllbnQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NDcKCjIwMTUtMDktMTUgMDM6MTQ6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcXQ6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBvbiBvc3gvaW9zCgkgIEluY2x1ZGluZzoKCSAgLSBOZWNlc3NhcnkgY29uZmlndXJlIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBjb21waWxlIHRpbWUgcGxhdGZvcm0gY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IHJ1bnRpbWUgcXQgaU9TL09TWCBwbGF0Zm9ybSBkZXRlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwMAoKMjAxNS0xMC0wMiAxNDoxNzo0OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEdhdGhlciBhbmQgY29hbGVzY2UgYWxsIGRhbWFnZWQgYXJlYXMgYmVmb3JlIHJldHJpZXZpbmcuCgkgIFRoZXNlIGRheXMgdGhlIHhzZXJ2ZXIgc2VlbXMgdG8gZ2l2ZSB1cyB0aGUgc2FtZSBkYW1hZ2UgcmVnaW9ucwoJICBvdmVyIGFuZCBvdmVyIGZvciBlbnRpcmUgd2luZG93cywgYW5kIHdlIHJldHJpZXZlIHRoZW0gbXVsdGlwbGUKCSAgdGltZXMsIHdoaWNoIGdpdmVzIHRpbWUgZm9yIG1vcmUgZGFtYWdlIHRvIGFwcGVhci4gSW5zdGVhZCwganVzdAoJICBxdWlja2x5IGdhdGhlciBhbGwgZGFtYWdlZCBhcmVhcyBpbnRvIGEgcmVnaW9uIGxpc3QgYW5kIGNvcHkKCSAgb3V0IG9uY2UuCgoyMDE1LTEwLTAxIDE2OjI0OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogdXNlIHRoZSBuZXcgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3MKCSAgUmViYXNlIHRvIGhhdmUgZ29vbSB1c2luZyB0aGUgR3N0QXVkaW9WaXN1YWxpemVyIGJhc2UgY2xhc3MgaW4KCSAgZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTEwLTAxIDE2OjE2OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogdXNlIHRoZSBuZXcgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3MKCSAgUmViYXNlIHRvIGhhdmUgZ29vbSB1c2luZyB0aGUgR3N0QXVkaW9WaXN1YWxpemVyIGJhc2UgY2xhc3MgaW4KCSAgZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvcGJ1dGlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA5LTMwIDE3OjM1OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogaW1wbGVtZW50IGFjY2VwdC1jYXBzCgkgIEF2b2lkIHVzaW5nIGRlZmF1bHQgYWNjZXB0LWNhcHMgaGFuZGxlciB0aGF0IHdpbGwgcXVlcnkgZG93bnN0cmVhbQoJICBhbmQgaXMgbW9yZSBleHBlbnNpdmUuIEp1c3QgY2hlY2sgaWYgdGhlIGNhcHMgaXMgY29tcGF0aWJsZSB3aXRoCgkgIHRoZSB0ZW1wbGF0ZSBhbmQgY2hlY2sgaWYgdGhlIGNoYW5uZWxzIGFyZSB0aGUgc2FtZS4KCjIwMTUtMDktMzAgMDk6MzU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZGVpbnRlcmxlYXZlOiBhbHNvIGNoZWNrIGZvciBjYXBzIHF1ZXJ5IHJlc3VsdHMKCjIwMTUtMDktMzAgMTI6MzA6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHVzZSB0aGUgY2FwcyBxdWVyeSBmaWx0ZXIKCSAgSXQgd2FzIGJlaW5nIGlnbm9yZWQgYW5kIHdvdWxkIGxlYWQgdG8gd3JvbmcgcmVzdWx0cyBpZiB0aGUKCSAgZWxlbWVudCBkb2luZyB0aGUgcXVlcnkgd291bGQgcmVseSBvbiB0aGUgaW50ZXJzZWN0aW9uIGJlaW5nIG1hZGUuCgoyMDE1LTA5LTMwIDEwOjAwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBpbXBsZW1lbnQgYSBjYXBzIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBzaW5rcGFkCgkgIEl0IHdhcyBtaXNzaW5nIGFuZCBhcHBhcmVudGx5IGNvZGUgcmVsaWVkIG9uIGhhdmluZyBpdCB0aGVyZQoJICBmb3Igbm90IGFsbG93aW5nIGEgY2hhbmdlIGluIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCjIwMTUtMDktMzAgMDk6MDU6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGZpeCBjYXBzIGxlYWsKCSAgQ2FwcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUgYXJlIGJlaW5nIGxlYWtlZC4gSW4gYW55IGNhc2UgaXQgaXMKCSAgZnJvbSBhIHN0YXRpYyBwYWQgdGVtcGxhdGUgYW5kIHdpbGwgJ2xlYWsnIGluIHRoZSBlbmQsIGp1c3QgZG9pbmcKCSAgdGhlIGNsZWFudXAgZm9yIHRoZSBnb29kIHByYWN0aWNlLgoKMjAxNS0wOS0yOSAyMjo1Nzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IGFkZCBzb21lIEdMIGRlYnVnIHN0YXRlbWVudHMgdG8gc2hvdyB1cCBpbiBHTCB0cmFjZXMKCjIwMTUtMDgtMjggMTY6MjQ6MjQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJICBxdHNpbms6IGV4cGxpY2l0ZWx5IGZhbGx0aHJvdWdoIHN3aXRjaCBzdGF0ZW1lbnQKCSAgSW4gY2FzZSByZXQgaXMgRmFsc2UsIGZhbGx0aHJvdWdoIHRvIGRlZmF1bHQgY2FzZS4KCSAgQ0lEICMxMzIwNzA1CgoyMDE1LTA5LTI5IDExOjE1OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBtaW5pbWFsIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzczCgoyMDE1LTA5LTI5IDExOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZzaW5rOiBkb24ndCBsZWFrIG9sZCBwaXhlbCBidWZmZXIgd2hlbiBzZXR0aW5nIGEgbmV3IG92ZXJsYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc3MwoKMjAxNS0wOS0yOCAyMDoyNToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYXZvaWQgcG90ZW50aWFsIHN0cmluZyBvdmVyZmxvdwoJICBXZSBkb24ndCBuZWNlc3NhcmlseSBoYXZlIGZ1bGwgY29udHJvbCBvdmVyIHRoZSBpbnB1dCB0YWdzLCBzbwoJICBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIElTUkMgdGFnIGNvbnRhaW5zIGEgbG9uZ2VyIHN0cmluZyB0aGFuCgkgIGV4cGVjdGVkLCBpbiB3aGljaCBjYXNlIHdlJ2Qgd3JpdGUgb3ZlciB0aGUgZW5kIG9mIHRoZSBzdGF0aWMtc2l6ZQoJICAxMyBieXRlIGJ1ZmZlciB0aGF0IGlzIEZMQUNfX1N0cmVhbU1ldGFkYXRhX0N1ZVNoZWV0X1RyYWNrOjppc3JjLgoJICBNYWtlIHN1cmUgdG8gb25seSBjb3B5IHRoZSBJU1JDIGlmIGl0J3Mgbm90IHRvbyBsb25nLCBhbmQgbWFrZQoJICBzdXJlIHRoZSBidWZmZXIgd2Ugd3JpdGUgdG8gaXMgYWx3YXlzIE5VTC10ZXJtaW5hdGVkIGJ5IHVzaW5nCgkgIGdfc3RybGNweSgpLgoJICBDSUQgMTMyNDkzMS4KCjIwMTUtMDktMjggMTg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGxlZnRvdmVyIGFzc2VydGlvbiBmcm9tIDAuMTAKCSAgV2Ugbm93IGFsbG9jYXRlIG1lbW9yeSB2aWEgR3N0QWxsb2NhdG9yIGFuZCBhcyBzdWNoIGNhbiBoYW5kbGUgYXJiaXRyYXJ5CgkgIGFsaWdubWVudHMsIG5vdCBvbmx5IDw9IEdfTUVNX0FMSUdOLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzA4CgoyMDE1LTA5LTI5IDAwOjI1OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogZml4IGFzc2VydGlvbiB3aGVuIHRoZSBlbGVtZW50IGhhcyBubyBwZWVyCgkgIFdoZW4gcHJveHlpbmcga2V5Ym9hcmQvbmF2aWdhdGlvbi9tb3VzZSBldmVudHMsIG9ubHkgdW5yZWYgYSBzdWNjZXNzZnVsbHkKCSAgcmV0cmVpdmVkIHBlZXIgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzM4CgoyMDE1LTA4LTI4IDE2OjM1OjM5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiByZW1vdmUgb3ZlcndyaXR0ZW4gdmFsdWUKCSAgVmFsdWUgaW4gdGV4IGlzIG92ZXJ3cml0dGVuIGJlZm9yZSBiZWluZyB1c2VkLiBSZW1vdmluZyBpdC4KCSAgQ0lEIDEzMjA3MTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI1MwoKMjAxNS0wOS0wMiAyMzo0NTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHF0OiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcvcnVubmluZyBvbiBhbmRyb2lkCgkgIEluY2x1ZGluZzoKCSAgLSBOZWNlc3NhcnkgY29uZmlndXJlIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBjb21waWxlIHRpbWUgcGxhdGZvcm0gY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IHJ1bnRpbWUgcXQgYW5kcm9pZCBwbGF0Zm9ybSBkZXRlY3Rpb24KCSAgLSBFc2NhcGluZyBHTHN5bmMgZGVmaW5pdGlvbiB3aXRoIFF0J3MgR0xFUzIgaW1wbGVtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOS0wMiAyMzo0MDozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogZG9uJ3QgdXNlIENQUEZMQUdTIGZvciB0b29scyB0aGF0IGNhbm5vdCB1c2UgdGhlbQoJICBGb3IgZXhhbXBsZSBtb2Mgd2lsbCBiYWlsIG91dCB3aGVuIGdpdmVuIGFyZ3VtZW50cyBpdCBkb2VzIG5vdAoJICBrbm93IGFib3V0LiAgVGhlIG1vYyBzcGVjaWZpYyBNT0NfQ1BQRkxBR1MgY2FuIHN0aWxsIGJlIHVzZWQKCSAgdG8gcGFzcyBmbGFncyB0byBtb2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMDIgMjM6Mzk6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IHJlbmFtZSBsaWJyYXJ5IHRvIGluY2x1ZGUgZ3N0IHByZWZpeAoJICBsaWJxdHNpbmsgLT4gbGliZ3N0cXRzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMjUgMTA6MDE6MzcgKzAyMDAgIEd1aWxsYXVtZSBNYXJxdWViaWVsbGUgPGd1aWxsYXVtZS5tYXJxdWViaWVsbGVAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyBpbiBMT0FTIGNvbmZpZyByZWFkaW5nCgkgIE9uIHJlYWRpbmcgTE9BUyBjb25maWcsIGZsYWcgdj0xIGFuZCB2QT0xIGNvbWJpbmF0aW9uIGNhbiBvY2N1ciwgbGVhZGluZyB0byB3YXJuaW5nCgkgICJTcGVjIHNheXMgIlRCRCIuLi4iLiBSZXR1cm5pbmcgVFJVRSBvbiB0aGlzIGNhc2Ugd2hpbGUgcGFyYW1ldGVycyAnc2FtcGxlX3JhdGUnIGFuZAoJICAnY2hhbm5lbHMnIGFyZSBwb2ludGluZyB0byB1bmluaXRpYWxpemVkIHZhbHVlcyBjYW4gZW5kIG9uIHNldHRpbmcgcmFuZG9tIHZhbHVlcyBhcwoJICByYXRlIGFuZCBjaGFubmVscyBvbiBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxMQoKMjAxNS0wOS0xOCAwMDo1ODoyMyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoJICBUb3VjaGVzIHJ0cG1hbmFnZXIgYW5kIGdka3BpeGJ1ZnNpbmsKCjIwMTUtMDgtMTggMTQ6MzA6NTcgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogc3VwcG9ydCB0aW1lZC10ZXh0IHN1YnRpdGxlIHRyYWNrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjgxOAoKMjAxNS0wOS0yNiAwMDoxMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ3N0X3NlZ21lbnRfdG9fcG9zaXRpb24oKQoKMjAxNS0wOS0yMSAxMzo0NzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHBiaW4vcnRwaml0dGVyYnVmZmVyL3J0c3BzcmM6IEFkZCBwcm9wZXJ0eSB0byBzZXQgbWF4aW11bSBtcyBiZXR3ZWVuIFJUQ1AgU1IgUlRQIHRpbWUgYW5kIGxhc3Qgb2JzZXJ2ZWQgUlRQIHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEyNQoKMjAxNS0wOS0xNiAxOToyODoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW4vc2Vzc2lvbjogQWxsb3cgUlRDUCBzeW5jIHRvIGhhcHBlbiBiYXNlZCBvbiBjYXB0dXJlIHRpbWUgb3Igc2VuZCB0aW1lCgkgIFNlbmQgdGltZSBpcyB0aGUgcHJldmlvdXMgYmVoYXZpb3VyIGFuZCB0aGUgZGVmYXVsdCwgYnV0IHRoZXJlIGFyZSB1c2UgY2FzZXMKCSAgd2hlcmUgeW91IHdhbnQgdG8gc3luY2hyb25pemUgYmFzZWQgb24gdGhlIGNhcHR1cmUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEyNQoKMjAxNS0wOS0yNSAyMzo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS42LjAgPT09CgoyMDE1LTA5LTI1IDIzOjE1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS42LjAKCjIwMTUtMDktMjUgMjI6NTc6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMjUgMTQ6MDg6MDkgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IERvIG5vdCBzZXQgd2lkdGgvaGVpZ2h0IGJlZm9yZSBjb21wYXJpbmcgd2l0aCBvbGQgdmFsdWVzCgkgIE90aGVyd2lzZSB3ZSBlbmQgdXAgY29uc2lkZXJpbmcgdGhlIHZhbHVlcyBkaWQgbm90IGNoYW5nZSBhbmQgd2Ugd3JvbmdseQoJICB3b3JrIHdpdGggdGhlIG9sZCB2aWRlbyBmb3JtYXQgKHdoaWNoIHdpbGwgbGVhZCB0byB3cm9uZwoJICBiZWhhdmlvdXIvc2VnZmF1bHRzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYyMQoKMjAxNS0wOS0yNCAxODo1MTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBPbmx5IHJ1biBmcm9tIHRoZSBtYWluIHRocmVhZCBpbiBzdG9wKCkgaWYgd2UgY3JlYXRlZCB0aGUgd2luZG93CgkgIFdlJ3JlIG5vdCBkb2luZyBhbnl0aGluZyBhdCBhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgaW4gb3RoZXIgY2FzZXMuCgoyMDE1LTA5LTI0IDE1OjUyOjQwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBXaGVuIHNldHRpbmcgZm9ybWF0IGNoZWNrIGlmIHBlbmRpbmcgZm9ybWF0IGNoYW5nZWQKCSAgSW4gY2FzZSB0aGUgZm9ybWF0IGNoYW5nZWQgZmFzdCBhbmQgdGhlIHBlbmRpbmcgZm9ybWF0IGlzIGRpZmZlcmVudAoJICB0aGFuIHRoZSBjdXJyZW50bHkgc2V0IGJ1dCB0aGUgY3VycmVudGx5IHNldCBpcyBlcXVhbCB0byB0aGUgcGVuZGluZwoJICBvbmUgd2UgY291bGQgZW5kIHVwIGhhdmluZyBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBmaW5hbGx5IHNldCBmb3JtYXQKCSAgYW5kIHRoZSBkYXRhIHN0cmVhbSBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1NDIKCjIwMTUtMDktMjQgMTU6NTE6MjggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBEbyBub3QgZm9yZ2V0IHRvIHJlbGVhc2UgT0JKRUNUX0xPQ0sgb24gZXJyb3IgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTQyCgoyMDE1LTA5LTI0IDExOjM3OjA0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrdXRpbHMuYzoKCSogZXh0L2d0ay9nc3RndGt1dGlscy5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRmFjdG9yIG91dCBhIGZ1bmN0aW9uIHRvIHJ1biBhIGZ1bmN0aW9uIG9uIG1haW4gdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNTEKCjIwMTUtMDktMjQgMTA6NTE6MzEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBNYXJzaGFsbCBzdGF0ZSBjaGFuZ2VzIGluIHRoZSBtYWluIHRocmVhZAoJICBHdGsgaXMgbm90IE1UIHNhZmUgdGh1cyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgaXMgZG9uZQoJICBpbiB0aGUgbWFpbiB0aHJlYWQgd2hlbiB3b3JraW5nIHdpdGggaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNTEKCjIwMTUtMDktMjMgMjA6NTk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWNjdW11bGF0ZSBzZWdtZW50cyBmb3IgZWRpdCBsaXN0cyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV4dCBzZWdtZW50CgkgIGVjZWIyY2NjNzM5MDkyZDk2NGQ3ODk0NWUxOWMyZWNlZGJkMjE0ZTIgYnJva2Ugc2VnbWVudCBzZWVrcyBieSBhbHdheXMKCSAgYWNjdW11bGF0aW5nIHNlZ21lbnRzIG1hbnVhbGx5IHdoZW4gYWN0aXZhdGluZyBhIHNlZ21lbnQuIFRoaXMgaXMgb25seQoJICBuZWVkZWQgd2hlbiBoYW5kbGluZyBlZGl0IGxpc3RzLCBub3Qgd2hlbiBhY3RpdmF0aW5nIGEgc2VnbWVudCBiZWNhdXNlIG9mIGEKCSAgc2Vlay4gRG8gdGhlIGFjY3VtdWxhdGlvbiB3aGVuIHN3aXRjaGluZyBlZGl0IGxpc3Qgc2VnbWVudHMgaW5zdGVhZC4KCSAgVGhpcyBmaXhlcyBzZWdtZW50IHNlZWtzIGFnYWluLCB3aGlsZSBrZWVwaW5nIGVkaXQgbGlzdHMgcGxheWJhY2sgd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3MQoKMjAxNS0wOS0yMyAxNzo0Mzo1MSArMDUzMCAgVmlrcmFtIEZ1Z3JvIDx2aWtyYW0uZnVncm9AZ21haWwuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzZW5kIHBoYXNlIHZhbHVlcyBpbiB0aGUgR3N0TWVzc2FnZSBmb3IgUGhhc2UgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDYzCgoyMDE1LTA5LTIzIDExOjQyOjUxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6IERvIG5vdCBzaG93IHdpbmRvdyB1bnRpbCB3ZSByZWFjaCB0aGUgUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NTkKCjIwMTUtMDktMjIgMDA6NDY6MDEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IERvbid0IG91dHB1dCBhIHdhcm5pbmcgb24gTU9OTyBtdWx0aXZpZXcgbW9kZS4KCjIwMTUtMDktMjEgMTA6NDc6MTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3Rrc2luazogRG8gbm90IHJlIGRlc3Ryb3kgdGhlIEd0a1dpbmRvdyBpZiBkZXN0cm95ZWQgYnkgdGhlIHVzZXIKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZ2V0IGFuIEFTU0VSVC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI0OQoKMjAxNS0wOS0xOSAxNzowMjoxOCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogRml4IG1lbW9yeSBsZWFrcwoJICBUaGUgc2FtZSBtZW1vcnkgbGVha3Mgd2VyZSBmaXhlZCBpbiBpZGVudGljYWwgZmFzaGlvbiBmb3IKCSAgdm9yYmlzZGVwYXkgaW4gMDZlZmVmZjVkOTc5NTc2YTI1MmU1ZGFlNTdmNDZkNjQ0NWIxZGYxMiBpbiAyMDA5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1Mjc3CgoyMDE1LTA5LTE5IDE3OjA0OjA3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHt2b3JiaXMsdGhlb3JhfXtwYXksZGVwYXl9OiBDb3NtZXRpYyBjbGVhbnVwCgkgICogdXNlIGdfbGlzdF9mcmVlX2Z1bGwoKSwgZG9uJ3QgaXRlcmF0ZSBlbGVtZW50cyBtYXVhbGx5IHdoZW4gZnJlZWluZwoJICAqIGNhbGwgZ3N0X3J0cF8qX3BheV9jbGVhcl9wYWNrZXQoKSwgZG9uJ3QgZHVwbGljYXRlIGl0cyBjb2RlCgkgICogdXNlIGdzdF9idWZmZXJfdW5yZWYoKSB0byBjbGFyaWZ5IHRoYXQgaXQgaXMgYnVmZmVycyBiZWluZyByZWxlYXNlZCwKCSAgaW5zdGVhZCBvZiByZWZlcmluZyBkaXJlY3RseSB0byBnc3RfbWluaV9vYmplY3RfdW5yZWYoKQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1Mjc3CgoyMDE1LTA5LTE5IDE4OjQ0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwe3ZvcmJpcyx0aGVvcmF9cGF5OiBTdG9yZSBoZWFkZXJzIGluIHRoZSBwYWNrZXQgYnVmZmVycyBsaXN0cywgbm90IGEgTlVMTCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI2NQoKMjAxNS0wOS0xOSAxMTo0NjozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0a2dsc2luazogSGlkZSBhbmQgY2xlYW4gdGhlIEd0a1dpbmRvdyB3ZSBtaWdodCBjcmVhdGUKCSAgV2hlbiBzdG9wcGluZyB0aGUgc2luayB3ZSBzaG91bGQgYWx3YXlzIGhpZGUgdGhlIHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI0OQoKPT09IHJlbGVhc2UgMS41LjkxID09PQoKMjAxNS0wOS0xOCAxOTozMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkxCgoyMDE1LTA5LTE4IDE5OjIzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTE4IDExOjUwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA5LTE3IDEwOjUwOjAxICswOTAwICBFdW5oYWUgQ2hvaSA8ZXVuaGFlMS5jaG9pQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHRhZ2xpc3QgbGVhawoJICBnc3RfdGFnX2xpc3RfaW5zZXJ0KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGluc2VydGVkIHRhZ2xpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMzgKCjIwMTUtMDktMTcgMTM6MzU6MDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnbDogRml4IEdFcnJvciBsZWFrcyBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE0MAoKMjAxNS0wOS0xNiAwNzowNTozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBTa2lwIExPQVMgQUFDIHVudGlsIGEgdmFsaWQgY29uZmlnIGlzIHNlZW4uCgkgIEl0J3Mgbm9ybWFsIHdoZW4gZHJvcHBpbmcgaW50byB0aGUgbWlkZGxlIG9mIGEgc3RyZWFtIHRvCgkgIG5vdCBhbHdheXMgaGF2ZSB0aGUgY29uZmlnIGF2YWlsYWJsZSBpbW1lZGlhdGVseSwgc28gc2tpcCBMT0FTCgkgIHVudGlsIGEgdmFsaWQgY29uZmlnIGlzIHNlZW4gd2l0aG91dCBlaXRoZXIgc2V0dGluZyBpbnZhbGlkCgkgIGNhcHMgb3IgZXJyb3Jpbmcgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzg2CgoyMDE1LTA5LTEzIDE1OjQxOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXNldCBqdXN0IGEgYml0IG1vcmUgdXBvbiBmbHVzaF9zdG9wCgoyMDE1LTA5LTEzIDE1OjQwOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW1vdmUgZGVhZCBzdHJ1Y3QgbWVtYmVyCgoyMDE1LTA5LTExIDE3OjA5OjI4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggR0Vycm9yIG1lbW9yeSBsZWFrIHdoZW4gaG9zdG5hbWUgcmVzb2x1dGlvbiBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODY5CgoyMDE1LTA5LTEwIDE1OjI2OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZHJvcCBIRUFERVIgZmxhZyBmcm9tIG91dHB1dCBidWZmZXJzCgkgIERyb3AgSEVBREVSIGZsYWcgZnJvbSBvdXRwdXQgYnVmZmVycyBpZiB0aGV5IGFyZSBub3QgaW5kZWVkCgkgIGhlYWRlcnMuCgkgIEZpeGVzIHJlc2VuZGluZyBvZiBoZWFkZXJzIGluIHRjcCBjb25uZWN0aW9uIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NjgKCjIwMTUtMDktMTAgMTY6MDA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZml4IG1hdHJvc2thbXV4ICEgbWF0cm9za2FkZW11eAoJICBEb24ndCBjYXJyeSBvdmVyIERJU0NPTlQgZmxhZ3MgZnJvbSB0aGUgaW5wdXQgYnVmZmVycyB0byB0aGUKCSAgb3V0cHV0IGJ1ZmZlciwgb3IgdGhlIGRlbXV4ZXIgbWlnaHQgcmVzZXQgaXRzIHN0YXRlIHdoZW4gaXQKCSAgcmVjZWl2ZXMgdGhlIGZpcnN0IGRhdGEgYnVmZmVyIGp1c3QgYWZ0ZXIgcGFyc2luZyB0aGUgc2ltcGxlCgkgIGJsb2NrIGhlYWRlciwgYW5kIHRoZW4gZXhwZWN0IHNhbmUgZGF0YSB0byBmb2xsb3cuCgkgIEZpeGVzIG1hdHJvc2thbXV4ICEgZGVtdXggZXJyb3Jpbmcgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzY4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc4MDUKCjIwMTUtMDktMDkgMTI6NTE6NDAgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogZ3N0L3J0c3AvUkVBRE1FOgoJICBydHNwOiBmaXggc21hbGwgUkVBRE1FIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgwNwoKMjAxNS0wOS0xMCAwMDowNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgZ3RrLCBxdDogbW9yZSBzcGVjaWZpY2FsbHkgZGVmaW5lIHRoZSBjb21waWxlIHRpbWUgcmVxdWlyZW1lbnRzCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBpbmNsdWRlIGhlYWRlcnMvY29uZmlndXJhdGlvbnMgdGhhdCB3aWxsCgkgIG5ldmVyIGJlZW4gaW5zdGFsbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzMyCgoyMDE1LTA5LTEwIDAwOjA3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0aywgcXQ6IG1vcmUgc3BlY2lmaWNhbGx5IGRlZmluZSB0aGUgY29tcGlsZSB0aW1lIHJlcXVpcmVtZW50cwoJICBPdGhlcndpc2Ugd2UgY291bGQgaW5jbHVkZSBoZWFkZXJzL2NvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbAoJICBuZXZlciBiZWVuIGluc3RhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDczMgoKMjAxNS0wOS0xMCAwMDowMDoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHF0OiB1c2Ugb3VyIGZ1bmN0aW9uIHRhYmxlIGluc3RlYWQgb2YgZGlyZWN0bHkgY2FsbGluZyBnbCBmdW5jdGlvbnMKCSAgT3RoZXJ3aXNlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWFzLW5lZWRlZCB3ZSB3b3VsZCBuZWVkIHRvIGxpbmsgdG8KCSAgYSBHTCBvciBHTEVTIGxpYnJhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3MzIKCjIwMTUtMDktMDQgMTk6NDU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IHNldCBib3RoIHB0cyBhbmQgZHRzIHNvIGJhc2VwYXJzZSBkb2Vzbid0IG1ha2UgdXAgd3JvbmcgZHRzIGFmdGVyIHNlZWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMDYKCjIwMTUtMDktMDQgMTk6MzQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBib3RoIHB0cyBhbmQgZHRzIHNvIGJhc2VwYXJzZSBkb2Vzbid0IG1ha2UgdXAgd3JvbmcgZHRzIGFmdGVyIGEgc2VlawoJICBmbGFjIGNvbnRhaW5zIHRoZSBzYW1wbGUgb2Zmc2V0IGluIHRoZSBmcmFtZSBoZWFkZXIsIHNvIGFmdGVyIGEgc2VlawoJICB3aXRob3V0IGluZGV4IGZsYWNwYXJzZSB3aWxsIGtub3cgdGhlIGV4YWN0IHBvc2l0aW9uIHdlIGxhbmRlZCBvbiBhbmQKCSAgdGltZXN0YW1wIGJ1ZmZlcnMgYWNjb3JkaW5nbHkuIEl0IG9ubHkgc2V0IHRoZSBwdHMgdGhvdWdoLCB3aGljaCBtZWFucwoJICB0aGUgYmFzZXBhcnNlLXNldCBkdHMgd2hpY2ggd2FzIHNldCB0byB0aGUgc2VlayBwb3NpdGlvbiBwcmV2YWlscywgYW5kCgkgIHNpbmNlIHRoZSBzZWVrIHdhcyBiYXNlZCBvbiBhbiBlc3RpbWF0ZSwgdGhlcmUncyBsaWtlbHkgYSBkaXNjcmVwYW5jeQoJICBiZXR3ZWVuIHdoZXJlIHdlIHdhbnRlZCB0byBsYW5kIGFuZCB3aGVyZSB3ZSBkaWQgbGFuZCwgc28gZnJvbSBoZXJlIG9uCgkgIHRoYXQgZHRzL3B0cyBkaWZmZXJlbmNlIHdpbGwgYmUgbWFpbnRhaW5lZCwgd2l0aCBkdHMgcG9zc2libHkgbXVsdGlwbGUKCSAgc2Vjb25kcyBhaGVhZCBvZiBwdHMsIHdoaWNoIGlzIGp1c3Qgd3JvbmcuIFRoZSBlYXNpZXN0IHdheSB0byBmaXggdGhpcwoJICBpcyB0byBqdXN0IHNldCBib3RoIHB0cyBhbmQgZHRzIGJhc2VkIG9uIHRoZSBzYW1wbGUgb2Zmc2V0LCBidXQgcGVyaGFwcwoJICBwYXJzZWQgYXVkaW8gc2hvdWxkIGp1c3Qgbm90IGhhdmUgZHRzIHNldCBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMDYKCjIwMTUtMDktMDYgMTY6MzM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgZG9jczogcmVtb3ZlIHByb3BlcnRpZXMgYW5kIHNpZ25hbHMgdGhhdCBubyBsb25nZXIgZXhpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ0MwoKMjAxMy0xMC0xMSAxNToxMzowMCArMDAwMCAgR2VvcmdlIENocmlzcyA8Z3NjaHJpc3NAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBNYWtlIHRoZSBlbGVtZW50IGNvdW50IGluIGFycmF5cyBub3QgaW5jbHVkZSBlbmQKCSAgT25lLWxpbmUgcmVtb3ZhbCBvZiB0YWdzX3dyaXR0ZW4rKwoJICBUaGlzIHNob3VsZCBmaXggcnRtcCBvdXRwdXQgdG8gY3J0bXBzZXJ2ZXIsIGFuZCBob3BlZnVsbHkKCSAgbm9vbmUgaXMgZXhwZWN0aW5nIHRoYXQgdGhlIGVsZW1lbnQgY291bnQgaW5jbHVkZXMgdGhlIGVuZAoJICBlbGVtZW50LCBhcyBkaWZmZXJlbnQgYml0cyBvZiBkb2N1bWVudGF0aW9uIHNheSBkaWZmZXJlbnQKCSAgdGhpbmdzIGFib3V0IHdoZXRoZXIgaXQgc2hvdWxkIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYyNAoKMjAxNS0wNy0zMCAwMDo1OToxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFN0b3JlIGluY29taW5nIGJpdHJhdGUgdGFncyBhbmQgc2VuZCBpbiB0aGUgbWV0YWRhdGEKCSAgQXBwYXJlbnRseSB0aGUgTWljcm9zb2Z0IEF6dXJlIFJUTVAgc2VydmVyIHJlcXVpcmVzIHRoYXQgdGhlCgkgIHZpZGVvZGF0YXJhdGUgYW5kIGF1ZGlvZGF0YXJhdGUgbWV0YWRhdGEgYmUgcHJvdmlkZWQsIHNvCgkgIHNldCB0aG9zZSwgZXZlbiBpZiBpdCdzIHRvIDAuIFVzZSB0aGUgYWN0dWFsIGlucHV0IGJpdHJhdGUKCSAgdGFncyBpZiBhdmFpbGFibGUuCgoyMDE1LTA5LTA0IDAwOjA2OjI5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgcGFyc2Uga2V5IGRhdGEgbW9yZSB0aGFuIG5lZWRlZC4KCSAgV2hlbiBhbiBhdXhpbGxpYXJ5IHN0cmVhbXMgYXJlIHByZXNlbnQgaW4gdGhlIFNEUCBtZWRpYSwKCSAgdGhlcmUncyBubyBuZWVkIHRvIHJlLXBhcnNlIHRoZSBTRFAgYXR0cmlidXRlcyBtdWx0aXBsZQoJICB0aW1lcy4KCjIwMTUtMDktMDMgMjA6NTY6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggU1JUUCArIFJUWCwgYXV0aCBhY2Nlc3MsIGEgbGVhaywgYW5kIGFuIGludmFsaWQgbWVtb3J5IGFjY2Vzcy4KCSAgSW4gcGFyc2Vfa2V5bWdtdCgpLCBkb24ndCBtdXRhdGUgdGhlIGlucHV0IHN0cmluZyB0aGF0J3MgYmVlbiBwYXNzZWQKCSAgYXMgY29uc3QsIGVzcGVjaWFsbHkgc2luY2Ugd2UgbWlnaHQgbmVlZCB0aGUgb3JpZ2luYWwgdmFsdWUgYWdhaW4gaWYKCSAgdGhlIHNhbWUga2V5IGluZm8gYXBwbGllcyB0byBtdWx0aXBsZSBzdHJlYW1zIChSVFgsIGZvciBleGFtcGxlKS4KCSAgV2hlbiBhIHJlc291cmNlIGlzIDQwNCwgYW5kIHdlIGhhdmUgYXV0aCBpbmZvIC0gcmV0cnkgd2l0aCB0aGUgYXV0aAoJICBpbmZvIHRoZSBzYW1lIGFzIGlmIHdlIGhhZCByZWNlaXZlIHVuYXV0aG9yaXNlZCwgaW4gY2FzZSB0aGUgcmVzb3VyY2UKCSAgaXNuJ3QgZXZlbiB2aXNpYmxlIHVudGlsIGNyZWRlbnRpYWxzIGFyZSBzdXBwbGllZC4KCSAgRml4IGEgbWVtb3J5IGxlYWsgaGFuZGxpbmcgTWlrZXkgZGF0YS4KCSAgV2hlbiBnZW5lcmF0aW5nIGEgcmFuZG9tIGtleXN0cmluZywgZG9uJ3Qgb3ZlcnJ1biB0aGUgMzAgYnl0ZQoJICBidWZmZXIgYnkgZ2VuZXJhdGluZyAzMiBieXRlcyBpbnRvIGl0LgoKMjAxNS0wOS0wNCAxNTo0Mzo0MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IGNvbnNpZGVyIEd0a0V2ZW50cyBhcyBoYW5kbGVkCgkgIEFwcGxpY2F0aW9ucyBtaWdodCBzdGlsbCB3YW50IHRvIHVzZSB0aGVtCgkgIGFmdGVyIHRoZSBzaW5rIHRyYW5zZm9ybWVkIHRoZW0gaW50bwoJICBHc3ROYXZpZ2F0aW9uIGV2ZW50cwoKMjAxNS0wOS0wNCAxNToxODowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IGJ1aWxkIHdpdGggR0xpYiA8IDIuNDQKCSAgR19JT19FUlJPUl9DT05ORUNUSU9OX0NMT1NFRCB3YXMgYWRkZWQgaW4gMi40NC4KCjIwMTUtMDktMDQgMTI6MDE6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IElnbm9yZSBHX0lPX0VSUk9SX0NPTk5FQ1RJT05fQ0xPU0VEIHdoZW4gcmVjZWl2aW5nIGRhdGEKCSAgVGhpcyBoYXBwZW5zIG9uIFdpbmRvd3MgaWYgd2UgdXNlIHRoZSBzYW1lIHNvY2tldCBmb3Igc2VuZGluZyBwYWNrZXRzLAoJICBhbmQgdGhlIHJlbW90ZSBzZW5kcyBJQ01QIHBvcnQvaG9zdCB1bnJlYWNoYWJsZSBtZXNzYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUzNAoKMjAxNS0wOS0wMiAyMToxMjo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHB2b3JiaXMvdGhlb3JhZGVwYXk6IEZpeCBoYW5kbGluZyBvZiBmcmFnbWVudGVkIHBhY2tldHMKCSAgVGhpcyB3YXMgYnJva2VuIGluIGIxMDg5ZmI1MjAgYnkgbm90IGNvbnNpZGVyaW5nIHRoZSBmdWxsIHBhY2tldCBsZW5ndGggb2YgYQoJICBmcmFnbWVudGVkIHBhY2tldCBidXQgb25seSB0aGUgbGVuZ3RoIG9mIHRoZSBmaXJzdCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MTcKCjIwMTUtMDktMDEgMTU6Mzk6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogUmVwbHkgdG8gbGF0ZW5jeSBxdWVyeQoKMjAxNS0wOC0wNyAxNzoyNzo0OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sc2luazogRW5zdXJlIHRoYXQgYXQgbGVhc3Qgb25lIHdpbmRvd2luZyBzeXN0ZW0gaXMgYXZhaWxhYmxlCgkgIE90aGVyd2lzZSwgd2UnbGwganVzdCBjcmFzaCBhdCBydW50aW1lIGJlY2F1c2UgdGhlIGdsIGNvbnRleHQgaXMgTlVMTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTA4CgoyMDE1LTA4LTMxIDE2OjQyOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0czogRml4IHJ0cHNlc3Npb24gdGVzdCBmYWlsdXJlCgkgIFRoZSB0aW1lIG9mIHRoZSBmaXJzdCBSVENQIHBhY2tldCBpcyBzZW1pLXJhbmRvbSwgc28KCSAgc29tZXRpbWVzIGl0IHdhcyBwcm9kdWNlZCBiZWZvcmUgZW5vdWdoIHBhY2tldHMgZnJvbQoJICB0aGUgc2Vjb25kIFNTUkMgd2VyZSByZWNlaXZlZC4gRmlyc3QgZHJvcCBxdWV1ZWQgUlRDUAoJICBwYWNrZXRzLCB0aGVuIGFkdmFuY2UgdGhlIGNsb2NrIGVub3VnaCB0byBlbnN1cmUKCSAgdGhhdCBhdCBsZWFzdCBvbmUgbmV3IFJUQ1AgcGFja2V0IGlzIHByb2R1Y2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzMxCgoyMDE1LTA4LTMxIDE4OjA2OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGssIHF0LCBnbDogZml4IHR5cG8gaW4gZGVidWcgYW5kIGVycm9yIG1lc3NhZ2VzCgoyMDE1LTA4LTMxIDE4OjA2OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgZ3RrLCBxdCwgZ2w6IGZpeCB0eXBvIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxNS0wOC0zMSAxMzo1NjowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBpbXByb3ZlIHRoZSB0ZXN0IGZvciBtdWx0aS1jaGFubmVsIG1vZGUKCSAgQ2hhbmdlIHRoZSB0ZXN0IHRvIHZlcmlmeSB0aGUgcmVhZC1pbmRleCBmb3IgbXVsdGlwbGUgbWVzc2FnZXMgcGVyIGJ1ZmZlci4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDQKCjIwMTUtMDgtMzEgMTI6NDY6NTIgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWxpZ24gcmF3IHZpZGVvIGZyYW1lcyB0byAzMiBieXRlcwoJICBPdXRwdXR0aW5nIHVuYWxpZ25lZCB2aWRlbyBmcmFtZXMgY2F1c2VzIHZpZGVvc2NhbGUgZXQgYWwgdG8KCSAgY3Jhc2ggd2hlbiBhdHRlbXB0aW5nIFNJTUQtYWNjZWxlcmF0ZWQgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk2NQoKMjAxNS0wOC0yNiAyMzoxNjo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IGxldmVsIGNhbGN1bGF0aW9ucyBmb3IgbXV0bGlwbGUgY2hhbm5lbHMKCSAgVGhpcyB3YXMgYnJva2VuIHdpdGggN2I5MGJmMzIxNTA4OTdhMTQxYTI5YTEyZWNhYjU1NWQ4YzViN2ZhYi4KCjIwMTUtMDgtMjcgMTA6Mjg6NTUgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBGaXggbWVtb3J5IGxlYWsKCSAgSW4gZ3N0X3NtcHRlX2NvbGxlY3RlZCgpLCBjaGVjayB1cGZyb250IGlmIGlucHV0IGZvcm1hdHMgYXJlIHNhbWUKCSAgb3Igbm90LiBUaGlzIGF2b2lkcyBhbGxvY2F0aW9uIG9mIGluMSBhbmQgaW4yIGJ1ZmZlcnMgYW5kCgkgIHN1YnNlcXVlbnQgbWVtb3J5IGxlYWsgd2hlbiBpbnB1dCBmb3JtYXRzIGRvIG5vdCBtYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE1MwoKMjAxNS0wOC0yMSAxMTo1MjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogZG9uJ3QgdHJ5IHRvIGNvbm5lY3QgdG8gZGVhZCByYWRpbyBzZXJ2ZXIKCjIwMTUtMDgtMjEgMTY6Mjk6MTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFRyaXZpYWwgZml4IHRvIGNoZWNrIGNvcnJlY3QgY29uZGl0aW9uCgkgIFdoZW4gY2hlY2tpbmcgZm9yIGRlc2NyaWJlIG1ldGhvZCwgYmVjYXVzZSBvZiBtaXNzaW5nIHBhcmVudGhlc2VzLCB3cm9uZwoJICBjb25kaXRpb24gaXMgYmVpbmcgY2hlY2tlZCwgd2hpY2ggd2lsbCByZXN1bHQgaW4gd3JvbmcgYmVoYXZpb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MTIKCjIwMTUtMDgtMjEgMTM6MTk6MDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHJlYWQ6IGZpeCB0YWcgbGlzdCBtZW1vcnkgbGVhawoJICBnc3RfdG9jX2VudHJ5X21lcmdlX3RhZ3MgbWFrZXMgYSBuZXcgcmVmIG9mIHRoZSB0YWdsaXN0LCBzbyBpdCBzaG91bGQKCSAgYmUgdW5yZWYnZWQgYXMgc29vbiBhcyB0aGUgdGFncyBhcmUgbWVyZ2VkIHRvIHRoZSB0b2NlbnRyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTA0CgoyMDE1LTA4LTIxIDEyOjIwOjU5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBmaXggdGFnbGlzdCBtZW1vcnkgbGVhawoJICBXaGVuIHBhc3NpbmcgdGhlIHRhZ2xpc3QgdG8gZ3N0X2F1ZGlvX2RlY29kZXJfbWVyZ2VfdGFncywgdGhlIHJlZmVyZW5jZSBpcyBpbmNyZWFzZWQKCSAgYnkgYXVkaW9kZWNvZGVyIGFuZCB0aGUgY2FsbGVyIHNob3VsZCBmcmVlIHRoZSB0YWdsaXN0IGJlaW5nIHBhc3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkwMwoKMjAxNS0wOC0yMCAxNDo0NTozMyArMDIwMCAgSmVhbi1NaWNoZWwgSGF1dGJvaXMgPGplYW4tbWljaGVsLmhhdXRib2lzQHZlby1sYWJzLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZml4IHBhZCBjbG9zaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEplYW4tTWljaGVsIEhhdXRib2lzIDxqZWFuLW1pY2hlbC5oYXV0Ym9pc0B2ZW8tbGFicy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NzUKCjIwMTUtMDgtMTkgMTM6NTI6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0ay9nbDogVXNlIG91ciBHTCBmdW5jdGlvbiB0YWJsZSBpbnN0ZWFkIG9mIGRpcmVjdGx5IGNhbGxpbmcgR0wgZnVuY3Rpb25zCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRvIGxpbmsgdGhlIHBsdWdpbiB0byB0aGUgR0wgbGlicmFyaWVzIGRpcmVjdGx5LgoKPT09IHJlbGVhc2UgMS41LjkwID09PQoKMjAxNS0wOC0xOSAxMzoyOTo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkwCgoyMDE1LTA4LTE5IDEyOjQ3OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA4LTE5IDExOjI5OjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOC0xMyAxNzoyOTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHJlZ3Jlc3Npb24gd2l0aCBzdGFydGluZyBmcm9tIGluZGV4IHNldCB2aWEgaW5kZXggcHJvcGVydHkKCSAgV2hlbiB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0LCBzZXQgdGhlIHN0YXJ0X2luZGV4IHdoZW4gd2Ugc2V0IHRoZSBpbmRleCBwcm9wZXJ0eSwKCSAgc28gdGhhdCB3ZSBzdGFydCBhdCB0aGUgcmlnaHQgaW5kZXggcG9zaXRpb24gYWZ0ZXIgdGhlIGluaXRpYWwgc2Vlay4gVGhlIGluZGV4CgkgIHByb3BlcnR5IHdhcyBuZXZlciByZWFsbHkgbWVhbnQgdG8gYmUgZm9yIHdyaXRpbmcsIGJ1dCBpdCB1c2VkIHRvIHdvcmssIHNvIGxldCdzCgkgIHN1cHBvcnQgaXQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDcyCgoyMDE1LTA4LTE4IDEwOjUyOjExICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG9mZnNldCBjYWxjdWxhdGlvbiB3aGVuIHBhcnNpbmcgQ0VOQyBhdXggaW5mbwoJICBDb21taXQgN2Q3ZTU0Y2U2ODYzZmY1M2UxODhkMDI3NmQyNjUxYjY1MDgyZmZkYiBhZGRlZCBzdXBwb3J0IGZvcgoJICBEQVNIIGNvbW1vbiBlbmNyeXB0aW9uLCBob3dldmVyIGNvbW1pdAoJICBiYjMzNjg0MGMwYjBiMDJmYTE4ZGM0NDM3Y2UwZGVkM2Q5MTQyODAxIHRoYXQgd2VudCBvbnRvIG1hc3RlcgoJICBzaG9ydGx5IGJlZm9yZSB0aGUgQ0VOQyBjb21taXQgY2F1c2VkIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgQ0VOQwoJICBhdXggaW5mbyBvZmZzZXQgdG8gYmUgaW5jb3JyZWN0LgoJICBUaGUgYmFzZV9vZmZzZXQgd2FzIGJlaW5nIGFkZGVkIGlmIHByZXNlbnQsIGJ1dCBpZiB0aGUgYmFzZV9vZmZzZXQKCSAgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtb29mLCB0aGUgb2Zmc2V0IHdhcyBiZWluZyBhZGRlZCB0d2ljZS4KCSAgVGhlIGNvcnJlY3QgYXBwcm9hY2ggaXMgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgZnJvbSB0aGUgc3RhcnQgb2YgdGhlCgkgIG1vb2YgYW5kIHVzZSB0aGF0IG9mZnNldCB3aGVuIHBhcnNpbmcgdGhlIENFTkMgYXV4IGluZm8uCgoyMDE1LTA4LTE3IDE0OjI4OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFjdHVhbGx5IHJldHVybiB0cnVlIGZvciBhY2NlcHQtY2FwcyBxdWVyeSBoYW5kbGluZwoKMjAxNS0wOC0xNyAxNDowNzoxMCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSAgcnRwOiBjb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVycyB3aGljaCBpcyBtaXNzZWQgYmVmb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3MDYKCjIwMTUtMDgtMTYgMTU6MjE6NTEgLTA0MDAgIER1c3RpbiBTcGljdXp6YSA8ZHVzdGluQHZpcnR1YWxyb2Fkc2lkZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFsbG93IHNwZWNpZnlpbmcgYXVkaW8gcGxheWJhY2sgZGV2aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NzAKCjIwMTUtMDgtMTYgMTM6NTE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIHNpbmdsZSBlbnRyeSBpZiBmcm9tIGxvb3AKCSAgSXRlcmF0ZSBmcm9tIHRoZSAybmQgY2hhbm5lbCBvbiBhbmQgY3JlYXRlIHRoZSAxIGNoYW5uZWwgc3RydWN0CgkgIG91dHNpZGUgdG8gbWFrZSBsb29wIHN0cnVjdHVyZSBzaW1wbGVyIGFuZCBvbmx5IHNsaWdodGx5IGZhc3Rlci4KCjIwMTUtMDgtMTYgMTM6MjE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogaW1wbGVtZW50IHByb3BlciBhY2NlcHQtY2FwcwoJICBTaG91bGQganVzdCBjb21wYXJlIHdpdGggd2hhdCBjYW4gYmUgaW1tZWRpYXRlbGx5IGFjY2VwdGVkIGJ5CgkgIHRoZSBlbGVtZW50LiBmbGFjZW5jIGNhbid0IHJlbmVnb3RpYXRlIHNvIGlmIGl0IGhhcyBhIGNhcHMgYWxyZWFkeQoJICBpdCBzaG91bGQgb25seSBhY2NlcHQgaWYgaXQgaXMgdGhhdCBjYXBzIG90aGVyd2lzZSBqdXN0IHVzZSB0aGUKCSAgdGVtcGxhdGUgY2FwcwoKMjAxNS0wOC0xNiAxMzowMzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBpbXByb3ZlIHNpbmsgcGFkIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlcyB0aGUgbmVlZCBmb3IgY3VzdG9tIGNhcHMgcXVlcnkgaGFuZGxpbmcgYW5kIG1ha2VzIGl0IG1vcmUKCSAgY29ycmVjdCBmcm9tIHRoZSBiZWdpbm5pbmcgb24gdGhlIHRlbXBsYXRlLiBJdCBpcyBhIGJpdCB1Z2xpZXIKCSAgdG8gcmVhZCBiZWNhdXNlIHRoZXJlIGlzIDEgZW50cnkgcGVyIGNoYW5uZWwgYnV0IG1ha2VzIGNvZGUgZWFzaWVyCgkgIHRvIG1haW50YWluLgoKMjAxNS0wOC0xNiAxMjo0MTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBmaXggZ3N0LWxhdW5jaCB2ZXJzaW9uIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDgtMTUgMjI6MzI6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgYXVkaW9lbmNvZGVyczogdXNlIHRlbXBsYXRlIHN1YnNldCBjaGVjayBmb3IgYWNjZXB0LWNhcHMKCSAgSXQgaXMgZmFzdGVyIHRoYW4gZG9pbmcgYSBxdWVyeSB0aGF0IHByb3BhZ2F0ZXMgZG93bnN0cmVhbSBhbmQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBFbGVtZW50czogc3BlZXhlbmMsIHdhdnBhY2tlbmMsIG11bGF3ZW5jLCBhbGF3ZW5jCgoyMDE1LTA4LTE1IDIyOjI5OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHZpZGVvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGpwZWdlbmMsIHBuZ2VuYywgdnA4ZW5jLCB2cDllbmMsIHk0bWVuYwoKMjAxNS0wOC0xNiAxNzoyMToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHVzZSBuZXcgYmFzZXBhcnNlIEFQSSB0byBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDMtMTcgMTc6NTA6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2UgbmV3IGJhc2UgcGFyc2UgQVBJIHRvIGZpeCB0YWcgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wOC0xNiAxNDozNzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXNlIG5ldyBiYXNlcGFyc2UgQVBJIGFuZCBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTM6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHNpZ25lZCBpbnRlZ2VyIHR5cGUgdG8gYmUgYWJsZSB0byBjaGVjayBmb3IgbmVnYXRpdmUgc3VidHJhY3Rpb24gcmVzdWx0cwoJICBDSUQgMTMxNTgyOQoKMjAxNS0wOC0xNiAxMTo1MDozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcGF5bG9hZF9idWZmZXIgbXVzdCBiZSBOVUxMIGluIGlnbm9yZV9yZXNlcnZlZC4gQ2hlY2sgd2lsbCBhbHdheXMgYmUgZmFsc2UuCgkgIEludHJvZHVjZWQgYnkgYjEwODlmYjUyMDc2OTdiYTI2ZWRiNGZmNjZlZDBmNDY1YzZkZjNjZgoJICBDSUQgIzEzMTY0NzYKCjIwMTUtMDgtMTUgMjI6NDU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICBhbGF3ZW5jOiBwb3J0IHRvIEF1ZGlvRW5jb2RlciBiYXNlIGNsYXNzCgoyMDE1LTA4LTE1IDIyOjE1OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGFtcm5iZW5jLCBsYW1lbXAzZW5jLCB0d29sYW1lbXAyZW5jCgoyMDE1LTA4LTE1IDIyOjE1OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGF1ZGlvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGFtcm5iZW5jLCBsYW1lbXAzZW5jLCB0d29sYW1lbXAyZW5jCgoyMDE1LTA4LTE1IDA5OjE2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYXVkaW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBmbGFjZGVjLCBzcGVleGRlYywgd2F2cGFja2RlYywgbXVsYXdkZWMsIGFsYXdkZWMKCjIwMTUtMDgtMTUgMDg6NDk6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdmlkZW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBqcGVnZGVjLCBwbmdkZWMsIHZwOGRlYywgdnA5ZGVjCgoyMDE1LTA4LTE1IDExOjMxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWM6IG1ha2UgZXJyb3IgaGFuZGxpbmcgYSBiaXQgbmljZXIKCSAgUHJpbnQgdGhlIGVsZW1lbnQgYWxvbmcgd2l0aCB0aGUgZGVidWcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdHJhY2UKCSAgdGhlIGZhaWx1cmVzCgoyMDE1LTA4LTE1IDExOjA0OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgYWxhd2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIgYmFzZSBjbGFzcwoJICBtdWxhd2RlYyB3YXMgYWxyZWFkeSBwb3J0ZWQsIGFsYXdkZWMgd2FzIGxlZnQgYmVoaW5kLgoKMjAxNS0wOC0xNSAxMDozNDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgbG9vayBmb3IgbW9yZSBzYW1wbGVzIGluIG1vb2ZzIGluIHB1bGwtbW9kZQoJICBGb3IgcGxheWJhY2sgb2Ygc29tZSBmcmFnbWVudGVkIGZvcm1hdHMgd2l0aCBxdGRlbXV4IGl0IHdpbGwKCSAgdHJ5IHRvIGxvb2sgZm9yIHRoZSBuZXh0IG1vb2YgYWZ0ZXIgZmluaXNoaW5nIG9uZSBidXQgaXQgaXMgb25seQoJICBwb3NzaWJsZSBmb3IgcHVsbC1tb2RlLiBGb3IgcGxheWJhY2sgb2Ygc3RyZWFtaW5nIGZyYWdtZW50ZWQgZm9ybWF0cwoJICBzdWNoIGFzIERBU0ggaXQgc2hvdWxkIGp1c3Qgbm90IHRyeSB0byBsb29rIGZvciBhbm90aGVyIG1vb2YgYnV0CgkgIGluc3RlYWQgd2FpdCBmb3IgbW9yZSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDgtMTUgMTQ6MzE6MTUgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGdsc2luazogRW5hYmxlIHN5bmMgbWV0YSBvbiBwb29scyB3ZSBvZmZlcgoJICBBcyB0aGUgdXBsb2FkIGlzIGFzeW5jaHJvbm91cywgd2UgbmVlZCB0byBlbmFibGUgdGhlIHN5bmMgbWV0YSB0bwoJICBnYWluIGNvcnJlY3QgcmVuZGVyaW5nLiBUaGUgYnVmZmVyIHBvb2wgcmVjZWl2ZXIgZG9uJ3Qga25vdyBhYm91dAoJICB0aGF0LgoKMjAxNS0wOC0xNSAxNToxMjoyNyArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IEFkZCBvdmVybGF5IGNvbXBvc2l0aW9uIHN1cHBvcnQKCSAgUmVuZGVyaW5nIGNvbXBvc2l0aW9uIG92ZXJsYXkgaW4gR0wgd2l0aCBhZGRpdGlvbmFsIGhpZ2ggcmVzb2x1dGlvbgoJICBvdmVybGF5IGJlaW5nIGFkZGVkLgoKMjAxNS0wOC0xNSAxNTowODoxMSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a2dsc2luazogRml4IHVuc2FmZSBoYW5kbGluZyBvZiBidWZmZXIgbGlmZSB0aW1lCgkgIFdlIG5lZWQgdG8ga2VlcCB0aGUgYWN0aXZlIGJ1ZmZlciAodGhlIG9uZSB3ZSBoYXZlIHJldHJlaXZlIGEKCSAgdGV4dHVyZSBpZCBmcm9tKSBvdGhlcndpc2UgaXQncyByYWN5IGFuZCB1cHN0cmVhbSBtYXkgdXBsb2FkCgkgIG5ldyBjb250ZW50IGJlZm9yZSB3ZSBoYXZlIHJlbmRlcmVkIG9yIGR1cmluZyBsYXRlciByZWRpc3BsYXkuCgoyMDE1LTA4LTE0IDE4OjA3OjE1ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBSZW1vdmUgcmVzZXQgcGF0aAoJICBUaGUgcmVzZXQgcGF0aCBpcyBib2d1cyBhbmQgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGdldCByaWQgb2YgdGhlc2UKCSAgdGhpbmdzIGR1cmluZyByZXNpemUuCgoyMDE1LTA4LTE1IDEyOjU4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogRG9uJ3QgbG9vayBmb3IgYSBzZWNvbmQgc3luY3dvcmQKCSAgVGhlcmUgYXJlIHN0cmVhbXMgb3V0IHRoZXJlIHRoYXQgY29uc2lzdGVudGx5IGNvbnRhaW4gZ2FyYmFnZSBiZXR3ZWVuCgkgIGV2ZXJ5IGZyYW1lIHNvIHdlIG5ldmVyIGV2ZXIgZmluZCBhIHNlY29uZCBjb25zZWN1dGl2ZSBzeW5jd29yZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzcKCjIwMTUtMDgtMTUgMTE6MTI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDhlbmMsIHZwOWVuYzogcmVzZXQgbXVsdGlwYXNzIGZpbGUgaW5kZXggd2hlbiBzdG9wcGluZyBlbmNvZGVyCgkgIEZpeGVzIG11bHRpcGFzcyBlbmNvZGluZyB3aGVuIHJlLXVzaW5nIHRoZSBzYW1lIGVsZW1lbnQvcGlwZWxpbmUKCSAgZm9yIHN1YnNlcXVlbnQgZW5jb2RpbmcgcnVucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyOAoKMjAxNS0wOC0xNSAxMTowOTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmg6CgkgIHZwOWVuYzogcHJvdmlkZSBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXNzIGNhY2hlIGZpbGVzCgkgIFNvbWUgZmlsZXMgbWF5IHByb3ZpZGUgZGlmZmVyZW50IGNhcHMgaW5zaWdodCBvZiBvbmUgc3RyZWFtLiBTaW5jZQoJICB2cDllbmMgc3VwcG9ydCBjYXBzIHJlaW5pdCwgd2Ugc2hvdWxkIHN1cHBvcnQgY2FjaGUgcmVpbml0IHRvby4KCSAgSWYgbW9yZSB0aGVuIGZpbGUgY2FjaGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQsIHRoZSBuYW1pbmcgd2lsbCBiZToKCSAgY2FjaGUgY2FjaGUuMSBjYWNoZS4yIC4uLgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xla3NpaiBSZW1wZWwgPGxpbnV4QHJlbXBlbC1wcml2YXQuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjgKCjIwMTUtMDgtMTQgMTE6NDE6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIHRlc3RzOiBhYWNwYXJzZTogdXNlIGNhcHMgcXVlcnkgaW5zdGVhZCBvZiBhY2NlcHQtY2FwcwoJICBUaGUgYWNjZXB0LWNhcHMgcXVlcnkganVzdCBkb2VzIGEgc2hhbGxvdyBjaGVjayBhdCB0aGUgY3VycmVudAoJICBlbGVtZW50IHdoaWxlIGF0IHRoaXMgdGVzdCB3ZSB3YW50IGl0IHRvIGFsc28gbG9vayBhdCBkb3duc3RyZWFtLgoJICBTbyB1c2UgY2FwcyBxdWVyeSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxMTo0MDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBlbmFibGUgYWNjZXB0LXRlbXBsYXRlIGZsYWcKCSAgRG8gYSBxdWljayBjaGVjayB3aXRoIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBpdCBpcyBlbm91Z2guIFVzZXJzCgkgIHNob3VsZCBoYXZlIGZpZ3VyZWQgdGhlIGFwcHJvcHJpYXRlIGZ1bGwgY2FwcyBvbiBhIHByZXZpb3VzIGNhcHMgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxNTo0Njo1MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZW5kIHRoZSBVc2VyLUFnZW50IGhlYWRlcgoJICBTb21ldGltZXMgaXQgaXMgdXNlZnVsIHRvIGtub3cgdGhpcyBpbmZvcm1hdGlvbiBvbiB0aGUKCSAgc2VydmVyIHNpZGUuIE90aGVyIHBvcHVsYXIgaW1wbGVtZW50YXRpb25zICh2bGMsIGZmbXBlZywgLi4uKQoJICBhbHNvIHNlbmQgdGhpcyBoZWFkZXIgb24gZXZlcnkgbWVzc2FnZS4KCSAgVGhpcyBpbmNsdWRlcyBhIG5ldyAidXNlci1hZ2VudCIgcHJvcGVydHkgdGhhdCB0aGUgdXNlcgoJICBjYW4gc2V0IHRvIHVzZSBhIGN1c3RvbSBVc2VyLUFnZW50IHN0cmluZy4gVGhlIGRlZmF1bHQKCSAgaXMgIkdTdHJlYW1lci88dmVyc2lvbj4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDEKCjIwMTUtMDgtMTQgMTU6NDI6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHdyYXAgZ3N0X3J0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QgaW4gYSBsb2NhbCBmdW5jdGlvbgoJICBUaGlzIHdpbGwgYWxsb3cgYWRkaW5nIGNvbW1vbiByZXF1ZXN0IGluaXRpYWxpemF0aW9uLCBsaWtlIHRoZQoJICB1c2VyIGFnZW50IHN0cmluZywgaW4ganVzdCBvbmUgcGxhY2UuCgoyMDE1LTA4LTE0IDA5OjM2OjA5ICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogbWFrZSBzdXJlIGJ1ZmZlciBnZXRzIHJlYWxsb2NhdGVkIGlmIG1heF9kZWxheSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0OTAKCjIwMTUtMDctMDkgMDk6NTE6MjYgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxsaW51eEByZW1wZWwtcHJpdmF0LmRlPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBwcm92aWRlIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBhc3MgY2FjaGUgZmlsZXMKCSAgU29tZSBmaWxlcyBtYXkgcHJvdmlkZSBkaWZmZXJlbnQgY2FwcyBpbnNpZ2h0IG9mIG9uZSBzdHJlYW0uIFNpbmNlIHZwOGVuYwoJICBzdXBwb3J0IGNhcHMgcmVpbml0LCB3ZSBzaG91bGQgc3VwcG9ydCBjYWNoZSByZWluaXQgdG9vLgoJICBJZiBtb3JlIHRoZW4gZmlsZSBjYWNoZSBmaWxlIHdpbGwgYmUgY3JlYXRlZCwgdGhlIG5hbWluZyB3aWxsIGJlOgoJICBjYWNoZQoJICBjYWNoZS4xCgkgIGNhY2hlLjIKCSAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjgKCjIwMTUtMDQtMTUgMjI6NTE6NTEgKzAyMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogZml4IHRpbWVzdGFtcHMgZm9yIFJUUCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgQVVzCgkgIFVzZSBjb25zdGFudER1cmF0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgdGltZXN0YW1wIG9mIG5vbi1maXJzdCBBVSBpbiB0aGUKCSAgUlRQIHBhY2tldC4KCSAgSWYgY29uc3RhbnREdXJhdGlvbiBpcyBub3QgcHJlc2VudCBpbiB0aGUgTUlNRSBwYXJhbWV0ZXJzLCBpdHMgdmFsdWUKCSAgbXVzdCBiZSBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gZnJvbSB0d28gY29uc2VjdXRpdmUKCSAgUlRQIHBhY2tldHMgd2l0aCBBVS1JbmRleCBlcXVhbCB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODgxCgoyMDE1LTA4LTE0IDA2OjQzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGlmLCBnX2ZyZWUgaXMgbnVsbCBzYWZlCgoyMDE1LTA4LTE0IDA4OjMzOjU2ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHByb3BlcnR5IHRvIHNldCBIVFRQIG1ldGhvZAoJICBUbyBhbGxvdyBzb3VwaHR0cHNyYyB0byBiZSB1c2UgSFRUUCBtZXRob2RzIG90aGVyIHRoYW4gR0VUCgkgIChlLmcuIEhFQUQpLCBhZGQgYSAibWV0aG9kIiBwcm9wZXJ0eSB0aGF0IGlzIGEgc3RyaW5nLiBJZiB0aGlzCgkgIHByb3BlcnR5IGlzIG5vdCBzZXQsIEdFVCBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA4LTE0IDExOjEzOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgY2hlY2s6IFJlbmFtZSBzdGF0ZXMgdW5pdCB0ZXN0CgkgIE1ha2VzIGl0IGVhc2llciB0byBkaWZmZXJlbnRpYXRlIGZyb20gb3RoZXIgbW9kdWxlcyBzdGF0ZXMgdW5pdCB0ZXN0CgoyMDE1LTA4LTE0IDA5OjIxOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGdvb206IFJlbmFtZSBnZXRfdHlwZSgpIGZ1bmN0aW9uIG9mIGJhc2UgY2xhc3MgdG8gcHJldmVudCBzeW1ib2wgY29uZmxpY3RzCgkgIFRoaXMgaXMgYSBwcm9ibGVtIHdoZW4gc3RhdGljYWxseSBsaW5raW5nLgoKMjAxNS0wOC0xMyAxNjozMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEtlZXAgdGhlIERUUyBlc3RpbWF0ZSBpZiB3ZSBnb3Qgbm8gRFRTIGFmdGVyIGEgaml0dGVyYnVmZmVyIHJlc2V0CgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3Qgb3V0cHV0IGJ1ZmZlcnMgd2l0aG91dCB0aW1lc3RhbXBzIGFmdGVyIGEgcmVzZXQgaWYgbm8KCSAgdGltZXN0YW1wcyBhcmUgcHJvdmlkZWQgYnkgdXBzdHJlYW0sIGUuZy4gd2hlbiB1c2luZyBSVFNQIG92ZXIgVENQLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA4LTEyIDE3OjE2OjAxICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSAgbWF0cm9za2E6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzU1NgoKMjAxNS0wOC0xMiAwMDoxODoyMCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogZml4IG1vdGlvbiBldmVudCBuYW1lCgkgIHMvbW90aW9uL21vdXNlLwoJICBGaXhlcyBob3ZlciBpbnRlcmFjdGlvbiB3aXRoIERWRCBtZW51cwoKMjAxNS0wOC0xMiAwMDoxNDoxNCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogY29ycmVjdCBuYXZpZ2F0aW9uIGV2ZW50cyBmb3Igd2luZG93IHNjYWxpbmcKCSAgaS5lLiB0YWtlIGludG8gYWNjb3VudCB0aGUgcG9zc2libGl0eSBvZiBzY2FsaW5nIGluIHRoZSBzaW5rCgkgIG9yIHRocm91Z2ggR0RLX1NDQUxFLgoJICBGaXhlcyBEVkQgTWVudXMgd2l0aCBhIHNjYWxlZCBndGt3aWRnZXQKCjIwMTUtMDgtMTEgMTM6MzQ6NTkgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGs6IGltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICBOb3cgd2UgY2FuIHB1c2gga2V5L21vdXNlIGlucHV0IGludG8gdGhlIHBpcGVsaW5lIGZvciBEVkQgdXNlIGNhc2VzLgoKMjAxNS0wOC0wNCAyMDo1OToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBDb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTEwIDE4OjIwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHNtYWxsIHR5cG8gaW4gY29tbWVudAoKMjAxNS0wOC0xMCAxNjoxOToxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxL2RvYzogRml4dXAgcHJldmlvdXMgY29tbWl0CgoyMDE1LTA4LTEwIDE1OjU1OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazEvZG9jOiBVc2UgR3N0R29vbTJrMSBuYW1lc3BhY2UKCSAgVGhlIGRvYyBnZW5lcmF0b3IgaXNuJ3QgaGFwcHkgd2hlbiB3ZSBoYXZlIGNsYXNzIG5hbWUgY2xhc2guIFNpbXBseQoJICB1c2UgaXQncyBvd24gbmFtZXNwYWNlLgoKMjAxNS0wOC0xMCAxNzoxMDo0MiArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IHJlbW92ZWQgdW51c2VkIHZhcmlhYmxlIGluIHNldF9wcm9wZXJ0eQoJICB1bnVzZWQgbG9jYWwgdmFyaWFibGUgJ2RlbGF5JyBpcyByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDUwCgoyMDE1LTA4LTEwIDEyOjQ1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzdWJvcHRpbWFsIHF1ZXVlIGl0ZXJhdGlvbiBjb2RlCgoyMDE1LTA4LTA5IDE3OjI1OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBnbGliIDIuNDQtb25seSBBUEkKCjIwMTUtMDctMjkgMTQ6MTQ6NTAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBJU09CTUZGIENvbW1vbiBFbmNyeXB0aW9uCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgSVNPQk1GRiBDb21tb24gRW5jcnlwdGlvbiAoY2VuYyksIGFzCgkgIGRlZmluZWQgaW4gSVNPL0lFQyAyMzAwMS03LiBJdCB1c2VzIGEgR3N0UHJvdGVjdGlvbiBldmVudCB0bwoJICBwYXNzIHRoZSBjb250ZW50cyBvZiBQU1NIIGJveGVzIHRvIGRvd25zdHJlYW0gZGVjcnlwdG9yIGVsZW1lbnRzCgkgIGFuZCBhdHRhY2hlZCBHc3RQcm90ZWN0aW9uTWV0YSB0byBlYWNoIHNhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MQoKMjAxNS0wOC0xMCAxNDoxMzo1MCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGNoZWNraW5nIGlmIGRlcGF5IGhhcyBzcHMvcHBzIG5hbHMgYmVmb3JlIGluc2VydGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDMwCgoyMDE1LTA4LTA4IDE2OjQ0OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IG91dGRhdGVkIGNvbW1lbnQKCSAgVGhlIGRlZmF1bHQgYmVoYXZpb3VyIHdhcyBjaGFuZ2VkIGluIHRoZSAwLjEwIC0+IDEueAoJICB0cmFuc2l0aW9uLCBidXQgdGhlIGNvbW1lbnQgd2FzIG5vdCB1cGRhdGVkLgoKMjAxNS0wOC0wOCAxNzo0MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogSWYgZmx1c2hpbmcgYSBwYWNrZXQgZmFpbGVkLCBnbyBvdXQgb2YgdGhlIGxvb3AgaW1tZWRpYXRlbHkKCjIwMTUtMDgtMDggMTc6NDE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IElmIGZsdXNoaW5nIGEgcGFja2V0IGZhaWxlZCwgZ28gb3V0IG9mIHRoZSBsb29wIGltbWVkaWF0ZWx5CgoyMDE1LTA4LTA4IDE3OjM0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgcnRwdGhlb3JhcGF5OiBFeHRyYWN0IHBpeGVsIGZvcm1hdCBmcm9tIHRoZSBpZGVudCBoZWFkZXIgdG8gcHV0IGl0IGludG8gdGhlIHNhbXBsaW5nIGZpZWxkIG9mIHRoZSBjYXBzCgkgIFdlIGFsd2F5cyBwdXQgNDoyOjAgaW50byB0aGUgY2FwcyBiZWZvcmUsIHdoaWNoIG9idmlvdXNseSBpcyB3cm9uZyBmb3IgNDoyOjIKCSAgYW5kIDQ6NDo0IGZvcm1hdHMuCgoyMDE1LTA4LTA4IDE3OjI4OjAzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBpbXBsZW1lbnQgdGhlIHJlcXVpcmVkIG11bHRpcGxlIEdMIGNvbnRleHQgc3luY2hvbmlzYXRpb24KCSAgRnJvbSBHU3RyZWFtZXIncyBHTCBjb250ZXh0IGludG8gdGhlIFFNTCBjb250ZXh0CgoyMDE1LTA4LTA2IDE3OjQ2OjEzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGtsdnBheS5jOgoJICBydHBrbHYoZGUpcGF5OiBhZGQgIlJUUCIgaW4gdGhlIGtsYXNzIHN0cmluZwoJICBHc3RSVFNQTWVkaWEgdXNlcyB0aGlzIGNsYXNzaWZpY2F0aW9uIHRvIGRldGVjdCB0aGUgcmVhbCBwYXlsb2FkZXIKCSAgaW5zaWRlIGEgZHlucGF5IGJpbiBhbmQgYXNzZXJ0cyBpZiBpdCBkb2Vzbid0IGZpbmQgaXQsIHRoZXJlZm9yZQoJICBpdCBpcyByZXF1aXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzI1CgoyMDE1LTA4LTA1IDExOjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHM6IHJ0cGF1eDogdXNlIGEgZHluYW1pYyBwdCBpbiB0aGUgdGVzdAoJICAxKSBUZXN0cyB0aGF0IHVzaW5nIGR5bmFtaWMgUFQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBvbmVzIHdvcmsKCSAgMikgSWYgd2UgZXZlciBkZWNpZGUgdG8gY2hhbmdlIHRoZSBjb2RlYyBoZXJlIHdlIGRvbid0IG5lZWQgdG8KCSAgd29ycnkgYWJvdXQgY2hhbmdlIHRoZSBQVCBmb3IgdGhlIGRlZmF1bHQgb25lIG9mIHRoZSBuZXcgY29kZWMKCSAgaW4gdGhlIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wOC0wNSAxMDo1MzoxNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IHByaW50IHZhbGlkIHR5cGUgd2hlcmUgZ3VpbnQzMiBpcyBleHBlY3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTA4LTA2IDExOjMzOjM3ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cHBheWxvYWQ6IHNldCBzdGFuZGFyZCBwYXlsb2FkIHR5cGUgYXMgZGVmYXVsdAoJICBJbml0aWFsaXplIHRoZSBQVCB0byB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgY29kZWMgYW5kIGNoZWNrIGlmCgkgIGl0IGlzIHN0aWxsIHRoZSBkZWZhdWx0IGJlZm9yZSBkZWNsYXJpbmcgdGhlIHB0IHRvIGJlIGR5bmFtaWMgb3IKCSAgbm90IHdoZW4gc2V0dGluZyB0aGUgY2Fwcy4KCSAgQWxzbyB1c2UgdGhlIFBUIGNvbnN0YW50cyBmcm9tIHRoZSBydHAgbGliIHdoZW4gcG9zc2libGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzk2NQoKMjAxNS0wNy0yNiAxMjowNzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0b3JlIHRoZSBtb29mLW9mZnNldCBhbHNvIGZvciBwdXNoIG1vZGUKCSAgSXQgd2lsbCBiZSB1c2VkIGluIHNvbWUgY2FzZXMgZm9yIGdldHRpbmcgdGhlIGNvcnJlY3Qgb2Zmc2V0cwoJICBmcm9tIHRydW4gYXRvbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDctMjYgMDI6MDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgZGVmYXVsdC1iYXNlLWlzLW1vb2YgZmxhZwoJICBIYW5kbGUgdGhlIGZsYWcgZnJvbSB0aGUgdGZoZCB0aGF0IHNpZ25hbHMgdGhlIGJhc2Ugb2Zmc2V0IHRvCgkgIHN0YXJ0IGZyb20gdGhlIG1vb2YgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAzCgoyMDE1LTA3LTI5IDE4OjU0OjM1IC0wNjAwICBHbGVuIERpZW5lciA8Z3JkQGxvZ2FubWlsbC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYWRlbXV4OiBQcmVzZXJ2ZSBmb3J3YXJkIHJlZmVyZW5jZWQgdHJhY2sgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODUwCgoyMDE1LTA4LTA0IDE4OjA3OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHM6IHJ0cGF1eDogZml4IHRlc3QgZmFpbHVyZQoJICBUaGUgUlRQIFBUIGZvciBhbGF3IGlzIDguCgkgIExlc3MgdGhhbiA1MCBwYWNrZXRzIGFyZSByZWNlaXZlZCBpbiB0aGUgbGVuZ3RoIG9mIHRoaXMgdGVzdCBzbyBpdAoJICB3b3VsZCBuZXZlciBkcm9wIGEgYnVmZmVyIG9yIHdvdWxkIGRyb3Agb25seSB0aGUgbGFzdCBidWZmZXIgYW5kCgkgIGl0IHdvdWxkIGZhaWwgc29tZXRpbWVzIHdoZW4gdGhlIHJlY2VpdmVkIHdvdWxkbid0IHJlY2VpdmUgdGhlCgkgIHJldHJhbnNtaXNzaW9uIHBhY2tldCBpbiB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTA4LTA0IDIwOjU5OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5jOgoJICBydHBzdHJlYW1kZXBheTogT25seSBhbGxvdyBhY3RpdmF0aW9uIGluIHB1c2ggbW9kZQoJICBXZSBuZWVkIGEgcHJvcGVyIGNhcHMgZXZlbnQgZnJvbSB1cHN0cmVhbSB3aXRoIHRoZSBmdWxsIFJUUCBjYXBzIGFzIHdlIGNhbid0CgkgIGNyZWF0ZSBjYXBzIG91cnNlbHZlcyBmcm9tIHRoaW4gYWlyLiBGaXhlcyB1c2FnZSBvZiBydHBzdHJlYW1kZXBheSBhZnRlciBlLmcuCgkgIGEgZmlsZXNyYyBvciBhbnkgb3RoZXIgZWxlbWVudCB0aGF0IHN1cHBvcnRzIHB1bGwgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA2NgoKMjAxNS0wOC0wNCAxNjoyODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCB0eXBvIGluIHRyYW5zbGF0ZWQgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNDAKCjIwMTUtMDgtMDQgMTI6MjU6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IFB1dCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgaW50byB0aGUgY2FwcwoKMjAxNS0wOC0wNCAxMjowOToxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogT25seSB1cGRhdGUgdGhlIHNyY3BhZCBjYXBzIGlmIHNvbWV0aGluZyBlbHNlIHRoYW4gdGhlIGNvZGVjX2RhdGEgY2hhbmdlZAoJICBoMjY0cGFyc2UgZG9lcyB0aGUgc2FtZSwgbGV0J3Mga2VlcCB0aGUgYmVoYXZpb3VyIGNvbnNpc3RlbnQuIEFzIHdlIG5vdwoJICBpbmNsdWRlIHRoZSBjb2RlY19kYXRhIGluc2lkZSB0aGUgc3RyZWFtIHRvbyBoZXJlLCB0aGlzIGNhdXNlcyBsZXNzIGNhcHMKCSAgcmVuZWdvdGlhdGlvbi4KCjIwMTUtMDgtMDQgMTE6NDg6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IFBQUyByZXBsYWNlcyBhbmQgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQsIGluZGVwZW5kZW50IG9mIFNQUyBpZAoJICBUaGUgc3BlYyBzYXlzOgoJICBXaGVuIGEgcGljdHVyZSBwYXJhbWV0ZXIgc2V0IE5BTCB1bml0IHdpdGggYSBwYXJ0aWN1bGFyIHZhbHVlIG9mCgkgIHBpY19wYXJhbWV0ZXJfc2V0X2lkIGlzIHJlY2VpdmVkLCBpdHMgY29udGVudCByZXBsYWNlcyB0aGUgY29udGVudCBvZiB0aGUKCSAgcHJldmlvdXMgcGljdHVyZSBwYXJhbWV0ZXIgc2V0IE5BTCB1bml0LCBpbiBkZWNvZGluZyBvcmRlciwgd2l0aCB0aGUgc2FtZQoJICB2YWx1ZSBvZiBwaWNfcGFyYW1ldGVyX3NldF9pZCAod2hlbiBhIHByZXZpb3VzIHBpY3R1cmUgcGFyYW1ldGVyIHNldCBOQUwgdW5pdAoJICB3aXRoIHRoZSBzYW1lIHZhbHVlIG9mIHBpY19wYXJhbWV0ZXJfc2V0X2lkIHdhcyBwcmVzZW50IGluIHRoZSBiaXRzdHJlYW0pLgoKMjAxNS0wOC0wMyAxMzo0NTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiByZW1vdmUgZXh0cmEgXG4gYXQgZGVidWcgbWVzc2FnZQoKMjAxNS0wOC0wMyAxMzo0MjoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBwcmV2ZW50IGRlYWRsb2NrIHdoZW4gc3RhdGVzIGNoYW5nZSB0b28gZmFzdAoJICBJZiB0aGUgR09QIGlzIGNvbXBsZXRlZCwgcGFkcyBoYXZlIHRvIHN0YXJ0IGdhdGhlcmluZyBmb3IgdGhlCgkgIG5leHQgb25lIGJ1dCBpdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSB0aGUgc3RhdGUgbWlnaHQgZ28gdG8KCSAgQ09MTEVDVElOR19HT1BfU1RBUlQgYW5kIGJhY2sgdG8gV0FJVElOR19HT1BfQ09NUExFVEUgYmVmb3JlIHRoZQoJICB0aHJlYWQgaGFzIGEgY2hhbmNlIHRvIHdha2UgdXAgYW5kIHByb2NlZWQsIGxlYXZpbmcgaXQgdHJhcHBlZCBpbgoJICB0aGUgY2hlY2tfY29tcGxldGVkX2dvcCBsb29wIGFuZCBkZWFkbG9ja2luZyB0aGUgb3RoZXIgdGhyZWFkcwoJICB3YWl0aW5nIGZvciBpdCB0byBhZHZhbmNlLgoJICBUbyBzb2x2ZSBpdCwgdGhpcyBwYXRjaCBhbHNvIGNoZWNrcyB0aGF0IHRoYSBpbnB1dCBydW5uaW5nIHRpbWUKCSAgaGFzbid0IGNoYW5nZWQgdG8gcHJldmVudCB0aGlzIHNjZW5hcmlvLgoKMjAxNS0wOC0wMyAxNzo1NTowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgaDI2NHBhcnNlIGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIgU1BTCgkgIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLCBidXQKCSAgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1IChvciA4KSBiaXQuCgkgIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlYyBhYm91dCB0aGUgY29kZWNfZGF0YS4KCjIwMTUtMDctMzAgMTE6Mjk6MjcgKzA5MDAgIEV1bmhhZSBDaG9pIDxldW5oYWUxLmNob2lAc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogaGFuZGxlIGVtcHR5IGh0dHAgcHJveHkgc3RyaW5nCgkgIDEpIElmIHRoZSBzeXN0ZW0gaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0CgkgIG9yIHNldCB0byBhbiBlbXB0eSBzdHJpbmcsIHdlIG11c3Qgbm90IHNldCBwcm94eSB0byBhdm9pZAoJICBodHRwIGNvbm5lY3Rpb24gZXJyb3IuCgkgIDIpIEluIGNhc2Ugb2YgcHJveHkgcHJvcGVydHkgc2V0dGluZywgaWYgdXNlciB3YW50IHRvIGNsZWFyCgkgIHRoZSBwcm94eSBzZXR0aW5nLCB0aGV5IHNob3VsZCBiZSBhYmxlIHRvIHNldCBpdCB0byBOVUxMIG9yCgkgIGFuIGVtcHR5IHN0cmluZyBhZ2Fpbiwgc28gdGhpcyBpcyBmaXhlZCB0b28uCgkgIDMpIENoZWNrIGlmIHRoZSBwcm94eSBzdHJpbmcgd2FzIHBhcnNlZCBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4NjYKCjIwMTUtMDctMjkgMTU6NDY6MjAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlICdmcmFtZWNvdW50JyBmcm9tIGR2ZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOAoKMjAxNS0wNy0zMCAxNTozMjowOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXNzZXJ0aW9uIGVycm9yIGR1ZSB0byB3cm9uZyBjb25kaXRpb24gY2hlY2sKCSAgSW4gbWVkaWEgdG8gY2FwcyBmdW5jdGlvbiwgcmVzZXJ2ZWRfa2V5cyBhcnJheSBpcyBiZWluZyB1c2VkIGZvciB2YXJpYWJsZSBpLAoJICBsZWFkaW5nIHRvIEdMaWItQ1JJVElDQUwgKio6IGdfYXNjaWlfc3RyY2FzZWNtcDogYXNzZXJ0aW9uICdzMSAhPSBOVUxMJyBmYWlsZWQKCSAgY2hhbmdlZCBpdCB0byB2YXJpYWJsZSBqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMzAgMTU6MjE6MjAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHBtcDR2ZGVwYXk6IHJ0cGJ1ZmZlciBpcyBiZWluZyB1bnJlZidlZCB0d2ljZQoJICBwcm9jZXNzX3J0cF9wYWNrZXQgZG9lc24ndCB0cmFuc2ZlciB0aGUgcnRwIGJ1ZmZlciB0byBtcDR2X3Byb2Nlc3NfZGVwYXkKCSAgdGhlIHJlZmVybmNlIHNob3VsZCBub3QgYmUgcmVtb3ZlZCBoZXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwNDIKCjIwMTUtMDctMjkgMTE6MjY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFN0cmlwIGtleXMgZnJvbSB0aGUgZm10cCB0aGF0IHdlIHVzZSBpbnRlcm5hbGx5IGluIG91ciBjYXBzCgkgIFNraXAga2V5cyBmcm9tIHRoZSBmbXRwLCB3aGljaCB3ZSBhbHJlYWR5IHVzZSBvdXJzZWx2ZXMgZm9yIHRoZQoJICBjYXBzLiBTb21lIHNvZnR3YXJlIGlzIGFkZGluZyByYW5kb20gdGhpbmdzIGxpa2UgY2xvY2stcmF0ZSBpbnRvCgkgIHRoZSBmbXRwLCBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIGhlcmUgc2V0IGEgc3RyaW5nLXR5cGVkIGNsb2NrLXJhdGUKCSAgaW4gdGhlIGNhcHMuLi4gYW5kIHRodXMgZmFpbCB0byBjcmVhdGUgdmFsaWQgUlRQIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0yOSAxOToyODozMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFN1cHBvcnQgbXBlZ3RzbXV4IGFzIGEgbXV4ZXIuCgkgIEFzIGEgZmFsbGJhY2ssIGxvb2sgZm9yIGEgcGFkIHRlbXBsYXRlIHNpbmtfJWQgb24KCSAgdGhlIG11eGVyIHdoZW4gcmVxdWVzdGluZyBwYWRzLCB0byBzdXBwb3J0IG1wZWd0c211eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTk5CgoyMDE1LTA2LTI1IDAxOjM1OjI3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmg6CgkgIHNwbGl0bXV4c3JjOiBVc2UgYSBzZXBhcmF0ZSBsb2NrIHRvIGRlbGF5IHR5cGVmaW5kLgoJICBEb24ndCBob2xkIHRoZSBtYWluIHNwbGl0bXV4IHBhcnQgbG9jayBvdmVyCgkgIHRoZSBwYXJlbnQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLCBhcyBpdCBwcmV2ZW50cwoJICBwb3N0aW5nIGVycm9yIG1lc3NhZ2VzIHRoYXQgaGFwcGVuLiBTaW5jZSB0aGUgcHVycG9zZQoJICBpcyB0byBwcmV2ZW50IHR5cGVmaW5kaW5nIGZyb20gcHJvY2VlZGluZywgdXNlIGEKCSAgc2VwYXJhdGUgbXV0ZXgganVzdCBmb3IgdGhhdC4KCjIwMTUtMDctMjkgMTM6NDM6NTAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGZpeCBtZW1vcnkgbGVhawoJICBBZnRlciBhZGRpbmcgdG8gdGFnIGxpc3QsIGtleV92YWwgaXMgbm90IGJlaW5nIGZyZWUnZAoJICByZXN1bHRpbmcgaW4gbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5MgoKMjAxNS0wNy0yNyAxMzozNDoxNCArMDkwMCAgTWFuYXNhIEF0aHJleWEgPG1hbmFzYS5hdGhyZXlhQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IDE2LWJpdCBQQ00gYXVkaW8gYWR2ZXJ0aXNlZCB3aXRoICdyYXcgJyBmb3VyY2MKCSAgJ05PTkUnIGFuZCAncmF3ICcgZm91cmNjIGRvbid0IGFsd2F5cyBjb250YWluIFU4IGF1ZGlvLCBpdCBjYW4KCSAgYmUgbW9yZSBiaXRzIGFzIHdlbGwsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IGxpa2UgJ3R3b3MnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjEzCgoyMDE1LTA3LTI0IDE1OjEwOjA1ICswMjAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBBbGxvdyBmcmFtZXJhdGUgdG8gYmUgbGFyZ2UgdGhlbiAxMDBwZnMKCSAgVGhpcyBsaW1pdCB3YXMgYXJiaXRyYXJ5LiBXZSBzdGlsbCBmaXhhdGUgbmVhciAxMDBwZnMgZm9yIGNvbXBhdGliaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MjUKCjIwMTUtMDctMjUgMDM6MjU6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFN0b3Agd2l0aG91dCBwb3N0aW5nIGVycm9yIG9uIGZsdXNoaW5nCgkgIFRoaXMgY291bGQganVzdCBiZSBhIG5vcm1hbCBwaXBlbGluZSBzaHV0ZG93bi4KCjIwMTUtMDctMjMgMTU6MDA6MDggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCBHU1RfQlVGRkVSX0NPUFlfRkxBR1MgdG8gY29weSBmbGFncyBhbHNvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MTgKCjIwMTUtMDctMjIgMTU6MTM6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBEb24ndCBkaXN0IGZpbGVzIHRoYXQgbWlnaHQgbm90IGV4aXN0CgkgIFdlIG9ubHkgcmVxdWlyZSBtb2MgYnVpbGRpbmcgYXQgYnVpbGQgdGltZS4KCjIwMTUtMDctMjIgMDg6MDU6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBUaWR5IHVwIG1ha2VmaWxlIGEgYml0IG1vcmUKCSAgU2VwYXJhdGUgZ2VuZXJhdGVkIGZpbGVzLCBmcm9tIGRpc3RlZCBmaWxlcwoKMjAxNS0wNy0yMSAxMToyMzoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdzdGdsd2lkZ2V0OiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgQWxzbyBoYW5kbGUgdGhlIGZhaWx1cmUgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0xNiAxODowOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYWRlbXV4LmM6CgkgIHRlc3RzOiBhZGQgbWlubWFsIG1hdHJvc2thZGVtdXggdGVzdCBmb3Igc3VidGl0bGUgb3V0cHV0CgkgIFNvbWUgb2YgdGhlIHN1YnRpdGxlIGNodW5rcyB3aWxsIGhhdmUgZW1iZWRkZWQKCSAgTlVMLXRlcm1pbmF0b3JzIChsYXN0IHRocmVlKSwgc29tZSBkb24ndCAoZmlyc3QgdGhyZWUpLAoJICBzb21lIHdpbGwgaGF2ZSBtYXJrdXAsIHNvbWUgd29uJ3QsIHNvbWUgd2lsbCBiZSB2YWxpZAoJICBVVEYtOCAoYWxsIGJ1dCBsYXN0KSwgc29tZSB3b24ndCAobGFzdCBzdGFuemEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDIxCgoyMDE1LTA3LTE2IDE4OjQ5OjI2ICswMzAwICBEaW1pdHJpb3MgQ2hyaXN0aWRpcyA8ZGNocmlzdGlkaXNAbXlrb2xhYi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGZvciBzdWJ0aXRsZSBidWZmZXJzIHdpdGggTlVMIHRlcm1pbmF0b3JzCgkgIENvbW1pdCA0NTg5MmVjOCBjcmVhdGVkIGEgcmVncmVzc2lvbiB3aGVyZSBnX3V0ZjhfdmFsaWRhdGUoKSB3b3VsZCBmYWlsCgkgIGlmIHRoZSBzdWJ0aXRsZSBidWZmZXIgaGFkIGEgTlVMIHRlcm1pbmF0b3IgYXMgcGFydCBvZiB0aGUgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0yMSAxMzozMTowNSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBDaGVjayBhdmFpbGFibGUgYnl0ZXMgYmVmb3JlIGNvcHkKCSAgTmVlZCB0byBjaGVjayB0aGF0IHRoZSBudW1iZXIgb2YgYnl0ZXMgd2Ugd2FudCB0byBjb3B5IGZyb20gdGhlIGFkYXB0ZXIKCSAgYWN0dWFsbHkgaXMgYXZhaWxhYmxlIGFuZCBoYW5kbGUgdGhlIGVycm9yIGNhc2UgZ3JhY2VmdWxseS4gVGhpcyBlcnJvcgoJICBtYXkgaGFwcGVuIGlmIG1hbGZvcm1lZCBwYWNrZXRzIGFyZSByZWNlaXZlZCBhbmQgd2UgZG9uJ3QgaGF2ZSBhCgkgIGNvbXBsZXRlIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjYzCgoyMDE1LTA3LTE2IDA5OjMyOjM2ICswOTAwICBQYXVsIEh5dW5pbCA8cGF1bC5oeXVuaWxAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdXBwb3J0IHN1YnRpdGxlIHdoZW4gdHJhY2sgc3VidHlwZSBpcyBmb3VyY2Nfc3VidAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjU1CgoyMDE1LTA3LTIwIDE2OjU5OjQwICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFNldCB0aW1lc3RhbXAgd2hlbiBxdWV1ZSBidWZmZXIuCgkgIFNob3VsZCBzZXQgdGltZXN0YW1wIHdoZW4gcXVldWUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjE4CgoyMDE1LTA3LTIwIDExOjA5OjIwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogTG9nIEdESyBHTCBlcnJvciB3aGVuIGZhaWxsaW5nIGNyZWF0aW5nIEdka0dMQ29udGV4dAoKMjAxNS0wNy0xOCAxNzoxOToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgZ2xjb250ZXh0OiBmaXggZ2V0X2N1cnJlbnRfZ2xfYXBpIG9uIHgxMS9udmlkaWEgZHJpdmVycwoJICBUaGV5IHJlcXVpcmUgdG8gZ2V0X3Byb2NfYWRkcmVzcyBzb21lIGZ1bmN0aW9ucyB0aHJvdWdoIHRoZQoJICBwbGF0Zm9ybSBzcGVjaWZpYyB7Z2xYLGVnbH1HZXRQcm9jQWRkcmVzcyByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdAoJICBHTCBsaWJyYXJ5IHN5bWJvbCBsb29rdXAuCgoyMDE1LTA3LTE4IDE3OjE5OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdsY29udGV4dDogZml4IGdldF9jdXJyZW50X2dsX2FwaSBvbiB4MTEvbnZpZGlhIGRyaXZlcnMKCSAgVGhleSByZXF1aXJlIHRvIGdldF9wcm9jX2FkZHJlc3Mgc29tZSBmdW5jdGlvbnMgdGhyb3VnaCB0aGUKCSAgcGxhdGZvcm0gc3BlY2lmaWMge2dsWCxlZ2x9R2V0UHJvY0FkZHJlc3MgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQKCSAgR0wgbGlicmFyeSBzeW1ib2wgbG9va3VwLgoKMjAxNS0wNy0xNyAxNjowMDowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnc3RnbHdpZGdldDogQ2xlYW51cCB1bnVzZWQgcHJpdmF0ZSBtZW1iZXIKCSAgbmV3X2J1ZmZlciBoYXMgYmVlbiBtb3ZlZCB0byBiYXNlIGNsYXNzLiBBbHNvIGNsZWFudXAKCSAgdGhlIHByb3BlcnRpZXMgY29tbWVudCwgd2hpY2ggYXJlIGFsc28gYWxsIG1vdmVkIGludG8KCSAgdGhlIGJhc2UgY2xhc3MuCgoyMDE1LTA3LTE3IDE1OjU3OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6ICJ3aWRnZXQiIG11c3QgYmUgYWNjZXNzIGZyb20gbWFpbiB0aHJlYWQKCSAgRG9jdW1lbnQgdGhhdCAid2lkZ2V0IiBwcm9wZXJ0eSBtdXN0IGJlIGFjY2Vzc2VkIGZyb20gdGhlCgkgIG1haW4gdGhyZWFkICh3aGVyZSBHVEsgaXMgcnVubmluZykuIFRoaXMgaXMgdGhlIHNhbWUgZm9yCgkgIHN0YXRlIHRyYW5zaXRpb24gb24gdGhlc2UgZWxlbWVudHMuIEl0IGlzIHZlcnkgbmF0dXJhbCB0bwoJICBkbyBzbyB1biBHVEsgYXBwbGljYXRpb25zLgoKMjAxNS0wNy0xNyAxNTowODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IERvbid0IGxlYWsgdmVydGV4IGFycmF5IGFuZCBidWZmZXJzCgkgIFRoaXMgaXMgbm93IHBvc3NpYmxlIHNpbmNlIHJlc2V0IGlzIGFsd2F5cyBjYWxsZWQgZnJvbSB0aGUKCSAgbWFpbiB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTcgMTQ6MzY6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrZ3N0YmFzZXdpZGdldDogRml4IGJsYWNrIGZyYW1lIG9uIHJlc2l6ZQoJICBUaGlzIGlzIHNvbHZlZCBieSBvbmx5IGFwcGx5aW5nIHRoZSBuZXcgZm9ybWF0IHdoZW4gdGhlIG5leHQKCSAgYnVmZmVyIGlzIHRvIGJlIHJlbmRlcmVkIGFuZCBvbiB0aGUgR1RLIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNyAxMzowNTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0a2dzdGJhc2V3aWRnZXQ6IFBhc3MgYWxyZWFkeSBwYXJzZWQgVmlkZW9JbmZvCgkgIEFzIHRoZSBiYXNlIHNpbmsgYWxyZWFkeSBwYXJzZSB0aGUgY2FwcyBpbnRvIFZpZGVvSW5mbyBpdAoJICBtYWtlcyBzZW5zZSB0byBwYXNzIGluIFZpZGVvSW5mbyB0byB0aGUgd2lkZ2V0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6NDk6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkgIGd0a2dsc2luazogUG9ydCB0byBHc3RHdGtCYXNlU2luayBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6MDA6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSAgZ3Rrc2luazogUG9ydCB0byBHc3RHdGtCYXNlU2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE1OjU5OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSAgZ3RrYmFzZXNpbms6IENyZWF0ZSBhIGJhc2UgY2xhc3MKCSAgVGhpcyBjb250YWlucyBhbGwgdGhlIGNvbW1vbiBjb2RlIGJldHdlZW4gdGhlIGd0a2dsc2luayBhbmQKCSAgZ3Rrc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNDozMDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0Lmg6CgkgIGd0a2dsc2luazogUG9ydCB0byBHdGtHc3RCYXNlV2lkZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTI6NTU6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuaDoKCSAgZ3Rrc2luazogUG9ydCB0byBHdGtHc3RCYXNlV2lkZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTI6NTE6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrOiBBZGQgR3RrR3N0QmFzZVdpZGdldAoJICBUaGlzIGlzIGEgInBzZXVkbyIgYmFzZSBjbGFzcy4gQmFzaWNhbGx5IGl0J3MgYSBzaGFyZWQgaW5zdGFuY2UKCSAgYW5kIGNsYXNzIHN0cnVjdHVyZSBhbmQgYSBzaGFyZWQgc2V0IG9mIGZ1bmN0aW9uIGJldHdlZW4gdGhlCgkgIHR3byB3aWRnZXQuIEl0IGNhbm5vdCBoYXZlIGl0J3Mgb3duIHR5cGUgbGlrZSBub3JtYWwgYmFzZSBjbGFzcwoJICBzaW5jZSB0aGUgb25lIGluc3RhbmNlIHdpbGwgaW1wbGVtZW50IEd0a0dMQXJlYSB3aGlsZSB0aGUgb3RoZXIKCSAgaW1wbGVtZW50cyBHdGtEcmF3aW5nQXJlYXkuIFRvIHdvcmthcm91bmQgdGhpcywgdGhlIHBhcmVudCBpbnN0YW5jZQoJICBhbmQgY2xhc3MgaXMgYSB1bmlvbiBvZiBib3RoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE1IDE3OjM1OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dzdGdsd2lkZ2V0OiBSZW1vdmUgdW51c2VkIGdsX2NhcHMKCjIwMTUtMDctMTUgMTY6NTY6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGtzaW5rOiBDcmVhdGUgYSB3aW5kb3cgaWYgdGhlIHdpZGdldCBpcyB1bnBhcmVudGVkCgkgIFRoZSBzYW1lIHdheSBhcyBpdCdzIG5vdyBkb25lIHdpdGggdGhlIGd0a2dsc2luaywgY3JlYXRlIGEgdG9wCgkgIGxldmVsIHdpbmRvdyBpZiB0aGUgd2lkZ2V0IGlzIG5vdCBwYXJlbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNSAxNDozNTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0a3Npbms6IEVuc3VyZSB0aGUgY29weSBwYXN0ZWQgY29kZSByZW1haW5zIHRoZSBzYW1lCgkgIE1vdmUgYmFjayB0aGUgZGVmYXVsdCBwcm9wZXJ0eSBhdCB0aGUgc2FtZSBwbGFjZSB0aGV5IGFyZSBpbiB0aGUKCSAgb3RoZXIgc2luay4gVGhpcyBoZWxwcyB3aGVuIHVzaW5nIGEgZGlmZiB2aWV3ZXIgdG8gc3luY2hyb25pemVkCgkgIHRoaXMgdW5mb3J0dW5hdGUgY29weSBwYXN0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNSAxNDozMjo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBGaXggcmFjZSBiZXR3ZWVuIHF1ZXVlX2RyYXcgYW5kIGRlc3Ryb3kKCSAgSW4gR1RLIGRpc3Bvc2UgY2FuIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGxhc3QgcmVmIGlzIHJlYWNoZWQuIFRoaXMKCSAgaGFwcGVucyB3aGVuIHlvdSBjbG9zZSB0aGUgY29udGFpbmVyIHdpbmRvdy4gVGhlIGRpc3Bvc2Ugd2lsbCBiZQoJICBleHBsaWNpdGx5IGNhbGxlZCwgYW5kIGRlc3Ryb3llZCBub3RpZnkgd2lsbCBiZSBmaXJlZC4gVGhpcyBwYXRjaAoJICBmaXhlcyB0aGlzIHJhY2UgYnkgcHJvcGVybHkgdHJhY2tpbmcgdGhlIHdpZGdldCBzdGF0ZS4KCSAgSW4gdGhlIHNpbmssIHdlIG5vdyBzZXQgdGhlIHdpZGdldCBwb2ludGVyIHRvIE5VTEwsIHNvIHRoZSB3aWRnZXQKCSAgd2lsbCBwcm9wZXJseSBnZXQgY3JlYXRlZCBhZ2FpbiBpZiB5b3Ugc2V0IHlvdXIgcGlwZWxpbmUgdG8gTlVMTAoJICBzdGF0ZSBhZnRlciB0aGUgd2lkZ2V0IHdhcyBkZXN0cm95LCBhbmQgc2V0IGl0IGJhY2sgdG8gUExBWUlORy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNiAxNToxMjoxNyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IGhhbmRsZSBkaWZmZXJlbnQgc3NyYydzIG9uIHNpbmtwYWRzCgkgIERvIHRoaXMgYnkgbm90IHB1dHRpbmcgdGhlIHNzcmMgZnJvbSB0aGUgc3JjIHBhZHMgaW4gdGhlIGNhcHMgdXNlZCB0bwoJICBwcm9iZSBvdGhlciBzaW5rcGFkcywgYW5kIHRoZW4gIGludGVyc2VjdGluZyB3aXRoIGl0IGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDkxCgoyMDE1LTA3LTE2IDE3OjE5OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBVcGRhdGUgbWFpbGluZyBsaXN0IGFkZHJlc3MgZnJvbSBzb3VyY2Vmb3JnZSB0byBmcmVlZGVza3RvcAoKMjAxNS0wNy0xNSAxMzo0NDo1MiArMDMwMCAgRGltaXRyaW9zIENocmlzdGlkaXMgPGRjaHJpc3RpZGlzQG15a29sYWIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCB0cmFpbGluZyAnKicgZGlzcGxheWVkIHdpdGggc29tZSB0ZXh0IHN1YnRpdGxlcwoJICBUaGUgc3VidGl0bGUgYnVmZmVyIHdlIHB1c2ggb3V0IHNob3VsZCBub3QgaW5jbHVkZSBhIE5VTCB0ZXJtaW5hdG9yCgkgIGFzIHBhcnQgb2YgdGhlIGRhdGEsIHdlIGp1c3QgYWRkIHN1Y2ggYSB0ZXJtaW5hdG9yIGZvciBzYWZldHksIGJ1dAoJICBpdCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBidWZmZXIgc2l6ZS4KCSAgQSBOVUwgdGVybWluYXRvciBpcyBub3QgdmFsaWQgVVRGLTgsIHNvIGNoZWNrcyB3aWxsIGZhaWwgaWYgaXQncwoJICBpbmNsdWRlZCBpbiB0aGUgc2l6ZSwgYW5kIHRoZSBOVUwgd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgZmFsbGJhY2sKCSAgY2hhcmFjdGVyIHNwZWNpZmllZCB3aGVuIGNvbnZlcnRpbmcsIGkuZS4gJyonLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDIxCgoyMDE1LTA3LTE1IDE4OjIzOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogYWRkIHByb3BlcnRpZXMgdG8gR3N0RGV2aWNlCgkgIEFkZCB0aGUgZXh0cmEgcHJvcGVydGllcyB3ZSBnZXQgZnJvbSBwdWxzZSB0byB0aGUgR3N0RGV2aWNlIHdlIGV4cG9zZQoJICB3aXRoIHRoZSBkZXZpY2UgbW9uaXRvcgoKMjAxNS0wNy0xNSAxMTo0Nzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrZ3N0d2lkZ2V0OiBBZGQgbWlzc2luZyBicmVhayBpbiBnZXRfcHJvcGVydHkKCjIwMTUtMDctMTUgMTE6NDQ6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJICBndGtzaW5rczogUmVtb3ZlIHVuZGVmaW5lZCBwcml2YXRlIHN0cnVjdHVyZQoJICBUaGUgY2xhc3NlcyBjb250YWlucyBhIHByaXZhdGUgc3RydWN0dXJlIHdoaWNoIGFyZSBub3QgZGVmaW5lZCwKCSAgaGVuY2UgdW51c2VkLgoKMjAxNS0wNy0xNSAxNzoyMDoyMCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb2Z4OiBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lcwoJICBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lcyBvZiBhdWRpb3dzaW5jYmFuZCBhbmQgYXVkaW9pbnZlcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTYKCjIwMTUtMDQtMTUgMTg6Mjc6MDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGFkZCBhICJmb3JtYXQtbG9jYXRpb24iIHNpZ25hbCB0aGF0IGFsbG93cyBiZXR0ZXIgY29udHJvbCBvdmVyIGZpbGVuYW1lcwoJICBJbiBjZXJ0YWluIGFwcGxpY2F0aW9ucywgc3BsaXR0aW5nIGludG8gZmlsZXMgbmFtZWQgYWZ0ZXIgYSBiYXNlCgkgIGxvY2F0aW9uIHRlbXBsYXRlIGFuZCBhbiBpbmNyZW1lbnRhbCBzZXF1ZW5jZSBudW1iZXIgaXMgbm90IGVub3VnaC4KCSAgVGhpcyBzaWduYWwgZ2l2ZXMgbW9yZSBmaW5lLWdyYWluZWQgY29udHJvbCB0byB0aGUgYXBwbGljYXRpb24gdG8KCSAgZGVjaWRlIGhvdyB0byBuYW1lIHRoZSBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwNgoKMjAxNS0wNC0xNSAyMDoxMzoyNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW9zcmM6IG5vIHJlc2FtcGxpbmcgb24gT1MgWAoJICBVbmxpa2UgUmVtb3RlIElPLCBBVUhBTCBkb2Vzbid0IGhhdmUgYnVpbHQtaW4gcmVzYW1wbGluZwoJICBmb3Igc291cmNlcyAtLSBjb25maXJtZWQgYnkgQ29yZSBBdWRpbyBlbmdpbmVlciBEb3VnIFd5YXR0OgoJICBodHRwOi8vbGlzdHMuYXBwbGUuY29tL2FyY2hpdmVzL2NvcmVhdWRpby1hcGkvMjAwNi9TZXAvbXNnMDAwODguaHRtbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTA0LTE1IDE4OjI5OjE0ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpb3NyYzogYXZvaWQgZ2V0X2NoYW5uZWxfbGF5b3V0CgkgIFRoaXMgb25seSBwcm9kdWNlcyBhIHdhcm5pbmcgYW5kIHNlcnZlcyBubyBwdXJwb3NlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTA0LTA3IDE1OjQwOjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IEF2b2lkIG1ha2luZyBhIGR1cGxpY2F0ZSBzdHJ1Y3R1cmUgaW4gY2FwcyBmb3IgbW9uby9zdGVyZW8gY2FzZQoJICBGb3IgMWNoIG9yIDJjaCBkZXZpY2VzLCB3ZSBqdXN0IG5lZWQgdG8gc2V0IHRoZSBjYXBzIHRvIGFsbG93IGJvdGgKCSAgb3B0aW9ucyBzaW5jZSBDb3JlQXVkaW8gd2lsbCB1cC9kb3dubWl4IGFwcHJvcHJpYXRlbHkuCgkgIEFsc28gZml4ZXMgdGhlIGNvbmRpdGlvbiBmb3IgdGhlIDJjaCBjYXNlIHRvIGJlIGV4YWN0LCByYXRoZXIgdGhhbiBhdAoJICBsZWFzdCAyIGNoYW5uZWxzIHNpbmNlIHRoZSBkb3dubWl4IHdpbGwgbm90IHRha2UgcGxhY2UgaW4gdGhlID5zdGVyZW8KCSAgY2FzZS4KCjIwMTUtMDQtMDYgMTY6MjI6MzQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBEb24ndCBzZXQgdGhlIGZvcm1hdCBvbiBhbiBpbml0aWFsaXplZCBBdWRpb1VuaXQKCSAgV2UgbmVlZCB0byBpbml0aWFsaXplIHRoZSBBdWRpb1VuaXQgZWFybHkgdG8gYmUgYWJsZSB0byBwcm9iZSB0aGUKCSAgdW5kZXJseWluZyBkZXZpY2UsIGJ1dCBhY2NvcmRpbmcgdG8gdGhlIEF1ZGlvVW5pdEluaXRpYWxpemUoKSBhbmQKCSAgQXVkaW9Vbml0VW5pbml0aWFsaXplKCkgZG9jdW1lbnRhdGlvbiwgZm9ybWF0IGNoYW5nZXMgc2hvdWxkIGJlIGRvbmUKCSAgd2hpbGUgdGhlIEF1ZGlvVW5pdCBpcyB1bmluaXRpYWxpemVkLiBTbyB3ZSBleHBsaWNpdGx5IHVuaW5pdGlhbGl6ZSB0aGUKCSAgQXVkaW9Vbml0IGR1cmluZyBhIGZvcm1hdCBjaGFuZ2UgYW5kIHJlaW5pdGlhbGl6ZSBpdCB3aGVuIHdlJ3JlIGRvbmUuCgoyMDE1LTA0LTA2IDE1OjU1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBNaW5vciBzcGVsbGluZyBmaXggKHVuaXRpYWxpemUgLT4gdW5pbml0aWFsaXplKQoKMjAxNS0wMy0yMSAyMDozNDoyNSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogRml4IGxvY2t1cCBpbiBfYXVkaW9fdW5pdF9wcm9wZXJ0eV9saXN0ZW5lcgoJICBfYXVkaW9fdW5pdF9wcm9wZXJ0eV9saXN0ZW5lciBpcyBjYWxsZWQgZWl0aGVyIGZyb20gYSBDb3JlIEF1ZGlvIHRocmVhZAoJICBvciBhcyBhIHJlc3VsdCBvZiBhIENvcmUgQXVkaW8gQVBJIChlLmcuIEF1ZGlvVW5pdEluaXRpYWxpemUpCgkgIGZyb20gb3VyIG93biB0aHJlYWQuIEluIHRoZSBsYXR0ZXIgY2FzZSwgb3N4YnVmIGNhbiBiZSBhbHJlYWR5IGxvY2tlZAoJICAoR1N0cmVhbWVyJ3MgbXV0ZXggaXMgbm90IHJlY3Vyc2l2ZSkuCgkgIFdlIGludHJvZHVjZSB0aGUgZmxhZyBjYWNoZWRfY2Fwc192YWxpZCBhbmQgdXNlIGl0IGluc3RlYWQgb2YgbnVsbGlmeWluZwoJICBjYWNoZWRfY2FwcyB3aGVuIHdlIGNhbm5vdCBsb2NrIG9uIG9zeGJ1Zi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wMy0xMiAxMjoxNToxMiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IEludmFsaWRhdGUgY2FjaGVkIGNhcHMgb24gZm9ybWF0IGNoYW5nZQoJICBMaXN0ZW4gZm9yIGNoYW5nZXMgaW4gaGFyZHdhcmUgc3RyZWFtIGZvcm1hdCBhbmQgY2hhbm5lbCBsYXlvdXQsIGFuZAoJICBpbnZhbGlkYXRlIGNhY2hlZCBjYXBzIChzaW5jZSB0aGV5IGNvbnRhaW4gdGhlIHByZWZlcnJlZCBjYXBzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wMy0wOSAyMzozNDowNiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogT3ZlcmhhdWwgb2YgcHJvYmluZyBjYXBzCgkgIC0gUHJvYmluZyBjYXBzIGlzIHVuaWZpZWQgYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsKCSAgLSBIYXJkd2FyZSBzdHJlYW0gZm9ybWF0IGlzIG5vdyByZXBvcnRlZCBhcyBwcmVmZXJyZWQgY2FwYWJpbGl0aWVzCgkgIChkeW5hbWljYWxseSB1cGRhdGVkIHdoZW4gaGFyZHdhcmUgY29uZmlndXJhdGlvbiBjaGFuZ2VzKQoJICAtIEdldCBoYXJkd2FyZSBjaGFubmVsIGxheW91dCBmcm9tIFJlbW90ZSBJTyBqdXN0IGxpa2UgZnJvbSBIQUwKCSAgLSBNb3JlIGNvbXByZWhlbnNpdmUgbWFwcGluZyBiZXR3ZWVuIEF1ZGlvQ2hhbm5lbExhYmVsIGFuZAoJICBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbgoJICAtIFN1cHBvcnQgZm9yIHVucG9zaXRpb25lZCBjaGFubmVsIGxheW91dHMKCSAgLSBBbm5vdW5jZSBzdGVyZW8tbW9ubyB1cG1peGluZy9kb3dubWl4aW5nIGluIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzc1OAoKMjAxNS0wMy0wOSAyMzoxNTo1NiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSAgb3N4YXVkaW86IEF1ZGlvVW5pdEluaXRpYWxpemUgb24gb3BlbgoJICBDYWxsIEF1ZGlvVW5pdEluaXRpYWxpemUgdXBvbiBvcGVuLiBPdGhlcndpc2UsIHdlIGNhbm5vdCBnZXQKCSAgKGhhcmR3YXJlKSBzdHJlYW0gZm9ybWF0IG5vciBjaGFubmVsIGxheW91dCBmcm9tIHRoZSBvdXRlciBzY29wZS4KCjIwMTUtMDctMTIgMTQ6Mjc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cDogZGVwYXlsb2FkZXJzOiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0CgkgIG5lZWQgdG8gbWFwIHRoZSBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZQoJICB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMgYWxyZWFkeSBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgoyMDE1LTA1LTI3IDE5OjE5OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0CgkgIG5lZWQgdG8gbWFwIHRoZSBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZQoJICB0aGUgbWFwIHRoZSBiYXNlIGNsYXNzIGhhcyBhbHJlYWR5IGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCjIwMTUtMDctMTAgMTQ6MDE6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBjb25maWd1cmUvcXQ6IEZpeCBidWlsZCB3aXRob3V0IFF0NVgxMUV4dHJhcwoKMjAxNS0wNy0wNiAyMzoxMDo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0Ly5naXRpZ25vcmU6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHBsdWdpbi5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNpbmsuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5xbWw6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9wbGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL3FtbC5xcmM6CgkgIG5ldyBxdDUgcW1sIEdMIHZpZGVvIHNpbmsKCSAgVmVyeSBtdWNoIGluIHRoZSBzYW1lIHNwaXJpdCBhcyB0aGUgR3RrIEdMIHNpbmsKCSAgVHdvIHRoaW5ncyBhcmUgcHJvdmlkZWQKCSAgMS4gQSBRUXVpY2tJdGVtIHN1YmNsYXNzIHRoYXQgcmVuZGVycyBvdXQgUkdCQSBmaWxsZWQgR3N0R0xNZW1vcnkKCSAgYnVmZmVycyB0aGF0IGlzIGluc3RhbnRpYXRlZCBmcm9tIHFtbC4KCSAgMi4gQSBzaW5rIGVsZW1lbnQgdGhhdCB3aWxsIHB1c2ggYnVmZmVycyBpbnRvICgxKQoJICBUbyB1c2UKCSAgMS4gRGVjbGFyZSB0aGUgR3N0R0xWaWRlb0l0ZW0gaW4gcW1sIHdpdGggYW4gYXBwcm9wcmlhdGUKCSAgb2JqZWN0TmFtZSBwcm9wZXJ0eSBzZXQuCgkgIDIuIEdldCB0aGUgYWZvcmVtZW50aW9uZWQgR3N0R0xWaWRlb0l0ZW0gZnJvbSBxbWwgdXNpbmcgc29tZXRoaW5nIGxpa2UKCSAgUVFtbEFwcGxpY2F0aW9uRW5naW5lIGVuZ2luZTsKCSAgZW5naW5lLmxvYWQoUVVybChRU3RyaW5nTGl0ZXJhbCgicXJjOi9tYWluLnFtbCIpKSk7CgkgIFFPYmplY3QgKnJvb3RPYmplY3QgPSBlbmdpbmUucm9vdE9iamVjdHMoKS5maXJzdCgpOwoJICBRUXVpY2tJdGVtICp2aWRlb0l0ZW0gPSByb290T2JqZWN0LT5maW5kQ2hpbGQ8UVF1aWNrSXRlbSAqPiAoInZpZGVvSXRlbSIpOwoJICAzLiBTZXQgdGhlIHZpZGVvSXRlbSBvbiB0aGUgc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTg1CgoyMDE1LTA3LTEwIDAwOjEzOjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGluZGVudGlvbgoKMjAxNS0wNy0wOSAyMzo1OToxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFsd2F5cyBlc3RpbWF0ZSBEVFMgZnJvbSB0aGUgY3VycmVudCBjbG9jayB0aW1lCgkgIEVzdGltYXRpbmcgaXQgZnJvbSB0aGUgUlRQIHRpbWUgd2lsbCBnaXZlIHVzIHRoZSBQVFMsIHNvIGluIGNhc2VzIG9mIFBUUyE9RFRTCgkgIHdlIHdvdWxkIHByb2R1Y2Ugd3JvbmcgRFRTLiBBcyBub3cgdGhlIGVzdGltYXRlZCBEVFMgaXMgYmFzZWQgb24gdGhlIGNsb2NrLAoJICBkb24ndCBzdG9yZSBpdCBpbiB0aGUgaml0dGVyYnVmZmVyIGl0ZW1zIGFzIGl0IHdvdWxkIG90aGVyd2lzZSBiZSB1c2VkIGluIHRoZQoJICBza2V3IGNhbGN1bGF0aW9ucyBhbmQgd291bGQgaW5mbHVlbmNlIHRoZSByZXN1bHRzLiBXZSBvbmx5IHJlYWxseSBuZWVkIHRoZSBEVFMKCSAgZm9yIHRpbWVyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOSAwOToyNjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgcnRwaDI2MyB0ZXN0CgoyMDE1LTA3LTA5IDEzOjAzOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogYWRkIHRvIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0CgoyMDE1LTA2LTE3IDA5OjM2OjU3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBHc3RHdGtHTFNpbms6IEVuc3VyZSB3aWRnZXQgaGFzIGEgdG9wbGV2ZWwgcGFyZW50CgkgIENoZWNraW5nIGZvciBhIHBhcmVudCBpcyBub3QgZW5vdWdoLCBpdCBtdXN0IGhhdmUgYSB0b3BsZXZlbCBvbmUuCgkgIElmIHdpZGdldCBoYXMgbm8gdG9wbGV2ZWwgcGFyZW50IHRoZW4gYWRkIGl0IGluIGEgR3RrV2luZG93LCB0aGF0CgkgIG1ha2UgaXQgdXNhYmxlIGZyb20gZ3N0LWxhdW5jaC0xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDYtMTcgMDk6MzY6NDAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkgIEdzdEd0a0dMU2luazogUG9zdCBlcnJvciBpZiB3aWRnZXQgZ2V0cyBkZXN0cm95ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNi0xNiAxNjoyMToyNiAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgR3N0R3RrR0xTaW5rOiBmaXggcG9zc2libGUgd2FybmluZyBpbiBmaW5hbGl6ZQoJICBJZiB0aGUgZWxlbWVudCBpcyBmaW5hbGl6ZWQgYmVmb3JlIGdvaW5nIGluIFJFQURZIHN0YXRlCgkgIHRoZSB3aWRnZXQgY291bGQgc3RpbGwgYmUgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0wOCAyMzo0Nzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGJ1aWxkIGVycm9yIHdpdGggZ2NjIChEZWJpYW4gNC45LjItMjEpIDQuOS4yCgkgIFJlcGxhY2Ugc3RhdGljIGNvbnN0YW50cyB3aXRoIG1hY3JvcyB0byBtYWtlIGdjYyBoYXBweQoJICBDQyAgICAgICBlbGVtZW50cy9lbGVtZW50c19ydHBqaXR0ZXJidWZmZXItcnRwaml0dGVyYnVmZmVyLm8KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6Mzg3OjE6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBzdGF0aWMgY29uc3QgR3N0Q2xvY2tUaW1lIFBDTVVfQlVGX0RVUkFUSU9OID0gUENNVV9CVUZfTVMgKiBHU1RfTVNFQ09ORDsKCSAgXgoJICBlbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzozODg6MTogZXJyb3I6IGluaXRpYWxpemVyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50CgkgIHN0YXRpYyBjb25zdCBndWludCBQQ01VX0JVRl9TSVpFID0gNjQwMDAgKiBQQ01VX0JVRl9NUyAvIDEwMDA7CgkgIF4KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6MzkwOjU6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBQQ01VX0JVRl9DTE9DS19SQVRFICogUENNVV9CVUZfTVMgLyAxMDAwOwoKMjAxNS0wNy0wOCAyMzo0MDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcnVuIGluZGVudCBhbmQgZml4IHNvbWUgY29tbWVudHMKCSAgRml4IGluZGVudCBvbiB0aGlzIGZpbGUgYW5kIGJyZWFrIHNvbWUgY29tbWVudCBsaW5lcyBpbnRvIHR3byB0byBtYWtlCgkgIGl0IGZpdCA4MCBjaGFycyBwZXIgbGluZQoKMjAxNS0wNy0wOCAxNTowMjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJld29yayBzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGZvciBhZGFwdGl2ZSBzdHJlYW1pbmcKCSAgV2hlbiBhIG5ldyB0aW1lIHNlZ21lbnQgaXMgcmVjZWl2ZWQgdXBzdHJlYW0gaXMgZ29pbmcgdG8gcmVzdGFydAoJICB3aXRoIGEgbmV3IGF0b20uIE1ha2UgdGhlIG5lZWRlZGJ5dGVzIGFuZCB0b2Ryb3AgdmFyaWFibGVzCgkgIHJlZmxlY3QgdGhhdCB0byBhdm9pZCB3YWl0aW5nIHRvbyBtdWNoIG9yIGRyb3BwaW5nIHRoZQoJICBpbml0aWFsIGJ5dGVzIHRoYXQgY29udGFpbiB0aGUgaGVhZGVyLgoKMjAxNS0wNy0wOCAxMjozNTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggZGF0YSBmcm9tIGFkYXB0ZXIgYmVmb3JlIHN0YXJ0aW5nIG5ldyBzZWdtZW50CgkgIFRoZSBhZGFwdGVyIG1pZ2h0IGhhdmUgZGF0YSByZW1haW5pbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VnbWVudCwKCSAgcHVzaCBpdCBhbGwgYmVmb3JlIGNsZWFyaW5nIHRoZSBhZGFwdGVyIGFuZCBzdGFydGluZyBhIG5ldyBzZWdtZW50LgoJICBJdCBjYW4gYWNjdW11bGF0ZSBkYXRhIGlmIGl0IGhhZCBwdXNoZWQgYW5kIGdvdCBub3QtbGlua2VkLCByZXR1cm5pbmcKCSAgaW1tZWRpYXRlbHkgd2l0aG91dCBwcm9jZXNzaW5nIGFsbCB0aGUgZGF0YS4gQmVmb3JlIHN0YXJ0aW5nIGEgbmV3CgkgIHNlZ21lbnQgdGhpcyBkYXRhIHNob3VsZCBiZSBoYW5kbGVkLgoKMjAxNS0wNy0wOCAxOTo1OToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENhbGN1bGF0ZSBEVFMgZnJvbSB0aGUgY2xvY2sgaWYgd2UgaGFkIG5vbmUgZm9yIHRoZSBmaXJzdCBwYWNrZXQgYWZ0ZXIgYSByZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA4IDIxOjA4OjM2ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGdhcC10aW1lIGNhbGN1bGF0aW9uIGFuZCByZW1vdmUgImxhdGUiCgkgIFRoZSBhbW91bnQgb2YgdGltZSB0aGF0IGlzIGNvbXBsZXRlbHkgZXhwaXJlZCBhbmQgbm90IHdvcnRoIHdhaXRpbmcgZm9yLAoJICBpcyB0aGUgZHVyYXRpb24gb2YgdGhlIHBhY2tldHMgaW4gdGhlIGdhcCAoZ2FwICogZHVyYXRpb24pIC0gdGhlCgkgIGxhdGVuY3kgKHNpemUpIG9mIHRoZSBqaXR0ZXJidWZmZXIgKHByaXYtPmxhdGVuY3lfbnMpLiBUaGlzIGlzIHRoZSBkdXJhdGlvbgoJICB0aGF0IHdlIG1ha2UgYSAibXVsdGktbG9zdCIgcGFja2V0IGZvci4KCSAgVGhlICJsYXRlIiBjb25jZXB0IG1hZGUgc29tZSBzZW5zZSBpbiAwLjEwIGFzIGl0IHJlZmxlY3RlZCB0aGF0IGEgYnVmZmVyCgkgIGNvbWluZyBpbiBoYWQgbm90IGJlZW4gd2FpdGVkIGZvciBhdCBhbGwsIGJ1dCBoYWQgYSB0aW1lc3RhbXAgdGhhdCB3YXMKCSAgb3V0c2lkZSB0aGUgaml0dGVyYnVmZmVyIHRvIHdhaXQgZm9yLiBXaXRoIHRoZSByZXdyaXRlIG9mIHRoZSB3YWl0aW5nCgkgICh0aW1lb3V0KSBtZWNoYW5pc20gaW4gMS4wLCB0aGlzIG5vIGxvbmdlciBtYWtlcyBhbnkgc2Vuc2UsIGFuZCB0aGUKCSAgdmFyaWFibGUgbm8gbG9uZ2VyIHJlZmxlY3RzIGFueXRoaW5nIG1lYW5pbmdmdWwgKG51bSA+IDAgaXMgdXNlbGVzcywKCSAgdGhlIGR1cmF0aW9uIGlzIHdoYXQgbWF0dGVycykKCSAgRml4ZWQgdXAgdGhlIHRlc3RzIHRoYXQgaGFkIGJlZW4gc2xpZ2h0bHkgbW9kaWZpZWQgaW4gMS4wIHRvIGFsbG93IGZhdWx0eQoJICBiZWhhdmlvciB0byBzbmVhayBpbiwgYW5kIHBvcnQgc29tZSBvZiB0aGVtIHRvIHVzZSBHc3RIYXJuZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzYzCgoyMDE1LTA2LTMwIDExOjIxOjMxICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogRml4IGV4cGVjdGVkX2R0cyBjYWxjIGluIGNhbGN1bGF0ZV9leHBlY3RlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNWJkNzA4ZmM1ZTg4MTM5MGZlODM5ODAzYjUzMTQ0MzkzZDk1YWIwLgoJICBUaGUgcmV2ZXJ0ZWQgcGF0Y2ggaXMgd3JvbmcgYW5kIGludHJvZHVjZXMgYSByZWdyZXNzaW9uIGJlY2F1c2UgdGhlcmUKCSAgbWF5IHN0aWxsIGJlIHRpbWUgdG8gcmVjZWl2ZSBzb21lIG9mIHRoZSBwYWNrZXRzIGluY2x1ZGVkIGluIHRoZSBnYXAKCSAgaWYgdGhleSBhcmUgcmVvcmRlcmVkLgoKMjAxNS0wNy0wNyAyMzo1MzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZsdXNoIHNhbXBsZXMgYmVmb3JlIGFkZGluZyBtb3JlIGZyb20gbW9vZgoJICBBdm9pZHMgYWNjdW11bGF0aW5nIGFsbCBzYW1wbGVzIGZyb20gYSBmcmFnbWVudGVkIHN0cmVhbSB0aGF0IGNvdWxkCgkgIGxlYWQgdG8gYSAnaW5kZXgtdG9vLWJpZycgZXJyb3Igb25jZSBpdCBnb2VzIG92ZXIgNTBNQiBvZiBkYXRhLiBJdAoJICBjb3VsZCByZWFjaCB0aGF0IGJlZm9yZSAyaCBvZiBwbGF5YmFjayBzbyBpdCBkb2Vzbid0IHRha2UgdGhhdCBsb25nLgoJICBBcyB1cHN0cmVhbSBlbGVtZW50cyBhcmUgcHJvdmlkaW5nIGRhdGEgaW4gdGltZSBmb3JtYXQgdGhleSBzaG91bGQKCSAgYmUgdGhlIG9uZXMgdGhhdCBoYXZlIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZ1bGwgbWVkaWEgaW5kZXgKCSAgYW5kIHNob3VsZCBiZSBhYmxlIHRvIHNlZWsgaWYgcG9zc2libGUuCgoyMDE1LTA3LTA3IDIzOjU2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlbmFtZSB1cHN0cmVhbV9uZXdzZWdtZW50IHRvIHVwc3RyZWFtX2Zvcm1hdF9pc190aW1lCgkgIHVwc3RyZWFtX25ld3NlZ21lbnQgaXNuJ3QgcmVhbGx5IGNsZWFyIG9uIHdoYXQgaXQgbWVhbnMsIGl0IGlzIHNldAoJICB0byBUUlVFIHdoZW4gdGhlIHVwc3RyZWFtIGVsZW1lbnQgc2VuZHMgYSBzZWdtZW50IGluIFRJTUUgZm9ybWF0LCBzbwoJICByZW5hbWUgaXQgdG8gYmUgbW9yZSBjbGVhciBhYm91dCBpdC4KCSAgSXQgaXMgaW1wb3J0YW50IHRvIGtub3cgdGhpcyBiZWNhdXNlIGl0IG1lYW5zIHRoYXQgdXBzdHJlYW0gaGFzCgkgIGEgbm90aW9uIG9mIHRpbWUgYW5kIHF0ZGVtdXggaXMgbGlrZWx5IGJlaW5nIGRyaXZlbiBieSBhbiB1cHN0cmVhbQoJICBlbGVtZW50IHRoYXQgaXMgcmVhZGluZyBmcm9tIGEgaGlnaGVyIGxldmVsIGFic3RyYWN0aW9uIHRoYW4gYSBmaWxlLAoJICBzdWNoIGFzIGEgREFTSCwgTVNTIG9yIERMTkEgZWxlbWVudC4KCjIwMTUtMDctMDcgMjE6MzE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbGVhayBieSBmbHVzaGluZyBwcmV2aW91cyBzYW1wbGUgaW5mbyBmcm9tIHRyYWsKCSAgSW4gZnJhZ21lbnRlZCBzdHJlYW1pbmcsIG11bHRpcGxlIG1vb3YvbW9vZiB3aWxsIGJlIHBhcnNlZCBhbmQgdGhlaXIKCSAgcHJldmlvdXNseSBzdG9yZWQgc2FtcGxlcyBhcnJheSBtaWdodCBsZWFrIHdoZW4gbmV3IHZhbHVlcyBhcmUgcGFyc2VkLgoJICBUaGUgcGFyc2VfdHJhayBhbmQgY2FsbGVlcyB3b24ndCBmcmVlIHRoZSBwcmV2aW91c2x5IHN0b3JlZCB2YWx1ZXMKCSAgYmVmb3JlIHBhcnNpbmcgdGhlIG5ldyBvbmVzLgoJICBJbiBzdGVwLWJ5LXN0ZXAsIHRoaXMgaXMgd2hhdCBoYXBwZW5zOgoJICAxKSBpbml0aWFsIG1vb3YgaXMgcGFyc2VkLCB0cmFrcyBhcyB3ZWxsLCBzdHJlYW1zIGFyZSBjcmVhdGVkLiBUaGUKCSAgdHJhayBkb2Vzbid0IGNvbnRhaW4gc2FtcGxlcyBiZWNhdXNlIHRoZXkgYXJlIGluIHRoZSBtb29mJ3MgdHJ1bgoJICBib3hlcy4gbl9zYW1wbGVzIGlzIHNldCB0byAwIHdoaWxlIHBhcnNpbmcgdGhlIHRyYWsgYW5kIHRoZSBzYW1wbGVzCgkgIGFycmF5IGlzIHN0aWxsIE5VTEwuCgkgIDIpIG1vb2ZzIGFyZSBwYXJzZWQsIGFuZCB0aGVpciB0cnVuIGJveGVzIHdpbGwgaW5jcmVhc2Ugbl9zYW1wbGVzIGFuZAoJICBjcmVhdGUvZXh0ZW5kIHRoZSBzYW1wbGVzIGFycmF5CgkgIDMpIEF0IHNvbWUgcG9pbnQgYSBuZXcgbW9vdiBtaWdodCBiZSBzZW50IChiaXRyYXRlIHN3aXRjaGluZywgZm9yIGV4YW1wbGUpCgkgIGFuZCBwYXJzaW5nIHRoZSB0cmFrIHdpbGwgb3ZlcndyaXRlIG5fc2FtcGxlcyB3aXRoIHRoZSB2YWx1ZXMgZnJvbQoJICB0aGlzIHRyYWsuIElmIHRoZSBuX3NhbXBsZXMgaXMgc2V0IHRvIDAgcXRkZW11eCB3aWxsIGFzc3VtZSB0aGF0CgkgIHRoZSBzYW1wbGVzIGFycmF5IGlzIE5VTEwgYW5kIHdpbGwgbGVhayBpdCB3aGVuIGEgbmV3IG9uZSBpcwoJICBjcmVhdGVkIGZvciB0aGUgc3Vic2VxdWVudCBtb29mcy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHByb3Blcmx5IGZyZWUgcHJldmlvdXMgc2FtcGxlIGRhdGEgYmVmb3JlCgkgIGNyZWF0aW5nIG5ldyBvbmVzIGFuZCBhZGRzIGFuIGFzc2VydCB0byBjYXRjaCBmdXR1cmUgb2NjdXJyZW5jZXMgb2YKCSAgdGhpcyBpc3N1ZSB3aGVuIHRoZSBjb2RlIGNoYW5nZXMuCgoyMDE1LTA3LTA3IDE2OjQ2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGluZGV4IHNpemUgY2hlY2sgYW5kIGRlYnVnIG1lc3NhZ2UKCSAgSXQgaXMgYWxsb2NhdGluZyBzYW1wbGVzX2NvdW50ICsgbl9zYW1wbGVzLCBub3Qgb25seSBuX3NhbXBsZXMKCjIwMTUtMDctMDggMTc6MDI6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDYWxjdWxhdGUgcmVjZWl2ZSB0aW1lIGlmIHdlIGRvbid0IGhhdmUgYW55CgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gcHJvcGVybHkgc2NoZWR1bGUgcGFja2V0IGxvc3MgdGltZXJzIGFuZCBtYWtlCgkgIHN1cmUgYWxsIG91ciBjYWxjdWxhdGlvbnMgd29yayBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOCAxNToxMzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEhhbmRsZSBzZXFudW0gZ2FwcyBpbiBUQ1Agc3RyZWFtcyB3aXRob3V0IGVycm9yaW5nIG91dCBvciBvdmVyZmxvd2luZyBjYWxjdWxhdGlvbnMKCSAgVGhhdCBpcywgaGFuZGxlIERUUz09R1NUX0NMT0NLX1RJTUVfTk9ORSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDggMjA6MzE6NDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGV2ZW50IGxlYWsKCSAgd2hlbiBzZWVrIGZhaWxzIGluIGF2aWRlbXV4LCBldmVudCBpcyBub3QgYmVpbmcgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMTcKCjIwMTUtMDctMDggMTI6MDI6MjIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M2RlcGF5OiBNYWtlIHN1cmUgcGF5bG9hZCBpcyBsYXJnZSBlbm91Z2gKCSAgUGx1cyBuZXcgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTEyCgoyMDE1LTA3LTA4IDA4OjU5OjQ5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJICBydHBrbHZkZXBheTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZwoJICB2X2xlbiBpcyBvZiB0eXBlIGd1aW50NjQsIGJ1dCB3aGlsZSBwcmludCB0aGUgdmFsdWUoMTYgKyBsZW5fc2l6ZSArIHZfbGVuKQoJICBHX0dTSVpFX0ZPUk1BVCBpcyBiZWluZyB1c2VkIGluc3RlYWQgb2YgR19HVUlOVDY0X0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTAwCgoyMDE1LTA3LTA3IDIwOjI1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIG5ldyBSVFAgZWxlbWVudHMgdG8gZG9jcwoKMjAxNS0wNy0wNyAyMDowNzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgS0xWIHBheWxvYWRpbmcKCSAgQWxzbyBtYWtlIGl0IHNvIHRoYXQgdGhlIG10dSBpcyBhbHdheXMgc2V0IGlmIHNwZWNpZmllZCwgbm90CgkgIG9ubHkgaW4gY2FzZSBvZiB0aGUgcmF0aGVyIHdlaXJkIGJ1ZmZlcmxpc3QgdGVzdCBjb2RlIHBhdGguCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGVhc2lseSBtYWtlIHRoZSBwYXlsb2FkZXIgZnJhZ21lbnQgYSBwYXlsb2FkCgkgIGFjcm9zcyBtdWx0aXBsZSBvdXRwdXQgcGFja2V0cyBieSBzZXR0aW5nIGEgc21hbGwgTVRVIG9uIGl0LgoKMjAxNS0wNy0wNyAxOTo1ODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5oOgoJICBydHBrbHZkZXBheTogaW1wcm92ZSBzdGFydCBkZXRlY3Rpb24gYW5kIGhhbmRsZSBmcmFnbWVudGVkIEtMViB1bml0cwoKMjAxNS0wNy0wNSAyMDoyNToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5oOgoJICBydHA6IGFkZCBTTVBURSAzMzZNIEtMViBtZXRhZGF0YSBkZXBheWxvYWRlcgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTk3CgoyMDE0LTA4LTA5IDEwOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuaDoKCSAgcnRwOiBhZGQgU01QVEUgMzM2TSBLTFYgbWV0YWRhdGEgcGF5bG9hZGVyCgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1OTcKCjIwMTUtMDctMDcgMTY6NTk6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBkb2NzOiBmaXggIlN5bWJvbCBuYW1lIG5vdCBmb3VuZCBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvbW1lbnQgYmxvY2siCgkgIEFkZCBzeW1ib2xzIG9yIGNoYW5nZSBjb21tZW50IGludG8gYSByZWd1bGFyIGNvbW1lbnQuCgoyMDE1LTA3LTA3IDE2OjU4OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgZG9jIHN0cmluZ3MKCjIwMTUtMDctMDMgMjM6MTA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogYWRkIG1pc3NpbmcgcGx1Z2lucyBhbmQgZW5zdXJlIG1hc3RlciBkb2MgaXMgc29ydGVkCgoyMDE1LTA3LTA3IDE1OjU0OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIFJldmVydCAiaW1hZ2VmcmVlemU6IFJlbW92ZSBpbXBvc3NpYmxlIGVycm9yIGNvbmRpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNDY2MzFjNWM3MzEyYWQ2MTMzOTdmODIzOGM3YTk3MTRhZTNhZTk0LgoJICBwYWQgb25seSBoYW5kbGUgRU9TIGV2ZW50cyBidXQgbm90IEVPUyBmbG93LCBhbmQgd2lsbCBwdXNoIHRoZSBidWZmZXIgYWdhaW4KCSAgcmVzdWx0aW5nIGluIGFuIGFzc2VydGlvbiBlcnJvci4gU28gd2Ugc2hvdWxkIG5vdCBoYW5kbGUgdGhlIGJ1ZmZlcgoJICBhbmQgcmV0dXJuIEVPUyBmbG93LgoKMjAxNS0wNy0wNyAxNTo1MDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkgIHJ0cGc3MjlkZXBheTogdW5tYXAgcnRwIGJ1ZmZlciBpbiBlcnJvciBwYXRoCgoyMDE1LTA3LTA3IDE1OjQ4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IGZpeCBidWZmZXIgbGVhawoJICBUaGUgaGFuZGxlX2J1ZmZlciB2ZnVuYyB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCSAgRml4ZXMgZWxlbWVudHMvcnRwLXBheWxvYWRpbmcgdW5kZXIgdmFsZ3JpbmQuCgoyMDE1LTA3LTAyIDA4OjUyOjQzICswMjAwICBUb2JpYXMgTXVlbGxlciA8bXVlbGxpQGNyeXB0b2JpdGNoLmRlPgoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgIGdvb206IEluaXRpYWxpc2VkIHZhcmlhYmxlcyB0byByZW1vdmUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ29vbV9jb3JlLmM6IEluIGZ1bmN0aW9uICdnb29tX3VwZGF0ZSc6CgkgIGdvb21fY29yZS5jOjY4NTo1OiBlcnJvcjogJ3BhcmFtMicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGdvb21fbGluZXNfc3dpdGNoX3RvIChnb29tSW5mby0+Z21saW5lMiwgbW9kZSwgcGFyYW0yLCBhbXBsaXR1ZGUsIGNvdWxldXIpOwoJICBeCgkgIGdvb21fY29yZS5jOjY4NDo1OiBlcnJvcjogJ3BhcmFtMScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGdvb21fbGluZXNfc3dpdGNoX3RvIChnb29tSW5mby0+Z21saW5lMSwgbW9kZSwgcGFyYW0xLCBhbXBsaXR1ZGUsIGNvdWxldXIpOwoJICBeCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwNTMKCjIwMTUtMDctMDcgMDk6MTg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogZml4IGluZGVudGF0aW9uCgoyMDE1LTA3LTA2IDE5OjExOjAwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgZXJyb3IKCSAgZW5kcG9zIHZhcmlhYmxlIGRvZXMgbm90IGNvcnJlY3RseSB1bmRlcnN0YW5kIGluIHRoZQoJICA0LjYuMyBHQ0MgdmVyc2lvbi4gU28gY29tcGlsZSBlcnJvciBhcHBlYXJzIHdoZW4gd2UgZG8KCSAgY29tcGlsZSBydHBoMjYxcGF5IHVzaW5nIGpoYnVpbGQuCgkgIFRoaXMgcGF0Y2ggaXMgZml4ZWQgdGhlIGNvbXBpbGUgZXJyb3IgaW4gNC42LjMgR0NDIHZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5ODUKCjIwMTUtMDctMDYgMTk6MzM6MzUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBSZWxlYXNlIHRoZSB3aWRnZXQgbG9jayB3aGVuIHRyeWluZyB0byBnZXQgdGhlIEdMIGNvbnRleHQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGJlIHdhaXRpbmcgZm9yIHRoZSBsb2NrIG9uIHRoZSBtYWluIGxvb3AgKGZvcgoJICBleGFtcGxlIGluIHRoZSAtPnJlbmRlciB2bWV0aG9kKSBhbmQgdGh1cyB3ZSB3aWxsIGRlYWRsb2NrLgoKMjAxNC0xMS0xMiAxMjowODo1OCArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBIYW5kbGUgc2VlayBmbGFncyBwcm9wZXJseQoJICBBbGxvd3MgZm9yIG5vbi1rZXlmcmFtZSBzZWVrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODU3MAoKMjAxNS0wMi0yNCAxMDo1MDo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGxvb3BpbmcgcmVhZGluZyB0aGUgJ21vb2YnIGF0b20gZm9yZXZlcgoJICBJdCBnZXRzIHN0dWNrIGlmIGl0IG9ubHkgZmluZHMgYSBtb29mIGFuZCBubyBtZnJhL21mcm8gb3IgbW9vdgoJICBhdG9tcy4gU2tpcCB0aGUgbW9vZiB0byBjb250aW51ZSB0aGUgcGFyc2luZyB0byBoYXZlIGl0IGVpdGhlcgoJICBwbGF5IG9yIGVycm9yIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA4OQoKMjAxNS0wNi0yNiAxMzoyNDoxNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaW1wcm92ZSBlcnJvciBoYW5kbGluZwoJICBmb3IgZmlsZXMgd2hpY2ggaGF2ZSBjb3JydXB0ZWQgaGVhZGVyLCBsaWJmbGFjIGlzIG5vdCBhYmxlIHRvCgkgIHByb2Nlc3MgdGhlIG1ldGFkYXRhIHByb3Blcmx5LiBXZSBqdXN0IHRyeSB0byBpZ25vcmUgdGhlIGVycm9yCgkgIGFuZCBjb250aW51ZSB3aXRoIHRoZSBwcm9jZXNzaW5nLCBzaW5jZSBtZXRhZGF0YSBwYXJzaW5nIGlzIG5vdAoJICBtYWtpbmcgbXVjaCBvZiBhIGRpZmZlcmVuY2UgdG8gbGliZmxhYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzM0CgoyMDE1LTA3LTA2IDIwOjE2OjM4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2VzcmM6IGFkZCBtZXRhIHRyYW5zZm9ybSBmdW5jdGlvbgoJICB4aW1hZ2UgbWV0YWRhdGEgY2FuJ3QgYmUgdHJhbnNmb3JtZWQgb3IgY29waWVkLCBidXQgcHJvdmlkZSBhbiBlbXB0eQoJICB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbiBpbnN0ZWFkIG9mIE5VTEwgdG8gYWxsb3cgdW5jb25kaXRpb25hbCBjYWxsaW5nCgkgIG9mIG1ldGFzJyB0cmFuc2Zvcm0gZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc4CgoyMDE0LTA2LTE2IDE2OjE0OjI4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuLnNlbG5lc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDEyCgoyMDE0LTA2LTIwIDEwOjU5OjE0ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdjhkZXBheTogaWdub3JlIHJlc2VydmVkIGJpdCBpbiBwYXlsb2FkIGRlc2NyaXB0b3IKCSAgRHJhZnQgMTYgb2YgIlJUUCBQYXlsb2FkIEZvcm1hdCBmb3IgVlA4IiBzdGF0ZXMgaW4gc2VjdGlvbiA0LjIgdGhhdDoKCSAgUjogQml0IHJlc2VydmVkIGZvciBmdXR1cmUgdXNlLiAgTVVTVCBiZSBzZXQgdG8gemVybyBhbmQgTVVTVCBiZQoJICBpZ25vcmVkIGJ5IHRoZSByZWNlaXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTkyOQoKMjAxNS0wNy0wNCAyMDo1Njo0MiArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBydHBoMjYxZGVwYXk6IEFkZCBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5ODIKCjIwMTUtMDctMDMgMjE6NTg6MTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY3NGIyZGYgdG8gOWFlZDFkNwoKMjAxNS0wNy0wMyAxNDoyOToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBoMjYxcGF5LmM6IEluIGZ1bmN0aW9uICdnc3RfcnRwX2gyNjFfcGF5X2NsYXNzX2luaXQnOgoJICBnc3RydHBoMjYxcGF5LmM6MTAwMzoxNzogZXJyb3I6IHZhcmlhYmxlICdnb2JqZWN0X2NsYXNzJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQoJICBHT2JqZWN0Q2xhc3MgKmdvYmplY3RfY2xhc3M7CgoyMDE1LTA3LTAzIDE0OjAzOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSAgcnRwaDI2MWRlcGF5OiBMZXQgdGhlIGJhc2UgY2xhc3MgcHVzaCB0aGUgYnVmZmVyIHNvIGl0IGNhbiBkZWFsIHdpdGggdGhlIGZsb3cgcmV0dXJuCgoyMDE1LTA3LTAzIDE0OjExOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIHJ0cGgyNjFwYXk6IFJlbW92ZSB1bnVzZWQgYWRhcHRlcgoKMjAxNS0wNy0wMyAxMzoxNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgc3BlZXhwYXk6IERpcmVjdGx5IGF0dGFjaCBwYXlsb2FkIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgY29weWluZyBpdAoKMjAxNS0wNy0wMyAxMzowNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHNiY3BheTogQXR0YWNoIHBheWxvYWQgZGlyZWN0bHkgdG8gdGhlIG91dHB1dCBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTQtMTItMDEgMTQ6MTg6NDAgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHA6IGFkZCBILjI2MSBSVFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcgoJICBJbXBsZW1lbnRhdGlvbiBhY2NvcmRpbmcgdG8gUkZDIDQ1ODcuCgkgIFBheWxvYWRlciBjcmVhdGUgZnJhZ21lbnRzIG9uIE1CIGJvdW5kYXJpZXMgaW4gb3JkZXIgdG8gbWF0Y2ggTVRVIHNpemUKCSAgdGhlIGJlc3QgaXQgY2FuLiBTb21lIGRlY29kZXJzL2RlcGF5bG9hZGVycyBpbiB0aGUgd2lsZCBhcmUgdmVyeSBzdHJpY3QKCSAgYWJvdXQgcmVjZWl2aW5nIGEgY29udGludW91cyBiaXQtc3RyZWFtIChlLmcuIG5vIG5vLW9wIGJpdHMgYmV0d2VlbgoJICBmcmFtZXMpLCBzbyB0aGUgcGF5bG9hZGVyIHdpbGwgc2hpZnQgdGhlIGNvbXByZXNzZWQgYml0LXN0cmVhbSBvZiBhCgkgIGZyYW1lIHRvIGFsaWduIHdpdGggdGhlIGxhc3Qgc2lnbmlmaWNhbnQgYml0IG9mIHRoZSBwcmV2aW91cyBmcmFtZS4KCSAgRGVwYXlsb2FkZXIgZG9lcyBub3QgdHJ5IHRvIGJlIGZhbmN5IGluIGNhc2Ugb2YgcGFja2V0IGxvc3MuIEl0IHNpbXBseQoJICBkcm9wcyBhbGwgcGFja2V0cyBmb3IgYSBmcmFtZSBpZiB0aGVyZSBpcyBhIGxvc3MsIGtlZXBpbmcgaXQgc2ltcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODg2CgoyMDE1LTA3LTAzIDEyOjE4OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICBydHBtcHZkZXBheTogRG9uJ3QgZm9yZ2V0IHRvIHVubWFwIHRoZSBpbnB1dCBidWZmZXIKCjIwMTUtMDctMDMgMTI6MTQ6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IENyZWF0ZSBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBwdXNoaW5nIGVhY2ggYnVmZmVyIGluZGl2aWR1YWxseQoKMjAxNS0wNy0wMyAxMjowMzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHJ0cG1wYXBheTogVXNlIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mIHB1c2hpbmcgZWFjaCBmcmFnbWVudCBpbmRpdmlkdWFsbHkKCjIwMTUtMDctMDMgMTA6NTE6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YXBheTogQ3JlYXRlIGJ1ZmZlciBsaXN0cyBhbmQgZG9uJ3QgY29weSBwYXlsb2FkIG1lbW9yeQoKMjAxNS0wNi0yOSAxNjoxNDoxOCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDb25zaWRlciB0aW1lcnMgbGVuIHRvIGNvbXBhcmUgd2l0aCBSVFBfTUFYX0RST1BPVVQKCSAgV2hlbiB0aGVyZSBhcmUgYSBsb3Qgb2Ygc21hbGwgZ2Fwcywgd2UgY2FuIGNvbnNpZGVyIHRoYXQgdGhlcmUgaXMKCSAgYSBiaWcgZ2FwICh0b28gbG9zc2VzKSB0byByZXNldCB0aGUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjM2CgoyMDE1LTA2LTI5IDE1OjUzOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IElmIHBvc3NpYmxlLCBhbHdheXMgdXBkYXRlIHRoZSBjdXJyZW50IHRpbWUgYmVmb3JlIGxvb3Bpbmcgb3ZlciBhbGwgdGltZXJzCgkgIElmIHdlIGhhdmUgYSBjbG9jaywgdXBkYXRlICJub3ciIG5vdyB3aXRoIHRoZSB2ZXJ5IGxhdGVzdCBydW5uaW5nIHRpbWUgd2UgaGF2ZS4KCSAgSWYgdGltZXJzIGFyZSB1bnNjaGVkdWxlZCBiZWxvdyB3ZSBvdGhlcndpc2Ugd291bGRuJ3QgdXBkYXRlIG5vdyAoaXQncyBvbmx5IHVwZGF0ZWQKCSAgd2hlbiB0aW1lcnMgZXhwaXJlKSwgYW5kIGFsc28gZm9yIHRoZSB2ZXJ5IGZpcnN0IGxvb3AgaXRlcmF0aW9uIG5vdyB3b3VsZCBvdGhlcndpc2UKCSAgYWx3YXlzIGJlIDAuCgkgIEFsc28gdGhlIHRpbWUgaXMgdXNlZCBmb3IgdGhlIHRpbWVvdXQgZnVuY3Rpb25zLCBlLmcuIHRvIGNhbGN1bGF0ZSBhbnkgdGltZXMKCSAgZm9yIHRoZSBuZXh0IHRpbWVvdXRzIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgcGFzcyB0b28gb2xkIHRpbWVzIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjM2CgoyMDE1LTA3LTAyIDE0OjM0OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBmaXggbWVtb3J5IGxlYWsKCSAgdG1wIG5lZWRzIHRvIGJlIGZyZWVkIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUgaW4gJ2RvbmUnLgoJICBDSUQgIzEzMDg5NTQKCjIwMTUtMDctMDIgMTI6MjM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBHZW5lcmF0ZSBidWZmZXIgbGlzdHMgYW5kIGF0dGFjaCB0aGUgcGF5bG9hZCBkaXJlY3RseSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCjIwMTUtMDctMDIgMDk6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogU2ltcGxpZnkgY29kZSBhIGJpdCBhbmQgZG8gbGVzcyBkaXJlY3QgbWVtY3B5IGFuZCBsZXQgR3N0QnVmZmVyIGRvIHRoYXQgZm9yIHVzCgoyMDE1LTA3LTAyIDA5OjE3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBTdG9wIHVzaW5nIGFuIGFkYXB0ZXIgYW5kIGRpcmVjdGx5IHVzZSB0aGUgYnVmZmVyCgkgIFdlIGFsd2F5cyBwdXNoZWQgb25lIGJ1ZmZlciBpbnRvIHRoZSBhZGFwdGVyLCB0aGVuIGhhbmRsZWQgZXhhY3RseSB0aGF0IG9uZQoJICBidWZmZXIgYW5kIGZsdXNoZWQgaXQgZnJvbSB0aGUgYWRhcHRlci4gTm93IGFsc28gZG9uJ3QgbWVtY3B5KCkgdGhlIGFjdHVhbAoJICBwYXlsb2FkIGJ1dCBqdXN0IGF0dGFjaCB0aGUgaW5wdXQgYnVmZmVyJ3MgZGF0YSB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBjb2RlIHN0aWxsIG5lZWRzIHNvbWUgc2VyaW91cyByZWZhY3RvcmluZy9yZXdyaXRpbmcuCgoyMDE1LTA3LTAxIDIxOjU3OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgcnRwZ3NtcGF5OiBSZW1vdmUgbm9uLWV4aXN0aW5nIGluY2x1ZGVzIGZvciBub3cKCSAgZ2l0IGFkZCAtcCBtaXN0YWtlLgoKMjAxNS0wNy0wMSAxOToyOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogVXNlIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X2J1ZmZlcl9hcHBlbmQoKQoKMjAxNS0wNy0wMSAxOToxOToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHJ0cGdzbXBheTogQXR0YWNoIHBheWxvYWQgdG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgoyMDE1LTA3LTAxIDE3OjU4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IEF0dGFjaCBwYXlsb2FkIGRpcmVjdGx5IHRvIG91dHB1dCBidWZmZXJzIGluc3RlYWQgb2YgY29weWluZwoKMjAxNS0wNy0wMSAxNzo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJICBydHBnNzIzcGF5OiBBdHRhY2ggcGF5bG9hZCBidWZmZXIgdG8gdGhlIG91dHB1dCBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTUtMDctMDEgMTc6MzA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSAgcnRwZHZkZXBheTogTWFwIHRoZSBvdXRwdXQgYnVmZmVyIG9uY2UgaW5zdGVhZCBvZiBvbmNlIGV2ZXJ5IDgwIGJ5dGVzCgoyMDE1LTA3LTAxIDIxOjQ2OjQ2ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggcmV0dXJuIHR5cGUgb2YgaW5kZXhfZW50cnlfb2Zmc2V0X3NlYXJjaCgpCgkgIEl0J3MgYSBjb21wYXJlIGZ1bmN0aW9uIGFuZCBtYXkgcmV0dXJuIGEgbmVnYXRpdmUgdmFsdWUsCgkgIHNvIHNob3VsZCBmb3IgY29ycmVjdG5lc3MgYW5kIGNvbnNpc3RlbmN5IHJldHVybiBhIHNpZ25lZAoJICBpbnRlZ2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzgwCgoyMDE1LTA3LTAxIDE0OjEyOjU3ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGhhbmRsZV9uZXh0X2J1ZmZlcgoJICBUaGUgZ29hbCBvZiB0aGlzIHBhdGNoIGlzIG1ha2luZyBoYW5kbGVfbmV4dF9idWZmZXIgZnVuY3Rpb24KCSAgbW9yZSByZWFkYWJsZSBhdm9pZGluZyB1bm5lY2VzYXJ5IGdvdG9zIGFuZCBhZGRpbmcgb3RoZXIKCSAgY29zbWV0aWMgY2hhbmdlcy4KCjIwMTUtMDctMDEgMTU6NDA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJICBydHBhYzNwYXk6IEF0dGFjaCB0aGUgcGF5bG9hZCB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCSAgTWlnaHQgYWxzbyB3YW50IHRvIHByb2R1Y2UgYnVmZmVyIGxpc3RzIGhlcmUgaWYgbmVlZGVkLgoKMjAxNS0wNy0wMSAxNTozODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJICBydHA6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDctMDEgMTI6Mzc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtVlA4LU9QVVMuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLVZQOC1BVFMtT1BVUy5zaDoKCSAgcnRwOiBBZGQgZXhhbXBsZXMgd2l0aCBWVFMvQVRTIGZvciBWUDgvT1BVUwoJICBMZXQncyBoYXZlIGFuIGV4YW1wbGUgd2l0aCBtb2Rlcm4gY29kZWNzLgoKMjAxNS0wNi0zMCAxODoxMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBVc2UgR1NUX1dBUk5JTkdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfV0FSTklORygpCgoyMDE1LTA2LTMwIDE0OjA2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICB2cDhkZXBheTogRG9uJ3QgbG9jay9tYXAgZXZlcnkgbm9uLWtleWZyYW1lIGJ1ZmZlciB0d2ljZQoJICBKdXN0IGNvcHkgdGhlIGNvbXBsZXRlIGhlYWRlciBpbnN0ZWFkIG9mIGZpcnN0IGxvb2tpbmcgYXQgdGhlIGZpcnN0IGJ5dGUKCSAgYW5kIHRoZW4gYXQgdGhlIHJlbWFpbmluZyAxMCBieXRlcy4KCjIwMTUtMDYtMjkgMTY6MDU6NDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvY3VtZW50IGZhbGx0aHJvdWdoIGNhc2VzCgkgIFBhY2lmeSBjb3Zlcml0eSBhbmQgZG9jdW1lbnQgZmFsbHRocm91Z2ggY2FzZXMgaW4gc3dpdGNoIHN0YXRlbWVudHMuCgkgIENJRCAjMTMwODk0OCwgIzEzMDg5NDcsICMxMzA4OTQ2CgoyMDE1LTA2LTI5IDEwOjM2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFJldmVydCAicnRwaml0dGVyYnVmZmVyOiBJZiB3ZSBoYXZlIGFuIGltbWVkaWF0ZSB0aW1lb3V0LCBkb24ndCB0cnkgdG8gZmluZCBhbiBlYXJsaWVyIHRpbWVvdXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGMyMWNkNzE3N2VhODgzYzcxMDk5OTE0N2RkY2VkYjE5MDA0ZDE4Mi4KCSAgSWYgd2UgaGF2ZSBtdWx0aXBsZSBpbW1lZGlhdGUgdGltZXJzLCB3ZSB3YW50IHRvIGZpcnN0IGhhbmRsZSB0aGUgb25lIHdpdGggdGhlCgkgIGxvd2VzdCBzZXF1ZW5jZSBudW1iZXIuLi4gd2hpY2ggd291bGQgYmUgYnJva2VuIG5vdy4KCSAgSW5zdGVhZCBvZiB0aGlzIHdlIHNob3VsZCBqdXN0IHVzZSBhIEdTZXF1ZW5jZSBmb3IgdGhlIHRpbWVycywgYW5kIGhhdmUgdGhlbQoJICBzb3J0ZWQgZmlyc3QgYnkgdGltZXN0YW1wLCBhbmQgZm9yIGVxdWFsIHRpbWVzdGFtcHMgYnkgc2VxdWVuY2UgbnVtYmVyLiBUaGVuCgkgIHdlIHdvdWxkIGFsd2F5cyBvbmx5IGhhdmUgdG8gdGFrZSB0aGUgdmVyeSBmaXJzdCB0aW1lciBmcm9tIHRoZSBsaXN0IGFuZCBuZXZlcgoJICBoYXZlIHRvIGxvb2sgYXQgYW55IG90aGVycy4KCjIwMTUtMDYtMjkgMTA6MTQ6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiB3ZSBoYXZlIGFuIGltbWVkaWF0ZSB0aW1lb3V0LCBkb24ndCB0cnkgdG8gZmluZCBhbiBlYXJsaWVyIHRpbWVvdXQKCSAgSWYgd2UgaGF2ZSBsb3RzIG9mIHN1Y2ggaW1tZWRpYXRlIHRpbWVvdXRzLCB3ZSB3b3VsZCBvdGhlcndpc2UgaGF2ZSBxdWFkcmF0aWMKCSAgcnVudGltZSBpbiB0aGUgbnVtYmVyIG9mIHRpbWVvdXRzLgoKMjAxNS0wNi0xOSAxODowMTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogc3RpY2t5IGV2ZW50cyBhcmUgc2VudCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHBhZAoJICBObyBuZWVkIHRvIHNlbmQgdGhlbSBleHBsaWNpdGx5IGZyb20gdGhlIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MAoKMjAxNS0wNi0xOSAxODowMDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogbWFrZSBzdXJlIHRvIHB1c2ggc3RpY2t5IGV2ZW50cyBiZWZvcmUgYWRkaW5nIHBhZAoJICBJdCBhbGxvd3MgdGhlIGNhcHMgdG8gYmUgc2V0IG9uIHRoZSBwYWQgYmVmb3JlIGJlaW5nIGFkZGVkIGZvcgoJICBkeW5hbWljIGF1dG9wbHVnZ2luZyB0byB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQwCgoyMDE1LTA2LTI2IDAwOjA1OjI5ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgbmV3IG50cC10aW1lLXNvdXJjZSBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlIHVzZS1waXBlbGluZS1jbG9jayBwcm9wZXJ0eQoJICBFbmFibGUgdG8gdXNlIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgb2YgcnRwYmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0OTYKCjIwMTUtMDYtMjUgMjM6MTk6NTggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluL3Nlc3Npb246IGZpeCBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDk2CgoyMDE1LTA2LTI1IDEwOjU3OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgZG9jczogZGVjb2RlYmluMiAtPiBkZWNvZGViaW4KCjIwMTUtMDYtMjUgMTA6NDc6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lCgkgIFVwZGF0ZSByZWZlcmVuY2UgdG8gZGVjb2RlYmluMiB0byBkZWNvZGViaW4KCjIwMTUtMDYtMjUgMTA6NDU6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgkgIFZhbHVlcyBpbiBmaWVsZHNfcmVxdWlyZWQgYW5kIHNhbWVfYnVmZmVyIGFyZSBvdmVyd3JpdHRlbiBiZWZvcmUgdXNlZC4gUmVtb3ZpbmcKCSAgYXNzaWdubWVudAoKMjAxNS0wNi0yNSAxMDowNjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9SRUFETUU6CgkqIGV4dC9taWttb2QvZHJ2X2dzdC5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5oOgoJKiBleHQvbWlrbW9kL21pa21vZF9yZWFkZXIuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2xpYm1pa21vZC5tNDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICBtaWttb2Q6IHJlbW92ZSBhbmNpZW50IHVucG9ydGVkIHBsdWdpbgoJICBUaGlzIGhhc24ndCBiZWVuIHRvdWNoZWQgaW4gMTEgeWVhcnMsIGFuZAoJICBjbGVhcmx5IG5vIG9uZSdzIGJlZW4gbWlzc2luZyBpdC4KCjIwMTUtMDYtMjMgMjA6MTU6MTMgKzA5MDAgIEdpbGJvayBMZWUgPGdpbGJvay5sZWVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9lcyBub3QgZGV0ZWN0IG9yaWVudGF0aW9uCgkgIE1vc3QgZmlsZXMgZG9uJ3QgY29udGFpbiB0aGUgdmFsdWVzIGZvciB0cmFuc3Bvc2luZyB0aGUgY29vcmRpbmF0ZXMKCSAgYmFjayB0byB0aGUgcG9zaXRpdmUgcXVhZHJhbnQgc28gcXRkZW11eCB3YXMgaWdub3JpbmcgdGhlIHJvdGF0aW9uCgkgIHRhZy4gVG8gYmUgYWJsZSB0byBwcm9wZXJseSBoYW5kbGUgdGhvc2UgZmlsZXMgcXRkZW11eCB3aWxsIGFsc28gaWdub3JlCgkgIHRoZSB0cmFuc3Bvc2luZyB2YWx1ZXMgdG8gb25seSBkZXRlY3QgdGhlIHJvdGF0aW9uIHVzaW5nIHRoZSB2YWx1ZXMKCSAgYWJkZSBmcm9tIHRoZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXg6CgkgIFthIGIgY10KCSAgW2QgZSBmXQoJICBbZyBoIGldCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2ODEKCjIwMTUtMDYtMjUgMDA6MDQ6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNS4yID09PQoKMjAxNS0wNi0yNCAyMzozMDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMgoKMjAxNS0wNi0yNCAyMjo1NjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wNi0yNCAxMToxNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL25sLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNi0yMyAxODo0Mjo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IENvcnJlY3RseSB0ZXN0IGVhY2ggc2VnbWVudHMKCSAgSW4gcHJlc2VuY2Ugb2YgZ2FwcywgcXRkZW11eCB3aWxsIGVtaXQgbXVsdGlwbGUgc2VnbWVudHMuIFRoZQoJICBzZWNvbmQgc2VnbWVudCBzdGFydCBzaG91bGQgbWF0Y2ggdGhlIENUVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMTc6NTQ6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogQ29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgZWxzdCBtZWRpYSBzdGFydAoJICBUaGUgbWVkaWEgc3RhcnQgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgc2hpZnQgd2UgaGF2ZSBhcHBsaWVkCgkgIGJ1dCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QgUFRTLiBUaGlzIGlzIGRlZmluZWQgYXM6CgkgIER0KDApID0gMAoJICBDdCgwKSA9IER0KDApICsgQ1RUUygwKQoJICBTbyB0aGUgbWVkaWEgc3RhcnQgaXMgYWx3YXlzIHRoZSBmaXJzdCBDVFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDExOjQ5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWNjdW11bGF0ZSBwcmV2aW91cyBlZHRzIGVudHJpZXMgaW50byBzZWdtZW50LmJhc2UKCSAgQWxsb3dzIHBsYXlpbmcgZWR0cyBlZGl0dGVkIGZpbGVzIHdpdGggcHJvcGVyIHN5bmNocm9uaXphdGlvbiBvZgoJICBzdHJlYW1zLiBUaGlzIHBhdGNoIGZpeGVzIHRoZSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkKCSAgYmY5NWY5M2MwMTg5YWEwNGYxOGUyNjRiODZiNjUyN2U0MzFjNWQ1MyB0aGF0IHdhcyBhZGRlZCB0byBmaXgKCSAgc2VnbWVudCBzZWVrcyBoYW5kbGluZy4KCSAgSGF2aW5nIHRoZSBhY2N1bXVsYXRlZF9iYXNlIHNlcGFyYXRlZCBmcm9tIHRoZSBtYWluIHNlZ21lbnQuYmFzZQoJICBhbGxvd3MgaGFuZGxpbmcgYm90aCBzZWdtZW50IHNlZWtzIGFuZCBlZHRzIGVkaXR0ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMDA6NTY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIHNvbWUgZGVidWcgbWVzc2FnZXMKCSAgVGhvc2UgbWVzc2FnZXMgYXJlIGFib3V0IHRoZSBzdHJlYW0sIHVzZSB0aGUgcGFkIGFzIHRoZQoJICBkZWJ1ZyBvYmplY3QgdG8gbWFrZSBpdCBjbGVhciBmcm9tIHRoZSBsb2dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjIgMjI6MjI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHN0b3JlIGxhc3RfZHRzIG9mIHRoZSBmaXJzdCBidWZmZXIKCSAgQnVmZmVycyBuZWVkIG5vdCB0byBzdGFydCBhdCBydW5uaW5nLXRpbWUgMCBzbyB0aGUgbGFzdF9kdHMgbmVlZHMKCSAgdG8gYmUgdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBidWZmZXIncyBkdHMgYXMgaXQgaXMgdXNlZCB0byBjb21wdXRlCgkgIHRoZSBkdXJhdGlvbiBvZiB0aGUgYnVmZmVycy4gSWYgaXQgd2FzIGxlZnQgYXQgMCB0aGUgZmlyc3QgYnVmZmVyCgkgIHdvdWxkIGhhdmUgYSBsYXJnZXIgZHVyYXRpb24gd2hlbiBpdCBzaG91bGRuJ3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAxNzoxMTo1NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBvc3NpYmxlIG1lbW9yeSBsZWFrCgkgIHdoZW4gYnVmZmVyIGlzIHN0b3JlZCB0byBzZWVrdGFibGUsIGFuZCBzdG9wIGdldHMgY2FsbGVkIGR1ZSB0bwoJICBjb3JydXB0IGZsYWMgZmlsZSwgdGhlbiB0aGUgc2Vla3RhYmxlIGlzIG5vdCBiZWluZyByZWxlYXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzY0CgoyMDE1LTA2LTIzIDE2OjI4OjQwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIFJldmVydCAic3BsaXRtdXhzaW5rOiBNYXNrIGFzeW5jLXN0YXJ0L2RvbmUgd2hpbGUgc3dpdGNoaW5nIGZpbGVzLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNjFlNTM5M2YxMTBlZDQ4MjgxNWQ3NzgwNzI0NWQ3OGI1MmVmZjQ2LgoJICBDYXVzZXMgZmFpbHVyZXMgbXV4aW5nIGxhcmdlciBHT1Agc2l6ZXMgZm9yIHNvbWUgcmVhc29uLiBSZXZlcnRpbmcKCSAgd2hpbGUgSSBmaWd1cmUgaXQgb3V0CgoyMDE1LTA2LTE4IDIzOjIyOjA2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IEZpeCBzdGFydHVwIGFuZCBzaHV0ZG93biByYWNlcy4KCSAgRml4IDIgc3RhcnR1cCByYWNlcyB3aGVuIHRoaW5ncyBoYXBwZW4gdG9vIHF1aWNrbHksIGFuZCAxCgkgIGF0IHNodXRkb3duIGJ5IGhvbGRpbmcgYSByZWYgdG8gdGhlIHBhZHMgaW4gdXNlIHVudGlsIHRoZQoJICBsb29wIGZ1bmN0aW9ucyBleGl0LgoJICBIYW5kbGUgZXJyb3JzIGFjdGl2YXRpbmcgZmlsZSBwYXJ0cyBhbmQgcHVibGlzaCB0aGVtIG9uCgkgIHRoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3NDcKCjIwMTUtMDYtMTggMDk6MjY6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBNYXNrIGFzeW5jLXN0YXJ0L2RvbmUgd2hpbGUgc3dpdGNoaW5nIGZpbGVzLgoJICBTb21ldGltZXMsIGV4dHJhIGFzeW5jLXN0YXJ0L2RvbmUgZnJvbSB0aGUgaW50ZXJuYWwgc2luawoJICB3aGlsZSB0aGUgZWxlbWVudCBpcyBzdGlsbCBzdGFydGluZyB1cCBjYW4gY2F1c2Ugc3BsaXRtdXhzaW5rCgkgIHRvIHN0YWxsIGluIFBBVVNFRCBzdGF0ZSB3aGVuIGl0IGhhcyBiZWVuIHNldCB0byBQTEFZSU5HCgkgIGJ5IHRoZSBhcHAuIERyb3AgdGhlIGNoaWxkJ3MgYXN5bmMtc3RhcnQvZG9uZSBtZXNzYWdlcyB3aGlsZQoJICBzd2l0Y2hpbmcsIHNvIHRoZXkgZG9uJ3QgY2F1c2Ugc3RhdGUgY2hhbmdlcyBhdCB0aGUKCSAgc3BsaXRtdXhzaW5rIGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTE1IDE2OjEyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogVXNlIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKQoJICBVc2UgdGhlIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKSB1dGlsaXR5IGZ1bmN0aW9uCgkgIHRvIHNldCB0aGUgaGFsZi1hc3BlY3QgZmxhZyAob3Igbm90KSBvbiBzdGVyZW9zY29waWMgZnJhbWUtcGFja2VkCgkgIHZpZGVvcy4KCjIwMTUtMDYtMTUgMTY6MTA6MzcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vdmUgbXVsdGl2aWV3IGNhcHMgY2FsY3VsYXRpb25zLCBhZGQgaGFsZi1hc3BlY3QgaGV1cmlzdGljcwoJICBNb3ZlIHRoZSBtdWx0aXZpZXcgY2FwcyBjYWxjdWxhdGlvbnMgdG8gdGhlIGNvbmZpZ3VyZV9zdHJlYW0oKQoJICBmdW5jdGlvbiwgc28gdGhlIHJlc3Qgb2YgdGhlIHZpZGVvIGluZm8gaXMgYXZhaWxhYmxlLCBhbmQKCSAgdXNlIHRoZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgZnVuY3Rpb24gdG8KCSAgZGV0ZXJtaW5lIGlmIHRoZSBoYWxmLWFzcGVjdCBmbGFnIHNob3VsZCBiZSBzZXQgb24gZnJhbWUtcGFja2VkCgkgIHZpZGVvLgoKMjAxNS0wNi0xOCAxNjowNjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBjc2xnIHN1cHBvcnQKCSAgVGhlIGNzbGcgYXRvbSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBEVFMgc2hpZnQuIFRoaXMgaXMKCSAgbmVlZGVkIGluIHJlY2VudCB2ZXJzaW9uIG9mIGN0dHMgYXRvbSB3aGVyZSB0aGUgb2Zmc2V0IGNhbiBiZQoJICBuZWdhdGl2ZS4gV2hlbiBjc2xnIGlzIG1pc3NpbmcsIHdlIHBhcnNlIHRoZSBDVFRTIHRhYmxlIGFzIHByb3Bvc2VkCgkgIGluIHRoZSBzcGVjIHRvIGNhbGN1bGF0ZSB0aGVzZSB2YWx1ZXMuCgkgIEluIHRoaXMgaW1wbGVtZW50YXRpb24sIHdlIG9ubHkgbmVlZCB0byBrbm93IHRoZSBzaGlmdC4gQXMgR1N0cmVhbWVyCgkgIGNhbm5vdCB0cmFuc3BvcnQgbmVnYXRpdmUgdGltZXN0YW1wcywgd2Ugc2hpZnQgdGhlIHRpbWVzdGFtcHMgZm9yd2FyZAoJICB1c2luZyB0aGF0IHZhbHVlIGFuZCBhZGFwdCB0aGUgc2VnbWVudCB0byBjb21wZW5zYXRlLiBUaGlzIHBhdGNoIGFsc28KCSAgcmVtb3ZlcyBib2d1cyBvZmZzZXQgb2YgY3R0c19zb2Zmc2V0LCB0aGlzIG9mZnNldCBzaGFsbCBiZSBpbmNsdWRlZAoJICBpbiB0aGUgZWRpdCBsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAzCgoyMDE1LTA2LTE5IDE4OjM3OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogVGVzdCBnYXBzIGF0IHN0YXJ0IG9mIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTE5IDE4OjQwOjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgUFRTIHRvIGZpZ3VyZS1vdXQgcHJlc2VuY2Ugb2YgZ2FwcwoJICBXZSBuZWVkIHRvIGxvb2sgYXQgdGhlIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAgaW4gb3JkZXIgdG8gY29uY2x1ZGUgaWYKCSAgdGhlcmUgaXMgYSBnYXAgYXQgdGhlIHN0YXJ0IG9mIGEgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTE5IDE2OjQ1OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBTZXQgZWRpdCBsaXN0IHRvIGNvbXBlbnNhdGUgRFRTIHNoaWZ0CgkgIFdlIHNoaWZ0IERUUyBmb3J3YXJkIHRvIGF2b2lkIG5lZ2F0aXZlIHRpbWVzdGFtcHMgd2hpY2ggY2Fubm90IGJlCgkgIHJlcHJlc2VudGVkIHdpdGggdmVyc2lvbiAwIG9mIHRoZSBDVFRTIHRhYmxlLiBUbyBzdGljayB3aXRoIHRoYXQKCSAgdmVyc2lvbiAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSksIHRoZSBzcGVjIHJlY29tbWVuZCB1c2luZyBhbgoJICBlZGl0IGxpc3QgZW50cnkgdG8gbW92ZSBiYWNrIHRoZSBwcmVzZW50YXRpb24gdGltZSB0byB3aGVyZSBpdAoJICBzaG91bGQgYmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDIKCjIwMTUtMDYtMjIgMTQ6MzU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBJbnNlcnQgQVZDIGVuZCBvZiBzZXF1ZW5jZQoJICBUaGlzIEZMViBzcGVjaWZpYyBtYXJrIGlzIG5lZWRlZCB0byBwcmV2ZW50IEZsb3cgUGxheWVyIChtb3N0IGxpa2VseQoJICBhbGwgRmxhc2ggYmFzZSBwbGF5ZXIpIGZyb20gZ29pbmcgaW50byBidWZmZXJpbmcgc3RhdGUgd2hlbiBuZWFyIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMyMAoKMjAxNS0wNi0yMiAxMzowNToyOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSB1c2VsZXNzIGNoZWNrCgkgIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGNvbnRleHQgYXZhaWxhYmlsaXR5IHdoaWxlIGZyZWVpbmcuIFdlIGFyZSBpbnNpZGUKCSAgaW5zaWRlIGEgY29kZSBibG9jayB3aXRoIGEgY29uZGl0aW9uIHRoYXQgZGVyZWZlcmVuY2VzIGNvbnRleHQuCgkgIGlmIChjb250ZXh0LT50eXBlID09IDAgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6MzU6NTcgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBsem86IGZpeCBtZW1vcnkgbGVhawoJICB0aGUgb3BlbmVkIGZpbGUgaXMgbm90IGJlaW5nIGNsb3NlZCBkdXJpbmcgdGVzdCwgd2hpY2ggd2lsbCByZXN1bHQKCSAgaW4gbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6MzA6NTggKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L21pa21vZC9taWttb2RfcmVhZGVyLmM6CgkgIG1pa21vZF9yZWFkZXI6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZToKCSAgZ3N0X3JlYWRlciB2YXJpYWJsZSBpcyBiZWluZyB1c2VkIGJlZm9yZSBhY3R1YWxseSBjaGVja2luZyBpZiBpdAoJICBhbGxvY2F0ZWQgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxOTo0NToxNCArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNaW5vciBjbGVhbi11cAoJICAxLiBGaXggdGhlIGNvZGUgd2hpY2ggaXMgd3JvbmcgY29kaW5nIHN0eWxlLgoJICAyLiBGaXggYSB0eXBpbmcgZXJyb3Igb2YgY29tbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMxNgoKMjAxNS0wNi0yMiAxMToyODoxMyArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IERvIG5vdCB0cnkgdG8gcHVzaCBOVUxMIGJ1ZmZlcnMKCSAgSWYgdXBkYXRlX3JlY2VpdmVyX3N0YXRzKCkgZmFpbHMsIHdlIGNhbid0IHJlYWxseSBkbyBhbnl0aGluZyB3aXRoIHRoaXMgYnVmZmVyCgkgIGFueW1vcmUgYW5kIGhhdmUgdG8gZHJvcCBpdC4gVGhpcyBoYXBwZW5zIGlmIHRoZXJlJ3MgYSBiaWcgc2VxbnVtCgkgIGRpc2NvbnRpbnVpdHkgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTEKCjIwMTUtMDYtMjIgMTM6MTA6MDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB0cml2aWFsIGNsZWFudXAKCSAgdHJpdmlhbCBwYXRjaCB0byBhZGQgcHJvcGVyICggd2hpbGUgY2hlY2tpbmcgZm9yIGlmKEdfVU5MSUtFTFkoKSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0yMiAxMzoxNjowOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXRpYWxpemUgc2l6ZSB2YXJpYWJsZQoJICBzaXplIGNhbiBiZSB1c2VkIGluIGNsZWFudXAgd2l0aG91dCBiZWluZyBpbml0aWFsaXplZC4gSGVuY2UKCSAgc2V0dGluZyBpdCB0byAwIHdoZW4gZGVjbGFyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTM6MTM6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsemUgYnBmIHZhcmlhYmxlCgkgIGJwZiB2YXJpYWJsZSBtaWdodCBiZSB1c2VkIGluIGNsZWFudXAgd2l0aG91dCBiZWluZyBpbnRpYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTE5IDE0OjUwOjU5ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkgIHJ0cHJ0eHF1ZXVlOiByZXZlcnNlIHBlbmRpbmcgbGlzdCBiZWZvcmUgcHVzaGluZyBidWZmZXJzCgkgIFdpdGggdGhpcyB3ZSBzZW5kIHRoZSBSVFggYnVmZmVycyBpbiB0aGUgc2FtZSBvcmRlcgoJICB0aGF0IHRoZXkgd2VyZSByZXF1ZXN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyOTcKCjIwMTUtMDYtMjEgMTk6MjI6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggRFRTIHZhbGlkaXR5IGNoZWNrCgkgIFRoaXMgY2hlY2sgd2FzIHVwLXNpZGUtZG93biwgY2F1c2luZyBhIGJhZCB0aW1lc3RhbXAgYXQgc3RhcnQKCSAgYW5kIHRoZW4gYWxsIHRpbWVzdGFtcCBiZWluZyBkZWxheWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjk4CgoyMDE1LTA2LTE3IDE1OjE5OjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgY3NsZzogQWRkIENvbXBvc2l0aW9uIFNoaWZ0IExlYXN0IEdyZWF0ZXN0IEF0b20KCSAgVGhpcyBzaW1wbHkgYWRkIGZvdXJjYyBhbmQgZHVtcCBmdW5jdGlvbiBmb3IgdGhlIGNzbGcgQXRvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xNyAxNToxODozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgY3R0c19kdW1wOiBGaXggc2lnbmVzcyBpc3N1ZXMKCSAgSXQgZGlkbid0IGJ1ZywgYnV0IHVzZSBjb3JyZWN0IHNpZ25lc3MgaW4gdHJhY2VzLiBUaGUgbnVtYmVyIG9mCgkgIGVudHJpZXMgaXMgdW5zaWduZWQgd2hpbGUgdGhlIG9mZnNldCBjYW4gYmUgc2lnbmVkIGFjY29yZGluZyB0bwoJICByZWNlbnQgc3BlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xNiAxNzo0ODowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwMTVkMjYgdG8gZjc0YjJkZgoKMjAxNS0wNi0xNiAxMTo0MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGdzdF9ydHBfYnVmZmVyX2V4dF90aW1lc3RhbXAoKSBtb2RpZmllcyBpdHMgZmlyc3QgYXJndW1lbnQsIGtlZXAgYSBjb3B5IGFyb3VuZAoKMjAxNS0wNi0xNiAxMDozMDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENvbXBhcmUgZXh0IFJUUCB0aW1lcywgbm90IHBsYWluIFJUUCB0aW1lIGFuZCBleHQgUlRQIHRpbWUgd2hlbiBjYWxjdWxhdGluZyBlbGFwc2VkIHRpbWUKCSAgT3RoZXJ3aXNlIGFsbCBSVFAgdGltZXMgYWZ0ZXIgYSB3cmFwYXJvdW5kIHdvdWxkIGJlIGNvbnNpZGVyZWQgYXMgZ29pbmcKCSAgYmFja3dhcmRzLCB0aGV5IHdpbGwgYWx3YXlzIGJlIHNtYWxsZXIgdGhhbiB0aGUgZXh0IFJUUCB0aW1lLgoKMjAxNS0wNi0xNSAyMTozMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2x3aWRnZXQ6IENvbnN0J2lmeSBhbm90aGVyIGFycmF5CgoyMDE1LTA2LTE1IDIxOjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHdpZGdldDogQ2FsY3VsYXRlIHRoZSB2aWV3cG9ydCBzaXplIG91cnNlbHZlcwoJICBHZXR0aW5nIHRoZSBjdXJyZW50IHZpZXdwb3J0IGFuZCBtb2RpZnlpbmcgaXQgcmVsYXRpdmVseSB3aWxsIHByb2R1Y2UgYW4KCSAgaW50ZXJlc3RpbmcgZmVlZGJhY2sgbG9vcCBkdXJpbmcgd2lkZ2V0IHJlc2l6aW5nLiBPdmVyIGEgZmV3IGZyYW1lcyB3ZQoJICB3aWxsIGdyYWR1YWxseSBtb3ZlIHRoZSB2aWV3cG9ydCBhIGJpdCB1bnRpbCBpdCBjb252ZXJnZWQgYWdhaW4sIGFkZGluZwoJICB1bm5lY2Vzc2FyeSBhZGRpdGlvbmFsIGJvcmRlcnMgYXQgdGhlIHRvcCBhbmQgbGVmdC4KCjIwMTUtMDYtMTUgMjE6MjQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogVXNlIHRoZSBkaXNwbGF5IHdpZHRoL2hlaWdodCBmb3IgdGhlIHdpZGdldCdzIHByZWZlcnJlZCB3aWR0aC9oZWlnaHQKCjIwMTUtMDYtMTUgMjA6NDU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3Rrc2luazogQWRkIHN1cHBvcnQgZm9yIHhSR0IvQkdSeAoKMjAxNS0wNi0xNSAyMDozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IENhaXJvIGNvbG9yIGZvcm1hdHMgYXJlIGluIG5hdGl2ZSBlbmRpYW5uZXNzLCBHU3RyZWFtZXIncyBpbiBtZW1vcnkgb3JkZXIKCSAgQ0FJUk9fRk9STUFUX0FSR0IzMiBpcyBBUkdCIG9uIGJpZyBlbmRpYW4gYW5kIEJHUkEgb24gbGl0dGxlIGVuZGlhbi4KCjIwMTUtMDYtMTUgMjA6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBJbXBsZW1lbnQgaWdub3JlLWFscGhhIHByb3BlcnR5IGFuZCBlbmFibGUgaXQgYnkgZGVmYXVsdAoKMjAxNS0wNi0xNSAyMDoxMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGs6IFN5bmMgcHJvcGVydGllcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSB3aWRnZXQgdXBvbiB3aWRnZXQgY3JlYXRpb24KCjIwMTUtMDYtMTUgMTk6MjU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUaGUgZGVmYXVsdCBydHAtcHJvZmlsZSBzaG91bGQgYmUgQVZQLCBub3QgQVZQRgoKMjAxNS0wNi0xNSAxODoyODozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IHBpeGVsIGFuZCBkaXNwbGF5IGFzcGVjdCByYXRpbyBoYW5kbGluZwoKMjAxNS0wNi0xNSAxNDozMjoyMSArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNaW5vciBjbGVhbnVwCgkgIDEuIEFkZCBOdWxsIGNoZWNrIGluICdmcmVlX2l0ZW0nIGZ1bmN0aW9uLgoJICAyLiBGaXggYSB0eXBpbmcgZXJyb3Igb2YgY29tbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk2NQoKMjAxNS0wNi0xNSAxNDozNTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IHNpbGVuY2UgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzIGZvciB1bnN1cHBvcnRlZCB3aW5zeXMnCgoyMDE1LTA2LTE1IDE0OjMzOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IGJhc2ljIHdheWxhbmQgR0wgc3VwcG9ydAoKMjAxNS0wNi0xMiAxNzo0NDo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmxtdXg6IE1ha2Ugc3VyZSBiZXN0X3RpbWUgaXMgaW5pdGlhbGl6ZWQKCjIwMTUtMDYtMTIgMjM6Mjk6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBydHBiaW4vc2Vzc2lvbjogQWRkIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgVGhlIG5ldyBwcm9wZXJ0eSBhbGxvd3MgdG8gc2VsZWN0IHRoZSB0aW1lIHNvdXJjZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUKCSAgTlRQIHRpbWUgaW4gUlRDUCBwYWNrZXRzLiBCeSBkZWZhdWx0IGl0IHdpbGwgY29udGludWUgdG8gY2FsY3VsYXRlIHRoZSBOVFAKCSAgdGltZXN0YW1wICgxOTAwIGVwb2NoKSBiYXNlZCBvbiB0aGUgcmVhbHRpbWUgY2xvY2suIEFsdGVybmF0aXZlbHkgaXQgY2FuIHVzZQoJICB0aGUgVU5JWCB0aW1lc3RhbXAgKDE5NzAgZXBvY2gpLCB0aGUgcGlwZWxpbmUncyBydW5uaW5nIHRpbWUgb3IgdGhlIHBpcGVsaW5lJ3MKCSAgY2xvY2sgdGltZS4gVGhlIGxhdHRlciBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3Igc3luY2hyb25pemluZyBtdWx0aXBsZQoJICByZWNlaXZlcnMgaWYgYWxsIG9mIHRoZW0gc2hhcmUgdGhlIHNhbWUgY2xvY2suCgkgIElmIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQgdG8gVFJVRSwgaXQgd2lsbCBvdmVycmlkZSB0aGUgbnRwLXRpbWUtc291cmNlCgkgIHNldHRpbmcgYW5kIGNvbnRpbnVlIHRvIHVzZSB0aGUgcnVubmluZyB0aW1lIHBsdXMgNzAgeWVhcnMuIFRoaXMgaXMgb25seSBrZXB0CgkgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCjIwMTUtMDQtMDcgMTY6MDM6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogdGVzdCBmb3IgbXV4aW5nIHdpdGggRFRTIG91dHNpZGUgdGhlIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMSAxNzoyNjo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkanVzdCBzZWdtZW50IGFjY29yZGluZyB0byBjdHRzIG9mZnNldAoJICBJbiBwcmVzZW5jZSBvZiBhIENUVFMsIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgbXVzdCBiZSBvZmZzZXQgc28KCSAgdGhlIHNlZ21lbnQgc3RhcnQvc3RvcCBpbmNsdWRlIHRoZSBQVFMuIFRoaXMgaXMgbmVlZGVkIHNpbmNlIHRoZQoJICBQVFMgY2Fubm90IGJlIG5lZ2F0aXZlIGluIHRoaXMgZm9ybWF0LiBUaGlzIGZpeGVzIGlzc3VlcyB3aGVyZSB0aGUKCSAgcnVubmluZyB0aW1lIG9mIHRoZSBmaXJzdCBidWZmZXIgaXNuJ3QgYXQgdGhlIHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA0LTAzIDIwOjM0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEhhbmRsZSBEVFMgd2l0aCBuZWdhdGl2ZSBydW5uaW5nIHRpbWUKCSAgQXMgUVQgd29ya3Mgd2l0aCBkdXJhdGlvbiwgc2ltcGx5IGJyaW5nIGJhY2sgZmlyc3QgRFRTIHRvIDAgYW5kIHNoaWZ0CgkgIGZvcndhcmQgdGhlIFBUUyBvZiB0aGUgc2FtZSBhbW91bnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTg6MTU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIG5lZ2F0aXZlIHJ1bnRpbWUgRFRTIHN1cHBvcnQKCSAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIG5ldyBmZWF0dXJlIG9mIHRoZSBDb2xsZWN0UGFkIGNsaXAgZnVuY3Rpb24KCSAgd2hpY2ggc2V0cyB0aGUgRFRTIGFzIGEgZ2ludDY0IGluIHRoZSBjb2xsZWN0ZWQgZGF0YS4gSXQgYWxzbyBzaW1wbGlmeQoJICB0aGUgY29kZSBhIGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMiAyMzowNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBhbmQgZGVidWcgb3V0cHV0IHRvIG1ha2UgbW9yZSBzZW5zZQoJICBMb2NhbCBhbmQgcmVtb3RlIHdlcmUgbWl4ZWQgdXAgaW4gYSBmZXcgcGxhY2VzLCBhbmQgdGhlIHRpbWUgd2Ugc3RvcmUgaGVyZSBpcwoJICBub3QgVU5JWCB0aW1lICgxOTcwIGVwb2NoKSwgYnV0IE5UUCB0aW1lICgxOTAwIGVwb2NoKSBpbiBuYW5vc2Vjb25kcy4KCjIwMTUtMDYtMTIgMTk6MjE6MTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGZpeCBsYXRlbmN5IHByb3BlcnR5IHF1ZXJ5IG9uIFJlbW90ZUlPCgkgIEF1ZGlvVW5pdEdldFByb3BlcnR5IHdvdWxkIGZhaWwgd2l0aCBrUGFyYW1FcnIgKC01MCkgZXZlcnkgdGltZSwKCSAgc2ltcGx5IGJlY2F1c2Ugc2l6ZSB3YXNuJ3QgaW5pdGlhbGl6ZWQuCgkgIE5vdyBpdCByZXR1cm5zIHplcm8gbGF0ZW5jeSwgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2OAoKMjAxNS0wNi0xMiAxNTozOTo1NiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IERvIG5vdCB0cnkgdG8gYWN0aXZhdGUgYSBOVUxMIEdMQ29udGV4dAoJICBBdCB0aGF0IHBvaW50IGluIHRoZSBjb2RlIG5vdGhpbmcgZ3VhcmFudGVlcyBpdCBleGlzdHMKCjIwMTUtMDQtMDcgMTQ6MDY6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBGaXggbWFwcGluZyBvZiBsYXRlbmN5IHBhcmFtZXRlcnMgdG8gYnVmZmVyIGF0dHJpYnV0ZXMKCjIwMTUtMDYtMTIgMTU6MTc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCB2aWRlbyBhc3BlY3QtcmF0aW8gaGFuZGxpbmcKCSAgRm9yIGJvdGggdGhlIHNvZnR3YXJlIGFuZCB0aGUgR0wgc2luaydzLgoJICBEb2Vzbid0IGRlYWwgd2l0aCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGF0IGFsbCB5ZXQuCgoyMDE1LTA2LTEyIDEyOjQwOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3RrOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MKCjIwMTUtMDYtMTIgMTI6Mjk6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0a2dsc2luazogcmVzZXQgdGhlIGNvbnRleHQvZGlzcGxheSBpbiBSRUFEWV9UT19OVUxMCgkgIEZpeGVzIGNvbnRleHQgcHJvcGFnYXRpb24gaW4gcGlwZWxpbmVzIHdpdGggdXBzdHJlYW0gR0wgZWxlbWVudHMuCgoyMDE1LTA2LTExIDEyOjQxOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkgIGdzdGd0azogTm8gbmVlZCB0byByZWFsaXplIHRoZSB3aWRnZXQKCSAgVGhlIHdpZGdldCBhbHJlYWR5IGRvZXMgdGhhdC4KCjIwMTUtMDYtMTEgMTI6Mzg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a3NpbmsuYzoKCSAgZ3N0Z3RrOiBEb24ndCBsZWFrIHRoZSB3aWRnZXQKCSAgZ19vYmplY3RfZ2V0KCkgcmV0dXJucyBhIHJlZiwgZ3RrX2NvbnRhaW5lcl9hZGQoKSBvbmx5IHJlZl9zaW5rKCkuCgkgIFRoYXQgbWVhbiB3ZSBzdGlsbCBuZWVkIHRvIHVucmVmIGFmdGVyd2FyZC4gVGhpcyBsZWFrIHdhcyBoaWRpbmcKCSAgYSByZWZlcmVuY2UgYnVnIHByZXZpb3VzbHkgcHJlc2VudC4KCjIwMTUtMDYtMTEgMTI6MTA6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBnc3RndGs6IEFsbG93IGRvaW5nIGdzdC1pbnNwZWN0LTEuMCBvbiB0aGVzZSBlbGVtZW50cwoJICBUaGlzIHBhdGNoIGFsbG93IGdvaW5nIGdzdC1pbnNwZWN0LTEuMCBvbiB0aGVzZSBlbGVtZW50cyByZW1vdmluZwoJICB1Z2x5IGNyYXNoIHRoYXQgd2FzIHByZXZpb3VzbHkgb2NjdXJyaW5nLiBUaGUgbWV0aG9kIGNvbnNpc3Qgb2YKCSAgbWFraW5nIHRoZSB3aWRnZXQgY3JlYXRpb24gYXMgbGF6eSBhcyBwb3NzaWJsZS4gVGhpcyB3YXkgd2UgZG9uJ3QKCSAgZW5kdXAgZG9pbmcgZ3RrX2luaXQoKSBiZWZvcmUgdGhlIGFwcGxpY2F0aW9uLiBXZSBhbHNvIHJlZl9zaW5rKCkKCSAgdGhlIHdpZGdldCwgc28gd2UgZG9uJ3QgY3Jhc2ggaWYgdGhlIHBhcmVudCB3aWRnZXQgaXMgZGlzY2FyZGVkLAoJICBhbmQgY2xlYW5seSBlcnJvciBvdXQgd2l0aCBHTCBpZiB0aGUgd2lkZ2V0IGhhcyBubyBwYXJlbnQgd2luZG93LAoJICBiZWNhdXNlIGNhbGxpbmcgZ3RrX3dpZGdldF9yZWFsaXplZCgpIGNhbiBvbmx5IGJlIGRvbmUgaWYgdGhlIHdpZGdldAoJICBoYXMgYmVlbiBwYXJlbnRlZCB0byBhIHdpbmRvdykuCgoyMDE1LTA2LTEyIDAxOjU2OjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogQWN0dWFsbHkgc2V0IGRldGVjdGVkIDNEIGluZm8gaW50byBvdXRwdXQgY2Fwcy4KCSAgVXNlIHRoZSBpbmZvcm1hdGlvbiByZWFkIGZyb20gdGhlIFN0ZXJlb01vZGUgaW5mbwoJICB0byBjb25maWd1cmUgbXVsdGl2aWV3LW1vZGUgYW5kIG11bHRpdmlldy1mbGFncyBpbiB0aGUKCSAgdmlkZW8gY2Fwcy4KCjIwMTUtMDYtMTEgMTM6MzY6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBUYWtlIHJlbGVhc2VkLWJ1dC1ub3QteWV0LW91dHB1dCBieXRlcyBpbnRvIGFjY291bnQKCSAgV2hlbiBkZWNpZGluZyB3aGV0aGVyIGl0J3MgdGltZSB0byBzd2l0Y2ggdG8gYSBuZXcgZmlsZSwgdGFrZSBpbnRvCgkgIGFjY291bnQgZGF0YSB0aGF0J3MgYmVlbiByZWxlYXNlZCBmb3IgcHVzaGluZywgYnV0IGhhc24ndCB5ZXQKCSAgYmVlbiBwdXNoZWQgLSBiZWNhdXNlIGRvd25zdHJlYW0gaXMgc2xvdyBvciB0aGUgdGhyZWFkcyBoYXZlbid0IGJlZW4KCSAgc2NoZWR1bGVkLgoJICBGaXhlcyBhIHJhY2UgaW4gdGhlIHVuaXQgdGVzdCBhbmQgcHJvYmFibHkgaW4gcHJhY3RpY2UgLSBzb21ldGltZXMKCSAgZmFpbGluZyB0byBzd2l0Y2ggd2hlbiBpdCBzaG91bGQgZm9yIGFuIGV4dHJhIEdPUCBvciB0d28uCgkgIEFsc28gZml4IGEgcHJvYmxlbSBpbiBzcGxpdG11eHNyYyB3aGVyZSBwbGF5YmFjayBzb21ldGltZXMKCSAgc3RhbGxzIGF0IHN0YXJ0dXAgaWYgdHlwZXMgYXJlIGZvdW5kIHRvbyBxdWlja2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTExIDE1OjAyOjQ0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IHRyeSB0byBpbml0aWFsaXplIGRpc3BsYXkgaWYgd2UgaGF2ZSBub3QgaGF2ZSBhIEdMQ29udGV4dCB5ZXQKCjIwMTUtMDYtMTEgMTQ6NTg6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkgIGd0azogQWRkIG1pc3NpbmcgQ0ZMQUdTIHRvIGV4YW1wbGUKCjIwMTQtMTItMTggMTc6MDA6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9nc3RwbHVnaW4uYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3Rrc2luay5jOgoJICBJbXBsZW1lbnQgZ3RrIHNpbmtzCgkgIHR3byBzaW5rcyBhcmUgcHJvdmlkZWQuICBndGtzaW5rIHdoaWNoIGlzIGEgY2Fpcm8vc29mdHdhcmUgYmFzZWQgcmVuZGVyZXIKCSAgYW5kIGd0a2dsc2luayB3aGljaCB1dGlsaXNlcyB0aGUgR0wgc3VwcG9ydCBpbiBndGsgYW5kIGdzdHJlYW1lci4KCjIwMTUtMDYtMTEgMDE6MDQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6IHJlbW92ZSBjdXN0b20gZ3N0X2J1ZmZlcl9uZXcgZnVuY3Rpb24gaW4gZmF2b3Igb2YgY29yZSB2ZXJzaW9uCgkgIFJlbW92ZSBhIGN1c3RvbSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGdzdF9idWZmZXJfbmV3X3dyYXBwZWQgYnkKCSAgdXNpbmcgZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZF9mdWxsIGluc2lkZSBhIG1hY3JvIHRvIHNpbXBsaWZ5CgkgIHBhcmFtZXRlcnMgYW5kIGdpdmUgaXQgYSBtb3JlIG1lYW5pbmdmdWwgbmFtZS4KCSAgSXQgaXMgb25seSB1c2VkIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgYnVmZmVycyB0byBoYXZlIGl0cyBkYXRhIGNvcGllZC4KCjIwMTUtMDYtMTEgMDA6MTQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgYXRvbXM6IHNpbXBsaWZ5IGZyZWUgZm9ybSBkYXRhIGF0b21zIGNyZWF0aW9uCgkgIEF2b2lkIGNyZWF0aW5nIGFuIGludGVybWVkaWFyeSBidWZmZXIgb3IgbWVtb3J5IGFyZWEganVzdAoJICB0byBjb3B5IGludG8gYW4gYXRvbSdzIGRhdGEgYXJlYS4KCjIwMTUtMDYtMTAgMjI6Mjc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIEFDLTMgbXV4aW5nIHN1cHBvcnQKCSAgQWRkcyBBQy0zIG11eGluZyBzdXBwb3J0LiBJdCBpcyBkZWZpbmVkIGZvciBtcDQgYW5kIDNncCBmb3JtYXRzLgoJICBPbmUgZXh0cmEgZmVhdHVyZSB0aGF0IHdhcyBhZGRlZCB3YXMgdGhlIGFiaWxpdHkgdG8gYWRkIGV4dGVuc2lvbgoJICBhdG9tcyBhZnRlciBzZXRfY2FwcyBhcyB0aGUgQUMtMyBleHRlbnNpb24gYXRvbSBuZWVkcyBzb21lIGRhdGEKCSAgdGhhdCBoYXMgdG8gYmUgZXh0cmFjdGVkIGZyb20gdGhlIHN0cmVhbSBpdHNlbGYgYW5kIGlzIG5vdAoJICBwcmVzZW50IG9uIGNhcHMuCgoyMDE1LTA2LTEwIDIyOjM2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSAgcXRtdXg6IHJlbW92ZSB1bnVzZWQgdHlwZSBNUDRTCgoyMDE1LTA2LTEwIDIyOjI5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgZHVwbGljYXRlIGF0dHJpYnV0ZSB2YWx1ZSBzZXQKCSAgSXQgaXMgYWxzbyBzZXQgYSBmZXcgbGluZXMgYmVsb3cKCjIwMTUtMDYtMTEgMDA6MjI6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBJbXBsZW1lbnQgYmFzaWMgc3RlcmVvc2NvcGljIHZpZGVvIHN1cHBvcnQKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIHRoZSBwYWNrZWQgdmlkZW8gZm9ybWF0cyBXZWJNCgkgIHVzZXMsIG5vdCBhbGwgdGhlIHZhbHVlcyB0aGF0IE1hdHJvc2thIG1pZ2h0IHVzZS4KCSAgSW4gcHJhY3RpY2UsIGl0J3MgcmVhbGx5IGhhcmQgdG8gZmluZCBhbnkgc2FtcGxlcyBpbiB0aGUKCSAgd2lsZCBvZiBhbnkuCgkgIFN1cHBvcnRlZCBpbiBib3RoIHRoZSBtdXhlciBhbmQgZGVtdXhlci4KCjIwMTUtMDYtMTAgMDE6MjY6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgYmFzaWMgc3VwcG9ydCBmb3IgTVBFRy1BIHN0ZXJlb3Njb3BpYyB2aWRlbwoJICBUaGUgTVBFRy1BIGZvcm1hdCBwcm92aWRlcyBhbiBleHRlbnNpb24gdG8gdGhlIElTTyBiYXNlIG1lZGlhCgkgIGZpbGUgZm9ybWF0IHRvIHN0b3JlIHN0ZXJlb3Njb3BpYyBjb250ZW50IGVuY29kZWQgd2l0aCBkaWZmZXJlbnQKCSAgY29kZWNzIGxpa2UgSC4yNjQgYW5kIE1QRUctNDoyLiBUaGUgc3RlcmVvIHZpZGVvIG1lZGlhIGluZm9ybWF0aW9uKHN2bWkpCgkgIGF0b20gZGVjbGFyZXMgdGhlIHByZXNlbmNlIGFuZCBzdG9yYWdlIG1ldGhvZCBmb3IgdGhlIHZpZGVvLgoJICBTdGVyZW8gdmlkZW8gaW5mb3JtYXRpb24gZm9yIE1QRUctQSBjYW4gYWxzbyBiZSBzdXBwbGllZCB0aHJvdWdoCgkgIHRoZSAnc3R2aScgYXRvbSAocmVmOiBJU08vSUVDXzE0NDk2LTEyLCBJU08vSUVDXzIzMDAwLTExKSwgd2hpY2gKCSAgaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgcGF0Y2guCgkgIEFsc28gbWlzc2luZyBpcyBzdXBwb3J0IGZvciBzdGVyZW8gdmlkZW8gZW5jb2RlZCBhcyBzZXBhcmF0ZSB2aWRlbyB0cmFja3MKCSAgZm9yIG5vdy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDYtMDIgMTY6MTU6MzUgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgdGxzLWRhdGFiYXNlIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyOTgKCjIwMTUtMDYtMTAgMTQ6MzM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHA6IFVzZSBHU1RfQlVGRkVSX1BUUygpIGluc3RlYWQgb2YgR1NUX0JVRkZFUl9USU1FU1RBTVAoKQoJICBUaGUgbWl4IGJldHdlZW4gYWxsIHRoZXNlIGluIHRoZSBSVFAgY29kZSBpcyBjb25mdXNpbmcsIGxldCdzIHRyeSB0byBiZQoJICBjb25zaXN0ZW50LgoKMjAxNS0wNi0xMCAxNDo0OTo1MCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBjbGFyaWZ5IG5lZ2F0aXZlIGxvc3QgcGFja2V0cyBpbiBzdGF0cwoJICBBbHNvOgoJICAtIE1vdmUgbm90ZXMgb24gdW5pdHMgYmVmb3JlIGZpZWxkIGRvY3VtZW50YXRpb24uCgkgIC0gVW5pZnkgZG9jdW1lbnRhdGlvbiBzdHlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY1MwoKMjAxNS0wNi0xMCAwNjozODozOSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBnZXR0ZXIgb2YgInNzbC11c2Utc3lzdGVtLWNhLWZpbGUiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyOTgKCjIwMTUtMDYtMTAgMDk6NDk6NDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sKCSAgV2hlbiBwZXJmb3JtaW5nIHNlZWssIHNlZ21lbnQtPnN0YXJ0IGlzIGJlaW5nIHVwZGF0ZWQgd2l0aCBkZXNpcmVkX29mZnNldCwKCSAgYnV0IGluIGNhc2Ugb2YgcmV2ZXJzZSBwbGF5YmFjayBzZWdtZW50LT5zdGFydCBzaG91bGQgYmUgMCBhbmQKCSAgc2VnbWVudC0+c3RvcCBzaG91bGQgYmUgdXBkYXRlZCB3aXRoIGRlc2lyZWQgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjc1CgoyMDE1LTAxLTIxIDE4OjA5OjAzICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGdzdHY0bDJidWZmZXJwb29sOiBoYW5kbGUgLUVQSVBFIGZyb20gRFFCVUYgdG8gc2lnbmFsIEVPUwoJICBUaGUgVjRMMiBkZWNvZGVyIHNpZ25hbHMgRU9TIGJ5IHJldHVybmluZyAtRVBJUEUgZnJvbSBEUUJVRiBhZnRlciB0aGUKCSAgbGFzdCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzMzgKCjIwMTUtMDYtMDYgMjE6MDk6MTkgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgYSBHVGxzSW50ZXJhY3Rpb24gcHJvcGVydHkKCSAgSXQgY2FuIGJlIHVzZWQgZm9yIFRMUyBjbGllbnQgYXV0aGVudGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0NzEKCjIwMTUtMDEtMDkgMTE6MzY6MTEgKzAxMDAgIEVucmljbyBKb3JucyA8ZWpvQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwyOiBBbGxvdyBzY2FsaW5nIGluIHRoZSB2NGwyKmNvbnZlcnQgZWxlbWVudAoJICBUaGlzIGlzIGluc3BpcmVkIG9mIHZpZGVvc2NhbGUgYW5kIHZpZGVvY29udmVydCBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjkxNwoKMjAxNS0wNi0wOSAxOTowMjo1NSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBtYW5hZ2VyOiBkb2N1bWVudCB1bml0cyBvZiBzdGF0cyBhbmQgYXJndW1lbnRzCgkgIEFsc28sIG1pbm9yIHNwZWxsaW5nIGFuZCBzdHlsZSBjb3JyZWN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY1MwoKMjAxNS0wNi0wOSAxNDo0MjoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogYWRkIHRoZSBvYnNvbGV0ZSB0bXBsIGRpciB0byBjcnVmdC1kaXJzCgoyMDE1LTA2LTA5IDExOjMwOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkOWEzMzUzIHRvIDYwMTVkMjYKCjIwMTUtMDYtMDkgMDc6MDQ6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEZpeCBjb21tb24gdmVyc2lvbgoJICBXYXMgYWNjaWRlbnRseSBkb3duZ3JhZGVkIGJ5IDg3YTQ4ODRhY2Q4NjU1YTY1OTFkNzM1YTFkOTQ0ZWNiNWVhM2RlMTYKCjIwMTUtMDYtMDggMTk6MTE6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWxzbyBzZXQgY29sb3JpbWV0cnkgb24gb3V0cHV0IGRldmljZXMKCSAgVGhpcyBjb21wbGV0ZXMgdGhlIGNvZGUgdGhhdCBzZXQgdGhlIGNvbG9yaW1ldHJ5IG9uIG91dHB1dAoJICBkZXZpY2UuCgoyMDE1LTA2LTA4IDE5OjEwOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIG1pc3NpbmcgU01UUDI0ME0gbWF0cml4CgkgIFRoaXMgaXMgbWlzc2luZyBpbiB0aGUgZG9jLCBidXQgd2FzIGluIHRoZSBoZWFkZXIuCgoyMDE1LTA2LTA4IDIzOjAwOjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgIGdvb206IHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIHdhcm5pbmcKCSAgQnVpbGQgZmFpbHMgd2l0aCB0aGUgbGF0ZXN0IHNuYXBzaG90IG9mIGdjYy00LjkgYmVjYXVzZSBwYXJhbTEgYW5kIHBhcmFtMiBtaWdodAoJICBwb3NzaWJseSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuIFRoZXkgYXJlIHNldCBkZXBlbmRpbmcgb24gdGhlIGNhc2VzIG9mIGEgc3dpdGNoCgkgIHN0YXRlbWVudCBhbmQgdGhlIGNvbXBpbGVyIHNlZXMgdGhpcyBhcyBub3QgYSBjb21wbGV0ZSBndWFyYW50ZWUuCgkgIFNldCB0aGVtIHRvIDAgaWYgdGhlIHN3aXRjaCBzdGF0ZW1lbnQgZmFsbHMgZG93biB0byB0aGUgZGVmYXVsdCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNTY2I2M2CgoyMDE1LTA2LTA4IDE3OjI0OjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZ1bGx5IGltcGxlbWVudCBjb2xvcmltZXRyeSBzdXBwb3J0CgkgIFRoaXMgZml4ZXMgd3JvbmcgbWFwcGluZyBmb3Igc1JHQiBhcyBpbiBHU3RyZWFtZXIgc1JHQiBjb3JyZWN0bHkKCSAgYXBwbHkgdG8gUkdCIGZvcm1hdHMsIHdoaWxlIGluIFY0TDIgaXQncyBhbiBhbGlhcyBmb3Igc1lDQy4gQWxzbwoJICBhZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBxdWFudGl6YXRpb24gKHJhbmdlKSwgeWNiY3JfZW5jb2RpbmcgKG1hdHJpeCkKCSAgYW5kIHhmZXJfZnVuYyAodHJhbnNmZXIpIGVudW1lcmF0aW9uLgoKMjAxNS0wNi0wOCAxNzowMToxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZXh0L3R5cGVzLWNvbXBhdC5oOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb21tb24uaDoKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29udHJvbHMuaDoKCSogc3lzL3Y0bDIvZXh0L3ZpZGVvZGV2Mi5oOgoJICB2NGwyOiBVcGRhdGUga2VybmVsIGhlYWRlcnMgdG8gbGF0ZXN0IGZyb20gbWVkaWEgdHJlZQoJICBUaGlzIGlzIHRoZSBsYXRlc3QgZnJvbSBtZWRpYSB0cmVlLiBUaGlzIHNob3VsZCBlbmFibGUgbW9yZSBkZXZlbG9wbWVudAoJICBvZiB0aGUgdjRsMiBlbGVtZW50cy4gVGhpcyBpbmNsdWRlcyBuZXcgZmxhZ3MgcmVxdWlyZXMgdG8gZml4IGRyYWluaW5nCgkgIHBhdGggaW4gZGVjb2RlciwgY29sb3JpbWV0cnkgYW5kIG11Y2ggbW9yZS4KCjIwMTUtMDYtMDggMjM6MDc6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzN2FmMzIgdG8gZDlhMzM1MwoKMjAxNS0wNi0wOCAxOTo0MjozMCArMDEwMCAgQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IHBvdGVudGlhbCBhY2Nlc3MgYmV5b25kIGVuZCBvZiBhcnJheQoJICBDb21waWxpbmcgKHdpdGggZ2NjLTQuOS0yMDE1MDYwMykgcHJvZHVjZXMgYW4gZXJyb3IgYmVjYXVzZSBvZiBhbiBhY2Nlc3MgYmV5b25kCgkgIHRoZSBlbmQgb2YgYW4gYXJyYXkuIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGVycm9yIGJ5IGluaXRpYWxpemluZyB0aGUgbG9vcAoJICBjb250cm9sL2FycmF5IGluZGV4IHZhcmlhYmxlIChpKSB0byAxIGFuZCByZXR1cm5pbmcgaSAtIDEgd2hlbiBhIG1hdGNoIGlzIGZvdW5kLgoJICBBbHNvLCBiZWNhdXNlIHRoZSB2YWx1ZXMgc3RvcmVkIGluIHRoZSBhcnJheSBpbmNyZWFzZSBpbiB2YWx1ZSBhcyB0aGUgaW5kZXgKCSAgaW5jcmVhc2VzLCB0aGUgPj0gdGVzdCB1bm5lY2Vzc2FyeSwgc28gaXQgaXMgcmVtb3ZlZC4KCjIwMTUtMDQtMzAgMDI6NTI6NTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBEb24ndCBhY2N1bXVsYXRlIG1vcmUgdGhhbiAyIEdPUHMKCSAgRG9uJ3QgYWxsb3cgbGFyZ2UgYW1vdW50cyBvZiBkYXRhIHRvIHF1ZXVlIHVwIC0gd2Ugb25seSBuZWVkCgkgIHRoZSBHT1Agd2UncmUgd3JpdGluZywgYW5kIHRoZSBHT1Agd2UncmUgYWNjdW11bGF0aW5nLgoKMjAxNS0wNC0xNiAxMDo0NDo0OSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogZnN5bmMgYWZ0ZXIgc2VuZGluZyB1cGRhdGVzIGluIHJvYnVzdCBtb2RlCgkgIFVzZSB0aGUgbmV3IEdzdEJ1ZmZlciBTWU5DX0FGVEVSIGZsYWcgdG8gdHJpZ2dlciBhbiBmc3luYwoJICBhZnRlciB1cGRhdGluZyB0aGUgbW9vdiBvciBtZGF0IGF0b20sIGFuZCBhZnRlciB1cGRhdGluZyB0aGUgZnJlZQoJICBhdG9tIHRvIG1ha2UgaXQgdmlzaWJsZS4KCjIwMTUtMDQtMDMgMDA6NTc6MjAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IE9ubHkgc2V0IG1vb3YgaGVhZGVyIGludG8gc3RyZWFtaGVhZGVyIGF0IEVPUwoJICBPbmx5IHVwZGF0ZSB0aGUgbW9vdiBoZWFkZXIgaW50byB0aGUgY2FwcyBpZiBpdCdzIHRoZSBmaW5hbGlzZWQKCSAgbW9vdiBhdCBFT1MgdGltZS4gQXZvaWRzIHBvc3RpbmcgYSBib2d1cyBtb292IGF0IHN0YXJ0dXAgYW5kCgkgIHJlcGVhdGVkIHVwZGF0ZXMgaW4gcm9idXN0LXJlY29yZGluZyBtb2RlCgoyMDE1LTA0LTAzIDAxOjQ0OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBVcGRhdGUgbXA0IG11eCB0ZXN0IGZvciBtZGF0IHBsYWNlaG9sZGVyIGNoYW5nZQoJICBUaGUgbXA0IG11eGVyIG5vdyB3cml0ZXMgYSBwbGFjZS1ob2xkZXIgbWRhdCBhcyBhIGZyZWUKCSAgYXRvbSBmb2xsb3dlZCBieSBhIDAtYnl0ZSBtZGF0IHRoYXQgY292ZXJzIHRoZSByZXN0IG9mIHRoZQoJICBmaWxlLCBtYWtpbmcgaXQgcG9zc2libGUgdG8gcmV3cml0ZSBpdCBhcyA2NC1iaXQsIG9yIGxlYXZlCgkgIGl0IGFzLWlzIGlmIG5vdGhpbmcgZWxzZSBpcyB3cml0dGVuIGFmdGVyd2FyZAoKMjAxNS0wNC0wMSAxMToxNTozOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBpc29tcDQ6IEltcGxlbWVudCByb2J1c3QgbXV4aW5nIHVzaW5nIHBpbmctcG9uZyBzdHJhdGVneQoJICBJbXBsZW1lbnQgYSByb2J1c3QgcmVjb3JkaW5nIG1vZGUsIHdoZXJlIHRoZSBvdXRwdXQKCSAgZmlsZSBpcyBhbHdheXMgaW4gYSBwbGF5YWJsZSBzdGF0ZSwgc2Vla2luZyBhbmQgcmV3cml0aW5nCgkgIHRoZSBtb292IGhlYWRlciBhdCBhIGNvbmZpZ3VyYWJsZSBpbnRlcnZhbC4gUmV3cml0aW5nCgkgIG1vb3YgaXMgZG9uZSB1c2luZyByZXNlcnZlZCBzcGFjZSBhdCB0aGUgc3RhcnQgb2YKCSAgdGhlIGZpbGUsIGFuZCBhIHBpbmctcG9uZyBzdHJhdGVneSB3aGVyZSB0aGUgbW9vdgoJICBpcyByZXBsYWNlZCBhdG9taWNhbGx5IHNvIGl0J3MgbmV2ZXIgaW52YWxpZC4KCSAgVHJhY2sgd2hlbiB0YWdzIGhhdmUgYWN0dWFsbHkgY2hhbmdlZCwgYW5kIGRvbid0IHdyaXRlIHRoZW0gaW50bwoJICB0aGUgbW9vdiB1bmxlc3MgdGhleSd2ZSBjaGFuZ2VkLiBDbGVhciBhbnkgZXhpc3RpbmcgdGFncyB3aGVuCgkgIHJlLXdyaXRpbmcgdGhlbSwgc28gd2UgY2FuIGRvIHByb2dyZXNzaXZlIG1vb3YgdXBkYXRpbmcgaW4gcm9idXN0CgkgIHJlY29yZGluZyBtb2RlLgoJICBXcml0ZSBwbGFjZWhvbGRlciBtZGF0IGFzIGEgZnJlZSBhdG9tIHBsdXMgYSAzMi1iaXQgbWRhdAoJICB3aXRoICcwJyBzaXplLCB3aGljaCBtZWFucyAicmVzdCBvZiB0aGUgZmlsZSIgaW4gdGhlIHNwZWMuCgkgIFJlLXdyaXRlIGl0IGxhdGVyIHRvIGEgZnVsbCA2NC1iaXQgZXh0ZW5kZWQgc2l6ZSBhdG9tIGlmIG5lZWRlZC4KCjIwMTUtMDQtMDEgMDA6NTg6NTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBVcGRhdGUgZWRpdCBsaXN0IHdoZW4gcmUtd3JpdGluZyBtb292CgkgIENvcnJlY3RseSB1cGRhdGUgYW55IGVkaXQgbGlzdHMgZWFjaCB0aW1lIHRoZSBtb292IGlzIHJlY2FsY3VsYXRlZCwKCSAgdXBkYXRpbmcgZXhpc3RpbmcgdGFibGUgZW50cmllcyBpZiB0aGV5IGFscmVhZHkgZXhpc3QgaW5zdGVhZCBvZiBqdXN0CgkgIGFkZGluZyBuZXcgb25lcy4KCjIwMTUtMDQtMDggMDE6NDE6MTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IFJlbW92ZSBhbiBleHRyYSBicmFja2V0IGluIGEgY29tbWVudC4KCjIwMTUtMDMtMTkgMjA6Mjk6NDQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogUHJvdGVjdCB0b3RhbF9kdXJhdGlvbiBzdGF0ZSB2YXJpYWJsZSB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgUHJldmVudCBkZWFkbG9ja3MgZnJvbSBkb3duc3RyZWFtIHF1ZXJ5aW5nIGR1cmF0aW9uIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE1LTA2LTA3IDIzOjA2OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMWJhMmU1IHRvIGQzN2FmMzIKCjIwMTUtMDYtMDcgMTk6MjQ6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgZ29vbTogY2xlYW4gZGVyZWZlcmVuY2VzIG9mIHByaXZhdGUgc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDcgMTk6MjA6MDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgZ29vbTJrMTogY2xlYW4gZGVyZWZlcmVuY2VzIG9mIHByaXZhdGUgc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDcgMTc6MzI6MDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0MDg1ODMgdG8gMjFiYTJlNQoKMjAxNS0wNi0wNyAxNzowMTozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIHZhcmlhYmxlcyB0aGF0IHdlIGRlZmluZSBpbiB0aGUgc25pcHBldCBmcm9tIGNvbW1vbgoJICBUaGlzIGlzIHN5bmNpbmcgb3VyIE1ha2VmaWxlLmFtIHdpdGggdXBzdHJlYW0gZ3RrZG9jLgoKMjAxNS0wNi0wNyAxNzoxNjoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDY3Njk5MyB0byBjNDA4NTgzCgoyMDE1LTA2LTA3IDE2OjQ0OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMSA9PT0KCjIwMTUtMDYtMDcgMTA6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMQoKMjAxNS0wNi0wNyAxMDozODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wNi0wNyAxMDozMjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE92ZXJyaWRlIHRoZSBTU1JDIGZyb20gdGhlIHBhY2tldHMnIFNTUkMgaWYgbm9uZSB3YXMgZ2l2ZW4gdmlhIGNhcHMgb3IgcHJvcGVydHkKCjIwMTUtMDYtMDcgMDk6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA2LTA1IDE1OjMyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRG9uJ3Qgd2FybiB3aGVuIG9wdGlvbmFsIENJRCBhcmUgbm90IGltcGxlbWVudAoJICBnc3RfdjRsMl9nZXRfYXR0cmlidXRyZSgpIHNoYWxsIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBDSUQgaXMgZXhwZWN0ZWQKCSAgdG8gYmUgc3VwcG9ydGVkLiBPdGhlcndpc2UsIHdlIGdldCB1bndhbnRlZCB3YXJuaW5nIHBvc3RlZCB0byB0aGUgYnVzLgoKMjAxNS0wNi0wNSAxNjo0MzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IE9ubHkgc3VnZ2VzdCBvdXIgaW50ZXJuYWwgc3NyYyBpZiBpdCdzIG5vdCBhIHJhbmRvbSBvbmUgYW5kIHdhcyBzZWxlY3RlZCBhcyBpbnRlcm5hbCBzc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1ODEKCjIwMTUtMDYtMDQgMTQ6MTg6MDEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGVycm9yIHdoZW4gY2hhbm5lbC1wb3NpdGlvbnMtZnJvbS1pbnB1dD1GYWxzZQoJICBzZWxmLT5jaGFubmVscyBpcyBiZWluZyBpbmNyZW1lbnRlZCBvbmx5IHdoZW4KCSAgY2hhbm5lbC1wb3NpdGlvbnMtZnJvbS1pbnB1dCBpcyBzZXQgYXMgVFJVRS4gU28gaW4gY2FzZSBvZiBGQUxTRQoJICBzZWxmLT5mdW5jIGlzIG5vdCBzZXQgYW5kIGhlbmNlIGNyZWF0aW5nIGFzc2VydGlvbiBlcnJvci4KCSAgSGVuY2UgcmVtb3ZpbmcgdGhlIGNvbmRpdGlvbiB0byBpbmNyZW1lbnQgc2VsZi0+Y2hhbm5lbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTEKCjIwMTUtMDYtMDUgMTA6MzM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgc3VwcG9ydCBmb3IgcmVjZWl2aW5nIHJlZHVjZWQgc2l6ZSBSVENQCgkgIEl0IHdvcmtlZCBiZWZvcmUgYnV0IGdhdmUgd2FybmluZ3MsIG5vdyB3ZSBqdXN0IGlnbm9yZSBSVENQCgkgIHBhY2tldHMgdGhhdCBkb24ndCBzdGFydCB3aXRoIGEgU1IuIEFzIGFsbCB3ZSdyZSBpbnRlcmVzdGVkCgkgIGluIGhlcmUgYXJlIFNScy4KCjIwMTUtMDYtMDMgMTI6MjI6NDIgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgcmVkdWNlIHNpemUgcnRjcAoJICBBY2NvcmRpbmcgdG8gUkZDIDU1MDYsIHJlZHVjZSBzaXplIHBhY2thZ2VzIGNhbiBiZSBzZW50LCB0aGlzCgkgIHBhY2thZ2VzIG1heSBub3QgYmUgY29tcG91bmQsIHNvIHdlIG5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yCgkgIGdldHRpbmcgc3NyYyBmcm9tIG90aGVyIHR5cGVzIG9mIHBhY2thZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzI3CgoyMDE1LTA2LTAzIDEzOjE0OjQ0ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgc3VwcG9ydCBmb3IgcmVjZWl2aW5nIHJlZHVjZWQgc2l6ZSBydGNwCgkgIFNlZSBSRkMgNTUwNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzMyCgoyMDE1LTA2LTA0IDE2OjA5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGNoYW5uZWwgY29uZmlndXJhdGlvbnMgMTEsIDEyIGFuZCAxNCBhbmQgNyBhY3R1YWxseSBoYXMgOCBjaGFubmVscwoJICBJU08vSUVDIDE0NDk2LTM6MjAwOS9QREFNIDQgYWRkZWQgMTEsIDEyIGFuZCAxNC4KCjIwMTUtMDYtMDMgMDg6NTc6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgYXN0ZXJpc2toMjYzOiBVbi1yYW5rIGNsYXNoaW5nIGRlcGF5bG9hZGVyCgkgIFRoaXMgZGVwYXlsb2FkZXIgY2xhc2ggd2l0aCB0aGUgc3RhbmRhcmQgb25lIGZvciBIMjYzcC4gSXQgcHJvZHVjZXMgYW4KCSAgSDI2M3Agc3RyZWFtIHdpdGggYSBtb2RpZmllZCBoZWFkZXIuIEl0IHVzZXMgZW5jb2RpbmctbmFtZSB0aGF0IGlzIHRoZQoJICBzYW1lIGFzIEgyNjNwIChIMjYzLTE5OTgpIHRob3VnaCB0aGUgcmVzdWx0aW5nIEVTIGlzIG5vdCBkZWNvZGFibGUgb3IKCSAgcGFyc2FibGUgaW4gR1N0cmVhbWVyLCBtYWtpbmcgaXQgdW5zdWFibGUgaW4gZHluYW1pYyBwaXBlbGluZS4gVGhpcwoJICBwYXRjaCB1bnJhbmsgdGhpcyBzcGVjaWFsaXplZCBkZXBheWxvYWRlciBzaW5jZSBpdCBjYW4gb25seSBiZSB1c2VkIGluCgkgIGN1c3RvbSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTkzNQoKMjAxNS0wNi0wMiAxODowOTo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiByZW1vdmUgdmFyaWFibGVzIG5vdCBuZWVkZWQgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA2LTAyIDE3OjUyOjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHJlYmFzZSB0byB1c2UgdGhlIGF1ZGlvdmlzdWFsaXplciBjbGFzcwoJICBSZWJhc2UgdG8gaGF2ZSBnb29tMmsxIHVzaW5nIHRoZSBjb21tb24gR3N0QXVkaW9WaXN1YWxpemVyIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDIgMTc6Mjk6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcmViYXNlIHRvIHVzZSB0aGUgYXVkaW92aXN1YWxpemVyIGNsYXNzCgoyMDE1LTA2LTAyIDE2OjMxOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzoKCSAgY2hlY2s6IFVzZSBHU1RfQ0hFQ0tfTUFJTiAoKSBtYWNybyBldmVyeXdoZXJlCgkgIE1ha2VzIHNvdXJjZSBjb2RlIHNtYWxsZXIsIGFuZCBlbnN1cmVzIHdlIGdvIHRocm91Z2ggY29tbW9uIGluaXRpYWxpemF0aW9uCgkgIHBhdGggKGxpa2UgdGhlIG9uZSB0aGF0IHNldHMgdXAgWE1MIHVuaXQgdGVzdCBvdXRwdXQgLi4uKQoKMjAxNS0wNi0wMiAxNjoyNzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICBjaGVjazogVXNlIEdTVF9DSEVDS19NQUlOICgpIG1hY3JvIGV2ZXJ5d2hlcmUKCSAgTWFrZXMgc291cmNlIGNvZGUgc21hbGxlciwgYW5kIGVuc3VyZXMgd2UgZ28gdGhyb3VnaCBjb21tb24gaW5pdGlhbGl6YXRpb24KCSAgcGF0aCAobGlrZSB0aGUgb25lIHRoYXQgc2V0cyB1cCBYTUwgdW5pdCB0ZXN0IG91dHB1dCAuLi4pCgoyMDE1LTA1LTI2IDE0OjQ3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IE9ubHkgc2NoZWR1bGUgYSB0aW1lciB3aGVuIHdlIGFjdHVhbGx5IGhhdmUgdG8gc2VuZCBSVENQCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGhhdmUgMTBzLTEwMHMgb2YgdGhyZWFkIHdha2V1cHMgaW4gZmVlZGJhY2sgcHJvZmlsZXMsIGNyZWF0ZQoJICBSVENQIHBhY2tldHMsIGV0Yy4ganVzdCB0byBzdXBwcmVzcyB0aGVtIGluIDk5JSBvZiB0aGUgY2FzZXMgKGkuZS4gaWYgbm8KCSAgZmVlZGJhY2sgaXMgYWN0dWFsbHkgcGVuZGluZyBhbmQgbm8gcmVndWxhciBSVENQIGhhcyB0byBiZSBzZW50KS4KCSAgVGhpcyBpbXByb3ZlcyBDUFUgdXNhZ2UgYW5kIGJhdHRlcnkgbGlmZSBxdWl0ZSBhIGxvdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMiAxMzo0NDowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogUmVtb3ZlIHVzZWxlc3MgZ290bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTIxIDEyOjU0OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXM6IFNldCBSVFAgcHJvZmlsZSB0byBBVlBGIGZvciBydHBhdXggZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0wNCAxNjo0MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogU2V0IFJUUCBwcm9maWxlIG9uIHRoZSBydHBzZXNzaW9uIG9iamVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMSAxNDoxMzo1NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBBZGQgcnRwLXByb2ZpbGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlIGRlZmF1bHQgcHJvZmlsZSBvZiBuZXdseSBjcmVhdGVkIHNlc3Npb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTE6NTE6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE9ubHkgcHV0IFJScyBhbmQgZnVsbCBTREVTIGludG8gcmVndWxhciBSVENQIHBhY2tldHMKCSAgSWYgd2UgbWF5IHN1cHByZXNzIHRoZSBwYWNrZXQgZHVlIHRvIHRoZSBydWxlcyBvZiBSRkM0NTg1IChpLmUuIHdoZW4KCSAgYmVsb3cgdGhlIHQtcnItaW50KSwgd2UgY2FuIHNlbmQgYSBzbWFsbGVyIFJUQ1AgcGFja2V0IHdpdGhvdXQgUlJzCgkgIGFuZCBmdWxsIFNERVMuIEluIHRoZW9yeSB3ZSBjb3VsZCBldmVuIHNlbmQgYSBtaW5pbWFsIFJUQ1AgcGFja2V0CgkgIGFjY29yZGluZyB0byBSRkM1NTA2LCBidXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGF0IHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0wNCAxMzo1MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBLZWVwIHRyYWNrIG9mIHRwL3RuIGFuZCB0X3JyX2xhc3Qgc2VwYXJhdGVseQoJICBPdGhlcndpc2Ugd2UgY2FuJ3QgcHJvcGVybHkgc2NoZWR1bGUgUlRDUCBpbiBmZWVkYmFjayBwcm9maWxlcyBhcyB3ZSBuZWVkIHRvCgkgIGRpc3Rpbmd1aXNoIHRoZSB0aW1lIHdoZW4gd2UgbGFzdCBjaGVja2VkIGZvciBzZW5kaW5nIFJUQ1AgKHRwKSBidXQgbWlnaHQgaGF2ZQoJICBzdXBwcmVzc2VkIGl0LCBhbmQgdGhlIHRpbWUgd2hlbiB3ZSBsYXN0IGFjdHVhbGx5IHNlbnQgYSBub24tZWFybHkgUlRDUAoJICBwYWNrZXQuCgkgIFRoaXMgdG9nZXRoZXIgd2l0aCB0aGUgb3RoZXIgY2hhbmdlcyBzaG91bGQgbm93IHByb3Blcmx5IGltcGxlbWVudCBSVENQCgkgIHNjaGVkdWxpbmcgYWNjb3JkaW5nIHRvIFJGQzQ1ODUsIGFuZCBlc3BlY2lhbGx5IGFsbG93IHVzIHRvIHNlbmQgZmVlZGJhY2sKCSAgcGFja2V0cyBhIGxvdCBpZiBuZWVkZWQgYnV0IG9ubHkgc2VuZCByZWd1bGFyIFJUQ1AgcGFja2V0cyBldmVyeSBvbmNlIGluIGEKCSAgd2hpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTE6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQWRkIHByb3BlcnR5IGZvciBzZWxlY3RpbmcgUlRQIHByb2ZpbGUgKEFWUC9BVlBGL2V0YykKCSAgQW5kIG1vZGlmeSBvdXIgUlRDUCBzY2hlZHVsaW5nIGFsZ29yaXRobSBhY2NvcmRpbmdseS4gV2Ugbm93IGNhbiBzZW5kIG1vcmUKCSAgUlRDUCBwYWNrZXRzIGlmIG5lZWRlZCBmb3IgZmVlZGJhY2ssIGJ1dCB3aWxsIHRocm90dGxlIGZ1bGwgUlRDUCBwYWNrZXRzIGJ5CgkgIHJ0Y3AtbWluLWludGVydmFsICh0LXJyLWludCBmcm9tIFJGQzQ1ODUpLgoJICBJbiBub24tZmVlZGJhY2sgbW9kZSwgcnRjcC1taW4taW50ZXJ2YWwgaXMgVG1pbiBmcm9tIFJGQzM1NTAsIHdoaWNoIGlzCgkgIHN0YXRpY2FsbHkgc2V0IHRvIDFzIG9yIDBzIGJ5IFJGQzQ1ODUuIFRtaW4gZGVmaW5lcyBob3cgb2Z0ZW4gd2Ugc2hvdWxkCgkgIHNlbmQgUlRDUCBwYWNrZXRzIGF0IG1vc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMzAgMTc6NDE6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogTGV0IGJhc2VjbGFzcyBlc3RpbWF0ZSBiaXRyYXRlCgkgIFRoaXMgbWFrZXMgcGxheWJhY2sgZGlyZWN0bHkgZnJvbSBhIGZpbGUgd29yayB3aXRoIHRoZSByaWdodCBjYXBzLgoKMjAxNS0wNS0yNyAxNjozMToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazoga2VlcCBHQ2FuY2VsbGFibGUgZmQgYXJvdW5kIGluc3RlYWQgb2YgcmUtY3JlYXRpbmcgaXQgY29uc3RhbnRseQoJICBBbmQgY3JlYXRlIGl0IG9ubHkgd2hlbiBzdGFydGluZyB0aGUgZWxlbWVudC4KCjIwMTUtMDUtMjcgMTU6NTU6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rLCBtdWx0aXVkcHNpbms6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgT3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgY3JlYXRlL2Nsb3NlIGV2ZW50IGZpbGUgZGVzY3JpcHRvcnMsCgkgIGV2ZXJ5IHRpbWUgd2UgY2FsbCBnX3NvY2tldF9jb25kaXRpb25fdGltZWRfd2FpdCgpIG9yCgkgIGdfc29ja2V0X3NlbmRfbWVzc2FnZShzKSgpLCBpLmUuIGEgbG90LiBXaGljaCBpcyBub3QKCSAgcGFydGljdWxhcmx5IGdvb2QgZm9yIHBlcmZvcm1hbmNlLgoJICBDYW4ndCBjcmVhdGUgR0NhbmNlbGxhYmxlIGluIDo6c3RhcnQoKSBoZXJlIGJlY2F1c2UgaXQncyB1c2VkCgkgIGluIGNsaWVudF9uZXcoKSB3aGljaCBtYXkgYmUgY2FsbGVkIHZpYSB0aGUgYWRkLWNsaWVudCBhY3Rpb24KCSAgc2lnbmFsIHdoaWNoIG1heSBiZSBjYWxsZWQgYmVmb3JlIHRoZSBlbGVtZW50IGlzIHVwIGFuZCBydW5uaW5nLgoKMjAxNS0wNS0xOSAxODoxMzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzoga2VlcCBHQ2FuY2VsbGFibGUgZmQgYXJvdW5kIGluc3RlYWQgb2YgcmUtY3JlYXRpbmcgaXQgY29uc3RhbnRseQoJICBPdGhlcndpc2Ugd2UgY29uc3RhbnRseSBjcmVhdGUvY2xvc2UgZXZlbnQgZmlsZSBkZXNjcmlwdG9ycywKCSAgZXZlcnkgc2luZ2xlIHRpbWUgd2UgY2FsbCBnX3NvY2tldF9jb25kaXRpb25fdGltZWRfd2FpdCgpIG9yCgkgIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpLCBpLmUuIHR3aWNlIHBlciBwYWNrZXQgcmVjZWl2ZWQhCgkgIFRoaXMgd2FzIG5vdCBwYXJ0aWN1bGFybHkgZ29vZCBmb3IgcGVyZm9ybWFuY2UuCgkgIEFsc28gb25seSBjcmVhdGUgR0NhbmNlbGxhYmxlIG9uIHN0YXJ0LXVwLgoKMjAxNS0wNS0yNiAxNTozMzozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogb3ZlcndyaXR0ZW4gdmFsdWUgYXNzaWdubWVudAoJICBjdXJwb3MgaXMgc2V0IGFuZCBpbW1lZGlhdGVseSBhZnRlciwgc2V0IGFnYWluLiBSZW1vdmUgdGhlIHJlZHVuZGFudAoJICBhc3NpZ25tZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5OTA5CgoyMDE1LTA1LTIzIDEzOjQ3OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBkb24ndCBzaGFkb3cgZXhpc3Rpbmcgb3V0YnVmIHZhcmlhYmxlCgkgIEFuZCBmaXggdW5yZWYgb2YgdGhlIHdyb25nIG9uZSB3aGljaCB3aWxsIGNvbnRhaW4gTlVMTAoJICBpbiBhbiBlcnJvciBjb2RlIHBhdGguCgoyMDE1LTA1LTIzIDEzOjIzOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgcnRwdnJhd2RlcGF5OiBtYXAvdW5tYXAgb3V0cHV0IGZyYW1lIG9ubHkgb25jZSwgbm90IGZvciBldmVyeSBpbnB1dCBwYWNrZXQKCSAgTWFwIG91dHB1dCBidWZmZXIgYWZ0ZXIgY3JlYXRpbmcgaXQgYW5kIGtlZXAgaXQgbWFwcGVkCgkgIHVudGlsIHdlJ3JlIGRvbmUgd2l0aCBpdCBpbnN0ZWFkIG9mIG1hcHBpbmcvdW5tYXBwaW5nCgkgIGl0IGZvciBldmVyeSBzaW5nbGUgaW5wdXQgYnVmZmVyLgoKMjAxNS0wNS0yNSAwODo0Nzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBmaXhtZSBmcm9tIDIwMDYKCSAgSXQgaGFzIGJlZW4gdmVyaWZpZWQgYnkgdXNlIG92ZXIgdGltZS4KCjIwMTUtMDUtMjMgMTQ6MzY6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjayBvZiBmcmFnbWVudGVkIG1lZGlhCgkgIHF0ZGVtdXggY3JlYXRlcyBhIHNhbXBsZXMgYXJyYXkgYW5kIGdldHMgdGhlIHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgYnkKCSAgYWNjdW11bGF0aW5nIHRoZWlyIGR1cmF0aW9ucy4gV2hlbiBkb2luZyByZXZlcnNlIHBsYXliYWNrIG9mIGZyYWdtZW50cywKCSAgYWNjdW11bGF0aW5nIHNhbXBsZXMgd2lsbCBsZWFkIHRvIHdyb25nIHRpbWVzdGFtcHMgYXMgdGhlIHRpbWVzdGFtcHMKCSAgc2hvdWxkIGdvIGRlY3JlYXNpbmcgZnJvbSBmcmFnbWVudCB0byBmcmFnbWVudCBhbmQgdGhlIGFjY3VtdWxhdGlvbgoJICB3aWxsIHByb2R1Y2Ugd3JvbmcgcmVzdWx0cy4KCSAgSW4gdGhpcyBjYXNlLCB3aGVuIHJlY2VpdmluZyBhIGRpc2NvbnQgZm9yIGZyYWdtZW50ZWQgcmV2ZXJzZSBwbGF5YmFjaywKCSAgdGhlIHByZXZpb3VzIHNhbXBsZXMgaW5mb3JtYXRpb24gc2hvdWxkIGJlIGZsdXNoZWQgYmVmb3JlIG5ldyBkYXRhCgkgIGlzIHByb2Nlc3NlZC4KCjIwMTUtMDUtMjMgMDE6MDM6MTggKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogSW1wbGVtZW50IGJpbmFyeSBzZWFyY2ggaW4gZmluZF9wYXJ0X2Zvcl9vZmZzZXQKCSAgSW1wbGVtZW50IGJpbmFyeSBzZWFyY2ggdXNpbmcgZ3N0X3V0aWxfYXJyYXlfYmluYXJ5X3NlYXJjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjkwCgoyMDE1LTA1LTIxIDEzOjI2OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEb24ndCBjcmFzaCBpZiB3ZSByZWNlaXZlIEZJUi9QTEkgZnJvbSBhIHNvdXJjZSB3ZSBkb24ndCBrbm93CgoyMDE1LTA1LTIxIDA5OjM1OjU4ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IGNvbGxlY3Rpb24gb2Ygc3RhdGlzdGljcwoJICBTdGF0cyBzaG91bGQgYmUgY29sbGVjdGVkIG9uIHRoZSBtZWRpYSBydHAgc291cmNlIG5vdCBpbiB0aGUKCSAgc2VuZGVyIG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY2OQoKMjAxNS0wNC0yMCAxMDowNzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogQWRkIGEgbmV3IG1heC1kdXJhdGlvbiBmaWxlIHN3aXRjaGluZyBtb2RlCgkgIFRoaXMgbmV3IG1vZGUgZW5zdXJlcyB0aGF0IGZpbGVzIHdpbGwgbmV2ZXIgZXhjZWVkIGEgY2VydGFpbiBkdXJhdGlvbgoJICBiYXNlZCBvbiBpbmNvbWluZyBidWZmZXIgUFRTIChhbmQgZHVyYXRpb24gaWYgcHJlc2VudCkKCSAgTm90ZToKCSAgKiBZb3UgbmVlZCB0aW1lc3RhbXBlZCBidWZmZXJzIChkdWgpLiBJZiBzb21lIG9mIHRoZSBpbmNvbWluZyBidWZmZXJzIGRvbid0CgkgIGhhdmUgUFRTLCB0aGVuIGl0IHdpbGwganVzdCBhY2NlcHQgdGhlbSBpbiB0aGUgY3VycmVudCBmaWxlCgoyMDE1LTA0LTE3IDE2OjE4OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHN0cmVhbWxpbmUgdGhlIGZpbGUtc3dpdGNoIGNvZGUgYSBiaXQKCSAgVXNlIHRoZSBzYW1lIGZ1bmN0aW9ucyByZWdhcmRsZXNzIG9mIHRoZSBtb2RlIHdlIGFyZSB1c2luZwoKMjAxNS0wNC0wMiAxMzozNToxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkICJhZ2dyZWdhdGUtZ29wcyIgcHJvcGVydHkgdG8gcHJvY2VzcyBHT1BzIGFzIGEgd2hvbGUKCSAgVGhpcyBwcm9wZXJ0eSBjYW4gYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIG5leHQtZmlsZT1tYXgtc2l6ZQoJICAoYW5kIHBlcmhhcHMgYSBmdXR1cmUgbmV4dC1maWxlPW1heC1kdXJhdGlvbikgdG8gbWFrZSBzdXJlIHRoYXQKCSAgZWFjaCBmaWxlIHBhcnQgc3RhcnRzIGNsZWFubHkgd2l0aCBhIGtleSBmcmFtZSBhbmQgdGhlIGFwcHJvcHJpYXRlIGhlYWRlcnMuCgkgIEluIG9yZGVyIGZvciB0aGlzIHByb3BlcnR5IHRvIHdvcmsgY29ycmVjdGx5LCB1cHN0cmVhbSBlbGVtZW50cyBzaG91bGQgbWFrZQoJICBzdXJlIHRoYW4gYW55IGhlYWRlcnMgdGhhdCBuZWVkIHRvIGJlIHdyaXR0ZW4gaW4gYSBzdGFuZGFsb25lIGZpbGUgYXJlOgoJICAxKSBpbiB0aGUgc3RyZWFtaGVhZGVyIGNhcHMgZmllbGQKCSAgMikgYW5kL29yIGluIHRoZSBzdHJlYW0gYXMgb25lIG9yIG1vcmUgYnVmZmVycyBtYXJrZWQgd2l0aCBHU1RfQlVGRkVSX0ZMQUdfSEVBREVSCgkgIHRoYXQgYXJlIGp1c3QgYmVmb3JlIHRoZSBrZXlmcmFtZSBidWZmZXIKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIE1QRUctVFMvTVBFRy1QUyBmaWxlIHNlZ21lbnRpbmcgaW4KCSAgY29tYmluYXRpb24gd2l0aCBtcGVndHNtdXggb3IgbXBlZ3BzbXV4LgoJICBPcmlnaW5hbCBwYXRjaCBieTogVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCjIwMTUtMDUtMjAgMTY6Mzc6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVzZSBzaW5nbGUtaW5jbHVkZSBoZWFkZXIgZm9yIHRoZSBSVFNQIGxpYnJhcnkKCjIwMTQtMTAtMjQgMjM6NDc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBkb24ndCB1c2Ugc29vbi10by1iZS1kZXByZWNhdGVkIGdfY2FuY2VsbGFibGVfcmVzZXQoKQoJICBGcm9tIHRoZSBBUEkgZG9jdW1lbnRhdGlvbjogIk5vdGUgdGhhdCBpdCBpcyBnZW5lcmFsbHkgbm90CgkgIGEgZ29vZCBpZGVhIHRvIHJldXNlIGFuIGV4aXN0aW5nIGNhbmNlbGxhYmxlIGZvciBtb3JlCgkgIG9wZXJhdGlvbnMgYWZ0ZXIgaXQgaGFzIGJlZW4gY2FuY2VsbGVkIG9uY2UsIGFzIHRoaXMKCSAgZnVuY3Rpb24gbWlnaHQgdGVtcHQgeW91IHRvIGRvLiBUaGUgcmVjb21tZW5kZWQgcHJhY3RpY2UKCSAgaXMgdG8gZHJvcCB0aGUgcmVmZXJlbmNlIHRvIGEgY2FuY2VsbGFibGUgYWZ0ZXIgY2FuY2VsbGluZwoJICBpdCwgYW5kIGxldCBpdCBkaWUgd2l0aCB0aGUgb3V0c3RhbmRpbmcgYXN5bmMgb3BlcmF0aW9ucy4KCSAgWW91IHNob3VsZCBjcmVhdGUgYSBmcmVzaCBjYW5jZWxsYWJsZSBmb3IgZnVydGhlciBhc3luYwoJICBvcGVyYXRpb25zLiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTEzMgoKMjAxNS0wNS0xOCAyMDoxMzowMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIFJldmVydCAiZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNzk3YzhmOGIxMmQ3ZjRjN2E5NDQ0Yzk0ZjM0ZjRkMDhlYzg1OTQ1LgoJICBUaGlzIGlzIGZpeGVkIGJ5IHRoZSBndGstZG9jIDEuMjMgcmVsZWFzZS4KCSAgPHBhcmE+IGNhbm5vdCBjb250YWluIDxyZWZzZWN0Mj46CgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcGFyYS5odG1sCgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcmVmc2VjdDIuaHRtbAoKMjAxNS0wNS0xOCAxNjo0MDoyMSArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgcnRwZzcyNnBheTogZml4IGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTQ0CgoyMDE1LTA1LTE4IDE2OjM0OjEzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIHJ0cGc3MjZkZXBheTogZG9uJ3QgbGVhayBpbnB1dCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU0MwoKMjAxNS0wNS0xOCAxNzozODozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IFF1ZXVlIGJhZCBwYWNrZXRzIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlbQoJICBTbyB3ZSBjYW4gc2VuZCB0aGVtIG91dCBvbmNlIHdlIGZvdW5kIHRoZSBuZXh0LCBjb25zZWN1dGl2ZSBzZXF1ZW5jZSBudW1iZXIgaW4KCSAgY2FzZSBvbmUgaXMgZm9sbG93aW5nLgoKMjAxNS0wNS0xOCAxNzozODoxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IFVzZSBnX3F1ZXVlX2ZvcmVhY2goKSB0byB1bnJlZiBhbGwgYnVmZmVycyBpbiBxdWV1ZXMKCjIwMTUtMDUtMTggMTc6MTk6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBSZWZhY3RvciBzZXFudW0gY29tcGFyaXNvbiBjb2RlIGEgYml0CgoyMDE1LTA1LTE4IDE3OjA4OjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogQWxsb3cgc2VxdWVuY2UgbnVtYmVyIHdyYXBhcm91bmQgZHVyaW5nIHByb2JhdGlvbgoKMjAxNS0wNS0xOCAxNzowNzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IE1ha2Ugc2VxdWVuY2UgbnVtYmVyIGNvbXBhcmlzb24gY29kZSBtb3JlIHJlYWRhYmxlCgkgIC4uLiBieSB1c2luZyBnc3RfcnRwX2J1ZmZlcl9jb21wYXJlX3NlcW51bSgpIGFuZCBzaWduZWQgaW50ZWdlcnMKCSAgaW5zdGVhZCBvZiBpbXBsaWN0bHkgdXNpbmcgZWZmZWN0cyBvZiBpbnRlZ2VyIG92ZXIvdW5kZXJmbG93cy4KCjIwMTUtMDQtMjIgMTg6NTQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXaGVuIGRldGVjdGluZyBhIGh1Z2Ugc2VxbnVtIGdhcCwgd2FpdCBmb3IgNSBjb25zZWN1dGl2ZSBwYWNrZXRzIGJlZm9yZSByZXNldHRpbmcgZXZlcnl0aGluZwoJICBJdCBtaWdodCBqdXN0IGJlIGEgbGF0ZSByZXRyYW5zbWlzc2lvbiBvciBzcHVyaW91cyBwYWNrZXQgZnJvbSBlbHNld2hlcmUsIGJ1dAoJICByZXNldHRpbmcgZXZlcnl0aGluZyB3b3VsZCBtZWFuIHRoYXQgd2Ugd2lsbCBjYXVzZSBhIG5vdGljZWFibGUgaGlja3VwLiBMZXQncwoJICBnZXQgc29tZSBjb25maWRlbmNlIGZpcnN0IHRoYXQgdGhlIHNlcXVlbmNlIG51bWJlcnMgY2hhbmdlZCBmb3Igd2hhdGV2ZXIKCSAgcmVhc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTIyCgoyMDE1LTA1LTE2IDIzOjM3OjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIGRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUKCSAgV2l0aCBndGtkb2MgMS4yMiwgdGhlIFhNTCBnZW5lcmF0b3IgZmFpbHMgd2hlbiBhIGl0ZW1pemVkbGlzdCBpcwoJICBmb2xsb3dlZCBieSBhIHJlZnNlY3QyLiBXb3JrYXJvdW5kIHRoZSBpc3N1ZSBieSB3cmFwcGluZyB0aGUKCSAgcmVmc2VjdDIgaW50byBwYXJhLgoKMjAxNS0wMS0yMyAxMzo1Nzo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBhdm9pZCB3cm9uZyB3YXJuaW5ncyBvbiB1bmtub3duIG5vZGUgdHlwZXMKCSAgQWRkICduYW1lJyBhbmQgJ21lYW4nIGZvdXJjY3MsIGFzIHdlIGhhbmRsZSB0aGVtLiBSaWdodCBub3cgZWFjaCB1c2Ugd291bGQKCSAgdHJpZ2dlciBhIHdhcm5pbmcuCgoyMDE1LTA1LTA4IDE5OjEzOjAwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgIHJ0cGc3MjZkZXBheTogYWRkIGJsb2NrX2FsaWduIHRvIG91dHB1dCBjYXBzCgkgIEl0IGlzIG5lZWRlZCB0byBjb3JyZWN0bHkgbmVnb3RpYXRlIGNhcHMgd2l0aCBtYXRyb3NrYW11eAoJICBhbmQgbW9zdCBvdGhlciBtdXhlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMjkKCjIwMTUtMDUtMTIgMTM6NDE6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRml4IHRpbWUtZG9tYWluIGNvbnZvbHV0aW9uIHdpdGggPjEgY2hhbm5lbHMKCSAgaW5wdXRfc2FtcGxlcyBpcyB0aGUgbnVtYmVyIG9mIGZyYW1lcywgYnV0IHdlIHVzZWQgaXQgYXMgdGhlIG51bWJlciBvZgoJICBzYW1wbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjA0CgoyMDE1LTA1LTEyIDEyOjEzOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBQcm9wZXJseSBjb252ZXJ0IGJldHdlZW4gR1N0cmVhbWVyIGFuZCBlbmNvZGVyIHRpbWViYXNlCgkgIC4uLiBieSBzd2l0Y2hpbmcgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciB3aGVuIHNjYWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMjIKCjIwMTUtMDUtMTEgMTM6MzM6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFs4OV1lbmM6IERvbid0IHNldCB0aW1lYmFzZSBmcm9tIHRoZSBmcmFtZXJhdGUKCSAgVGhlIGZyYW1lcmF0ZSB2ZXJ5IG9mdGVuIGlzIGp1c3QgYW4gaW5kaWNhdGlvbiBvZiB0aGUgaWRlYWwgZnJhbWVyYXRlLCBub3QgdGhlCgkgIGFjdHVhbCBmcmFtZXJhdGUgb2YgdGhlIHN0cmVhbS4gQnkganVzdCB1c2luZyB0aGUgZnJhbWVyYXRlLCB3ZSBjb25mdXNlIHRoZQoJICByYXRlIGNvbnRyb2wgYWxnb3JpdGhtIGFsZ29yaXRobSBhcyBtdWx0aXBsZSBmcmFtZXMgd2lsbCBtYXAgdG8gdGhlIHNhbWUgUFRTCgkgIG9yIGhhdmUgZHVyYXRpb25zIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxMjIKCjIwMTUtMDUtMTAgMTQ6MjE6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB0ZXN0czogd2F2cGFja3BhcnNlOiBmaXggdW5pdCB0ZXN0CgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzcKCjIwMTUtMDUtMTAgMTE6MzQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIGRvY3M6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcyBpbiBlbGVtZW50IGRvY3MKCSAgTW9zdGx5IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAsIGJ1dCBhbHNvCgkgIHVzZSBhdXRvYXVkaW9zaW5rL2F1dG92aWRlb3NpbmsgaW4gbW9yZSBwbGFjZXMKCSAgYW5kIHVwZGF0ZSBwaXBlbGluZXMgYSBsaXR0bGUgb3IgZmxlc2ggb3V0CgkgIGRlc2NyaXB0aW9ucy4KCjIwMTUtMDUtMTAgMTE6MzQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGRvY3M6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcyBpbiBlbGVtZW50IGRvY3MKCSAgTW9zdGx5IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAsIGJ1dCBhbHNvCgkgIHVzZSBhdXRvYXVkaW9zaW5rL2F1dG92aWRlb3NpbmsgaW4gbW9yZSBwbGFjZXMKCSAgYW5kIHVwZGF0ZSBwaXBlbGluZXMgYSBsaXR0bGUgb3IgZmxlc2ggb3V0CgkgIGRlc2NyaXB0aW9ucy4KCjIwMTUtMDUtMTAgMTE6MDU6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkgIGRvY3M6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcyBpbiBlbGVtZW50IGRvY3MKCSAgTW9zdGx5IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAKCSAgVXNlIGF1dG92aWRlb3NpbmsvYXV0b2F1ZGlvc2luayBtb3JlIG9mdGVuLgoJICBTcHJpbmtsZSBzb21lIGNvbnZlcnRlcnMgaGVyZSBhbmQgdGhlcmUuCgoyMDE1LTA1LTA5IDE5OjQ4OjU1ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkxNjMKCjIwMTUtMDUtMTAgMTA6NTI6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBtaW5vciBlcnJvciBtZXNzYWdlIGNsZWFuLXVwCgkgIERvbid0IHB1dCBmaWxlbmFtZSBpbiBlcnJvciBtZXNzYWdlIHNob3duIHRvIHVzZXIuCgoyMDE1LTA1LTA3IDE2OjI1OjM2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gc3RvcmVkIHRvIHNlZWt0YWJsZQoJICBGaXggYSBsZWFrIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUucGxheWJhY2suY2hhbmdlX3N0YXRlX2ludGVuc2l2ZS5zYW1wbGVzX211bHRpbWVkaWFfY3hfZmxhY19ZZXN0ZXJkYXlfZmxhYwoJICBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA3MgoKMjAxNS0wNS0wNyAxNzoxMDozNyArMDkwMCAgUGF1bCBIeXVuaWwgPHBhdWwuaHl1bmlsQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoJICBUaGUgZ3N0LWxhdW5jaCBzY3JpcHQgZm9yIGV4YW1wbGUgbGF1bmNoIGxpbmUgdG8gdGVzdCBxdGRlbXV4IGlzCgkgIG1pc3NpbmcgYSBxdWV1ZSBiZWZvcmUgdGhlIGRlY29kZWJpbnMsIG90aGVyd2lzZSB0aGUgZ3N0LWxhdW5jaC0xLjAKCSAgY29tbWFuZCB3b24ndCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MDU0CgoyMDE1LTA1LTA3IDE0OjUxOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBSZXZlcnQgInJ0cHNlc3Npb246IEFsc28gcmVwb3J0IGludGVybmFsIHNvdXJjZXMgaW4gb24tbmV3LXNzcmMgYW5kIG9uLXNzcmMtYWN0aXZlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQyMmVjNDk2MzI4ZTZiYThlZGJmMmQwNzFkNTYwOGIyYWYyODMxZTguCgkgIEFwcGxpY2F0aW9uIGNvZGUgbWlnaHQgZXhwZWN0IHRoYXQgaXQgb25seSBnZXRzIGV4dGVybmFsIHNvdXJjZXMgb24gdGhvc2UKCSAgc2lnbmFscywgYW5kIGdldCBjb25mdXNlZCBieSB0aGlzLiBJZiBhbnl0aGluZyB3ZSB3b3VsZCBuZWVkIHRvIGFkZCBuZXcKCSAgc2lnbmFscy4KCjIwMTUtMDMtMjUgMTU6Mjc6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFsc28gcmVwb3J0IGludGVybmFsIHNvdXJjZXMgaW4gb24tbmV3LXNzcmMgYW5kIG9uLXNzcmMtYWN0aXZlCgkgIFdpdGhvdXQgdGhpcyBpdCBzZWVtcyBpbXBvc3NpYmxlIGZvciBhbiBhcHBsaWNhdGlvbiB0byBlYXNpbHkgZ2V0IG5vdGlmaWVkCgkgIGFib3V0IHRoZSBpbnRlcm5hbCBzc3JjcyB0aGF0IGFyZSBjcmVhdGVkLCBlLmcuIHNlbmRlciBzb3VyY2VzLCBhbmQgYWxzbwoJICB0byBrbm93IHdoZW4gdGhleSBhcmUgYWN0aXZlIGFuZCBwcm9kdWNlIFJUQ1AgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Njc0NwoKMjAxNS0wNS0wNCAxOToyNjoxNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBmcmFtZSBsZWFrcyBpbiBoYW5kbGVfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbgoJICBoYW5kbGVfZnJhbWUoKSBpcyBzdXBwb3NlZCB0byBjb25zdW1lIEBmcmFtZSwgc28gaWYgd2UgZG9uJ3QgY2FsbAoJICBnc3RfdmlkZW9fZGVjb2Rlcl9kcm9wX2ZyYW1lKCkgb3IgZ3N0X3ZpZGVvX2RlY29kZXJfZmluaXNoX2ZyYW1lKCkgd2UgaGF2ZSB0bwoJICByZWxlYXNlIGl0IG1hbnVhbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTA5CgoyMDE1LTA1LTA0IDE2OjUwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggdXAgbGFzdCBjb21taXQKCjIwMTUtMDUtMDQgMTY6NDY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE9ubHkgZG8gUlRYIHdoZW4gdXNpbmcgYSBmZWVkYmFjayBwcm9maWxlCgoyMDE1LTA1LTA0IDEzOjUwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUaGUgc3RhdHMgbWluX2ludGVydmFsIGlzIGluIHNlY29uZHMsIG5vdCBuYW5vc2Vjb25kcwoJICBXZSBoYXZlIHRvIHNjYWxlIGl0IHRvIGNvbXBhcmUgaXQgYWdhaW5zdCBvdXIgY2xvY2sgdGltZXMuCgoyMDE1LTA1LTA0IDExOjM4OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IHJldHVybiBUUlVFIGlmIGVhcmx5IGZlZWRiYWNrIHdhcyByZXF1ZXN0ZWQgYWxyZWFkeSBhbmQgaXQncyBlYXJseSBlbm91Z2gKCjIwMTUtMDQtMzAgMTU6NDI6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZW51bSBpdGVtcwoKMjAxNS0wNC0zMCAxMjoxMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYnVmZmVyIGxlYWsgb24gZW9zIGluIHB1c2ggbW9kZQoJICBCYXNlZCBvbiBwYXRjaCBieSBHdWlsbGF1bWUgRGVzbW90dGVzLgoJICBzY2VuYXJpbzogdmFsaWRhdGUuaHR0cC5wbGF5YmFjay5zZWVrX3dpdGhfc3RvcC5yYXdfaDI2NF8xX21wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjE3CgoyMDE1LTA0LTI5IDE5OjQxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGZvciBzaXplcyBvZiB0aGUgcmRyZiAocmVkaXJlY3QpIGF0b20gYmVmb3JlIGFjY2Vzc2luZyB0aGUgZGF0YSBhbmQgdXNlIGdfc3RybmR1cCgpIGluc3RlYWQgb2YgZ19zdHJkdXAoKQoJICBUaGFua3MgdG8gUmFscGggR2lsZXMgZm9yIHJlcG9ydGluZyB0aGlzLgoKMjAxNS0wNC0yOSAxNTo1MjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogT25seSBlbmFibGUgcmV0cmFuc21pc3Npb25zIGlmIHRoZXJlIGlzIHJldHJhbnNtaXNzaW9uIGluZm8gaW4gdGhlIFNEUAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gc2VuZCBlYXJseSBSVENQIGFuZCBOQUNLcyBpbiBub24tZmVlZGJhY2sgc2Vzc2lvbnMKCSAgdG9vLCB3aGljaCB3aWxsIGNvbmZ1c2Ugc2VydmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODYyNwoKMjAxNS0wMi0xMSAxODowOToyNCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBleHRyYWN0IHJlY29yZGluZyB0aW1lCgkgIEV4dHJhY3RzIHRoZSByZWNvcmRlZCB0aW1lIG9mIHRoZSBkdiBmaWxlIGZyb20KCSAgdGhlIG1ldGFkYXRhIGFuZCBwdXRzIGl0IGludG8gdGhlIGdsb2JhbCB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNjU3CgoyMDE1LTA0LTI4IDE1OjU5OjI1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VlayBldmVudCBsZWFrCgkgIGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCgpIGRvZXNuJ3QgY29uc3VtZSB0aGUKCSAgZXZlbnQgc28gd2UgaGF2ZSB0byB1bnJlZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU4NAoKMjAxNS0wNC0yOCAxNTo0Mjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogU2VuZCBwZW5kaW5nIHRhZ3Mgd2hlbiBhZGRpbmcgYSBuZXcgcGFkCgkgIFdlIG1pZ2h0J3ZlIHBhcnNlZCB0aG9zZSB0YWdzIGJlZm9yZSBhbHJlYWR5IGFuZCB0cmllZCB0byBwdXNoIHRoZW0gdG8KCSAgbm9uLWV4aXN0aW5nIHBhZHMgYmVmb3JlLiBOb3cgbGV0J3MgZG8gaXQgZm9yIHJlYWwuCgoyMDE1LTA0LTIzIDE4OjU3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IEF2ZXJhZ2UgUlRDUCBwYWNrZXQgc2l6ZSBpcyBpbiBieXRlcywgYmFuZHdpZHRocyBpbiBiaXRzCgkgIFdlIG5lZWQgdG8gY29udmVydCB0aGUgc2l6ZSB0byBiaXRzIGZvciBvdXIgY2FsY3VsYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTIzIDE4OjUzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IFVzZSB0aGUgc2FtZSBsb3dlciBsaW1pdCBmb3IgUlRDUCBiYW5kd2lkdGggdG8gc3RvcCBzZW5kaW5nIFJUQ1AgZXZlcnl3aGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTE0IDE4OjQxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBiYW5kd2lkdGggY2FsY3VsYXRpb24gYnkgZGVmYXVsdCBpbnN0ZWFkIG9mIHNvbWUgYXJiaXRyYXJ5IGhhcmRjb2RlZCB2YWx1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTIzIDE4OjQ5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBCYW5kd2lkdGggaXMgc3VwcG9zZWQgdG8gYmUgaW4gYml0cy9zLCBub3QgYnl0ZXMvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3ODYzCgoyMDE1LTA0LTI3IDE2OjM2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IFJUWCB1bml0IHRlc3QKCSAgVGhlIGNhbGN1bGF0aW9ucyB3ZXJlIGEgYml0IG9mZiBldmVyeXdoZXJlLCBldmVuIGJlZm9yZSB0aGUgY2hhbmdlcyBkb25lCgkgIHJlY2VudGx5IHRvIHRoZSBkZWxheSBmb3IgUlRYIG9mIGV4cGVjdGVkIGZ1dHVyZSBwYWNrZXRzLiBJdCBvbmx5IHdvcmtlZCBieQoJICBhY2NpZGVudCwgYnV0IG5vdyB0aGUgY2FsY3VsYXRpb25zIGFyZSBhbGwgY29ycmVjdCBhZ2Fpbi4gSG9wZWZ1bGx5LgoKMjAxNS0wNC0yNyAxMToyMjoxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGZyb20gQVJHXyB0byBQUk9QXwoJICBQcm9wZXJ0eSBlbnVtIGl0ZW1zIHNob3VsZCBiZSBuYW1lZCBQUk9QXyBmb3IgY29uc2lzdGVuY3kgYW5kIHJlYWRhYmlsaXR5LgoKMjAxNS0wNC0yNSAwMjo0OTo1OCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCAic3RhdHMiIHByb3BlcnR5IGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQzNgoKMjAxNS0wNC0yNiAxNzo1NDo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgb2Jzb2xldGUgQW5kcm9pZCBidWlsZCBjcnVmdAoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTUtMDQtMjQgMTM6NTU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogcHJpbnQgdGhlIHByb3BlcnR5IHZhbHVlcyB3aGVuIHNldAoJICBJbnN0ZWFkIG9mIHByaW50aW5nIHRoZSBjdXJyZW50bHkgdXNlZCB2YWx1ZXMuIFRoZSBsb2cgaXMgbWVhbnQKCSAgdG8gc2hvdyB3aGF0IHRoZSBwcm9wZXJ0aWVzIGNoYW5nZWQgdG8sIG5vdCB3aGF0IGlzIGJlaW5nIGN1cnJlbnRseQoJICB1c2VkLgoKMjAxNS0wNC0yNCAxNzowMToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHJlbW92ZSB1bnVzZWQgZW51bSBpdGVtcyBQUk9QX0xBU1QKCSAgVGhpcyB3ZXJlIHByb2JhYmx5IGFkZGVkIHRvIHRoZSBlbnVtcyBkdWUgdG8gY2FyZ28gY3VsdCBwcm9ncmFtbWluZyBhbmQgYXJlCgkgIHVudXNlZC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTUtMDQtMjQgMDA6MzA6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBpbmZpbml0ZSBsb29wIGZvciB2ZXJ5IGxvdyBpbnRlcnZhbCB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTUxNQoKMjAxNS0wNC0yMyAxNjowODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGVmaW5lIEdTVF9DSEVDS19URVNUX0VOVklST05NRU5UX0JFQUNPTgoJICBNYWtlIHN1cmUgdGhlIHRlc3QgZW52aXJvbm1lbnQgaXMgc2V0IHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjowODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTQgYW5kIGF1dG9jb25mIHRvIDIuNjkKCSAgVGhpcyBpcyBvbmx5IHJlcXVpcmVkIGZvciBidWlsZHMgZnJvbSBnaXQsIHBlb3BsZSBjYW4gc3RpbGwKCSAgYnVpbGQgdGFyYmFsbHMgaWYgdGhleSBvbmx5IGhhdmUgb2xkZXIgYXV0b3Rvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjowNjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDE1LTA0LTIzIDA5OjU1OjU5ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggUlRDUCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDgzNTMKCjIwMTUtMDQtMjIgMjA6MjQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXaGVuIHJlcXVlc3QgcmV0cmFuc21pc3Npb25zIGZvciBmdXR1cmUgcGFja2V0cywgY29uc2lkZXIgdGhlIHBhY2tldCBzcGFjaW5nIGluIHRoZSBleHRyYSBkZWxheQoJICBXZSBub3cgdGFrZSB0aGUgbWF4aW11bSBvZiAyKmppdHRlciBhbmQgMC41KnBhY2tldF9zcGFjaW5nIGZvciB0aGUgZXh0cmEKCSAgZGVsYXkuIElmIGppdHRlciBpcyB2ZXJ5IGxvdywgdGhpcyBzaG91bGQgcHJldmVudCB1bm5lY2Vzc2FyeSByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyB0byBzb21lIGRlZ3JlZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA0MQoKMjAxNS0wNC0yMiAxOTo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFRha2UgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHBhY2tldCBzcGFjaW5ncyBpbnN0ZWFkIG9mIGp1c3QgdGhlIGxhdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDQxCgoyMDE1LTA0LTEzIDExOjIwOjQwICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCAicnR4LW5leHQtc2VxbnVtIiBwcm9wZXJ0eQoJICBJZiB0aGlzIGlzIHNldCB0byBGQUxTRSwgcnRwaml0dGVyYnVmZmVyIHdpbGwgbm90IHJlcXVlc3QgcmV0cmFuc21pc3Npb25zIGZvcgoJICBmdXR1cmUgcGFja2V0cyBiYXNlZCBvbiB3aGVuIHRoZXkgYXJlIGVzdGltYXRlZCB0byBhcnJpdmUuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg2OAoKMjAxNS0wNC0yMiAxOToyOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnR4cmVjZWl2ZTogUHV0IGRlYnVnIG91dHB1dCBmb3IgcmV0cmFuc21pc3Npb24gcmVxdWVzdHMgYXQgdGhlIHJpZ2h0IHBsYWNlCgkgIEJlZm9yZSBpdCB3YXMgb25seSBldmVyIHByaW50ZWQgb25jZSBmb3IgZXZlcnkgdGltZSBhIHNzcmMgd2FzIGFzc29jaWF0ZWQgd2l0aAoJICBhIHNwZWNpZmljIHN0cmVhbS4KCjIwMTUtMDQtMjIgMTg6MDU6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBhZGQgdGhlIHNhbWUgaW50ZXJsYWNlIG1vZGUgdHdpY2UKCSAgU29tZSBkcml2ZXJzIG1vZGlmeSB0aGUgaW50ZXJsYWNlIG1vZGUgdG8gcHJvZ3Jlc3NpdmUsIG5vIG1hdHRlciB3aGF0CgkgIGlucHV0IHlvdSBnaXZlIHRoZW0sIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IGFkZCB0aGUgc2FtZSBpbnRlcmxhY2UgbW9kZQoJICB0d2ljZS4KCjIwMTUtMDQtMjEgMTY6MzQ6MjEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGZpeCBkeW5hbWljIGNoYW5nZXMgb24gYmFuZHMKCSAgV2hlbiB3ZSBhcmUgaW4gcGFzc3Rocm91Z2gsIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gZG9lc24ndCBydW4gYW5kIGlmIHRoZQoJICBwYXNzdGhyb3VnaCBjaGVjayBpcyBpbiB0aGlzIGZ1bmN0aW9uIGl0IHdpbGwgbmV2ZXIgYmUgZGVhY3RpdmF0ZWQuIEZpeCB0aGlzIGJ5CgkgIGNoZWNraW5nIGRpcmVjdGx5IHdoZW5ldmVyIGEgZ2FpbiBpcyBjaGFuZ2VkLgoJICBBbHNvIHNldCB0aGUgcGFzc3Rocm91Z2ggdG8gVFJVRSBhdCBpbml0IGJlY2F1c2UgdGhlIGdhaW5zIGRlZmF1bHQgdG8gMCwgc28gd2UKCSAgY2FuIHBhc3N0aHJvdWdoIHVudGlsIGFueSBnYWluIHByb3BlcnR5IGlzIGNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNjgKCjIwMTUtMDQtMjIgMTA6MzA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBJTlNUQUxMOgoJICBSZW1vdmUgSU5TVEFMTCBmaWxlCgkgIGF1dG90b29scyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHRoaXMsIGFuZCB3aGVuIHVzaW5nIGRpZmZlcmVudCB2ZXJzaW9ucwoJICBmb3IgYXV0b2dlbi5zaCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBjaGFuZ2VzIHRvIGEgZmlsZSB0cmFja2VkIGJ5IGdpdC4KCjIwMTUtMDQtMjIgMTA6MzA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSAgUmVtb3ZlIExJQ0VOU0VfcmVhZG1lCgkgIEl0J3MgY29tcGxldGVseSBvdXRkYXRlZCBhbmQganVzdCBjb25mdXNpbmcsIGJldHRlciBpZiBwZW9wbGUgYXJlCgkgIGZvcmNlZCB0byBsb29rIGF0IHRoZSBhY3R1YWwgY29kZSBpbiBxdWVzdGlvbiB0aGFuIHRydXN0aW5nIHRoaXMgZmlsZS4KCjIwMTUtMDQtMjEgMTU6MjE6MzMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGNhc3QgdW51c2VkIHJldHVybiB0byB2b2lkCgkgIFF1ZWxsIHVuY2hlY2tlZCByZXR1cm4gdmFsdWUgZGVmZWN0IGJ5IGNhc3RpbmcgdGhlIHJldHVybiB2YWx1ZSB0byB2b2lkIGFuZAoJICBtYWtpbmcgaXQgZXhwbGljaXQgaXQgaXMgZ29pbmcgdG8gYmUgaWdub3JlZC4KCSAgQ0lEICMyMDYwMzEKCjIwMTUtMDQtMTcgMTM6MDg6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogb3B0aW1pemUgdnB4IGltYWdlIHRvIGdzdGJ1ZmZlciBjb3B5IHdoZW4gc3RyaWRlcyBtYXRjaAoJICBTb2x2aW5nIHRoaXMgRklYTUUuIENvcHkgdGhlIGZ1bGwgcGxhbmUgd2hlbiBzdHJpZGVzIGFyZSB0aGUgc2FtZQoKMjAxNS0wNC0xNiAxNToxMTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBvcHRpbWl6ZSB2cHggaW1hZ2UgdG8gZ3N0YnVmZmVyIGNvcHkgd2hlbiBzdHJpZGVzIG1hdGNoCgkgIFNvbHZpbmcgdGhpcyBGSVhNRS4gQ29weSB0aGUgZnVsbCBwbGFuZSB3aGVuIHN0cmlkZXMgYXJlIHRoZSBzYW1lCgoyMDE1LTA0LTE3IDEzOjMyOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBtZW1vcnkgbGVhawoKMjAxNS0wNC0xNyAwNjo1MTo0NiArMDAwMCAgQWxleCBPJ0tvbnNraSA8YWxleGFuZGVyb2tvbnNraUBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBzZWdmYXVsdCBpZiBtZXRhZGF0YS1pbnRlcnZhbCBpcyAwCgkgIFByZXZlbnRzIGFuIGV4dHJhIHVucmVmIG9mIEdzdEJ1ZmZlciB3aGVuIHBhc3NpbmcgYSBub24taWN5IHN0cmVhbSB0aHJvdWdoCgkgIGljeWRlbXV4IHdpdGggbWV0YWRhdGEtaW50ZXJ2YWwgc2V0IHRvIDAuCgkgIFJlcHJvZHVjaWJsZSB3aXRoOgoJICBnc3QtbGF1bmNoLTEuMCBmaWxlc3JjIGxvY2F0aW9uPX4vdGVzdHNvbmcubXAzICEgXAoJICAnYXBwbGljYXRpb24veC1pY3ksbWV0YWRhdGEtaW50ZXJ2YWw9KGludCkwJyAhIGljeWRlbXV4ICEgZGVjb2RlYmluICEgd2F2ZW5jICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj1+L3Rlc3Rzb25nLndhdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDI0CgoyMDE1LTA0LTE3IDExOjU0OjIzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9meDogZml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMKCSAgRml4IHR5cG8gaW4gZXhhbXBsZSBwaXBlbGluZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAyMgoKMjAxNS0wNC0xNSAxODoyMjozNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGZpeCBzcGVsbGluZyBpbiBkZWJ1ZyBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTM2CgoyMDE1LTA0LTE2IDE2OjMzOjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IHNlbGVjdGFibGUgYW1vdW50IG9mIGJhbmRzIGluIGVxdWFsaXplciBkZW1vCgkgIEFkZGluZyBhbiBvcHRpb24gaW4gdGhlIGVxdWFsaXplciBkZW1vIHRvIG1ha2UgdGhlIG51bWJlciBvZiBiYW5kcyBzZWxlY3RhYmxlLgoKMjAxNS0wNC0xNiAxNTozMToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZS9ydHBydHhzZW5kOiBBbHNvIHBhc3MgY29ycmVjdCBzZXFudW0tb2Zmc2V0IGFuZCBwYXlsb2FkIHRvIHRoZSBSVFggcnRwc291cmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMDYgMTI6NTY6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFRyYWNrIFJUWCBzc3JjIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgU1IgZm9yIFJUWCBzdHJlYW0gY29ycmVjdGx5ICh0aGUKCSAgY2xvY2sgcmF0ZSBpcyByZXF1aXJlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMTQgMTM6NTY6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IENvcHkgb3ZlciB0aW1lc3RhbXBzIGZyb20gdGhlIG9yaWduYWwgYnVmZmVycyB0byB0aGUgUlRYIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM5NAoKMjAxNS0wNC0xNiAxNjowMTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBzd2l0Y2ggZXF1YWxpemVyIGRlbW8gdG8gcGxheSBmcm9tIHVyaQoJICBTd2l0Y2ggdGhlIGVxdWFsaXplci1uYmFuZHMgZGVtbyB0byB1c2UgdXJpZGVjb2RlYmluLCBzbyB1c2VycyBjYW4gbGlzdGVuIHRvCgkgIHNvbWV0aGluZyBtb3JlIHBsZWFzYW50IHRoYW4gd2hpdGUgbm9pc2UuIElmIGFueWJvZHkgbWlzc2VzIHRoZSB3aGl0ZSBub2lzZQoJICBhIHVyaSBoYW5kbGVyIHRvIGF1ZGlvdGVzdHNyYyBjYW4gYmUgdXNlZC4KCjIwMTUtMDQtMTYgMTE6MTc6MzggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBlcXVhbGl6ZXIgZGVtbwoJICBSZW5hbWUgdmFyaWFibGUgbmFtZSB0byBtYWtlIGl0IG1vcmUgcmVhZGFibGUsIGFkZCBjb21tZW50cyBmb3IgdGhlIHRocmVlCgkgIHNjYWxlcyBjcmVhdGVkIHBlciBibG9jaywgYW5kIHNldCB0aGUgd2luZG93IHRpdGxlLgoKMjAxNS0wNC0xNSAxNzozMjozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBhZGQgbWlzc2luZyBsaWNlbnNlIGhlYWRlciBmb3IgZXF1YWxpemVyIGRlbW8KCjIwMTUtMDQtMTYgMTM6MDk6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0YWcgbGlzdCBsZWFrcyBvbiBlcnJvciBwYXRocwoKMjAxNS0wNC0xNiAxMjoyMzozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHRhZyBsaXN0IGxlYWsgb24gdW5rbm93biBzdHJlYW0gdHlwZQoKMjAxNS0wNC0wOSAxMzoxOTo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIHN1cHByZXNzaW9uczogaWdub3JlIGFuIGFwcGFyZW50IGJ1ZyBpbiBzdHJ0b2QKCSAgQSBidWZmZXIgb3ZlcnJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1NTQKCjIwMTUtMDQtMTUgMTE6MDc6MjcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGRvIG5vdCBhY2Nlc3MgcHJvcGVydHkgdmFyaWFibGUgd2l0aG91dCB0aGUgb2JqZWN0IGxvY2ssIHVzZSB0aGUgbG9jYWwgc3RhY2sgY29weSBpbnN0ZWFkCgoyMDE1LTA0LTE0IDE4OjQ1OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBhZGQgcHJvYmUgb24gdGhlIG11bHRpcXVldWUncyBzaW5rIHBhZCBpbnN0ZWFkIG9mIHRoZSBnaG9zdCBwYWQKCSAgYmVjYXVzZSBfcmVsZWFzZV9wYWQgdHJpZXMgdG8gcmVsZWFzZSBpdCBmcm9tIGN0eC0+c2lua3BhZCwgd2hpY2ggaXMKCSAgbXVsdGlxdWV1ZSdzIHNpbmsgcGFkLCBhbmQgY3VycmVudGx5IGZhaWxzIGJlY2F1c2UgdGhlIHByb2JlIGlzIG5vdAoJICBpbnN0YWxsZWQgdGhlcmUKCjIwMTUtMDQtMTQgMTk6MDg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4KjogRml4IHR5cG9zCgoyMDE1LTA0LTE0IDE3OjI0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBOb3Qgc2VuZGluZyBlYXJseSBSVENQIG5vdyBiZWNhdXNlIG9mIGRpdGhlcmluZyBtZWFucyB3ZSBzZW5kIGl0IHdpdGggdGhlIG5leHQgY29tcG91bmQgcGFja2V0CgoyMDE1LTA0LTE0IDE2OjI3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCBpZiB3ZSBjYW4ndCBhbGxvdyBlYXJseSBmZWVkYmFjawoKMjAxNS0wNC0wNyAxODowMDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IFdoZW4gZHJvcHBpbmcgaW50cmEgcGFja2V0LCByZXF1ZXN0IGtleWZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMDgKCjIwMTUtMDQtMTMgMjA6MjU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDaGFuZ2UgcmVzeW5jaW5nIEdTVF9XQVJOSU5HIHRvIEdTVF9JTkZPCgkgIFRoaXMgYWxzbyBoYXBwZW5zIGluIHRoZSB2ZXJ5IGJlZ2lubmluZyB3aGVuIHdlIHJlY2VpdmUgdGhlIGZpcnN0IHBhY2tldCwgYQoJICB3YXJuaW5nIHdvdWxkIGJlIHZlcnkgY29uZnVzaW5nIGhlcmUuIEluIGFsbCBwbGFjZXMgd2hlcmUgd2Ugc2hvdWxkIHdhcm4gYWJvdXQKCSAgdGhpcywgd2Ugd291bGQndmUgcHJpbnRlZCBhIHdhcm5pbmcgYWxyZWFkeSBiZWZvcmUuCgoyMDE1LTA0LTAyIDEzOjI2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IG1pbm9yIGRvY3MgaW1wcm92ZW1lbnQKCjIwMTQtMTEtMDYgMTI6MDg6MDMgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkICJydHgtbWF4LXJldHJpZXMiIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIHRvIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyYW5zbWlzc2lvbgoJICBmb3IgYSBzcGVjaWZpYyBwYWNrZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTQtMTEtMDQgMTU6MDA6NTIgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IGV4cGVjdGVkX2R0cyBjYWxjIGluIGNhbGN1bGF0ZV9leHBlY3RlZAoJICBSaWdodCBhYm92ZSB3ZSBjb25zaWRlciBsb3N0X3BhY2tldCBwYWNrZXRzLCBlYWNoIG9mIHRoZW0gaGF2aW5nIGR1cmF0aW9uLAoJICBhcyBsb3N0IGFuZCB0cmlnZ2VyZWQgdGhlaXIgdGltZXJzIGltbWVkaWF0ZWx5LiBCZWxvdyB3ZSB1c2UgZXhwZWN0ZWRfZHRzCgkgIHRvIHNjaGVkdWxlIHJldHJhbnNtaXNzaW9uIG9yIHNjaGVkdWxlIGxvc3QgdGltZXJzIGZvciB0aGUgcGFja2V0cyB0aGF0CgkgIGNvbWUgYWZ0ZXIgZXhwZWN0ZWRfZHRzLgoJICBBcyB3ZSBqdXN0IHRyaWdnZXJlZCBsb3N0X3BhY2tldHMgcGFja2V0cyBhcyBsb3N0LCB0aGVyZSdzIG5vIHBvaW50IGluCgkgIHNjaGVkdWxpbmcgbmV3IHRpbWVycyBmb3IgdGhlbSBhbmQgd2UgY2FuIGp1c3Qgc2tpcCBvdmVyIGFsbCBsb3N0IHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDMtMjAgMTg6MjE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNYWtlIHRoZSBuZXh0IG91dHB1dCBidWZmZXIgZGlzY29udCBhZnRlciByZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlcgoJICBSZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlciBkcm9wcyBhbGwgcGFja2V0cyBhbmQgb3RoZXIgdGhpbmdzLCBhbmQgd2lsbCBjYXVzZQoJICBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHBhY2tldHMgcmVjZWl2ZWQgYnkgdGhlIGRlcGF5bG9hZGVycy4gVGhleSBzaG91bGQgbm93CgkgIGFsc28gZmx1c2ggYW55dGhpbmcgdGhleSBoYWQgcGVuZGluZyBhcyB0aGUgbmV3IGRhdGEgd2lsbCBzdGFydCBhdCBhIGRpZmZlcmVudAoJICBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg2OAoKMjAxNS0wNC0xMCAwOToxNzoyNiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXBkYXRlIHNlZ21lbnQuc3RhcnQgYWZ0ZXIga2V5LXVuaXQgc2VlawoJICBXaGVuIGRvaW5nIGtleSB1aW50IHNlZWssIHF0ZGVtdXggY2FsbHMgZ3N0X3F0ZGVtdXhfYWRqdXN0X3NlZWsKCSAgdG8gZ2V0IHByb3BlciBvZmZzZXQuIEFuZCB0aGVuIHRoaXMgb2Zmc2V0IGlzIHNldCB0bwoJICBzZWdtZW50LnBvc2l0aW9uIGFuZCBzZWdtZW50LnRpbWUgaW4gZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrIGJ1dAoJICBzZWdtZW50LnN0YXJ0IGlzIG5vdCB1cGRhdGVkLgoJICBBZnRlciB0aGF0LCBhcHBsaWNhdGlvbiBzZW5kcyBzZWdtZW50IHF1ZXJ5LAoJICBxdGRlbXV4IHNldHMgc3RhcnQgYW5kIHN0b3AgdG8gcXVlcnkgdXNpbmcgZ3N0X3NlZ21lbnRfdG9fc3RyZWFtX3RpbWUuIER1ZQoJICB0byB0aGUgd3JvbmcgdmFsdWUgaW4gc2VnbWVudC5zdGFydCwgdGhlIHN0b3AgcG9zaXRpb24gaXMgc21hbGxlciB0aGFuCgkgIGl0IHNob3VsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgyMgoKMjAxNS0wNC0wNyAxNjoxMjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUgZG9fcHRzCgkgIFdlIGFsd2F5cyB3cml0ZSB0aGUgQ1RUUyBpbiBxdG11eC4gSWRlYWxseSB3ZSBvbmx5IHdhbnQgdG8gZG8gdGhhdAoJICBmb3Igc3RyZWFtcyB0aGF0IG5lZWQgRFRTLCBpdCBzaG91bGQgYmUgcHJlc2VudCBvbiB0aGUgdHJhY2sgaW5mb3JtYXRpb24KCSAgcmF0aGVyIHRoYW4gYmUgZGVjaWRlZCBiYXNlZCBvbiBlYWNoIGJ1ZmZlcgoKMjAxNS0wNC0wNyAwMDo1MzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHN1YnRyYWN0aW9uIHRoYXQgbWFrZXMgUFRTL0RUUyBzdGFydCBmcm9tIDAKCSAgQXMgcXQgdXNlcyBkdXJhdGlvbnMsIGl0IGRvZXNuJ3QgbWF0dGVyLCBvbmx5IHRoZSBkaWZmZXJlbmNlCgkgIGJldHdlZW4gY29uc2VjdXRpdmUgYnVmZmVycyBpcyBpbXBvcnRhbnQuIEFsc28sIGNvbGxlY3RwYWRzCgkgIGFscmVhZHkgcmVwbGFjZXMgUFRTL0RUUyB3aXRoIHRoZSBydW5uaW5nIHRpbWVzIGZvciB0aGVtLgoKMjAxNS0wNC0wNiAyMjozNjo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBhZGQgdGVzdHMgdG8gdmVyaWZ5IGl0IGhhbmRsZXMgbm9uLTAgc2VnbWVudHMKCSAgQm90aCBpbnB1dCBzdHJlYW1zIGluIHRoaXMgdGVzdCBoYXZlIGEgc2VnbWVudC5zdGFydCA9IDEwcywgc28KCSAgb3V0cHV0IHNob3VsZCBzdGFydCBmcm9tIDAgYW55d2F5LgoJICBBbm90aGVyIHRlc3QgaGFzIGJvdGggc3RhcnRpbmcgYXQgbm9uLTAgc2VnbWVudHMsIGJ1dCB0aGUgcnVubmluZwoJICB0aW1lIG9mIGJvdGggc3RyZWFtcyBzaG91bGQgc3RpbGwgc3RhcnQgZnJvbSAwCgoyMDE1LTA0LTA2IDIwOjAzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IHNpbXBsZSBtdXhpbmcgdGVzdAoJICBBZGRzIGEgbmV3IHNpbXBsZSB0ZXN0IHRoYXQgdmVyaWZpZXMgdGhhdCBkYXRhIGlzIHByb3Blcmx5IG11eGVkCgkgIGFuZCBwcmVzZXJ2ZWQuICBQVFMsIERUUywgZHVyYXRpb24gYW5kIGNhcHMgYXJlIHZlcmlmaWVkLgoKMjAxNS0wNC0xMCAxMDo1OToyNiArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHJlbW92ZSB1bnVzZWQgZmllbGRzCgkgIFJlbW92ZSB0aGUgZmllbGRzIC0gZm9ybWF0IGFuZCBmcHMgZnJvbSBzbXB0ZQoJICBhcyB0aGV5IGFyZSB1bnVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1OTcKCjIwMTUtMDQtMTAgMTA6Mjk6NDcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBzdWl0ZSBmb3IgYWxwaGEKCSAgQWRkZWQgdGVzdCBzdWl0ZSBmb3IgYWxwaGEgZWxlbWVudCB3aXRoIHRlc3QgY2FzZXMKCSAgMS4gYWxwaGEKCSAgMi4gY2hyb21hIGtleWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTk1CgoyMDE1LTA0LTA5IDEyOjU4OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSAgc3VwcHJlc3Npb25zOiBhZGQgYSB3ZWxsIGtub3duIHpsaWIgaW5mbGF0ZSBidWcKCjIwMTUtMDQtMDkgMTI6NTg6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmaXggbXV0ZXggbGVhawoKMjAxNS0wNC0wOSAxMjo1ODowNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IEZpeCBydHBydHggdGVzdCBieSBoYW5kbGluZyBidWZmZXIgbGlzdHMKCSAgQ29tbWl0ICMxMDE4YWEgbWFkZSBydHBydHhzZW5kIGhhbmRsZSBidWZmZXIgbGlzdHMsIGJyZWFraW5nCgkgIHRoZSB0ZXN0IHdoaWNoIHByb2JlcyBmb3IgYnVmZmVycywgYnV0IG5vdCBidWZmZXIgbGlzdHMuCgkgIFVzZSBhIHV0aWxpdHkgZnVuY3Rpb24gdG8gcnVuIHRoZSBwcm9iZSBjYWxsYmFjayBvbiBlYWNoIGJ1ZmZlcgoJICBpbiB0aGUgbGlzdCBpbiB0dXJuIGFuZCByZW1vdmUgYW55IGJ1ZmZlcnMgdGhhdCBhcmUgZHJvcHBlZC4KCjIwMTUtMDQtMDEgMTE6MTU6MzggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIGlzb21wNDogUmVmYWN0b3IgdmFyaW91cyBzdGF0ZSB2YXJpYWJsZXMgaW50byBhIG11eF9tb2RlIHZhcgoJICBJbnN0ZWFkIG9mIGNoZWNraW5nIHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzIGFyb3VuZCB0aGUgbXV4ZXIsCgkgIHRyYWNrIHRoZSBjdXJyZW50IG11eGluZyBtb2RlIGluIGEgc2luZ2xlICdtdXhfbW9kZScgZW51bS4KCSAgQWRkIHNvbWUgaW1wbGVtZW50YXRpb24gbm90ZXMgYWJvdXQgdGhlIGRpZmZlcmVudCBtdXggbW9kZXMKCjIwMTUtMDQtMDggMTY6NDA6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEFNX1RFU1RTX0VOVklST05NRU5UCgkgIE5lZWRlZCBieSB0aGUgbmV3IGF1dG9tYWtlIHRlc3QgcnVubmVyCgoyMDE1LTA0LTA4IDExOjE3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBGaXggZnJhbWVzaXplIHBhcnNpbmcKCSAgVGhlIHN0cmluZyBwYXNzZWQgdG8gdGhlIHBhcnNpbmcgZnVuY3Rpb24gb25seSBjb250YWlucyBhIGZyYW1lc2l6ZSwgYW5kCgkgIG5vdCA8cHQ+ICsgPGZyYW1lc2l6ZT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQxNgoKMjAxNS0wMy0yMCAxMjoxODozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsaXAgY2h1bmsgc2l6ZSBhYm92ZSB0aGUgdmFsaWQgbWF4aW11bSAoMHg3ZmZmZmZmZikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU2NwoKMjAxNS0wMy0yMCAwOTowNzozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNsaXAgY2h1bmsgbGVuZ3RoIHRvIGF2YWlsYWJsZSBkYXRhICh3aGVuIGtub3duKQoJICBUaGlzIHByZXZlbnRzIHNpbGx5IGNodW5rIGxlbmd0aHMgZnJvbSBwb3NzaWJseSBvdmVyZmxvd2luZwoJICAoYXQgbGVhc3Qgd2hlbiB3ZSBrbm93IHRoZSBhY3R1YWwgZGF0YSBsZW5ndGgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNTY3CgoyMDE1LTA0LTA2IDIwOjE3OjUyIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGFjY3VtdWxhdGUgc2VnbWVudCBiYXNlcyBtYW51YWxseQoJICBnc3Rfc2VnbWVudF9kb19zZWVrKCkgZG9lcyB0aGF0IGZvciB1cyBhbHJlYWR5LCBhbmQgZG9pbmcgaXQgdHdpY2UKCSAgd2lsbCBicmVhayBub24tZmx1c2hpbmcgc2Vla3MgaW4gaW50ZXJlc3Rpbmcgd2F5cy4gTGVmdG92ZXIgZnJvbSAxLjAKCSAgcG9ydGluZy4KCSAgQWxzbyBjb3B5IG92ZXIgc2VnbWVudCBvZmZzZXQgYW5kIGFwcGxpZWRfcmF0ZSwganVzdCBpbiBjYXNlLgoKMjAxNS0wNC0wNiAxOTowODoxMCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtc2VnbWVudC1zZWVrcy5jOgoJICBpY2xlczogRml4IHdhaXRpbmcgZm9yIHNlZ21lbnQtZG9uZSBpZiBpdCBoYXBwZW5zIHRvbyBmYXN0CgkgIFNvbWV0aW1lcyB3ZSBjYW4gZ2V0IHNlZ21lbnQtZG9uZSBiZWZvcmUgd2UgZ290IGFzeW5jLWRvbmUuIElmIHdlIHdhaXRlZAoJICBmb3IgYXN5bmMtZG9uZSBvbmx5LCB0aGUgc2VnbWVudC1kb25lIHdvdWxkIGJlIGRyb3BwZWQgYW5kIHdlIHdvdWxkIHdhaXQKCSAgZm9yZXZlciBmb3IgaXQgYSBmZXcgbGluZXMgYmVsb3cuCgoyMDE1LTA0LTA2IDE4OjU1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RibF9pbmRleCBpcyB2YWxpZCBmcm9tIDAgb253YXJkcwoJICBJdCBpbmRpY2F0ZXMgdGhlIGxhc3Qgc2FtcGxlIHBhcnNlZCwgbm90IHRoZSBuZXh0IG9uZSB0byBwYXJzZS4KCSAgQXMgaXQgc3RhcnRzIGluIC0xLCBhbnkgdmFsdWUgZnJvbSAwIG9ud2FyZHMgbWVhbnMgdGhhdCBpdCBoYXMKCSAgc29tZSB2YWxpZCBkYXRhLgoKMjAxNS0wNC0wNSAyMDowNjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIGRvY3M6IG1ha2UgR3N0UlRDUFN5bmMgZW51bSBzaG93IHVwIGluIHJ0cGJpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTgKCjIwMTUtMDQtMDUgMTE6NDU6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIFJUUEppdHRlckJ1ZmZlck1vZGUgZW51bSB0byBydHBiaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzU4CgoyMDE1LTA0LTA0IDExOjU1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogY2xvc2UgZmlsZXMgYmVmb3JlIHBvc3RpbmcgbWVzc2FnZQoJICBNYWtlcyBzdXJlIHRoZSBmaWxlcyB3ZXJlIHByb3Blcmx5IGZsdXNoZWQgYW5kIGNsb3NlZCBiZWZvcmUKCSAgdGhlIG1lc3NhZ2UgcmVhY2hlcyB0aGUgYXBwbGljYXRpb24KCjIwMTUtMDMtMzAgMTM6NTQ6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogbXVsdGlmaWxlOiBpbmNyZW1lbnQgdGVzdHMgdG8gY2hlY2sgZm9yIG11bHRpZmlsZSBtZXNzYWdlcwoJICBBbHNvIHZlcmlmeSB0aGF0IHRoZSBtdWx0aWZpbGVzaW5rIGZpbGUgbWVzc2FnZXMgYXJlIGJlaW5nIGNvcnJlY3RseQoJICBwb3N0ZWQgdG8gdGhlIGJ1cwoKMjAxNS0wMy0zMCAxMjo1MTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBtdWx0aWZpbGU6IGhhbmRsZSBGSVhNRSBmb3IgcHJvcGVyIGNoZWNraW5nIHdoZW4gdGVzdCBmaW5pc2hlZAoJICBVc2UgYSBHc3RCdXMgYW5kIHdhaXQgZm9yIEVPUyB0byBmaW5pc2ggdGhlIHRlc3RzIGluc3RlYWQgb2YKCSAgcmVseWluZyBvbiBzbGVlcGluZwoKMjAxNS0wMy0zMCAxMToxNDowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgZmlsZSBtZXNzYWdlIG9uIEVPUwoJICBXaGVuIG11bHRpZmlsZXNpbmsgaXMgb3BlcmF0aW5nIGluIGFueSBtb2RlIG90aGVyIHRoYW4gb25lIGZpbGUKCSAgcGVyIGJ1ZmZlciwgdGhlIGxhc3QgZmlsZSBjcmVhdGVkIHdvbid0IGhhdmUgYSBmaWxlIG1lc3NhZ2UgcG9zdGVkCgkgIGFzIG11bHRpZmlsZXNpbmsgZG9lc24ndCBoYW5kbGUgdGhlIEVPUyBldmVudC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUgbGFzdCBwb3NpdGlvbiB0byBwb3N0IGEgZmlsZQoJICBtZXNzYWdlIHdoZW4gRU9TIGlzIHJlY2VpdmVkLiBUaGlzIHNob3VsZCBlbnN1cmUgYXQgbGVhc3QgdGhlCgkgIHRpbWUgcmVsYXRlZCBkYXRhIGFuZCB0aGUgZmlsZW5hbWUgYXJlIHBvc3RlZCB0byB0aGUgYXBwbGljYXRpb24KCSAgb3Igb3RoZXIgZWxlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzAwMAoKMjAxNS0wNC0wMyAxODo1Nzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmM3NmE4YiB0byBjOGZiMzcyCgoyMDE1LTA0LTAzIDAyOjA4OjUwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBHdWFyZCBhZ2FpbnN0IDY0LWJpdCBvdmVyZmxvdwoJICBGb3IgbGFyZ2UtZmlsZSBhdG9tcywgZ3VhcmQgYWdhaW5zdCBvdmVyZmxvdyBpbiB0aGUgc2l6ZSBmaWVsZCwKCSAgd2hpY2ggY291bGQgbWFrZSB1cyBqdW1wIGJhY2t3YXJkIGluIHRoZSBmaWxlIGFuZCBjYXVzZQoJICBpbmZpbml0ZSBsb29wcy4KCjIwMTUtMDQtMDEgMjM6NDY6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIGlzb21wNDogTWFrZSBub24tc2Vla2FibGUgZG93bnN0cmVhbSBhbiBlcnJvciBpbiBub3JtYWwgbW9kZQoJICBXaGVuIG5vdCBpbiBmYXN0LXN0YXJ0IG9yIGZyYWdtZW50ZWQgbW9kZSwgd2UgbmVlZCB0byBiZSBhYmxlCgkgIHRvIHJld3JpdGUgdGhlIHNpemUgb2YgdGhlIG1kYXQgYXRvbSwgb3IgZWxzZSB0aGUgb3V0cHV0IGp1c3QKCSAgd29uJ3QgYmUgcGxheWFibGUgLSB0aGUgbWRhdCBwbGFjZWhvbGRlciB3aXRoIHNpemUgPT0gMCB3aWxsCgkgIGNvdmVyIHRoZSByZXN0IG9mIHRoZSBmaWxlLCBpbmNsdWRpbmcgYW55IG1vb3YgYXRvbSB3ZSB3cml0ZSBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4MDgKCjIwMTQtMDMtMTUgMTU6MjM6MDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjYzcGF5Ly1kZXBheTogYWRkIGZyYW1lc2l6ZSBTRFAgYXR0cmlidXRlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTYKCjIwMTQtMDMtMTUgMTM6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5Ly1kZXBheTogUmVtb3ZlIGluY29ycmVjdGx5IGludHJvZHVjZWQgZnJhbWVzaXplIFNEUCBhdHRyaWJ1dGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQxNQoKMjAxNS0wMy0yNyAyMTowOTo0NCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGRldmljZSBzZXF1ZW5jZS9vZmZzZXQgY29ycmVjdGlvbiBpbiBjYXNlIG9mIHJlbmVnb3RpYXRpb24KCSAgVGhlIHY0bDIgZGV2aWNlIHJlc3RhcnRzIHRoZSBzZXF1ZW5jZSBjb3VudGVyIGluIGNhc2Ugb2Ygc3RyZWFtb2ZmL3N0cmVhbW9uLAoJICB0aGUgR1NUIG9mZnNldCB2YWx1ZXMgYXJlIHN1cHBvc2VkIHRvIGluY3JlbWVudCBzdHJpY3RseSBtb25vdG9uaWMsIHNvCgkgIGFkanVzdCB0aGUgc2VxdWVuY2UgY291bnRlci9vZmZzZXQgdmFsdWVzIGluIGNhc2Ugb2YgY2FwcwoJICByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE0LTExLTE0IDE0OjE4OjUxICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGFkZCBmcmFtZSBsb3NzIGRldGVjdGlvbgoJICBJbiBjYXNlIG9mIHY0bDIgZHJpdmVyIGZpbGxlZCBvZmZzZXQvc2VxdWVuY2UgdmFsdWVzIGFkZCBmcmFtZQoJICBsb3NzIGRldGVjdGlvbiAoYW5kIHdyaXRlIGEgd2FybmluZyBtZXNzYWdlKS4KCSAgTW92ZSBvZmZzZXQgbWV0YSBkYXRhIHNldHRpbmcgYW5kIGZyYW1lIGxvc3MgY2hlY2tpbmcgYWZ0ZXIgdGhlCgkgIHRpbWVzdGFtcCBhZGp1c3RtZW50IGNvZGUgdG8gZ2V0IHByb3BlciB0aW1lc3RhbXBzIGZvciB0aGUKCSAgd2FybmluZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE0LTExLTE0IDEzOjQ4OjUxICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHVzZSB2NGwyIGNhcHR1cmUgZGV2aWNlIHNlcXVlbmNlIGNvdW50ZXIKCSAgVXNlIHRoZSB2NGwyIGNhcHR1cmUgZGV2aWNlIHNlcXVlbmNlIGNvdW50ZXIgZm9yCgkgIHNldHRpbmcgdGhlIEdzdEJ1ZmZlciBvZmZzZXQvb2Zmc2V0X2VuZCB2YWx1ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NDEKCjIwMTUtMDMtMzAgMTM6MTI6MzUgKzAyMDAgIFRvYmlhcyBNb2RzY2hpZWRsZXIgPHRvYmlhcy5tb2RzY2hpZWRsZXJAY2V0aXRlYy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFzayB0aGUgZHJpdmVyIGFib3V0IGl0cyByZXF1aXJlbWVudHMgZm9yIG1pbl9idWZmZXJzIGJlZm9yZSBpbml0aWF0aW5nIGJ1ZmZlciBwb29sLgoJICBJZiBwcm9wb3NlX2FsbG9jYXRpb24oKSBoYWQgbm90IGJlZW4gY2FsbGVkIHlldCwgaXQgd2FzIHBvc3NpYmxlIHRoYXQgdGhlIGRyaXZlciB3YXMgbm90IGFza2VkIGF0IGFsbC4KCSAgSW4gYnVmZmVyIHBvb2w6IENvbnNpZGVyIG1pbmltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMgcmVxdWVzdGVkIGJ5IGRyaXZlciB3aGVuIHNldHRpbmcgY29uZmlnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODM0CgoyMDE1LTA0LTAxIDE5OjMwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkgIHJ0cHZwOGRlcGF5OiBQYXJzZSB3aWR0aC9oZWlnaHQvcHJvZmlsZSBmcm9tIGtleWZyYW1lcwoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIG11eCB0aGUgcmVzdWx0IGludG8gYSBjb250YWluZXIKCSAgc3VjaCBhcyBtYXRyb3NrYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIwOAoKMjAxNS0wNC0wMSAxOTowMTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRXhwb3NlIFZQOCB3aWR0aC9oZWlnaHQgbGltaXRhdGlvbnMgaW4gdGhlIGNhcHMgdGVtcGxhdGUKCSAgVGhlIFZQOCBmb3JtYXQgc3BlY2lmaWNhdGlvbiAoUkZDIDYzODYgc2VjdGlvbiAxOC4xKSBzcGVjaWZpZXMKCSAgdGhhdCB0aGUgbWF4aW11bSBzaXplIGlzIDE2MzgzeDE2MzgzLgoKMjAxNS0wMy0zMSAwMDoyMDoxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogV2hlbiBwYXNzaW5nIHNlZWsgZXZlbnQgdXBzdHJlYW0sIGhvbGQgYSByZWYuCgkgIEluIGNhc2UgdXBzdHJlYW0gY2FuJ3QgaGFuZGxlIHRoZSBzZWVrLCBtYWtlIHN1cmUgd2UKCSAga2VlcCBhIHJlZiBvbiB0aGUgZXZlbnQgdG8gYXR0ZW1wdCB0byBoYW5kbGUgaXQgb3Vyc2VsdmVzLgoKMjAxNS0wMy0yNiAxMzozNDo1MyArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGZpeCBHVmFsdWUgbGVha3Mgd2hlbiBwYXJzaW5nIHRhZ3MKCSAgZ3N0X3RhZ19saXN0X2FkZF92YWx1ZSgpIGRvZXNuJ3QgY29uc3VtZSB0aGUgR1ZhbHVlIHdlIHBhc3MgdG8gaXQgc28gdGhlcmUgaXMKCSAgbm8gcG9pbnQgY29weWluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgxMAoKMjAxNS0wMy0yMyAyMDo1ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjMgMjA6NTc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjMgMjA6NTY6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTI3IDE4OjU4OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogc3RvcmUgc3RyZWFtIHRhZ3MgYW5kIHB1c2ggYXMgdXBkYXRlZAoJICBOZXcgdGFncyBjYW4gYmUgZm91bmQgb24gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBmaWxlLCBzbyB0aGlzIHBhdGNoCgkgIGtlZXBzIHRoZSBzdHJlYW0gdGFnbGlzdHMgYXJvdW5kIGZvciB0aGUgbGlmZSBjeWNsZSBvZiB0aGUgcGFkCgkgIGFuZCBhZGRzIHRob3NlIG5ldyB0YWdzIGFzIGZvdW5kLiBUaGVuIGEgbmV3IHRhZyBpcyBmb3VuZCwgdGhlCgkgIHBhZCdzIGlzIG1hcmtlZCB3aXRoIGEgdGFncyBjaGFuZ2VkIGZsYWcsIG1ha2luZyB0aGUgZWxlbWVudCBwdXNoCgkgIGEgbmV3IHRhZyBldmVudCBvbiB0aGUgbmV4dCBjaGVjay4gQmVmb3JlIHRoaXMsIHdlIHdlcmUgc2VuZGluZwoJICBvbmx5IHRoZSBuZXdseSBmb3VuZCB0YWdzLCBhcyB0aGUgZWxlbWVudCB3YXMgbG9zaW5nIGl0cyB0YWdsaXN0CgkgIHdoZW4gcHVzaGluZyB0aGUgZXZlbnQuCgoyMDE1LTAzLTE1IDE0OjQwOjM2ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VuZCBnbG9iYWwgdGFncyBpbmNyZW1lbnRhbGx5CgkgIEluc3RlYWQgb2Ygc2VuZGluZyBvbmx5IG5ldyB0YWdzIG9uY2UgdGhleSBhcmUgZm91bmQsIG1lcmdlIHRoZSB0YWdsaXN0CgkgIGFuZCBzZW5kIHRoZW0gaW5jcmVtZW50YWxseS4KCjIwMTUtMDMtMTQgMTc6MDc6MDUgKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thcGFyc2U6IHNlbmQgZ2xvYmFsIHRhZ3MKCSAgR2xvYmFsIHRhZ3MgYXJlIGFscmVhZHkgYmVpbmcgcmVhZCBpbiBtYXRyb3NrYXBhcnNlLCBidXQgdGhleSBhcmUgbm90CgkgIGN1cnJlbnRseSBiZWluZyBzZW50LgoJICBUaGlzIHBhdGNoIG1ha2VzIGdsb2JhbCB0YWdzIGdldCBzZW50IGluY3JlbWVudGFsbHkgd2hlbmV2ZXIgbmV3IG9uZXMKCSAgYXJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQyCgoyMDE1LTAyLTAzIDEwOjE4OjU4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IGZpeCAicGxhbmVzIiBwcm9wZXJ0eSByYW5nZSwgYSB2YWx1ZSBvZiAwIGlzIG5vdCBhbGxvd2VkCgkgIFdoZW4gcGxhbmVzIHByb3BlcnR5IGlzIHNldCB0byAwLCB0aGUgcGlwZWxpbmUgZXhlY3V0ZXMgaW4KCSAgYW4gaW5maW5pdGUgbG9vcCBhbmQgbmV2ZXIgZXhpdHMuIFNpbmNlIHBsYW5lcyBtdXN0IG5ldmVyCgkgIGJlIDAsIHNldCB0aGUgbWluaW11bSB2YWx1ZSBpbiB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb24KCSAgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwNgoKMjAxNS0wMy0yNiAxMzo0MjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCB1cCBjb21tZW50cyByZWdhcmRpbmcgRFRTCgoyMDE1LTAzLTI1IDE1OjExOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogRml4IHNlZ21lbnQgaW4gVENQIG1vZGUKCSAgSXQgaXMgZXhwZWN0ZWQgdGhhdCBidWZmZXJzIGFyZSB0aW1lLXN0YW1wZWQgd2l0aCBydW5uaW5nIHRpbWUuIFNldAoJICBhIHNlZ21lbnQgYWNjb3JkaW5nbHkuIEluIHRoaXMgY2FzZSB3ZSBwaWNrIDAsLTEgYXMgdGhpcyBpcyB3aGF0IHVkcHNyYwoJICB3b3VsZCBkby4gRGVwYXlsb2FkZXJzIHdpbGwgdXBkYXRlIHRoZSBzZWdtZW50IHRvIHJlZmxlY3QgdGhlIHBsYXliYWNrCgkgIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1NzAxCgoyMDE1LTAzLTI2IDEyOjIxOjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogYmUgbW9yZSBzdHJpY3QgYWJvdXQgdHlwZWZpbmRpbmcgRFRTCgkgIENvZGUgbm93IG1hdGNoZXMgY29tbWVudHMuCgoyMDE1LTAzLTI1IDE1OjEwOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSB1c2VsZXNzIGZ1bmN0aW9uCgkgIFRoaXMgZnVuY3Rpb24gZGlkbid0IGRvIGFueXRoaW5nIHNwZWNpYWwsIGxldCdzIG5vdCB1c2UgYSBmdW5jdGlvbiBmb3IKCSAgdGhhdC4KCjIwMTUtMDMtMjAgMTM6MDM6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXI6IEFjY291bnQgZm9yIHJ0eF9yZXRyeSBpbiBvdmVyZmxvdyBjaGVjawoJICBBcyBydHhfcmV0cnkgaXMgcGFydCBvZiB0aGUgc3Vic3RyYWN0aW9uLCB3ZSBuZWVkIHRvIHRha2UgaXQgaW50bwoJICBhY2NvdW50LCBvdGhlcndpc2Ugd2UgbWF5IGVuZHVwIHdpdGggYSBiaWcgdmFsdWUuCgoyMDE1LTAzLTI0IDIzOjE1OjE1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IGNoZWNrIGZvciBkZXByZWNhdGVkIGNvbnN0YW50cyBwcmlvciB0byBPU1ggMTAuMTAKCSAgY29jb2F3aW5kb3cubTozMzk6NTogZXJyb3I6ICdOU09wZW5HTFBGQVdpbmRvdycKCSAgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBPUyBYIDEwLjkKCSAgY29jb2F3aW5kb3cubTo1NzY6NzogZXJyb3I6ICdOU09wZW5HTFBGQUZ1bGxTY3JlZW4nCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC42CgkgIGNvY29hd2luZG93Lm06NjA1OjI0OiBlcnJvcjogJ3NldEZ1bGxTY3JlZW4nCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC43CgoyMDE1LTAzLTI0IDE2OjUxOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHNlZWtpbmcgcXVlcnkKCSAgVGhlIHNlZ21lbnQgc3RhcnQvc3RvcCBpbiB0aGUgcXVlcnkgaXMgbWVhbnQgdG8gcmVwcmVzZW50IHRoZSBzZWVrYWJsZQoJICBwb3J0aW9uIG9mIHRoZSBzdHJlYW0uIEl0IGRvZXMgbm90IG1hdGNoIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AuIEluc3RlYWQKCSAgZXhwb3J0IDAgdG8gZHVyYXRpb24uCgoyMDE1LTAzLTI0IDE2OjE4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogT25seSBzZXQgY2FwcyBvbmNlIGlmIHRoZXkgZG9uJ3QgY2hhbmdlCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSBzZXR0aW5nIG5ldyBjYXBzIHdpdGggdGhlIHNhbWUgY29udGVudCBmb3IgZXZlcnkgSDI2NCBvcgoJICBBQUMgY29kZWNfZGF0YSB3ZSBmb3VuZCBpbiB0aGUgc3RyZWFtLCBzcGFtbWluZyBldmVyeXRoaW5nIGFuZCBjYXVzaW5nCgkgIHJlbmVnb3RpYXRpb25zLgoKMjAxNS0wMy0yNCAxMjo0NjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGNyZWF0ZSBBQUMvSDI2NCBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBJbnN0ZWFkIGRlbGF5IGNyZWF0aW5nIHRoZSBjYXBzIHVudGlsIHdlIHJlYWQgdGhlIGNvZGVjX2RhdGEgZnJvbSB0aGUgc3RyZWFtLAoJICBvciBmYWlsIGlmIHdlIGdldCBub3JtYWwgZGF0YSBiZWZvcmUgdGhlIGNvZGVjX2RhdGEuCgkgIEFBQyByYXcgY2FwcyBhbmQgSDI2NCBhdmMgY2FwcyBhbHdheXMgbmVlZCBjb2RlY19kYXRhLCBzZXR0aW5nIGNhcHMgb24gdGhlIHBhZAoJICB3aXRob3V0IHRoZW0gaXMgZ29pbmcgdG8gbWFrZSBuZWdvdGlhdGlvbiBmYWlsIG1vc3Qgb2YgdGhlIHRpbWUuIEV2ZW4gaWYgd2UKCSAgbGF0ZXIgc2V0IG5ldyBjYXBzIHdpdGggdGhlIGNvZGVjX2RhdGEsIHRoYXQncyB1c3VhbGx5IGdvaW5nIHRvIGJlIHRvbyBsYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjgyCgoyMDE1LTAzLTI0IDE1OjM5OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IGluZGVudGlvbgoKMjAxNS0wMy0yMiAxMzoyMzo0NCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IEZpeCBzdHJpbmcgZm9ybWF0IHdhcm5pbmcgb24gMzItYml0CgkgIFVJbnQzMiAoRGFyd2luLCBub3QgQzk5J3MgdWludDMyX3QpIGlzICd1bnNpZ25lZCBsb25nJyBvbiAzMi1iaXQKCSAgcGxhdGZvcm1zLgoKMjAxNS0wMy0yMSAxNzo1MDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IGFub3RoZXIgaW5zdGFuY2Ugb2Ygc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmdzCgkgIE1ha2Ugc3VyZSB0aGF0IHRoZSBzeW5jX3NyYyBwYWQgaGFzIGNhcHMgYmVmb3JlIHRoZSBzZWdtZW50IGV2ZW50LgoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IGEgc2VnbWVudCBldmVudCBiZWZvcmUgY2FwcyBmcm9tIHRoZSByZWNlaXZlCgkgIFJUQ1AgcGFkLCBhbmQgdGhlbiBsYXRlciB3aGVuIHJlY2VpdmluZyBSVENQIHBhY2tldHMgd2lsbCBzZXQgY2Fwcy4KCSAgVGhpcyB3aWxsIHJlc3VsdHMgaW4gYSBzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmcgd2FybmluZwoJICBUaGlzIGZpeGVzIHdhcm5pbmdzIGluIHRoZSBydHBhdXggdW5pdCB0ZXN0IGJ1dCBhbHNvIGluIHRoZQoJICBydHBhdXggYW5kIHJ0eCBleGFtcGxlcyBpbiB0ZXN0cy9leGFtcGxlcy9ydHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjQ0NQoKMjAxNS0wMy0yMSAxNzoxODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWxzbyBzdGFydCB0aGUgUlRDUCBzZW5kIHRocmVhZCB3aGVuIHJlY2VpdmluZyBSVFAgb3IgUlRDUAoJICBCZWZvcmUgd2Ugb25seSBzdGFydGVkIGl0IHdoZW4gZWl0aGVyOgoJICAtIHRoZXJlIGlzIG5vIHNlbmQgUlRQIHN0cmVhbQoJICBvcgoJICAtIHdlIHJlY2VpdmVkIGFuIFJUUCBwYWNrZXQgZm9yIHNlbmRpbmcKCSAgVGhpcyBjb3VsZCBtZWFuIHRoYXQgaWYgdGhlIHNlbmQgUlRQIHBhZHMgYXJlIGNvbm5lY3RlZCBidXQgbmV2ZXIgcmVjZWl2ZSBhbnkKCSAgUlRQIGRhdGEsIGFuZCB0aGUgc2FtZSBzZXNzaW9uIGlzIGFsc28gdXNlZCBmb3IgcmVjZWl2aW5nIFJUUC9SVENQLCB3ZSB3b3VsZAoJICBuZXZlciBzdGFydCB0aGUgUlRDUCB0aHJlYWQgYW5kIHdvdWxkIG5ldmVyIHNlbmQgUlRDUCBmb3IgdGhlIHJlY2VpdmluZyBwYXJ0CgkgIG9mIHRoZSBzZXNzaW9uLgoJICBUaGlzIGNhbiBiZSByZXByb2R1Y2VkIHdpdGggYSBwaXBlbGluZSBsaWtlOgoJICBnc3QtbGF1bmNoLTEuMCBydHBiaW4gbmFtZT1ydHBiaW4gXAoJICB1ZHBzcmMgcG9ydD01MDAwICEgImFwcGxpY2F0aW9uL3gtcnRwLCBtZWRpYT12aWRlbywgY2xvY2stcmF0ZT05MDAwMCwgZW5jb2RpbmctbmFtZT1IMjY0IiAhIHJ0cGJpbi5yZWN2X3J0cF9zaW5rXzAgXAoJICB1ZHBzcmMgcG9ydD01MDAxICEgcnRwYmluLnJlY3ZfcnRjcF9zaW5rXzAgXAoJICBydHBiaW4uc2VuZF9ydGNwX3NyY18wICEgZmFrZXNpbmsgbmFtZT1ydGNwX2Zha2VzaW5rIHNpbGVudD1mYWxzZSBhc3luYz1mYWxzZSBzeW5jPWZhbHNlIFwKCSAgcnRwYmluLnJlY3ZfcnRwX3NyY18wXzI1NTMyMjU1MzFfOTYgISBkZWNvZGViaW4gISB4dmltYWdlc2luayBcCgkgIGZha2VzcmMgISB2YWx2ZSBkcm9wPXRydWUgISBydHBiaW4uc2VuZF9ydHBfc2lua18wIFwKCSAgcnRwYmluLnNlbmRfcnRwX3NyY18wICEgZmFrZXNpbmsgbmFtZT1ydHBfZmFrZXNpbmsgc2lsZW50PWZhbHNlIGFzeW5jPWZhbHNlIHN5bmM9ZmFsc2UgLXYKCSAgQmVmb3JlIHRoaXMgY2hhbmdlIHRoZSBydGNwX2Zha2VzaW5rIHdvdWxkIG5ldmVyIHNlbmQgUlRDUCBmb3IgdGhlIHJlY2VpdmluZwoJICBwYXJ0IG9mIHRoZSBzZXNzaW9uIChpLmUuIG5vIHJlY2VpdmVyIHJlcG9ydHMhKSwgYWZ0ZXIgdGhlIGNoYW5nZSBpdCBkb2VzLgoJICBBbmQgYmVmb3JlIGFuZCBhZnRlciB0aGlzIGNoYW5nZSBpdCB3b3VsZCBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcgcGFydCBvZgoJICB0aGUgc2Vzc2lvbiBpZiB0aGUgc2VuZGVyIHBhcnQgd2FzIG9taXR0ZWQgKHRoZSBsYXN0IHR3byBsaW5lcykuCgoyMDE1LTAzLTE5IDExOjU0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE5IDExOjM5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSAgcnRwcnR4cXVldWU6IEltcGxlbWVudCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTUtMDMtMTggMTc6MzI6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogSW1wcm92ZSB0cmFjZSByZWFkYWJpbGl0eQoJICBDaGFuZ2UgdGhlIGNvbW1hbmQgbnVtYmVyIGludG8gc3RyaW5ncy4KCjIwMTUtMDEtMjAgMTA6MTg6NTYgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBEb24ndCByZXBlYXRlZGx5IHdhcm4gYWZ0ZXIgbm9fbW9yZV9wYWRzICh2MikKCSAgVGhpcyBjYW4gZ2V0IHJhdGhlciBzcGFtbXkgZm9yIHN1Y2ggYSBoaWdoIGxvZyBsZXZlbC4KCSAgT25seSB3YXJuIG9uY2UgcGVyIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI3NAoKMjAxNS0wMy0xNiAxMToyMzo1MiArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBJbnRyb2R1Y2UgY29uc3RhbnQgZm9yIG5vLW1vcmUtcGFkcyB0aHJlc2hvbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI3NAoKMjAxNS0wMS0yMCAxMDoxODoyOSArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggd2FybmluZyB0byBjb250YWluICd2aWRlbycKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI3NAoKMjAxNS0wMy0xMSAyMToyNTo0MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBmb3IgZHRzIG9ubHkgc3RyZWFtIHNldCBwdHM9ZHRzIGZvciBpbnRyYSBvbmx5IGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0xNCAxNjozOTowOSArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VuZGluZyBvZiB0YWdzCgkgICogRml4IGNyaXRpY2FsIHdoZW4gbmV3IHRhZ3MgYXJlIGZvdW5kIGFmdGVyIHNlZ21lbnQgZXZlbnQgaGFzIGFscmVhZHkKCSAgYmVlbiBzZW50LgoJICAqIFNlbmQgZ2xvYmFsIHRhZ3MgYmVmb3JlIHN0cmVhbSB0YWdzLgoJICAqIFNwbGl0IHNlbmRpbmcgb2YgdGFncyBvdXQgb2YgZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQoKSBpbnRvIGl0cwoJICBvd24gZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU5NzMKCjIwMTUtMDMtMTMgMTg6MjY6MDYgKzAwMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJvcGVybHkgZXNjYXBlIHBlcmNlbnQgc2lnbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAzLTEzIDE4OjI2OjQ0ICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xMyAxODo0ODowMyArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDJzcmM6IGRlbGF5IHJlbmVnb3RpYXRpb24gdW50aWwgaXQgaXMgbGlrZWx5IGJ1ZmZlcnMgd2VyZSByZWNsYWltZWQKCSAgQWxsb3cgcmVuZWdvdGlhdGlvbiB0byBoYXBwZW4gd2hlbiBidWZmZXJzIGhhdmUgcmV0dXJuZWQgYWZ0ZXIgYW4gYWxsb2NhdGlvbgoJICBxdWVyeS4gQXMgdGhlIGFsbG9jYXRpb24gcXVlcnkgaXMgc2VyaWFsaXplZCwgYWxsIGJ1ZmZlcnMgZnJvbSB0aGUgcG9vbAoJICBzaG91bGQgaGF2ZSByZXR1cm5lZCBhbmQgd2UgY2FuIHN0b3AgaXQgdG8gY3JlYXRlIGEgbmV3IG9uZSBmb3IgdGhlCgkgIG5ldyBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxNS0wMy0xMyAxODo0Nzo1NSArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IGFkZCBnc3RfdjRsMl9vYmplY3RfdHJ5X2Zvcm1hdAoJICBTaW1pbGFyIHRvIHNldF9mb3JtYXQgYnV0IGl0IHVzZXMgVFJZX0ZNVCBpbnN0ZWFkIG9mIFNfRk1UCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTUtMDMtMTMgMTg6Mzg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGZpeCBjcmFzaCB3aXRoIEdTVF9ERUJVRyBlbmFibGVkCgkgIGdfaW5ldF9zb2NrZXRfYWRkcmVzc19nZXRfYWRkcmVzcygpIGRvZXMgbm90IGdpdmUKCSAgdXMgYSByZWYgdG8gdGhlIGFkZHJlc3MsIHNvIGRvbid0IHVucmVmIGl0LgoKMjAxNS0wMy0xMiAxMzo0OTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogRG9uJ3QgcmVhZCBvdmVyIHRoZSBlbmQgb2YgdGhlIGlucHV0IG1lbW9yeQoJICBQcmV2aW91c2x5IHdlIGFkdmFuY2VkIHRoZSBpbl9kYXRhIHBvaW50ZXIgYnkgYnBzIGZvciBldmVyeSBjaGFubmVsLCBhbmQgdGhlbgoJICBsYXRlciBhZ2FpbiBmb3IgYmxvY2tfc2l6ZSpicHMuIFRoaXMgY2F1c2VkIHVzIHRvIGJlIG9uZSBzYW1wbGUgZnVydGhlciB0aGFuCgkgIGV4cGVjdGVkIGlmIGFuIGlucHV0IGJ1ZmZlciBjb3ZlcmVkIHR3byBhbmFseXNpcyBmcmFtZXMuIEFuZCBpbiB0aGUgZW5kIGxlYWQKCSAgdG8gY29tcGxldGVseSBib2d1cyB2YWx1ZXMgcmVwb3J0ZWQgYnkgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwNjUKCjIwMTUtMDMtMTIgMDE6Mzc6MDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSAgUmVtb3ZlIGEgY291cGxlIG9mIHN1cGVyZmx1b3VzIHRyYWlsaW5nIHNlbWktY29sb25zCgoyMDE1LTAzLTEwIDA5OjMxOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJICBGaXggZG91YmxlIHNlbWljb2xvbnMKCjIwMTUtMDMtMTAgMTU6NDY6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eDogU2h1dCBkb3duIGVsZW1lbnQgYmVmb3JlIGRvd253YXJkIHN0YXRlIGNoYW5nZQoJICBNYWtlIHN1cmUgdGhlIHN0YXRlIGNoYW5nZSB3b24ndCBoYW5nIHRyeWluZyB0byBzaHV0IGRvd24gcGFkcwoJICBieSBtYWtpbmcgc3VyZSB0aGUgc3RyZWFtaW5nIGhhcyBzdG9wcGVkIGJlZm9yZSBjaGFpbmluZyB1cC4KCjIwMTUtMDMtMDkgMjI6NTg6MDUgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBzdHJlYW0gZm9ybWF0IGlzIGFuIFNQRElGLW9ubHkgZmllbGQKCjIwMTUtMDMtMDkgMjI6NTM6NDEgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgb3N4YXVkaW86IGZpeCBzcGFjZXMKCjIwMTUtMDMtMDkgMjI6NTI6NDYgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgb3N4YXVkaW86IGFkZCB0eXBlIGNoZWNrIG1hY3JvCgoyMDE1LTAzLTA5IDIyOjUxOjUxICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IHJlbmFtZSBnc3RfY29yZV9hdWRpb19zZXRfY2hhbm5lbHNfbGF5b3V0KCkKCSAgdG8gZ3N0X2NvcmVfYXVkaW9fZ2V0X2NoYW5uZWxfbGF5b3V0KCkuCgoyMDE1LTAzLTA5IDIyOjMwOjI4ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogcmVtb3ZlIHVudXNlZCBmaW5hbGl6ZQoKMjAxNS0wMy0wOSAxNjoyNTo0MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogcmVtb3ZlIGR1cGxpY2F0ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbgoKMjAxNS0wMy0wOSAxNjoyMjoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBDSUQgIzEyMjY0NzQKCjIwMTUtMDMtMDkgMTY6MTQ6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgQ0lEIDEyMTIxNTYKCjIwMTUtMDMtMDkgMTU6NTg6MzMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogcmVtb3ZlIHVuZWVkZWQgdmFyaWFibGUKCSAgV2UganVzdCBuZWVkIHRvIHNhdmUgdGhlIGViaXQgaW5mb3JtYXRpb24gaW4gY2FzZSB0aGVyZSBpcyBhbiBlcnJvciBkZWNvZGluZy4KCjIwMTUtMDMtMDkgMTY6NDY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFs4OV1lbmM6IFJlc2V0IHRoZSBlbmNvZGVyIHdoZW4gZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwNAoKMjAxNS0wMy0wOSAxMjo1MToxNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogZXJyb3IgbW9kZSBpZiBjYW4ndCBwdXNoIGJ1ZmZlcgoJICBJZiBnc3RfcGFkX3B1c2goKSBmYWlscywgaW5mb3JtIGFuZCByZXR1cm4gZmxvdyBlcnJvci4KCjIwMTUtMDMtMDkgMTI6MTM6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IHVudXNlZCB2YWx1ZQoJICBWYWx1ZSBzZXQgaW4gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4ganVzdCBiZWZvcmUgZXhpdGluZyB0aGUgZnVuY3Rpb24uCgkgIENJRCAjMTIyNjQ2OQoKMjAxNS0wMy0wOSAxMToxMDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IERyb3AgcGFja2V0cyB3aXRoIHNlcXVlbmNlIG51bWJlcnMgYmVmb3JlIHRoZSBzZXFudW0tYmFzZQoJICBUaGVzZSBhcmUgb3V0c2lkZSB0aGUgZXhwZWN0ZWQgcmFuZ2Ugb2Ygc2VxdWVuY2UgbnVtYmVycyBhbmQgc2hvdWxkIGJlCgkgIGNsaXBwZWQsIGVzcGVjaWFsbHkgZm9yIFJUU1AgdGhleSBtaWdodCBiZWxvbmcgdG8gcGFja2V0cyBmcm9tIGJlZm9yZSBhIHNlZWsKCSAgb3IgYSBwcmV2aW91cyBzdHJlYW0gaW4gZ2VuZXJhbC4KCjIwMTQtMDItMjcgMTA6NTI6MTYgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBpbmNsdWRlIHBheWxvYWQgdHlwZSBpbiB0aGUgY2FwcyBmb3IgZnJhbWVzaXplCgkgIFdoZW4gdGhlIHNkcCBtZWRpYSBhdHRyaWJ1dGUgZnJhbWVzaXplIGFyZSBjb252ZXJ0ZWQgdG8gY2FwcwoJICB0aGUgPHBheWxvYWQ+IHNob3VsZCBub3QgYmUgaW5jbHVkZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUzMzUKCjIwMTUtMDMtMDkgMTA6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEb24ndCBmb3JnZXQgdG8gdW5sb2NrIHRoZSBtdXRleCB3aGVuIHJlY2VpdmluZyBHQVBzIGluIFRDUCBzdHJlYW1zCgoyMDE1LTAzLTA5IDExOjI0OjU4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIHN1cmUgdG8gZmlsdGVyIGNhcHMgaW4gYWxsIGNhc2VzIGR1cmluZyBDQVBTIHF1ZXJ5CgkgIFdlIHdlcmUgc2tpcHBpbmcgdGhlIGZpbHRlciBzdGVwIHdoaWxlIHJldHVybmluZyB0ZW1wbGF0ZSBjYXBzLCBmb3IKCSAgZXhhbXBsZS4KCjIwMTUtMDMtMDggMjE6MTU6NTMgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCB1cGRhdGUgYnVmZmVyIGZvciBPVVRQVVQKCSAgRm9yIG91dHB1dCBkZXZpY2UsIHdlIHNob3VsZCBub3QgdXBkYXRlIHRoZSBidWZmZXIgd2l0aCBmbGFncyBhbmQKCSAgdGltZXN0YW1wIHdoZW4gd2UgZGVxdWV1ZS4gVGhlIGluZm9ybWF0aW9uIGluIHRoZSB2NGwyX2J1ZmZlciBpcyBub3QKCSAgbWVhbmluZ2Z1bCBhbmQgaXQgYnJlYWtzIHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgaXMgcmVuZGVyZWQgYXQKCSAgbXVsdGlwbGUgcGxhY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDM4CgoyMDE1LTAzLTA4IDE4OjA0OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IGNvb2tpZXMgcHJvcGVydHkKCjIwMTUtMDMtMDggMTg6MDI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBJbXBsZW1lbnQgYXV0b21hdGljLXJlZGlyZWN0IHByb3BlcnR5CgoyMDE1LTAzLTA4IDE3OjU0OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IHByb3h5IHN1cHBvcnQKCSAgVGhlIHByb3BlcnRpZXMgd2VyZSB0aGVyZSBiZWZvcmUsIGJ1dCBub3QgdXNlZCBhbnl3aGVyZS4KCjIwMTUtMDItMjEgMjA6MDU6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDE1LTAzLTA0IDEwOjI3OjE3ICswMTAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IExPQVMgcGFyc2luZyBpc3N1ZQoJICBGaXggbWlzc2luZyBpbmRleCBpbiBzeW5jd29yZCBzZWFyY2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NQoKMjAxNS0wMy0wNSAxNzo1NDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBtb2R1bG8gbWF0aCB3aXRoIHJpbmdidWZmZXIgcGFyYW1ldGVycwoJICBUbyBnZXQgYSBtdWx0aXBsZSBvZiBicGYgdXNlIGEgc3VidHJhY3Rpb24gYW5kIG5vdCBhbiBhZGRpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1Njg0CgoyMDE1LTAzLTA3IDAwOjU1OjQ3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogUHJvdGVjdCBwcm9wZXJ0eSB2YXJpYWJsZXMgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFVzZSB0aGUgb2JqZWN0IGxvY2sgaW5zdGVhZCBvZiB0aGUgc3BsaXRtdXggbG9jayB0byBwcm90ZWN0CgkgIGludGVybmFsIHByb3BlcnR5IHZhcmlhYmxlcywgc28gdGhleSdyZSBub3QgbG9ja2VkIHdoZW4KCSAgc3dpdGNoaW5nIHRvIGEgbmV3IGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ0MjAKCjIwMTUtMDMtMDYgMTE6Mzk6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBhZGQgaml0dGVyYnVmZmVyIHVuaXQgdGVzdAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTUzOQoKMjAxNS0wMy0wNSAwOToxODo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGhhbmRsaW5nIG9mIGludGVybGVhdmVkIChUQ1ApIHN0cmVhbXMKCSAgV2UgbmVlZCB0byBzZXQgdXAgdGhlIHRyYW5zcG9ydCBpbiBhbnkgY2FzZSwgbm90IGp1c3QgaWYgd2UgaGF2ZSBhIGNvbnRhaW5lcgoJICBzdHJlYW0gb3IgYSBub24taW50ZXJsZWF2ZWQgc3RyZWFtLiBPbmx5IGlmIHdlIGhhdmUgYW4gaW50ZXJsZWF2ZWQgc3RyZWFtIGFuZAoJICBhcmUgcmV0cnlpbmcsIHdlIHNob3VsZCBub3Qgc2V0IHVwIHRoZSBzdHJlYW0gYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1OTkKCjIwMTUtMDMtMDUgMTA6MDA6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cFs4OV1kZWM6IERyb3AgZnJhbWVzIHRoYXQgaGF2ZSBubyBvdXRwdXQgYnVmZmVyIGJlY2F1c2Ugb2YgZXJyb3JzCgkgIGZpbmlzaF9mcmFtZSgpIGFzc3VtZXMgdGhhdCB0aGVyZSBpcyBhbiBvdXRwdXQgYnVmZmVyLgoKMjAxNS0wMy0wNSAwOTo1NjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgdW5yZWYgY2FwcyB3ZSBkb24ndCBvd24KCjIwMTUtMDMtMDUgMDk6NDY6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFB1c2ggUlRDUCBjYXBzIG9uIHRoZSBSVENQIHBhZHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZ2V0IG5vdC1uZWdvdGlhdGVkIGxhdGVyIGZyb20gcnRwYmluLCBhbmQgd2lsbCBuZXZlciBiZSBhYmxlCgkgIHRvIHNlbmQgUlRDUCBwYWNrZXRzIGJhY2sgdG8gdGhlIHNlcnZlci4gTm90ZSB0aGF0IGVycm9yIGZsb3cgcmV0dXJucyBmcm9tIHRoZQoJICBSVENQIHBhZHMgYXJlIGlnbm9yZWQsIHRoYXQncyB3aHkgaXQgZGlkbid0IGZhaWwgbW9yZSB2aXNpYmxlIGJlZm9yZS4KCjIwMTUtMDMtMDUgMDk6MzU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE1ha2Ugc3VyZSB0byBzZW5kIFNFR01FTlQgZXZlbnRzIG9uIGFsbCBwYWRzCgoyMDE1LTAzLTAzIDE2OjIzOjE1ICswMTAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cDogQWRkIEZ1bGwgSW50cmEgUmVxdWVzdCAoRklSKSBwYWNrZXRzIHRvIHN0YXRpc3RpY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NwoKMjAxNS0wMy0wMyAxNjowMTo1MyArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHA6IEFkZCBQYWNrZXQgTG9zcyBJbmRpY2F0aW9uIChQTEkpIHRvIHN0YXRpc3RpY3MKCSAgVGhpcyBpcyBoZWxwZnVsIHRvIHByb3ZpZGUgc3RhdGlzdGljcyBpbiB0aGUgZm9ybWF0IGRlZmluZWQgaW4KCSAgaHR0cDovL3czYy5naXRodWIuaW8vd2VicnRjLXN0YXRzLyNkaWN0aW9uYXJ5LXJ0Y3J0cHN0cmVhbXN0YXRzLW1lbWJlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODcKCjIwMTUtMDMtMDMgMTk6MTk6NTAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBSZW1vdmUgZHVyYXRpb24gYWNjdW11bGF0aW9uIGxvZ2ljCgkgIER1cmF0aW9uIGFjY3VtdWxhdGlvbiBjYW4gY2F1c2Ugcm91bmRpbmcgZXJyb3JzIGFuZCBnZW5lcmF0ZSB3cm9uZwoJICBkdXJhdGlvbiB3aXRoIGRpZmZlcmVudCBidWZmZXJzIHRoYXQgc2hhcmUgdGhlIHNhbWUgdGltZXN0YW1wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAzLTAzIDE4OjQwOjE2ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogQWRkIGFuIGhlbHBlciBtZXRob2QgdG8gZ2V0IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIC4uLiBhbmQgcmVwbGFjZSBHU1RfQlVGRkVSX1RJTUVTVEFNUCB0aGF0IGFsd2F5cyByZXR1cm4gUFRTIHdpdGggdGhpcyBtZXRob2QKCSAgdGhhdCByZXR1cm4gUFRTIG9yIERUUyBiYXNlZCBvbiBzdHJlYW0gdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0wNCAxMToyODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIGV4cGxhbmF0aW9uIHdoeSB3ZSBoYXZlIHNwYWNlIGZvciAzMiBoYXNoIHRhYmxlcwoJICBBbmQgYWxzbyBjcmVhdGUgb25seSBvbmUsIHRoZXJlJ3Mgbm8gbmVlZCB5ZXQgdG8gY3JlYXRlIGFsbCAzMiB1bnRpbAoJICB3ZSBpbXBsZW1lbnQgUkZDMjc2Mi4KCjIwMTUtMDMtMDQgMTE6MjY6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmV2ZXJ0ICJydHBzZXNzaW9uOiBEbyBub3QgdXNlIGFuIGFycmF5IG9mIG1hcHMgaWYgdGhleSBhcmUgbm90IGJlaW5nIHVzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTU5MWFkZjRjZDg0M2QxM2Q4NjIyYTMwYzYxOTQyNTY5MWE4NDEyOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU4NiNjMToKCSAgSXQncyB0aGUgYmVnaW5uaW5nIG9mIGFuIGltcGxlbWVudGF0aW9uIG9mIFJGQyAyNzYyLCB3aGljaCBpcyBuZWVkZWQgZm9yCgkgIGxhcmdlIG11bHRpY2FzdCBncm91cHMuIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgeWV0IGNvbXBsZXRlIGJ1dCB3aHkKCSAgbm90IGxlYXZlIHdoYXQgaXMgdGhlcmUgYW5kIGltcGxlbWVudCBSRkMgMjc2MiBpbnN0ZWFkPwoKMjAxNS0wMy0wNCAxMDozNToxMiArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRG8gbm90IHVzZSBhbiBhcnJheSBvZiBtYXBzIGlmIHRoZXkgYXJlIG5vdCBiZWluZyB1c2VkCgkgIHJ0cHNlc3Npb24gZGVjbGFyZXMgYW4gYXJyYXkgb2YgbWFwcyB0byBzdG9yZSBzcnJjcyBidXQgb25seSB0aGUKCSAgdGhlIGtleSAwIGlzIGJlaW5nIHVzZWQuIFRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhlIGFycmF5IG9mIG1hcHMKCSAgZm9yIGp1c3Qgb25lIG1hcCBhbmQgcmVtb3ZlIHVzZWxlc3MgcGFyYW1ldGVycyBpbiBydHBzZXNzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODYKCjIwMTUtMDItMjcgMTg6MTI6MDkgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBub3QgbmVlZGVkIGNvZGUKCSAgSW4gZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5LCB0aGVyZSBpcyBub3QgbmVlZGVkIGNvZGUuCgkgIFdlIGFscmVhZHkgY2hlY2sgYWJvdXQgc3RyZWFtIGlzIHZiciBvciBub3QgYXQgdGhlIHVwcGVyIGxpbmUuCgkgIG8sIHdlIGRvbid0IG5lZWQgdG8gY2hlY2sgdGhpcyBjb25kaXRpb24gYmVjYXNlIHN0cmVhbSBpcyBub3QKCSAgdmJyIDEwMCUgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1Mjc2CgoyMDE1LTAzLTAzIDIzOjI1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IHJlcGxhY2UgZGVwcmVjYXRlZCBmdW5jdGlvbgoJICBKdXN0IGF2b2lkIHVzaW5nIHRoZSBkZXByZWNhdGVkIGZ1bmN0aW9uIGVudGlyZWx5LAoJICBpdCdzIGVhc3kgZW5vdWdoLiBEZWZpbmluZyB0aGUgbWFjcm8gaXMgbm90IGVub3VnaC4KCjIwMTUtMDMtMDMgMTk6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogZml4IGNvbXBpbGF0aW9uIGFnYWluc3QgbmV3ZXIgZ2RrLXBpeGJ1ZgoJICBnZGtfcGl4YnVmX25ld19mcm9tX2lubGluZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyCgkgIG9mIEdSZXNvdXJjZS4KCjIwMTUtMDMtMDMgMTg6Mzk6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvc3JjOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgVGhlIHJpbmdidWZmZXIgZG9lcyBhbGxvdyByZW5lZ290aWF0aW9uLCBzbyB3ZSBkbyBub3QgaGF2ZSB0byByZXBvcnQKCSAgZml4ZWQgY2FwcyBvbmNlIGl0IGlzIGFjcXVpcmVkIChiYXNlZCBvbiBhIHNpbWlsYXIgcGF0Y2ggZm9yIHRoZSBzaW5rCgkgIHNpZGUgYnkgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4pLgoKMjAxNS0wMi0yMSAxNDo0MTowOCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBBbGxvdyByZW5lZ290aWF0aW5nIGNhcHMKCSAgT25jZSBvc3hhdWRpb3NpbmsncyBkZXZpY2UgaXMgb3BlbiwgaXQgZml4YXRlcyBvbiB0aGUgaW5pdGlhbCBjYXBzIGFuZAoJICByZWZ1c2VzIHRvIGFjY2VwdCBuZXcgY2Fwcy4gVGhpcyBpcyBlcnJvbmVvdXMgc2luY2UgdGhlIEF1ZGlvIFVuaXQgaXMKCSAgY2FuIGFjY2VwdCBhIG5ldyBBU0JELCBhbmQgR3N0QXVkaW9SaW5nQnVmZmVyIHN1cHBvcnRzIHJlY29uZmlndXJhdGlvbgoJICBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTI1CgoyMDE1LTAzLTAyIDEyOjA0OjAwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggZmQgbGVhayBpbiBETUFCVUYgaW1wb3J0IG1vZGUuCgkgIEVuc3VyZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIHJlbGVhc2VzIHRoZSBhc3NvY2lhdGVkCgkgIEdzdFY0bDJNZW1vcnlHcm91cC4gSW4gcGFydGljdWxhciwgdGhpcyBhbGxvd3MgZm9yIGNsb3NpbmcgdGhlIERNQUJVRgoJICBoYW5kbGVzIHByaW9yIHRvIGluc3RhbnRpYXRpbmcgbmV3IG9uZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NDMKCjIwMTUtMDMtMDIgMTU6MDY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSAwIGFzIGR1cmF0aW9uIGZvciB0aGUgRU9TICJmcmFtZSIKCjIwMTUtMDMtMDIgMTU6MDI6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cHs4LDl9ZW5jOiBUZWxsIHRoZSBlbmNvZGVyIGFib3V0IGFjdHVhbCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgb2YgZnJhbWVzCgkgIC4uLiBpbnN0ZWFkIG9mIGp1c3QgY291bnRpbmcgZnJhbWVzLiBUaGUgdmFsdWVzIGFyZSBzdXBwb3NlZCB0byBiZSBpbiB0aW1lYmFzZQoJICB1bml0cywgbm90IGZyYW1lIHVuaXRzLiBUaGlzIGZpeGVzIHZhcmlvdXMgcXVhbGl0eSBwcm9ibGVtcyB3aXRoIFZQOC9WUDkKCSAgZW5jb2RpbmcgYW5kIGluIGdlbmVyYWwgbWFrZXMgdGhlIGVuY29kZXIgYmVoYXZlIGJldHRlci4KCSAgVGhhbmtzIHRvIE5pcmJoZWVrIENoYXVoYW4gZm9yIG5vdGljaW5nIHRoaXMgYnVnLgoKMjAxNS0wMy0wMSAxMzo1NjoxNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHhkZWM6IEZpeCBjYWxjdWxhdGlvbiBvZiB3aWR0aCBpbiBieXRlcwoJICBSaWdodCBub3cgd2Ugb25seSBzdXBwb3J0IEk0MjAsIGJ1dCB2cHggc2VlbXMgdG8gc3VwcG9ydCBtb3JlIGZvcm1hdHMuCgkgIFRoaXMgd2lsbCBwcmV2ZW50IGhhcmQgdG8gZmluZCBidWcgaW4gdGhlIGZ1dHVyZS4KCjIwMTUtMDMtMDEgMTM6NTI6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBEb24ndCBtZW1jcHkgaW4gZnJhbWUgbWFwIGZhaWxlZAoJICBUaGlzIGF2b2lkIGEgY3Jhc2ggaWYgbWFwcGluZyB0aGUgZnJhbWUgZmFpbGVkLgoKMjAxNS0wMy0wMSAxMzo0ODo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWRkIG1pc3NpbmcgYnJlYWsKCSAgVGhpcyBpcyBjb3NtZXRpYyBjaGFuZ2UuCgoyMDE1LTAzLTAxIDEzOjQ2OjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IFdvcmthcm91bmQgZHJpdmVyIG5vdCBzZXR0aW5nIGZpZWxkIGNvcnJlY3RseQoJICBBcyBpdCdzIHZlcnkgY29tbW9uLCBoYW5kbGUgZHJpdmVyIG5vdCBzZXR0aW5nIGZpZWxkIGluIGJ1ZmZlcnMKCSAgYnkgdXNpbmcgdGhlIGZpZWxkIHZhbHVlIGZyb20gdGhlIGZvcm1hdC4gVGhpcyB3b3JrYXJvdW5kIGEgbG9uZyB0aW1lCgkgIGJ1ZyBpbiBVVkMgZHJpdmVyLiBGb3IgZXZlbiBidWdnaWVyIGRyaXZlciwgd2Ugc2ltcGx5IGFzc3VtZQoJICBwcm9ncmVzc2l2ZSBhcyBiZWZvcmUuIFdlIGFsc28gb25seSB3YXJuIG9uY2UsIHRvIGF2b2lkIHNwYW1taW5nLgoKMjAxNS0wMi0yOCAxODoxMDowNiArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXgga2V5IHVuaXQgc2VlawoJICBVbmxpa2UgbWFueSBvdGhlciBzZWVrIGZsYWdzLCB0aGUgS0VZX1VOSVQgc2VlawoJICBmbGFnIGlzIG5vdCBjb3BpZWQgb3ZlciBpbnRvIHRoZSBHc3RTZWdtZW50LAoJICBzaW5jZSBpdCdzIG9ubHkgcmVsZXZhbnQgZm9yIHRoZSBzZWVrIGl0c2VsZiwKCSAgc28gd2UgbmVlZCB0byBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIHNlZWsKCSAgaGFuZGxlciBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MzM5CgoyMDE1LTAyLTI3IDA5OjM4OjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICBkb2NzL3BsdWdpbnM6IFVwZGF0ZXMKCjIwMTUtMDItMjYgMjM6NDE6NDcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXgvZGVtdXg6IGluaXRpYWxpemUgZHRzX29ubHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMi0yNiAyMzoyODoxMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBEVFMgZm9yIFZfTVMvVkZXL0ZPVVJDQyBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDItMjYgMTk6NDg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIG11bHRpZmlsZTogYXR0ZW1wdCB0byBmaXggZG9jcyBidWlsZCBpc3N1ZSBvbiBidWlsZCBib3QKCjIwMTUtMDItMjcgMDA6NDE6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBEcm9wIGN1c3RvbSBsYXRlbmN5IHF1ZXJ5IGhhbmRsaW5nCgkgIFRoaXMgaXMgaW1wbGVtZW50ZWQgYnkgdGhlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciBub3cuCgoyMDE1LTAyLTI3IDAwOjQwOjA1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERyb3AgY3VzdG9tIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMKCSAgVGhpcyBpcyBub3cgaW1wbGVtZW50ZWQgaW4gdGhlIGRlZmF1bHQgbGF0ZW5jeSBxdWVyeSBoYW5kbGVyLgoKMjAxNS0wMi0yNiAxNjoxMDo0MSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGZpeCBwYXlsb2FkZXIgZGVzY3JpcHRpb24gYW5kIGF1dGhvciBlLW1haWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTIyNgoKMjAxNC0wOS0wNSAxNjozNDoyNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogcXVlcnkgY3JvcCBjb25maWd1cmF0aW9uIGFmdGVyIGVhY2ggY2FsbCBvZiBTX0NST1AKCSAgU19DUk9QIGlvY3RsIGlzIHdyaXRlLW9ubHkgYW5kIHRoZSBkZXZpY2UgY2FuIGFkanVzdCBjcm9wIHJlY3RhbmdsZSBzbwoJICB3ZSBxdWVyeSBiYWNrIHRoZSBjcm9wIGNvbmZpZ3VyYXRpb24gYWZ0ZXIgZWFjaCBTX0NST1AgdG8ga25vdyB3aGF0IGhhcwoJICBiZWVuIGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxMzMKCjIwMTUtMDItMjYgMDI6MTI6MTggKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBWX01TL1ZGVy9GT1VSQ0Mgc3RyZWFtcyBoYXZlIERUUyBpbnN0ZWFkIG9mIFBUUwoJICBXaGVuIHN1Y2ggc3RyZWFtIGlzIHByZXNlbnQgZGVtdXhlciBzaG91bGQgc2V0IERUUyBvbiBidWZmZXJzIGluc3RlYWQKCSAgb2YgUFRTLiBUaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCBob3cgVkxDIGFuZCBsaWJhdi9mZm1wZWcgaGFuZGxlIFZGVwoJICBzdHJlYW1zLgoJICBTYW1wbGUgZmlsZQoJICBodHRwczovL3MzLmFtYXpvbmF3cy5jb20vTWF0ZWpLL1NhbXBsZXMvTWF0cm9za2EtVkZXLURUUy1Pbmx5Lm1rdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAyLTI1IDE2OjQ1OjExIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDaGVjayBjb3JydXB0aW9uIGZsYWcgb24gdGhlIHJpZ2h0IGJ1ZmZlcgoJICBXZSB3aGVyZSBjaGVja2luZyB0aGUgYnVmZmVyIHdlIGFyZSBjb3B5aW5nIHRvIGluc3RlYWQgb2YgdGhlIGJ1ZmZlciB3ZQoJICBhcmUgY29weWluZyBmcm9tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDQwCgoyMDE1LTAxLTE5IDE1OjI5OjI0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgY29sb3JzcGFjZSBpbiBjYXBzIGZvciBjYXB0dXJlIGRldmljZXMKCSAgVGhpcyBpbmZvcm1hdGlvbiBpcyBzZXQgYnkgdGhlIGRyaXZlciBmb3IgYSBjYXB0dXJlIGRldmljZSwgYW5kIHNvIGNvdWxkCgkgIGJlIGZvcndhcmRlZCB0byBwaXBlbGluZSBieSBzZXR0aW5nIHRoZSBjb2xvcmltZXRyeSBpbiBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTg2CgoyMDE0LTEwLTA2IDE3OjMwOjA2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGZpeCBpbXBvcnRfdXNlcnB0cigpIGluIHNpbmdsZS1wbGFuYXIgQVBJIHdoZW4gbl9wbGFuZXMgPiAxCgkgIEluIHRoZSBWNEwyIHNpbmdsZS1wbGFuYXIgQVBJLCB3aGVuIGZvcm1hdCBpcyBzZW1pLXBsYW5hci9wbGFuYXIsCgkgIGRyaXZlcnMgZXhwZWN0IHRoZSBwbGFuZXMgdG8gYmUgY29udGlndW91cyBpbiBtZW1vcnkuCgkgIFNvIHRoaXMgY29tbWl0IGNoYW5nZSB0aGUgd2F5IHdlIGhhbmRsZSBzZW1pLXBsYW5hci9wbGFuYXIgZm9ybWF0CgkgIChuX3BsYW5lcyA+IDEpIHdoZW4gd2UgdXNlIHRoZSBzaW5nbGUtcGxhbmFyIEFQSSAoZ3JvdXAtPm5fbWVtID09IDEpLgoJICBUbyBjaGVjayB0aGF0IHBsYW5lcyBhcmUgY29udGlndW91cyBhbmQgaGF2ZSBleHBlY3RlZCBzaXplLCBpZTogbm8KCSAgcGFkZGluZy4gV2UgdGVzdCB0aGUgZmFjdCB0aGF0IHBsYW5lICdpJyBzdGFydCBhZGRyZXNzICsgcGxhbmUgJ2knCgkgIGV4cGVjdGVkIHNpemUgZXF1YWxzIHRvIHBsYW5lICdpICsgMScgc3RhcnQgYWRkcmVzcy4gSWYgbm90LCB3ZSByZXR1cm4KCSAgaW4gZXJyb3IuCgkgIE1hdGggYXJlIGRvbmUgaW4gYnVmZmVycG9vbCByYXRoZXIgdGhhbiBpbiBhbGxvY2F0b3IgYmVjYXVzZSB0aGUKCSAgZm9ybWVyIGlzIGF3YXJlIG9mIHZpZGVvIGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwMTMKCjIwMTUtMDEtMjMgMTA6MTU6NDYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogbGV0IGJ1ZmZlcnBvb2wgY2FsY3VsYXRlIGltYWdlIHNpemUgd2hlbiBpbXBvcnRpbmcgdXNlcnB0cgoJICBPZmZzZXQgYXJlIHJlbGF0aXZlIHRvIHRoZSBidWZmZXIgYW5kIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBzdWJzdHJhY3RpbmcKCSAgdGhlbSB3aWxsIGdpdmUgdXMgdGhlIHBsYW5lIHNpemUuIFNvIHdlIGxldCBidWZmZXJwb29sIG1ha2UgdGhlIG1hdGggYXMKCSAgaXQgaXMgbW9yZSBhd2FyZSBvZiB2aWRlbyBpbmZvIHRoYW4gYWxsb2NhdG9yIGFuZCBwYXNzIGEgc2l6ZSBhcnJheSB0bwoJICBhbGxvY2F0b3IgaW1wb3J0IGZ1bmN0aW9uLgoJICBQb2ludGVkIG91dCBieSBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgwMTMKCjIwMTQtMTItMTEgMTY6MTM6MTUgKzAxMDAgIFBoaWxpcHBlIERlIE11eXRlciA8cGhkbUBtYWNxZWwuYmU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHJlY29nbml6ZSBhbmQgZGlzdGluZ3Vpc2ggYWxsIGJheWVyIGFycmFuZ2VtZW50cwoJICBVcCB0byBub3csIHY0bDJzcmMgcmVjb2duaXplZCBvbmx5ICJiZ2dyIiBhbW9uZ3N0IHRoZSBiYXllciBhcnJhbmdlbWVudHMuCgkgIFJlY29nbml6ZSBub3cgYWxzbyB0aGUgInJnZ2IiLCAiZ2JyZyIgYW5kICJncmJnIiBhcnJhbmdlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIzNjMKCjIwMTUtMDEtMTUgMTY6MTE6NTMgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogc2V0IHY0bDJfYnVmZmVyLmZpZWxkIHdoZW4gcXVldWluZyBidWZmZXIgaW4gYW4gb3V0cHV0IGRldmljZQoJICBBY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgc3BlY2lmaWNhdGlvbiwgYXBwbGljYXRpb24gbXVzdCBzZXQgdGhpcyBmaWVsZAoJICBmb3IgYW4gb3V0cHV0IGRldmljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzAxMwoKMjAxNS0wMi0yNCAwNTo1NzoyNCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvc3JjOiBpT1MgcmVzYW1wbGluZyBjYXVzZXMgc3R1dHRlcmluZwoJICBGaXhlcyBzdHV0dGVyaW5nIGF1ZGlvIHdoZW4gaU9TIEFVIGlzIHJlc2FtcGxpbmcuIFRvIG1ha2UgQVUgcmVzYW1wbGUsCgkgIG9uZSBoYXMgdG8gcmVxdWVzdCBhIHJhdGUgdGhhdCBkaWZmZXJzIGZyb20gQVZBdWRpb1Nlc3Npb24ncwoJICBzYW1wbGVSYXRlLiBUaGUgcmVzYW1wbGluZyBpdHNlbGYgaXMgbm90IHRoZSBjdWxwcml0LCBidXQgcmF0aGVyIG91cgoJICBBUEkgbWlzdXNlLgoJICBBdWRpb1VuaXRSZW5kZXIgbW9kaWZpZXMgdGhlIG1EYXRhQnl0ZVNpemUgbWVtYmVycyB3aXRoIHRoZQoJICBhY3R1YWwgcmVhZCBieXRlcyBjb3VudC4gVGhlcmVmb3JlLCB0aGV5IG11c3QgYmUgcmVpbml0aWFsaXplZAoJICBiZWZvcmUgZWFjaCBBdWRpb1VuaXRSZW5kZXIuIChUaGUgYnVmZmVycyB0aGVtc2VsdmVzIGNhbiBiZQoJICBwcmVhbGxvY2F0ZWQuKQoJICBUaGUgInN0dXR0ZXIiIHdhcyBjYXVzZWQgYnkgb25lIEF1ZGlvVW5pdFJlbmRlciBtYWtpbmcgdGhlIGJ1ZmZlcgoJICB0b28gc21hbGwgZm9yIG90aGVyIEF1ZGlvVW5pdFJlbmRlciBpbnZvY2F0aW9ucywgbWFraW5nIHRoZW0gZmFpbAoJICB3aXRoIC01MCAocGFyYW1FcnIpLiBCeSB3YXkgb2YgbHVjaywgd2hlbiBBVSBkaWRuJ3QgcmVzYW1wbGUsIGFsbAoJICBBdWRpb1VuaXRSZW5kZXIgaW52b2NhdGlvbnMgcmVhZCB0aGUgc2FtZSBudW1iZXIgb2YgYnl0ZXMuCgkgIChUaGlzIHBhdGNoIGFkZHJlc3NlcyBzb21lIG5vbi1pbnRlcmxlYXZlZCBhdWRpbyBjb25jZXJucywgYnV0CgkgIGF0IHRoaXMgbW9tZW50IHRoZSBlbGVtZW50cyBkbyBub3Qgc3VwcG9ydCBub24taW50ZXJsZWF2ZWQgYXVkaW8KCSAgYW5kIG5vbi1pbnRlcmxlYXZlZCBpcyB1bnRlc3RlZC4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MjIKCjIwMTUtMDItMjIgMDE6NDk6NTIgKzAxMDAgIEtyenlzenRvZiBLb3RsZW5nYSA8cG9jZWtAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB1bmF1dGhvcml6ZWQKCSAgTWFrZSB1c2Ugb2YgTk9UX0FVVEhPUklaRUQgZXJyb3IgY29kZSBpbnN0ZWFkIG9mIGZhbGxpbmcgYmFjayB0byBnZW5lcmljCgkgIFJFQUQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDE3MzMKCjIwMTUtMDItMjMgMjA6MDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiByZW1vdmUgcG9pbnRsZXNzIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgeGltYWdlIHdvbid0IGV2ZXIgYmUgTlVMTCBoZXJlIGJlY2F1c2UgdGhlIGRpc3Bvc2UKCSAgZnVuY3Rpb24gaXMgY2FsbGVkIHZpYSB4aW1hZ2UtPmRpc3Bvc2UoKS4KCjIwMTUtMDItMjMgMTk6NDA6MjUgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBbGwgc2VnbWVudCByZXN1bHRpbmcgZnJvbSBhIHNlZWsgc2hvdWxkIGhhdmUgdGhlIHNhbWUgc2VxbnVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5ODMKCjIwMTUtMDItMTkgMjM6MTI6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBFbmFibGUgY29weSB3aGVuIG5vIGtub3duIGFsbG9jYXRpb24gcGFyYW1zCgkgIFdoZW4gdGhlcmUgaXMgbm8gYWxsb2NhdGlvbiBwYXJhbWV0ZXJzIGluIHRoZSBxdWVyeSwgZW5hYmxlIGNvcHkKCSAgdGhyZXNob2xkLiBXaGVuIHRoaXMgdGhyZXNob2xkIGlzIHJlYWNoZWQsIHRoZSBidWZmZXIgcG9vbCB3aWxsIHN0YXJ0CgkgIGNvcHlpbmcgd2hlbiB0aGUgcG9vbCByZWFjaGVzIGEgY3JpdGljYWwgbGV2ZWwuIElmIHRoZSBkcml2ZXIgc3VwcG9ydHMKCSAgQ1JFQVRFX0JVRlMsIHRoaXMgd2lsbCBiZSB1c2VkIGluc3RlYWQuCgoyMDE1LTAyLTE5IDIzOjA4OjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBVcGRhdGUgYWxsb2NhdG9yIGZsYWdzCgkgIFdoZW4gd2UgaGl0IGVtdWxhdGVkIGZvcm1hdHMsIHdlIGRpc2FibGUgQ1JFQVRFX0JVRlMgc2luY2UgbGlidjRsMgoJICBjb3BlIHZlcnkgYmFkbHkgd2l0aCBpdC4gQWxzbyBjbGVhciB0aGUgYWxsb2NhdG9yIGZsYWdzIHNvIHdlIHdpbGwKCSAgbmV2ZXIgdHJ5IHRvIGFsbG9jYXRlIG1vcmUgYnVmZmVycy4gVGhpcyBmaXhlcyBmYWlsdXJlIHdoZW4gdGhlIGNvcHkKCSAgdGhyZXNob2xkIGlzIHJlYWNoZWQgYXMgd2Ugd2hlcmUgY2FsbGluZyBDUkVBVEVfQlVGUywgd2hpY2ggbGVhZCB0bwoJICBsaWJ2NGwyIGluc3RhYmlsaXR5LgoKMjAxNS0wMi0xOSAyMzowNzoyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXNlIHNwZWNpZmljIGRlYnVnIGNhdGVnb3J5CgkgIFRoZSBwb29sIGhhcyBncm93biBlbm91Z2ggdGhhdCBpdCBpcyBub3cgaGFuZHkgdG8gc2VwZXJhdGUgdjRsMm9iamVjdAoJICB0cmFjZSBmcm9tIHY0bDJidWZmZXJwb29sIHRyYWNlLgoKMjAxNS0wMi0xOSAxNDoyOTowMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IGRlZmF1bHQgZW5jb2RpbmcgbmFtZSB0byBWUDgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNDowNjo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IG1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMDUgMTA6Mjk6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBuZWdvdGlhdGUgZW5jb2RpbmcgbmFtZQoJICBDaHJvbWUgdXNlcyBhIGRpZmZlcmVudCBvbmUgdGhhbiBnc3RyZWFtZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTI6MzU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFNlbmQgaW5pdGlhbCBldmVudHMgb24gc3luY19ydGNwIHBhZCB3aGVuIHVzaW5nIFJUUC9SVENQIG11eGluZwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IHNlbmQgYnVmZmVycyBvbiB0aGUgcGFkIHdpdGhvdXQgYW55IGV2ZW50cyBiZWZvcmVoYW5kCgkgIGFuZCB3aWxsIGdldCBnX3dhcm5pbmdzKCkgYWJvdXQgdGhhdC4KCjIwMTUtMDItMTkgMTE6MjA6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogY2FzZSBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudAoJICBjb21taXQgYjEwOThjMmVhNWVhYmVhN2FmMDhjZTUxZDIyYjg2N2VhZWQyYmJlMiBhZGRlZCBhIG5ldyBjYXNlIGluCgkgIGdzdF9qYWNrX2F1ZGlvX3NyY19nZXRfcHJvcGVydHkoKSBidXQgZm9yZ290IHRvIGFkZCB0aGUgYnJlYWsgc3RhdGVtZW50IHRvIGl0LgoKMjAxNS0wMi0xOCAxOToxODowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBmcmFjdGlvbiBpcyByZXZlcnNlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiOTFmZTM2NjQ0YjE1YWUwNzBkNzJiOWU4YTljNzA4N2U4MmFlZjEyLgoKMjAxNS0wMi0xOCAxNzo0OToyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZnJhY3Rpb24gaXMgcmV2ZXJzZWQKCSAgSW4gdGhlIGZyYWN0aW9uIDEgLyAyLiAxIGlzIHRoZSBudW1lcmF0b3IgYW5kIDIgaXMgdGhlIGRlbm9taW5hdG9yLgoJICBUaGUgYXJndW1lbnRzIG9mIGZyYWN0aW9uIGdzdF92YWx1ZV9zZXRfZnJhY3Rpb25zKCkgYXJlIHZhbHVlLAoJICBudW1lcmF0b3IgYW5kIGRlbm9taW5hdG9yLgoJICBBbHNvLCBnc3RfdmFsdWVfc2V0X2ZyYWN0aW9uKCkgZmFpbHMgaWYgZGVub21pbmF0b3IgaXMgMCBmb3Igb2J2aW91cwoJICByZWFzb25zLgoKMjAxNS0wMi0xNyAyMDoyNjo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRGVhY3RpdmF0ZSBvdGhlciBwb29sCgkgIFdoZW4gaW1wb3J0aW5nIGJ1ZmZlcnMgZnJvbSBhIGRvd25zdHJlYW0gcG9vbCwgd2UgbmVlZCB0byBkZWFjdGl2YXRlCgkgIHRoYXQgcG9vbCB0byBlbnN1cmUgaXQgd2lsbCBiZSB1c2FibGUgYWdhaW4gbGF0ZXIuIFJlbHlpbmcgb24gdGhlCgkgIHJlZmNvdW50IHRvIHJlYWNoIHplcm8gZG9lcyBub3Qgd29yaywgc2luY2UgZWxlbWVudHMgbGlrZSB4dmltYWdlc2luawoJICBrZWVwcyBhIHJlZmVyZW5jZSBvbiB0aGVpciBwcm9wb3NlZCBwb29sLgoKMjAxNS0wMi0xOCAxMDoxMDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBub3QgbmVlZGVkIGNvbmRpdGlvbgoJICBnc3RfYnVmZmVyX3JlcGxhY2UgY2FuIGhhbmRsZSBOVUxMIGlucHV0cyBieSBpdHNlbGYKCjIwMTUtMDItMTggMDk6NDA6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmVmZXIgdGhlIHRmZHQgdGltZXN0YW1wIG92ZXIgdGhlIGJ1ZmZlcidzIHRoYXQgaXMgbGVzcyBhY2N1cmF0ZQoJICBUaGUgdGZkdCBzaG91bGQgYmUgbW9yZSBhY2N1cmF0ZSBhcyB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpcyBwcm92aWRlZAoJICBieSB0aGUgZnJhZ21lbnRlZCBmb3JtYXQgbWFuaWZlc3QgYW5kIGl0IG1pZ2h0IGp1c3QgYmUgYW4gYXBwcm94aW1hdGlvbi4KCjIwMTUtMDItMTcgMTY6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBXaGVuIHJlc2V0dGluZyB0aGUgaml0dGVyYnVmZmVyIGJlY2F1c2Ugb2YgcGFja2V0IGRpc2NvbnQsIGRvbid0IGZsdXNoIHN0aWNreSBldmVudHMKCSAgV2Ugd2lsbCBvdGhlcndpc2UgZmx1c2ggYXdheSBTVFJFQU1fU1RBUlQsIENBUFMgb3IgU0VHTUVOVCBldmVudHMgYW5kIHdpbGwKCSAgY29uZnVzZSBkb3duc3RyZWFtIHdpdGggYnVmZmVycyB0aGF0IGNvbWUgYmVmb3JlIHN1Y2ggZXZlbnRzLgoKMjAxNS0wMi0xNyAxMjoyMDo1NyArMDEwMCAgaGFyayA8aGFya0BwdXNjaWkubmw+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBBZGQgcHJvcGVydHkgcG9ydC1wYXR0ZXJuIHRvIHNwZWNpZnkgd2hpY2ggSkFDSyBwb3J0cyB0byBjb25uZWN0IHRvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA3MTkKCjIwMTUtMDItMTcgMTI6MzE6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogUmVkZWZpbmUgZ3N0X2lzb2ZmXyBzeW1ib2xzIHRvIGdzdF9pc29mZl9xdF8KCSAgV2UgbmVlZCBkaWZmZXJlbnQgc3ltYm9sIG5hbWVzLCBiZWNhdXNlIHRoZXNlIHN5bWJvbHMgYXJlIGFsc28gcHJlc2VudAoJICBpbiB0aGUgZnJhZ21lbnRlZCBwbHVnaW4gLi4uIHdoaWNoIHdpbGwgY2F1c2UgY29uZmxpY3RzIHdoZW4gZG9pbmcKCSAgc3RhdGljIGxpbmtpbmcKCjIwMTUtMDItMTYgMTQ6MzE6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9saW5lcy5jOgoJICBnb29tMmsxOiB1c2UgZnJhY3Rpb25hbCBwYXJ0IG9mIGZsb2F0IGRpdmlzaW9uCgoyMDE1LTAyLTE2IDEzOjU5OjE0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW46IHJlbW92ZSBkZWFkIGNvZGUKCSAgRXZlcnkgaW5zdGFuY2Ugb2YgZ290byBiZWFjaCBoYXMgYnVmX2luZm8gZXF1YWwgTlVMTC4gRG9uJ3QgY2hlY2sKCSAgZm9yIGEgY29uZGl0aW9uIHRoYXQgbmV2ZXIgaGFwcGVucy4KCSAgQ0lEICMxMjY4Mzk5CgoyMDE1LTAyLTE1IDIxOjQ1OjI0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4LXRlc3Q6IFBhcnNlIGVycm9yIG1lc3NhZ2UKCSAgVGhlIHRlc3QgaGFkIGEgZnVuY3Rpb24gdG8gcHJpbnQgdGhlIGVycm9yLCBidXQgd2FzIG5vdCBwYXJzaW5nIGl0LgoJICBUaGlzIHdhcyBjYXVzaW5nIHdhcm5pbmcgYWJvdXQgZGJnX2luZm8gYmVpbmcgdXNlZCB1bmluaXRpYWxpemVkLiBJZgoJICB0aGUgdGVzdCB3YXMgdGVzdGluZyBhbnkgZXJyb3JzLCB0aGlzIHdvdWxkIGhhdmUgY3Jhc2hlZC4KCjIwMTUtMDItMTUgMjE6MzQ6MjggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBGaXggbWluIGFuZCBtYXggZm9yIGJhbmRzIHByb3BlcnR5CgkgIFRoZSBudW1iZXIgb2YgRkZUcyBpcyBjYWxjdWxhdGVkIHdpdGggdGhlIGZvbGxvd2luZyBmb3JtdWxhOgoJICBndWludCBuZmZ0ID0gMiAqIGJhbmRzIC0gMjsKCSAgbmZmdCBpcyBwYXNzZWQgdG8gZ3N0X2ZmdF9mMzJfbmV3KCkgYXMgdGhlIGxlbiBhcmd1bWVudCBhbmQgaXMgb2YgdHlwZQoJICB1bnNpZ25lZCBpbnRlZ2VyLiBUaGlzIG1ldGhvZCByZXF1aXJlZCB0aGF0IGxlbiBpcyBhdCBsZWFzIDEsIHRoZW4KCSAgbWF4aW11bSBHX01BWElOVCwgYXMgb3RoZXIgdmFsdWVzIHdvdWxkIGJlIG5lZ2F0aXZlLiBJZiB3ZSBleHRyYXBvbGF0ZQoJICBmcm9tIHRoZSBmb3JtdWxhIGFib3ZlIGl0IG1lYW5zIHdlIG5lZWQgImJhbmRzIiB0byBiZSBiZXR3ZWVuIDIgYW5kCgkgICgoZ3VpbnQpR19NQVhJTlQgKyAyKSAvIDIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjEzCgoyMDE1LTAyLTE1IDE1OjUxOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IGZyZWVpbmcgb2Ygc2hhcmVkIG1lbW9yeQoJICBXaGVuIG1lbW9yeSAodGhhdCBoYXMgYmVlbiBzaGFyZWQgdXNpbmcgZ3N0X21lbW9yeV9zaGFyZSgpKSBhcmUgZnJlZWQsCgkgIHRoZSBtZW1vcnkgKG9yIHRoZSBETUFCVUYgRkQpIHNob3VsZCBub3QgYmVlIGZyZWVkLiBUaGVzZSBtZW1vcmllcyBoYXZlCgkgIGEgcGFyZW50LiBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgZXh0cmEgX3Y0bDJtZW1fZnJlZSBmdW5jdGlvbiBhbmQgYXZvaWQKCSAgY2FsbGluZyBjbG9zZSB0d2ljZSBvbiB0aGUgRE1BQlVGIEZELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTczCgoyMDE1LTAyLTE0IDExOjExOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHVzZSBzcGFyc2Ugc3RyZWFtcyBpbiBwdXNoLWJhc2VkIHNlZWtpbmcKCSAgVXNpbmcgdGhlIHNwYXJzZSBzdHJlYW1zIGNhbiBtYWtlIHRoZSBwdXNoLWJhc2VkIHNlZWtpbmcgcmV0dXJuCgkgIHRvbyBmYXIgaW4gdGhlIHN0cmVhbS4gSXQgYWxzbyBjYW4gbGVhZCB0byBpc3N1ZXMgYXMgdGhlCgkgIHNwYXJzZSBzdHJlYW1zIHdpbGwgYmUgaWdub3JlZCB3aGVuIHJlc3RhcnRpbmcgcGxheWJhY2sgYW5kLAoJICBpZiB0aGUgc3BhcnNlIHN0cmVhbSBpcyB0aGUgb25lIHRoYXQgaGFzIHRoZSBlYXJsaWVzdCBzYW1wbGUsCgkgIGl0IHdpbGwgY29uZnVzZSBxdGRlbXV4J3Mgb2Zmc2V0cyBhcyBvbmUgc3RyZWFtIHdpbGwgaGF2ZQoJICBhbiBlYXJsaWVyIG9mZnNldCB0aGFuIHRoZSBkZW11eGVyJ3Mgb25lIHdoaWNoIG1pZ2h0IGxlYWQgdG8KCSAgZWFybHkgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjYxCgoyMDE1LTAyLTEzIDE5OjQzOjE2ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5IGluIHB1bHNlc2lua19xdWVyeQoJICBJbiBwdWxzZXNpbmtfcXVlcnkgZnVuY3Rpb24sIHdlIHVzZSBhIHN3aXRjaCBmb3IgdGhlIHF1ZXJ5CgkgIHR5cGUuIEluIHRoZSBDQVBTIGNhc2UsIHRoZXJlIGlzIG5vICdicmVhaycsIGluc3RlYWQgd2UKCSAgcmV0dXJuIHJpZ2h0IGF3YXkuIFVzZSBhIGJyZWFrIGFuZCByZXR1cm4gYXQgdGhlIGVuZCBvZgoJICB0aGUgZnVuY3Rpb24gaW5zdGVhZCBmb3IgYmV0dGVyIGNvZGUgcmVhZGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ0NjEKCjIwMTUtMDItMTMgMjA6NDA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZsYWcgYXMgc2luayBmcm9tIHRoZSBzdGFydAoKMjAxNS0wMi0xMSAxNTozMDo0NCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IEluaXRpYWwgJ3NpZHgnIGF0b20gcGFyc2luZyBzdXBwb3J0CgkgIFBhcnNlIHRoZSAnc2lkeCcgYXRvbSBhbmQgdXBkYXRlIHRoZSB0b3RhbCBkdXJhdGlvbiBhY2NvcmRpbmcgdG8gdGhlCgkgIHBhcnNlciByZXN1bHQuIFRoZSBpc29mZiBwYXJzZXIgY29kZSBpcyBpbXBvcnRlZCBmcm9tCgkgIGdzdC1wbHVnaW5zLWJhZCdzIGRhc2hkZW11eCBhbmQgYSBnc3RfaXNvZmZfc2lkeF9wYXJzZXJfYWRkX2RhdGEoKQoJICBmdW5jdGlvbiB3YXMgZmFjdG9yZWQgb3V0IG9mIHRoZSBnc3RfaXNvZmZfc2lkeF9wYXJzZXJfYWRkX2J1ZmZlcigpCgkgIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNTc4CgoyMDE1LTAyLTExIDA1OjA2OjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkKCSAgVXNlIGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKSBmcm9tIGxpYmdzdHZpZGVvIHRvIGd1ZXNzCgkgIHNlbnNpYmxlIGNvbW1vbiBmcmFtZXJhdGVzIHdoZXJlIHBvc3NpYmxlIGZyb20gdGhlCgkgIGZsb2F0aW5nIHBvaW50IGZwcyBpbiB0aGUgc3RyZWFtLgoKMjAxNS0wMi0xMSAxMzo1MzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBJbXByb3ZlIGFuZCBmaXggTEFURU5DWSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIG5vdyBmb2xsb3dzIHRoZSBkZXNpZ24gZG9jcyBldmVyeXdoZXJlLCBlc3BlY2lhbGx5IHRoZSBtYXhpbXVtIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxMDYKCjIwMTUtMDItMTEgMTA6Mjk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEhhbmRsZSBmaXJzdCBSVENQIHBhY2tldCBhbmQgZWFybHkgZmVlZGJhY2sgY29ycmVjdGx5CgkgIEFjY29yZGluZyB0byBSRkMgNDU4NSBzZWN0aW9uIDMuNS4zIHN0ZXAgMSB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gc2VuZAoJICBhbiBlYXJseSBSVENQIHBhY2tldCBmb3IgdGhlIHZlcnkgZmlyc3Qgb25lLiBJdCBtdXN0IGJlIGEgcmVndWxhciBvbmUuCgkgIEFsc28gbWFrZSBzdXJlIHRvIG5vdCB1c2UgbGFzdF9ydGNwX3NlbmRfdGltZSBpbiBhbnkgY2FsY3VsYXRpb25zIHVudGlsCgkgIHdlIGFjdHVhbGx5IHNlbnQgYW4gUlRDUCBwYWNrZXQgYWxyZWFkeS4gSW4gc3BlY2lmaWMgdGhpcyBtZWFucyB0aGF0IHdlCgkgIG11c3Qgbm90IHVzZSBpdCBmb3IgZm9yd2FyZCByZWNvbnNpZGVyYXRpb24gb2YgdGhlIGN1cnJlbnQgUlRDUCBzZW5kIHRpbWUuCgkgIEluc3RlYWQgd2UgZG9uJ3QgZG8gYW55IGZvcndhcmQgcmVjb25zaWRlcmF0aW9uIGZvciB0aGUgZmlyc3QgUlRDUCBwYWNrZXQuCgoyMDE1LTAyLTEwIDE4OjUzOjUzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogZml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDUuMAoKMjAxNS0wMi0xMCAxNjowMDowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZml4IGV4YW1wbGUgcGlwZWxpbmUgcHJvcGVybHkKCSAgeDI2NGVuYyBtaWdodCBub3QgaGF2ZSBhIG1heC1rZXktaW50IHByb3BlcnR5LCBidXQgaXQKCSAgaGFzIGEga2V5LWludC1tYXggcHJvcGVydHkuLi4KCjIwMTUtMDItMTAgMTQ6NTc6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4OiBmaXggdHlwbwoKMjAxNS0wMi0xMCAxNDo1NjoyMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4OiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZQoJICBFbGVtZW50IHgyNjRlbmMgZG9lc24ndCBoYXZlIGEgbWF4LWtleS1pbnQgcHJvcGVydHkKCjIwMTUtMDItMTAgMTM6Mjk6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogZml4IG1lbW9yeSBsZWFrCgkgIElmIGV4ZWN1dGlvbiBnb2VzIHRvIHRoZSBiZWFjaCBpbiBsaW5lIDk4MSwgYnVmX2luZm8gZ29lcyBvdXQgb2Ygc2NvcGUgd2l0aG91dAoJICB0aGUgbWVtb3J5IGJlaW5nIGZyZWUnZC4gSGFuZGxlIHRoaXMgY2FzZS4KCSAgQ0lEICMxMjY4NDAzCgoyMDE1LTAyLTA4IDEyOjAzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggYXdrd2FyZCBpZiBjbGF1c2UKCjIwMTUtMDItMDcgMDE6NDE6NDkgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEFkZCB1bml0IHRlc3QgZm9yIGZpbGUgc3BsaXR0aW5nCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgZmlsZSBzcGxpdHRpbmcsIGFuZCBmaXggdGhlIGxlYWtzIGluIHRoZQoJICBzcGxpdG11eHNpbmsgaXQgZm91bmQKCjIwMTUtMDItMDYgMTQ6NDM6MjIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCB3aGljaCBzdG9wIHZhcmlhYmxlIGlzIHVzZWQgaW4gYXNzaWdubWVudAoJICBBc3NpZ25tZW50IGlzIGRvbmUgdG8gdmFyaWFibGUgc2VnbWVudC5zdG9wIHdoZW4gdGhlIGludGVudGlvbiB3YXMgdG8gYXNzaWduIHRvCgkgIGxvY2FsIHZhcmlhYmxlIHN0b3AuIEluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgaXQsIHRoZSB2YWx1ZSBpcyBub3cgY2xhbXBlZCBhbmQKCSAgc2VnbWVudC5zdG9wIGlzIHNldCB0byBpdCBzb29uIGFmdGVyLgoJICBDSUQgIzEyNjU3NzMKCjIwMTUtMDItMDcgMDA6MTk6MzYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eDogRml4IG1lbW9yeSBsZWFrcyB1bnRpbCB0aGUgdGVzdCB2YWxncmluZHMgY2xlYW4KCjIwMTUtMDItMDYgMDY6NDI6MTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSAgc3BsaXRtdXg6IEhhbmRsZSBlYXJseSBFT1MgZHVyaW5nIHBhcnQgcHJlcGFyYXRpb24KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGEgc2hvcnQgZmlsZSByZWFjaGVzIEVPUyB3aGlsZSB3ZSdyZSBzdGlsbAoJICB3YWl0aW5nIGZvciBuby1tb3JlLXBhZHMsIGFuZCBtYWtlIHN1cmUgd2UgY29udGludWUgdG8gdGhlIGludGVybmFsCgkgIFJFQURZIHN0YXRlIGZvciByZWFsIHBsYXliYWNrIHRvIHdvcmsgcHJvcGVybHkgbGF0ZXIuCgoyMDE1LTAyLTA2IDA1OjAzOjE5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMC5vZ2c6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMS5vZ2c6CgkqIHRlc3RzL2ZpbGVzL3NwbGl0dmlkZW8wMi5vZ2c6CgkgIHRlc3RzOiBDaGFuZ2Ugc3BsaXRtdXggdGVzdCB2aWRlbyBmaWxlcwoJICBBdm9pZCB0ZXN0IGZhaWx1cmUgYnkgY2hhbmdpbmcgdGhlIHN0b3JlZCB2aWRlbyByZXNvbHV0aW9uCgkgIGZyb20gODB4NjAgdG8gODB4NjQsIHdoaWNoIG5lZWRzIGJ1ZyA3NDEwMzAgdG8gYmUgZml4ZWQuCgoyMDE0LTA4LTAxIDAwOjA3OjUzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdHV0aWxzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXR1dGlscy5oOgoJKiBnc3QvbXVsdGlmaWxlL3Rlc3Qtc3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDAub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDEub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDIub2dnOgoJICBzcGxpdG11eDogSW1wbGVtZW50IG5ldyBlbGVtZW50cyBmb3Igc3BsaXR0aW5nIGZpbGVzIGF0IG11eCBsZXZlbC4KCSAgSW1wbGVtZW50IDIgbmV3IGVsZW1lbnRzIC0gc3BsaXRtdXhzaW5rIGFuZCBzcGxpdG11eHNyYy4KCSAgc3BsaXRtdXhzaW5rIGlzIGEgYmluIHdoaWNoIHdyYXBzIGEgbXV4ZXIgYW5kIHRha2VzIDEgdmlkZW8gc3RyZWFtLAoJICBwbHVzIGF1ZGlvL3N1YnRpdGxlIHN0cmVhbXMsIGFuZCBzdGFydHMgYSBuZXcgZmlsZQoJICB3aGVuZXZlciBuZWNlc3NhcnkgdG8gYXZvaWQgb3ZlcnJ1bm5pbmcgYSB0aHJlc2hvbGQgb2YgZWl0aGVyIGJ5dGVzCgkgIG9yIHRpbWUuIE5ldyBmaWxlcyBhcmUgc3RhcnRlZCBhdCBhIGtleWZyYW1lLCBhbmQgY29ycmVzcG9uZGluZyBhdWRpbwoJICBhbmQgc3VidGl0bGUgc3RyZWFtcyBhcmUgc3BsaXQgYXQgcGFja2V0IGJvdW5kYXJpZXMgdG8gbWF0Y2gKCSAgdmlkZW8gR09QIHRpbWVzdGFtcHMuCgkgIHNwbGl0bXV4c3JjIGlzIGEgY29ycmVzcG9uZGluZyBzb3VyY2UgZWxlbWVudCB3aGljaCBoYW5kbGVzCgkgIHRoZSBzcGxpdG11eDovLyBVUkwgYW5kIHBsYXlzIGJhY2sgYWxsIGNvbXBvbmVudCBmaWxlcywKCSAgcmVjb25zdHJ1Y3RpbmcgdGhlIG9yaWdpbmFsIGVsZW1lbnRhcnkgc3RyZWFtcyBhcyBpdCBnb2VzLgoKMjAxNS0wMi0wNCAxNjozMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvZmlsZXMvdGVzdC1jZXJ0LnBlbToKCSogdGVzdHMvZmlsZXMvdGVzdC1rZXkucGVtOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHVwZGF0ZSBzc2wga2V5L2NlcnQgcGFpcgoJICBPdXIgb25lcyB3ZXJlIGV4cGlyZWQuIFRoZSBuZXcgb25lcyB3ZXJlIGNvcGllZCBmcm9tIGxpYnNvdXAncwoJICB0ZXN0cyBmaWxlcy4KCSAgQWxzbyBzZXRzIHRoZSBwcm9wZXJ0eSB0byB1c2Ugb3VyIG93biBjZXJ0IHRvIHZhbGlkYXRlIHRoZQoJICBzZXJ2ZXIsIG90aGVyd2lzZSB0aGUgZGVmYXVsdCBzeXN0ZW0gY2VydHMgd291bGQgYmUgdXNlZAoJICBhbmQgaXQgd291bGQgZmFpbC4KCjIwMTUtMDItMDQgMDI6MjU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvCgkgIGEgc2VnZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE5OQoKMjAxNS0wMi0wNCAyMTo1MDo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIEdTVF9TRUdNRU5UX0ZMQUdfVFJJQ0tNT0RFX0tFWV9VTklUUwoJICBXaGVuIHRoZSB0cmlja21vZGUga2V5LXVuaXRzIGZsYWcgaXMgc2V0IG9uIHRoZSBzZWdtZW50LCBzaW1wbHkgc2tpcAoJICBhbnkgc2FtcGxlIG9uIGEgdmlkZW8gc3RyZWFtIHRoYXQgaXNuJ3QgYSBrZXlmcmFtZQoKMjAxNS0wMi0wMyAxNzozNTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjb250YWluZXIgaGFuZGxpbmcKCSAgV2UgZGV0ZWN0IGEgY29udGFpbmVyIGNvcnJlY3RseSBub3cgc28gd2UgbmVlZCB0byByZXZlcnQgdGhlIHdlaXJkCgkgIGNoZWNrIHRoZXJlIHdhcyBiZWZvcmUuCgkgIFVzZSBnc3RfcnRzcHNyY19zdHJlYW1fcHVzaF9ldmVudCgpIHRvIHB1c2ggdGhlIGNhcHMgZXZlbnQgb24gdGhlCgkgIHJpZ2h0IHBhZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzOTEKCjIwMTUtMDItMDIgMTk6NDY6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBhbmQgd3JpdGUgc3RyZWFtIHRhZ3MKCSAgU2VwYXJhdGUgZ2xvYmFsIGZyb20gc3RyZWFtIHRhZ3Mgc3RvcmFnZSBhbmQgd3JpdGUgdGhlbSB0byB0aGUKCSAgYXBwcm9wcmlhdGUgdGFncyBlbnRyeSBpbiB0aGUgb3V0cHV0CgoyMDE1LTAyLTAyIDEzOjM1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2Ugc3RyZWFtIHRhZ3MKCSAgS2VlcCBnbG9iYWwgYW5kIHN0cmVhbSB0YWdzIHNlcGFyYXRlbHkgYW5kIHBhcnNlIHRoZSB1ZHRhIG5vZGUKCSAgdGhhdCBjYW4gYmUgZm91bmQgdW5kZXIgdGhlIHRyYWsgYXRvbS4gVGhlIHVkdGEgd2lsbCBjb250YWluCgkgIHN0cmVhbSBzcGVjaWZpYyB0YWdzIGFuZCB3aWxsIGJlIHB1c2hlZCBhcyBzdWNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMTQ6MzI6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogc3RvcmUgc3RyZWFtIGFuZCBjb250YWluZXIgdGFncyBzZXBhcmF0ZWx5CgkgIFRhZ3MgcmVjZWl2ZWQgdmlhIGV2ZW50cywgd2hlbiBtYXJrZWQgYXMgc3RyZWFtIHRhZ3MsIHdpbGwKCSAgYmUgc3RvcmVkIG9uIHRoYXQgc3RyZWFtJ3MgdHJhayBhdG9tIGluc3RlYWQgb2YgYmVpbmcgc3RvcmVkCgkgIGluIHRoZSBtYWluIHRhZ3MgYXRvbS4gVGhpcyBhbGxvd3MgdGhlIHJlc3VsdGluZyBmaWxlIHRvIGhhdmUKCSAgZ2xvYmFsIGFuZCBzdHJlYW0gdGFncyBzdG9yZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMTM6MTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciB0YWdzIGZ1bmN0aW9ucyB0byBhY2NvbW9kYXRhIFVEVEEgYXQgdHJhayBsZXZlbAoJICBSZWZhY3RvciB0aGUgZnVuY3Rpb25zIHRoYXQgd2VyZSBib3VuZCB0byB0aGUgJ21vb3YnIGF0b20gdG8KCSAgZGlyZWN0bHkgcGFzcyB0aGUgZGVzaXJlZCAndWR0YScgdGhhdCBzaG91bGQgcmVjZWl2ZSB0aGUgdGFncy4KCSAgVGhpcyBhbGxvd3MgdGhlIHRhZ3MgdG8gYmUgd3JpdHRlbiB0byAndWR0YScgYXQgdGhlICdtb292JyBvcgoJICB0aGUgJ3RyYWsnIGxldmVsLCBjcmVhdGluZyB0YWdzIHRoYXQgYXJlIGZvciB0aGUgY29udGFpbmVyIG9yCgkgIGZvciBhIHN0cmVhbSBvbmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDEwOjQ3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYXAgYXBwbGljYXRpb24gbmFtZSB0byBfc3dyIHRhZwoJICBJdCByZWZlcnMgdG8gdGhlIGFwcGxpY2F0aW9uIG5hbWUgYW5kIHZlcnNpb24gdXNlZCB0byBjcmVhdGUgdGhlCgkgIGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAwMjozMDo0MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IEZpeCBzZWVraW5nIHBhc3QgdGhlIGVuZCBvZiB0aGUgZmlsZSBpbiByZXZlcnNlIG1vZGUuCgkgIFNuYXAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSB3aGVuIHNlZWtpbmcgcGFzdCB0aGUgZW5kIGluIHJldmVyc2UgbW9kZSwKCSAgYW5kIGFsc28gZml4IEdTVF9TRUVLX1RZUEVfRU5EIGFuZCBHU1RfU0VFS19UWVBFX05PTkUgaGFuZGxpbmcKCSAgZm9yIHRoZSBzdG9wIHBvc2l0aW9uIGJ5IGFsd2F5cyBzZWVraW5nIG9uIGEgc2VnbWVudCBpbiBzdHJlYW0gdGltZQoKMjAxNS0wMS0zMCAxODoyMjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IHNpZ25hbCBuYW1lCgkgIFRoaXMgd2Fzbid0IG1lYW50IHRvIGJlIHB1c2hlZCBhdCBhbGwgeWV0LCBidXQgbm93IHRoYXQgaXQncyB0aGVyZQoJICBhbHJlYWR5IGl0IHdvbid0IGh1cnQgdG8gbWFrZSBpdCBjb3JyZWN0IGF0IGxlYXN0LgoKMjAxNS0wMS0zMCAxNjo1NjozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHN0YXRzOiBGaXggdHlwbyBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAxLTMwIDE2OjUwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgb24tcmVjZWl2aW5nLXJ0Y3Agc2lnbmFsCgkgIFRoaXMgd2lsbCBiZSBlbWl0dGVkIHdoZW5ldmVyIGFuIFJUQ1AgcGFja2V0IGlzIHJlY2VpdmVkLiBEaWZmZXJlbnQgdG8KCSAgb24tZmVlZGJhY2stcnRjcCwgdGhpcyBzaWduYWwgZ2V0cyBldmVyeSBjb21wbGV0ZSBSVENQIHBhY2tldCBhbmQgbm90CgkgIGp1c3QgdGhlIGluZGl2aWR1YWwgZmVlZGJhY2sgcGFja2V0cy4KCjIwMTUtMDEtMjggMTQ6MDI6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogc2ltcGxpZnkgc2VnbWVudC5iYXNlIG1hdGgKCSAgUmVtb3ZlIGEgZml4IGZvciBoZWF2aWx5IGVkaXRlZCBmaWxlcyBhZGRlZCBmb3IgZml4aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDU4MzAgdG8gd29yawoJICB3aXRoIHNlZWtzIGFuZCBwcm9wZXIgZ2FwcyBwbGF5YmFjay4gVGhlIGZpeCB3YXMgcmVwbGFjZWQKCSAgZm9yIGEgbW9yZSBnZW5lcmFsIHNvbHV0aW9uIHRoYXQgYmFzZXMgb24gdXNpbmcgcHJldmlvdXMKCSAgc2VnbWVudCdzIGR1cmF0aW9uLCBqdXN0IGxpa2UgaXQgd29ya3MgZm9yIG1lZGlhIHNlZ21lbnRzCgkgIHBsYXliYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNTE4CgoyMDE1LTAxLTI3IDE0OjAwOjM1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkgIHZpZGVvbWl4ZXI6IHVwZGF0ZSBvcmMgZmlsZXMKCjIwMTUtMDEtMjYgMTc6MDg6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZGF0YSBkcm9wcGluZyBmb3IgZnJhZ21lbnRlZCBzdHJlYW1zCgkgIEZvciBmcmFnbWVudGVkIHN0cmVhbXMgd2l0aCBleHRyYSBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIG1kYXQKCSAgcXRkZW11eCB3YXMgbm90IGRyb3BwaW5nIHRob3NlIGJ5dGVzIGFuZCB3b3VsZCB0cnkgdG8gdXNlCgkgIHRoYXQgZXh0cmEgZGF0YSBhcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmV3IGF0b20sIGNhdXNpbmcgdGhlCgkgIHN0cmVhbSB0byBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNDA3CgoyMDE1LTAxLTI1IDE3OjMwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEZXByZWNhdGUgcnRjcC1pbW1lZGlhdGUtZmVlZGJhY2stdGhyZXNob2xkIHByb3BlcnR5CgkgIEl0IGhhZCBubyBlZmZlY3Qgc2luY2UgcXVpdGUgc29tZSB0aW1lIGFuZCBhbHNvIGlzIG5vdCBuZWVkZWQgaW4gZ2VuZXJhbCwKCSAgZXNwZWNpYWxseSBub3QgdG8gc3dpdGNoIGJldHdlZW4gaW1tZWRpYXRlIGZlZWRiYWNrIG1vZGUgYW5kIGVhcmx5IGZlZWRiYWNrCgkgIG1vZGUuIFRoZSBsYXRlc3QgdW5kZXJzdGFuZGluZyBvZiB0aGUgUkZDIGlzIHRoYXQgZnJvbSB0aGUgZW5kcG9pbnQgcG9pbnQgb2YKCSAgdmlldywgYm90aCBtb2RlcyBhcmUgZXhhY3RseSB0aGUgc2FtZS4gUlRDUCBpcyBvbmx5IGFsbG93ZWQgdG8gdXNlIHRoZQoJICBiYW5kd2lkdGggYXMgZ2l2ZW4gYnkgdGhlIFJGQyBjb25zdHJhaW50cywgYXMgc3VjaCBpdCBpcyBvbmx5IGV2ZXIgcG9zc2libGUKCSAgdG8gc2NoZWR1bGUgYSBSVENQIHBhY2tldCBlYXJseSBidXQgaXQncyBhZ2FpbnN0IHRoZSBSRkMgdG8gc2NoZWR1bGUgbW9yZSBSVENQCgkgIHBhY2tldHMuCgkgIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gaW1tZWRpYXRlIGZlZWRiYWNrIG1vZGUgYW5kIGVhcmx5IGZlZWRiYWNrIG1vZGUgaXMgdGhhdAoJICB0aGUgZm9ybWVyIGd1YXJhbnRlZXMgdGhhdCBhbiBSVENQIHBhY2tldCBjYW4gYmUgc2VudCBmb3IgZXZlcnkgZXZlbnQKCSAgImltbWVkaWF0ZWx5Iiwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgYmFuZHdpZHRoIGNhbGN1bGF0aW9ucyBmcm9tIHRoZSBSRkMgaGF2ZQoJICByZXN1bHRlZCBpbiBhbiBSVENQIHNjaGVkdWxpbmcgaW50ZXJ2YWwgdGhhdCBpcyBzbWFsbCBlbm91Z2guIEVhcmx5IGZlZWRiYWNrCgkgIG1vZGUgb24gdGhlIG90aGVyIGhhbmQgbWVhbnMgdGhhdCB3ZSBjYW4gc2NoZWR1bGUgc29tZSBwYWNrZXRzIGVhcmx5IHRvIG1ha2UKCSAgdGhhdCBoYXBwZW4sIGJ1dCBpdCdzIG5vdCBndWFyYW50ZWVkIGF0IGFsbCB0aGF0IGl0J3MgcG9zc2libGUgdG8gc2NoZWR1bGUKCSAgYW4gUlRDUCBwYWNrZXQgcGVyIGV2ZW50IChpLmUuIHRoZXkgbmVlZCB0byBiZSBhY2N1bXVsYXRlZCBvciBkcm9wcGVkKS4KCjIwMTUtMDEtMjIgMTA6Mjk6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IERlbGF5IHRoZSBuZXh0IHJlZ3VsYXIgUlRDUCBwYWNrZXQgYWZ0ZXIgZWFybHkgUlRDUAoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIG5vdCBleGNlZWQgdGhlIHNob3J0IHRlcm0gYXZlcmFnZSBSVENQIGJpdHJhdGUgd2hlbgoJICB1c2luZyBlYXJseSBmZWVkYmFjayBhcyBjb21wYXJlZCB0byB3aXRob3V0IGVhcmx5IGZlZWRiYWNrLgoKMjAxNS0wMS0yMiAxMDoyODo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIG5ldyBzZW5kLXJ0Y3AtZnVsbCBzaWduYWwKCSAgVGhpcyBpbmRpY2F0ZXMgd2l0aCBhIGJvb2xlYW4gcmV0dXJuIHZhbHVlIGlmIHNjaGVkdWxpbmcgYSBuZXcgUlRDUCBwYWNrZXQKCSAgd2l0aGluIHRoZSByZXF1ZXN0ZWQgZGVsYXkgd2FzIHBvc3NpYmxlLiBPdGhlcndpc2UgaXQgYmVoYXZlcyBleGFjdGx5IGxpa2UKCSAgc2VuZC1ydGNwLiBUaGUgb25seSByZWFzb24gZm9yIGFkZGluZyBhIG5ldyBzaWduYWwgaXMgQUJJIGNvbXBhdGliaWxpdHkuCgoyMDE1LTAxLTIwIDAwOjMyOjAwICswMDAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRnJlZSBmb3JtYXRfaW5mbyBpbiBxdWVyeV9nZXRjYXBzCgkgIElmIHdlIGNhbiBub3QgY3JlYXRlIHByb2JlIHN0cmVhbSBpbiBxdWVyeV9nZXRjYXBzIGZ1bmN0aW9uLCBpdCB3aWxsIGFwcGVhcgoJICBtZW1vcnkgbGVha2FnZSBmcm9tIGZvcm1hdCBpbmZvLgoJICBUaGUgZm9sbG93aW5nIHBhdGNoIHByZXZlbnQgbWVtb3J5IGxlYWthZ2UgaW4gcHVsc2VzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTc4CgoyMDE1LTAxLTIzIDE3OjM1OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBObyBtYXR0ZXIgaWYgZ3N0X21hdHJvc2thX3JlYWRfY29tbW9uX3BhcnNlX2luZGV4X2N1ZXRyYWNrICgpIHJldHVybnMgdGhhdCB0aGUKCSAgZmxvdyBpcyBPSyBvciBub3QsIHRoZSBjaGVjayB0aGVyZSB3aWxsIGJlIGEgYnJlYWsgZnJvbSB0aGUgc3dpdGNoLiBSZW1vdmluZyB0aGUKCSAgY2hlY2sgc2luY2UgdGhlIG91dGNvbWUgaXMgdGhlIHNhbWUuCgkgIENJRCAjMTI2NTc2MgoKMjAxNS0wMS0yMyAxNToxNjoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEF2b2lkIHVzaW5nIGZyZWVkIHZhcmlhYmxlCgkgIHRoZSBuYW1lIHZhcmlhYmxlIG1pZ2h0IGhhdmUgYmVlbiBhdHRyaWJ1dGVkIHRvIHBhZF9uYW1lLCBtYWtlIHN1cmUgd2UKCSAgZnJlZSBpdCBvbmx5ICphZnRlciogcGFkX25hbWUgaGFzIGJlZW4gdXNlZC4KCSAgQ292ZXJpdHkgQ0lEIDogMTI2NTc3NAoKMjAxNS0wMS0yMyAxNToxMzo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQXZvaWQgdXNpbmcgZnJlZWQgdmFyaWFibGUKCSAgdGhlIG5hbWUgdmFyaWFibGUgbWlnaHQgaGF2ZSBiZWVuIGF0dHJpYnV0ZWQgdG8gcGFkX25hbWUsIG1ha2Ugc3VyZSB3ZQoJICBmcmVlIGl0IG9ubHkgKmFmdGVyKiBwYWRfbmFtZSBoYXMgYmVlbiB1c2VkLgoJICBDb3Zlcml0eSBDSUQgOiAxMjY1Nzc1CgoyMDE0LTExLTE0IDEyOjU5OjMxICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHJldXNlIGNhcHMgZnJhbWVyYXRlIGlmIG5vdCBvdmVyd3JpdHRlbiBieSB2NGwyIGRldmljZQoJICBFbmFibGVzIGR1cmF0aW9uIHNldHRpbmcgaW4gdjRsMnNyYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQwMwoKMjAxNS0wMS0yMiAxMDoyOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IGluZGVudGlvbgoKMjAxNS0wMS0yMSAxNzozNjoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXhfZHVtcDogQnlwYXNzIGV2ZW4gbW9yZSBjb2RlIGlmIGRlYnVnZ2luZyBpcyBkaXNhYmxlZAoJICBBbmQgYXZvaWQgdXNpbmcgdmFyaWFibGVzIHRoYXQgd29uJ3QgZXhpc3Qgd2hlbiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQKCjIwMTUtMDEtMjEgMTU6MzA6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBPbmx5IHRyYXZlcnNlL2R1bXAgbm9kZXMgaWYgZ3VhcmFudGVlZCB0byBiZSB1c2VkCgkgIF9fZ3N0X2RlYnVnX21pbiBpcyB0aGUgImdsb2JhbCIgbG93ZXN0IGRlYnVnIGxldmVsIHNldC4gVGhlcmUncyBubwoJICBndWFyYW50ZWUgdGhlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgaXMgYWN0dWFsbHkgc2V0IGF0IHRoYXQgbGV2ZWwuCgoyMDE0LTEyLTIwIDE3OjA5OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogQXZvaWQgZGVidWdnaW5nIGJlbG93IGNhdGVnb3J5IHRocmVzaG9sZAoJICBUaGlzIHBhcnQgYWxvbmUgd2FzIHdoYXQgbWFkZSB0aGUgbWF0cm9za2EgdGhyZWFkIHRha2UgYSBmdWxsIGNvcmUKCSAgb24gYW4gYW5kcm9pZCBwaG9uZSAuLi4KCjIwMTUtMDEtMjEgMDk6NTY6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIENvbnN0aWZ5IHNvbWUgc3RhdGljIGFycmF5cyBldmVyeXdoZXJlCgoyMDE1LTAxLTIxIDA5OjU2OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBDb25zdGlmeSBzb21lIHN0YXRpYyBhcnJheXMgZXZlcnl3aGVyZQoKMjAxNS0wMS0yMSAwOTo1NTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBDb25zdGlmeSBzb21lIHN0YXRpYyBhcnJheXMgZXZlcnl3aGVyZQoKMjAxNS0wMS0xOSAxNzo0OTo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYWRsb2NrIHNlZWtpbmcgaW4gZmlsZXMgd2l0aG91dCBzZWVrIGVudHJpZXMKCSAgQSBtdXRleCB1bmxvY2sgd2FzIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5NzUKCjIwMTUtMDEtMTkgMTI6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZml4IGlsbGVnYWwgbWVtb3J5IGFjY2VzcyBpbiBibGVuZCBmdW5jdGlvbiB3aXRoIG5lZ2F0aXZlIHlwb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTExNQoKMjAxNS0wMS0xMyAxNjo0OTozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJveHkgZ2V0Y2FwcwoJICBSZXBsYWNlIHRoZSBzaW5rX3F1ZXJ5IHdpdGggbmV3IGdldGNhcHMoKSB2aXJ0dWFsIGFuZCB1c2UgdGhlIHByb3h5CgkgIGhlbHBlciB3aXRoIHRoZSBwcm9iZWQgY2Fwcy4gVGhpcyBhbGxvdyB1cHN0cmVhbSBlbGVtZW50IHRha2luZyBkZWNpc2lvbgoJICBiYXNlIG9uIHdoYXQgaXMgc3VwcG9ydGVkIGRvd25zdHJlYW0uCgoyMDE1LTAxLTEzIDE5OjA1OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgc3VwcG9ydCBmb3IgdjIxMAoKMjAxNS0wMS0xMyAxODo1ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB2MjEwIGlzIHYyMTAsIG5vdCBVWVZZIGFuZCB5dXYyIGlzIFlVWTIsIG5vdCBJNDIwCgkgIEFsc28gYWRkIGEgZmV3IG90aGVyIHJhdyB2aWRlbyBmb3JtYXRzIHdlIHN1cHBvcnQ6IHYzMDgsIHYyMTYKCSAgYW5kIGFkZCBjb21tZW50cyBmb3IgYSBmZXcgb3RoZXJzIHdlIGRvbid0IHN1cHBvcnQgeWV0LgoJICBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9tYWMvdGVjaG5vdGVzL3RuMjE2Mi8KCjIwMTUtMDEtMTIgMTU6NTY6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYyYzZiOTUgdG8gYmM3NmE4YgoKMjAxNS0wMS0xMCAxNTo1MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRGlzYWJsZSBoYWNrIGZvciBOU0FwcCBpdGVyYXRpb24gd2l0aCBhIHNwZWNpYWwgI2RlZmluZQoJICBUaGUgaGFjayBjYXVzZXMgZGVhZGxvY2tzIGFuZCBvdGhlciBpbnRlcmVzdGluZyBwcm9ibGVtcyBhbmQgaXQgcmVhbGx5CgkgIGNhbiBvbmx5IGJlIGZpeGVkIHByb3Blcmx5IGluc2lkZSBHTGliLiBXZSB3aWxsIGluY2x1ZGUgYSBwYXRjaCBmb3IKCSAgR0xpYiBpbiBvdXIgYnVpbGRzIGZvciBub3cgdGhhdCBoYW5kbGVzIHRoaXMsIGFuZCBob3BlZnVsbHkgYXQgc29tZQoJICBwb2ludCBHTGliIHdpbGwgYWxzbyBtZXJnZSBhIHByb3BlciBzb2x1dGlvbi4KCSAgQSBwcm9wZXIgc29sdXRpb24gd291bGQgZmlyc3QgcmVxdWlyZSB0byByZWZhY3RvciB0aGUgcG9sbGluZyBpbgoJICBHTWFpbkNvbnRleHQgdG8gb25seSBwcm92aWRlIGEgc2luZ2xlIGZkLCBlLmcuIHZpYSBlcG9sbC9rcXVldWUKCSAgb3IgYSB0aHJlYWQgbGlrZSB0aGUgb25lIGFkZGVkIGJ5IG91ciBwYXRjaC4gVGhlbiB0aGlzIHNpbmdsZQoJICBmZCBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgR01haW5Db250ZXh0IGFuZCBkaXJlY3RseSBpbnRlZ3JhdGVkCgkgIGludG8gYSBOU1J1bkxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDM3NAoKMjAxNS0wMS0wOCAyMTowNzowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVuY29yayBpZiBuZWVkZWQgdXBvbiBjb21taXQKCSAgLi4uIHRvIHByb3ZpZGUgZm9yIGEgcnVubmluZyBjbG9jay4KCjIwMTUtMDEtMDkgMTY6NTk6NTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IFByZXZlbnQgcmVuZWdvdGlhdGlvbgoJICBSZW5lZ290aWF0aW9uIGlzbid0IHN1cHBvcnRlZCwgc2ltcGx5IHByZXZlbnQgaXQgdGhlIHdheSB3ZSBkbyBpbgoJICB2NGwyc3JjLgoKMjAxNS0wMS0wNiAxMzo1NDoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgdW5sb2NrIHRoZSBzdHJlYW0gbG9jayB0d2ljZQoKMjAxNS0wMS0wOSAxMTo0MDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzdHJlYW0gdGltZSBjb252ZXJzaW9uCgkgIFVzZSB0aGUgcmlnaHQgbWFjcm8gdG8gY29udmVydCB0byB0aGUgY29ycmVjdCBzY2FsZSBvciB0aGUKCSAgc2VnbWVudCBpbmZvcm1hdGlvbiB3aWxsIGJlIHdyb25nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI1NzIKCjIwMTUtMDEtMDcgMTg6NDg6NTggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgcHJvdGVjdGlvbiBhZ2FpbnN0IGRyaXZlciBidWcKCSAgdjRsMmxvb3BiYWNrIGRyaXZlciBoYXMgYSB0aGlzIG5hc3R5IGJ1ZyB0aGF0IGlmIHRoZSBxdWV1ZSBpcyBsYXJnZXIKCSAgdGhlbiAyIGJ1ZmZlcnMsIGl0IHJldHVybnMgcmFuZG9tIGluZGV4IG9uIGRxYnVmLiBTbyBmYXIgd2UgYXNzdW1lZAoJICB0aGF0IHRoZSBpbmRleCB3YXMgYWx3YXlzIHJpZ2h0LCB3aGljaCB3b3VsZCBsZWFkIHRvIG1lbW9yeSBiZWluZwoJICB1bnJlZiB0d2ljZSwgYW5kIGV2ZW50dWFsbHkgY3Jhc2guCgoyMDE1LTAxLTA3IDE3OjU4OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBEb24ndCB1c2UgYWxsb2NhdG9yIHNpemUgdG8gaXRlcmF0ZQoJICBBcyB0aGUgYnVmZmVyIGFycmF5IGlzIGZpeGVkIHNpemUgYW5kIHNtYWxsLCBpdCdzIHNhZmVyIHRvIHNpbXBseQoJICB1c2UgdGhpcyBzdGF0aWMgc2l6ZSB0byBjbGVhbnVwIHRoZSBidWZmZXJzLiBUaGlzIGlzIGFsc28gbW9yZQoJICBjb25zaXN0ZW50IHdpdGggdGhlIHJlc3QuIFRoZSBhc3NvY2lhdGVkIG1ldGhvZCBpcyBubyBsb25nZXIKCSAgcmVxdWlyZWQgYW5kIGNhbiBiZSBkcm9wcGVkLgoKMjAxNS0wMS0wNyAxNzo1NToxNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgY2xlYW4gYnVmZmVyIGFycmF5IGluIGRpc3Bvc2UKCSAgVGhpcyBzaG91bGQgYWxyZWFkeSBoYXZlIGJlZW4gZG9uZSwgcGx1cyB0aGlzIGNvZGUgaXMgaW5jb3JyZWN0CgkgIGFuZCBtYXkgbGVhZCB0byBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA3NAoKMjAxNS0wMS0wNyAxNzo0ODozMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgcmVmIHF1ZXVlZCBvdXRwdXQgYnVmZmVyCgkgIFRoaXMgcGFydGx5IHJldmVydCB0byB0aGUgb2xkIDEuMiBiZWhhdmlvci4gSW5zdGVhZCBvZiBrZWVwaW5nIGEKCSAgcmVmZXJlbmNlIHRvIHRoZSBvdXRwdXQgYnVmZmVyIHF1ZXVlZCwgd2Ugc2ltcGx5IHJlbGVhc2UgdGhlbSBidXQKCSAgZG9uJ3QgZm9yd2FyZCBpdCB0byBHc3RCdWZmZXJQb29sLiBUaGlzIHdheSwgdGhlIGJ1ZmZlciBwb29sIGRvbid0CgkgIG5lZWQgdG8gYmUgZmx1c2hlZCB0byBiZSBzdG9wcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDc0CgoyMDE1LTAxLTA4IDExOjM3OjIzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBOZXZlciBmYWlsIG9uIHN0cmVhbW9mZgoJICBGYWlsaW5nIHN0cmVhbW9mZiBwcmV2ZW50cyBhbGxvY2F0b3IgZnJvbSBiZWluZyBkaXNwb3NlZCBoZW5jZQoJICBsZWFkIHRvIGRldmljZSBGRCBsZWFrLiBUaGVyZSBpcyBubyBrbm93biBjYXNlcyB3aGVyZSBzdHJlYW1vZmYKCSAgbWF5IGZhaWxzIGZvciB3aGljaCB3ZSdkIHN0aWxsIGJlIHN0cmVhbWluZy4gc3RyZWFtb2ZmIGlzIGtub3duCgkgIHRvIGZhaWwgd2hlbiBhIGRldmljZSBpcyBiZWluZyB1bnBsdWdnZWQgKGluIHdoaWNoIGNhc2UgZXJybm8KCSAgMTkvRU5PREVWIGlzIHNldCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MzQKCjIwMTUtMDEtMDcgMjE6NTI6MTcgLTA1MDAgIEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2NGwyOiBBZGQgc3VwcG9ydCBmb3IgZGV0ZWN0aW5nIHRoZSBwcmVzZW5jZSBvZiBWNEwyIHN1cHBvcnQgb24gT3BlbkJTRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9yZXZpZXc/YnVnPTc0MjUwMwoKMjAxNS0wMS0wNCAxNTo1NzoxMCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlcXVlc3QgYXQgbGVhc3QgOCBieXRlcyB0byBwcm9wZXJseSBwYXJzZSBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjMyNQoKMjAxNS0wMS0wNyAxNjoyMDowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bWljaGFlbC5zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2tpcCBhbiBhZGRpdGlvbmFsIHVuaW50ZXJlc3RpbmcgY2h1bmsgdHlwZSBiZWZvcmUgdGhlIGZtdCBjaHVuay4KCjIwMTUtMDEtMDcgMTg6MTY6MTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiBhc3NlcnQgZnVuY19pbmRleCBpcyBpbnNpZGUgYm91bmRzCgkgIEJyaW5naW5nIGJhY2sgdGhlIGNoZWNrIHJlbW92ZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCBidXQgaGF2ZSB0aGF0IGNoZWNrIGJlIGEKCSAgZ19hc3NlcnQuIENoYW5naW5nIHRoZSBmdW5jdGlvbiB0byBzdGF0aWMgdm9pZCBzaW5jZSByZXR1cm4gY2FuIG5ldmVyIGJlIEZhbHNlLAoJICBiZWNhdXNlIGF1ZGlvIGZvcm1hdCB3aWxsIG5ldmVyIGJlIHVua293bi4KCjIwMTUtMDEtMDcgMTc6MzE6MzkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgYXVkaW9keW5hbWljOiByZW1vdmUgYWx3YXlzLXRydWUgY29uZGl0aW9uYWwKCSAgZnVuY19pbmRleCBpcyBzZXQgYnkgdGhlIHN1bSBvZiB0aHJlZSB0ZXJuYXJ5IG9wZXJhdG9ycyB3aGljaCBhZGQsIDA6NCwgMDoyLAoJICBhbmQgMTowLiBNaW5pbXVtIHZhbHVlIHdvdWxkIGJlIDArMCswPTAsIGFuZCBtYXhpbXVtIHdvdWxkIGJlIDQrMisxPTcuCgkgIFRoZSBjb25kaXRpb25hbCBjaGVja2luZyBpZiBmdW5jX2luZGV4IGlzID49IDAgYW5kIDwgOCB3aWxsIGFsd2F5cyBiZSB0cnVlLgoJICBSZW1vdmluZyBpdC4KCSAgQ0lEIDEyMjY0NDIKCjIwMTUtMDEtMDcgMTg6MDU6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiB3ZSBnZXQgYSBnYXAgd2l0aCBhIGJ1ZmZlciB3aXRob3V0IERUUywgZXJyb3Igb3V0CgkgIFdlIChjdXJyZW50bHk/KSBjYW4ndCByZWFsbHkgaGFuZGxlIGdhcHMgYmV0d2VlbiBSVFAgcGFja2V0cyBpZiB0aGV5J3JlIG5vdAoJICBwcm9wZXJseSB0aW1lc3RhbXBlZC4gVGhlIGN1cnJlbnQgY29kZSB3b3VsZCBnbyBpbnRvIGNhbGN1bGF0aW9ucyB3aXRoCgkgIEdTVF9DTE9DS19USU1FX05PTkUgYW5kIHRoZW4gY2F1c2UgYXNzZXJ0aW9ucyBldmVyeXdoZXJlLiBJdCdzIHByb2JhYmx5CgkgIGJldHRlciB0byBlcnJvciBvdXQgY2xlYW5seSBpbnN0ZWFkLgoKMjAxNC0xMS0yMSAxMTozOToxOSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBQTEFZSU5HIHN0YXRlIGFmdGVyIGNvbmZpZ3VyaW5nIGNhcHMKCSAgV2Ugc2V0IHRvIFBMQVlJTkcgYWZ0ZXIgd2UgaGF2ZSBjb25maWd1cmVkIHRoZSBjYXBzLCBvdGhlcndpc2Ugd2UKCSAgbWlnaHQgZW5kIHVwIGNhbGxpbmcgcmVxdWVzdF9rZXkgKHdpdGggU1JUUCkgd2hpbGUgY2FwcyBhcmUgc3RpbGwKCSAgYmVpbmcgY29uZmlndXJlZCwgZW5kaW5nIGluIGEgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1MDUKCjIwMTQtMTItMzAgMTg6MDM6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogcmVtb3ZlIG91dGRhdGVkIEZJWE1FCgoyMDE0LTEyLTMwIDE3OjE5OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBydHBjb2xsaXNpb246IHVzZSBhbGF3ZW5jL2RlYyBpbiB0aGVzZSB0ZXN0cyBpbnN0ZWFkIG9mIFNwZWV4CgkgIFRoZXkgc2hvdWxkIGFsd2F5cyBiZSBidWlsdCwgd2hpbGUgdGhlIHNwZWV4IGVsZW1lbnRzIGFyZSBub3QuCgkgIE5lZWQgdG8gY2hlY2sgZm9yIGEgc21hbGxlciBudW1iZXIgb2YgYnVmZmVycyB0aGVuICg3LT40KSBiZWNhdXNlCgkgIHNwZWV4ZW5jIHdpbGwgYWRkIDMgaGVhZGVyIGJ1ZmZlcnMgd2hpbGUgYWxhd2VuYyB3aWxsIGp1c3Qgb3V0cHV0CgkgIGFzIG1hbnkgYnVmZmVycyBhcyBpdCByZWNlaXZlcyBhcyBpbnB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA5OAoKMjAxNC0xMi0zMCAxNjozNjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHRlc3RzOiBzaW1wbGUtbGF1bmNoLWxpbmVzOiBvbmx5IHJ1biBqcGVnL3BuZyB0ZXN0cyBpZiBlbGVtZW50cyBhcmUgYXZhaWxhYmxlCgoyMDE0LTEyLTMwIDE2OjI2OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IHJldHVybiBhIGJ1ZmZlciB3aGVuIHJldHVybmluZyBub3QgR1NUX0ZMT1dfT0sKCSAgYmFzZXNyYyBhc3N1bWVzIHRoYXQgd2UgZG9uJ3QgcmV0dXJuIGEgYnVmZmVyIGlmCgkgIHNvbWV0aGluZyBlbHNlIHRoYW4gT0sgaXMgcmV0dXJuZWQuIEl0IHdpbGwganVzdAoJICBsZWFrIGFueSBidWZmZXIgd2UgbWlnaHQgYWNjaWRlbnRpYWxseSBwcm92aWRlCgkgIGhlcmUuCgkgIFRoaXMgY2FuIHBvdGVudGlhbGx5IGhhcHBlbiBkdXJpbmcgZmx1c2hpbmcuCgkgIE1heWJlIGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE5OTMKCjIwMTQtMTItMzAgMTQ6NTI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHM6IHJ0cGF1eDogdXNlIGFsYXdlbmMvZGVjIGluIHRoZXNlIHRlc3RzIGluc3RlYWQgb2YgU3BlZXgKCSAgVGhleSBzaG91bGQgYWx3YXlzIGJlIGJ1aWx0LCB3aGlsZSB0aGUgc3BlZXggZWxlbWVudHMgYXJlIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjA5OAoKMjAxNC0xMi0yOSAxNTozNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXByb3ZlIGRldGVjdGlvbiBvZiBiZWluZyBzdHVjayBhdCB0aGUgc2FtZSBvZmZzZXQKCSAgT25seSBlcnJvciBvdXQgaWYgd2UgcmVhZCBmcm9tIHRoZSBzYW1lIHBvc2l0aW9uIGFnYWluIGFuZCBnb3QgdGhlCgkgIHNhbWUgbGVuZ3RoLiBKdXN0IHRoZSBzYW1lIHBvc2l0aW9uIGlzIG5vdCBuZWNlc3NhcmlseSBlbm91Z2guCgoyMDE0LTEyLTI5IDE1OjAwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGdldCBzdHVjayBhdCB0aGUgc2FtZSBvZmZzZXQgd2hlbiBzZWFyY2hpbmcgZm9yIGNsdXN0ZXJzCgkgIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZXJlIGlzIGFuIGludmFsaWQgY2x1c3RlciB3aXRoIHNpemUgMCwgYW5kIGluIHRoYXQKCSAgY2FzZSBqdXN0IGVycm9yIG91dCBpbnN0ZWFkIG9mIGxvb3BpbmcgZm9yZXZlci4KCjIwMTQtMTItMjUgMjE6MzI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggQUxBQyBtdXhpbmcKCSAgQWN0dWFsbHkgY29weSB0aGUgY29kZWMgZGF0YSBpbnN0ZWFkIG9mIGNvcHlpbmcgbm90aGluZwoJICBhbmQgdGhlbiBib21iaW5nIG91dCBiZWNhdXNlIHRoZXJlJ3Mgbm8gZGF0YS4KCSAgRml4ZXM6IGdzdC1sYXVuY2gtMS4wIGF1ZGlvdGVzdHNyYyAhIGF2ZW5jX2FsYWMgISBxdG11eCAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE3ODMKCjIwMTQtMTItMjUgMTU6NDg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGp1c3QgZHJvcCBpbnZhbGlkIHJ0cCBwYWNrZXRzIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0CgkgIEFwcGFyZW50bHkgbGlucGhvbmUgc2VuZHMgYW4gaW52YWxpZCBSVFAgcGFja2V0IGFzIHZlcnkKCSAgZmlyc3QgcGFja2V0LiBXZSB3YW50IHRvIGlnbm9yZSB0aGF0IGluc3RlYWQgb2YgZXJyb3JpbmcKCSAgb3V0IChzYW1lIGZvciBhbnkgb3RoZXIgaW52YWxpZCBwYWNrZXRzIHJlYWxseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzOTgKCjIwMTQtMTItMjUgMTU6NDQ6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IGZpeCAwLjEwLWlzbSBpbiBkb2NzCgoyMDE0LTEyLTI1IDE0OjU4OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IHVzZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyB0byBmaXggZGVtbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTY2CgoyMDE0LTEyLTI1IDE0OjUzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCAicG9zaXRpb25pbmctbW9kZSIgcHJvcGVydHkgdG8gYWxsb3cgYWJzb2x1dGUgcG9zaXRpb25zCgkgIFNldCBwb3NpdGlvbmluZy1tb2RlPXBpeGVscy1hYnNvbHV0ZSB0byBhbGxvdyBwb3NpdGlvbmluZyB3aXRoCgkgIGFic29sdXRlIGNvb3JkaW5hdGVzLCBtZWFuaW5nIG5lZ2F0aXZlIHgveSBvZmZzZXRzIHdpbGwgYmUKCSAgaW50ZXJwcmV0ZWQgYXMgYmVpbmcgdG8gdGhlIGxlZnQvYWJvdmUgdGhlIHZpZGVvIGZyYW1lIGluc3RlYWQKCSAgb2YgYmVpbmcgaW50ZXJwcmV0ZWQgYXMgcmVsYXRpdmUgdG8gdGhlIHJpZ2h0L2JvdHRvbSBlZGdlIG9mCgkgIHRoZSB2aWRlbyBmcmFtZSAod2hpY2ggaXMgYSBzaWxseSBkZWZhdWx0LCBidXQgdGhhdCdzIGhvdyBpdCBpcykuCgkgIFRoaXMgbWVhbnMgd2UgY2FuIG5pY2VseSBzbGlkZSBpbWFnZXMgaW50byBhbmQgb3V0IG9mIHRoZSBmcmFtZSwKCSAgc2VlIGdka3BpeGJ1Zm92ZXJsYXktdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU2NgoKMjAxNC0xMi0yMiAxNTozMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBEaXJlY3RseSByZXR1cm4gdGhlIHJpbmdidWZmZXIncyBjYXBzIGlmIGl0IGlzIGFjcXVpcmVkCgoyMDE0LTEyLTIyIDEyOjU2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IFB1dCBhbGwgYXVkaW8gZm9ybWF0cyBpbnRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgkgIFdlIHJlcG9ydCB0aGUgcHJvcGVyIGNhcHMgbGF0ZXIgZnJvbSB0aGUgZ2V0X2NhcHMoKSB2ZnVuYyBpbXBsZW1lbnRhdGlvbiBhZnRlcgoJICBwcm9iaW5nIHRoZSBzZWxlY3RlZCBkZXZpY2UuCgoyMDE0LTEyLTIyIDEyOjU2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogQWxzbyBzZXQgdGhlIGJpZyBlbmRpYW4gZmxhZyBmb3IgZmxvYXRpbmcgcG9pbnQgc2FtcGxlcwoKMjAxNC0xMi0yMiAxMTo0NTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1BSU5UQUlORVJTOgoJICBNQUlOVEFJTkVSUzogVXBkYXRlIG15IG1haWwgYWRkcmVzcwoKMjAxNC0xMi0yMiAxMDoyMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBGaXggZGVhZGxvY2sgYW5kIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24gaW4gZGV2aWNlIHNlbGVjdGlvbiBjb2RlCgkgIEFmdGVyIGNyZWF0aW5nIHRoZSByaW5nYnVmZmVyIHdlIGhhdmUgdG8gc2V0IHRoZSBkZXZpY2Ugb24gdGhlIHJpbmdidWZmZXIgYXMKCSAgaXQgZGVmYXVsdHMgdG8ga0F1ZGlvRGV2aWNlVW5rbm93bi4gQXQgdGhpcyBwb2ludCBpdCBjYW4ndCBoYXZlIGNoYW5nZWQgdG8KCSAgYW55dGhpbmcgZWxzZSB5ZXQgYW5kIHdlIGRvbid0IGhhdmUgdG8gbm90aWZ5IGFib3V0IGNoYW5nZXMgdG8gdGhlIHNpbmsvc3JjCgkgICJkZXZpY2UiIHByb3BlcnR5LiBJdCdzIGFsc28gbm90IGEgZ29vZCBpZGVhIGJlY2F1c2UgR3N0QXVkaW9CYXNlU3JjIGhhcyB0aGUKCSAgb2JqZWN0IGxvY2sgdGFrZW4gd2hpbGUgdGhlIHJpbmdidWZmZXIgaXMgY3JlYXRlZCwgd2hpY2ggbWlnaHQgY2F1c2UgYQoJICBkZWFkbG9jayBpZiBzb21ldGhpbmcgY2FsbHMgYmFjayBpbnRvIHRoZSBlbGVtZW50IGZyb20gIm5vdGlmeTo6ZGV2aWNlIi4KCSAgT25jZSB0aGUgYmFzZSBjbGFzcyBpcyBkb25lIHdpdGggdGhlIE5VTExfVE9fUkVBRFkgc3RhdGUgY2hhbmdlLCBpdCBoYXMgb3BlbmVkCgkgIHRoZSBkZXZpY2UgdmlhIHRoZSByaW5nYnVmZmVyIGFuZCB0aGlzIG1pZ2h0IGhhdmUgY2hvc2VuIGEgZGlmZmVyZW50IGRldmljZS4KCSAgRXNwZWNpYWxseSBpZiB3ZSBpbml0aWFsbHkgdXNlZCBrQXVkaW9EZXZpY2VVbmtub3duLiBBbHNvIG5vdGlmeSBhYm91dCB0aGlzCgkgIHByb3BlcnR5IGNoYW5nZSBhcyBpbml0aWFsbHkgaW50ZW5kZWQgYnkgdGhpcyBjb2RlLgoKMjAxNC0xMi0xOSAxMjozMDowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IFVwZGF0ZSBjb25maWd1cmF0aW9uIHNpemUKCSAgV2UgYWxyZWFkeSB1cGRhdGUgb3VyIGNvcHkgb2YgVmlkZW9JbmZvLnNpemUgdG8gcHJvcGVyIHNpemUsIG5vdyBhbHNvCgkgIHRoZSBjb25maWd1cmF0aW9uIHNvIHRoZSBzaXplIG1hdGNoZXMgb24gcmVsZWFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQyMAoKMjAxNC0xMi0xOSAxMDo1NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2EtZGVtdXg6IENhY2hlIHVwc3RyZWFtIGxlbmd0aAoJICBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgcXVlcnlpbmcgdXBzdHJlYW0sIGp1c3QgY2FjaGUgdGhlIGxhc3QgZHVyYXRpb24sCgkgIGFuZCBpbiB0aGUgdW5saWtlbHluZXNzIHdlIG1pZ2h0IGhhdmUgZ29uZSBvdmVyIHF1ZXJ5IGFnYWluIGJlZm9yZQoJICBkZWNpZGluZyB3ZSBhcmUgRU9TLgoJICBDdXQgMTUlIGNwdSBvZmYgbWF0cm9za2FkZW11eCBzdHJlYW1pbmcgdGhyZWFkIChzcnNseS4uLikKCjIwMTQtMTItMTcgMTc6MzY6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBtdXgvZGVtdXggdGhlIE9wdXNIZWFkIGhlYWRlcgoJICBUaGlzIGlzIG1lYW50IHRvIGJlIHNvIChodHRwczovL3dpa2kueGlwaC5vcmcvTWF0cm9za2FPcHVzIC0gd2hpbGUKCSAgaXQgaXMgbWFya2VkIGFzIGEgZHJhZnQsIHRoaXMgcGFydCB3YXMgY29uZmlybWVkIHRvIGJlIGNvcnJlY3Qgb24KCSAgSVJDKSwgYW5kIGFsbG93cyBvbmUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBkZW11eGVkIHN0cmVhbSBpcwoJICBtdWx0aXN0cmVhbSBvciBub3QsIGFuZCB0aHVzIHNldCB0aGUgbXVsdGlzdHJlYW0gY2FwcyBmaWVsZAoJICBhY2NvcmRpbmdseS4gSW4gdHVybiwgdGhpcyBtZWFucyBkb3duc3RyZWFtIGRvZXMgbm90IGhhdmUgdG8gZ3Vlc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NDQKCjIwMTQtMTItMTggMTE6NTA6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgYSBzdWl0YWJsZSBzdHJlYW0gZm9yIHRoZSBBVVggZWxlbWVudCBjYW4ndCBiZSBmb3VuZAoJICBDSUQgMTI1ODcxNwoKMjAxNC0xMi0xOCAxMDo1MzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWYxZmZkYyB0byBmMmM2Yjk1CgoyMDE0LTEyLTEyIDIzOjA2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luazogYWxsb2NhdGUgc2NyYXRjaCBzcGFjZSBmb3IgcmVuZGVyIGZ1bmN0aW9ucyBvbiB0aGUgaGVhcAoJICBhbmQgbm90IHRoZSBzdGFjay4gT3VyIGFsbG9jYXRpb25zIGNvdWxkIGdldCBhIGJpdCB0b28gbGFyZ2UKCSAgdG8gYmUgc3VyZSBpdCdzIG5vdCBnb2luZyB0byBjYXVzZSB0cm91YmxlIHVzaW5nIHRoZSBzdGFjay4KCjIwMTQtMDYtMjQgMDE6MTY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHJlLXVzZSBzZW5kX2J1ZmZlcnMoKSBjb2RlIHBhdGggZm9yIHJlbmRlcigpIGZ1bmN0aW9uCgkgIEl0J3MgbGlrZSByZW5kZXJpbmcgYSBidWZmZXIgbGlzdCwganVzdCB3aXRoIG9uZSBidWZmZXIuCgkgIEhhcyB0aGUgYWRkZWQgYWR2YW50YWdlIHRoYXQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGNsaWVudHMKCSAgd2UgY2FuIHNlbmQgdGhlIGJ1ZmZlciB0byBhbGwgdGhlIGNsaWVudHMgaW4gb25lIGdvLgoKMjAxNC0wNi0yNCAwMToxNToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazoga2VlcCBjbGllbnQgbGlzdCBjb25zaXN0ZW50IGR1cmluZyByZW1vdmFscwoJICBXZSB1bmxvY2sgYW5kIHJlLWxvY2sgdGhlIGNsaWVudCBsb2NrIHdoaWxlIGVtaXR0aW5nIHRoZQoJICByZW1vdmVkIHNpZ25hbCwgd2hpY2ggY2F1c2VzIGluY29uc2lzdGVuY2llcyBpbiB0aGUgY2xpZW50CgkgIGxpc3QgdnMuIHRoZSBjbGllbnQgY291bnRzLiBJbnN0ZWFkLCByZW1vdmUgdGhlIGNsaWVudCBmcm9tCgkgIHRoZSBsaXN0IGFscmVhZHkgYmVmb3JlIGVtaXR0aW5nIHRoZSBzaWduYWwgYW5kIHB1dCBpdCBpbnRvCgkgIGEgdGVtcG9yYXJ5IGxpc3Qgb2YgY2xpZW50cyB0byBiZSByZW1vdmVkLiBUaGF0IHdheSB0aGluZ3MKCSAgbG9vayBjb25zaXN0ZW50IHRvIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBidXQgc2lnbmFsIGNhbGxiYWNrcwoJICBjYW4gc3RpbGwgZG8gdGhpbmdzIGxpa2UgZ2V0IHN0YXRzIGZyb20gcmVtb3ZlZCBjbGllbnRzLgoKMjAxNC0wNi0yNCAwMDo1NjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IGNsaWVudCBjb3VudCBhZnRlciByZW1vdmFsCgoyMDE0LTA2LTIzIDE4OjQzOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBrZWVwIGNsaWVudCBsaXN0IHNvcnRlZCBieSBzb2NrZXQgZmFtaWx5CgkgIFdlIG1ha2UgdXNlIG9mIGluIHRoZSBzZW5kX2J1ZmZlcnMoKSBmdW5jdGlvbiBpZiB3ZQoJICBuZWVkIHRvIHVzZSBkaWZmZXJlbnQgc29ja2V0cyB0byBzZW5kIHRvIElQdjQgYW5kCgkgIElQdjYgZGVzdGluYXRpb25zLgoKMjAxNC0wNi0yMCAxMTozNjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIHNlbmRtbXNnLXJlYWR5IHJlbmRlcl9saXN0IGZ1bmN0aW9uIHByb3RvdHlwZQoJICBBZGQgcHJvdG90eXBlIGZvciBhIHJlbmRlcl9saXN0KCkgZnVuY3Rpb24gdGhhdCBjYW4gdXNlIGEKCSAgc2VuZG1tc2ctc3R5bGUgZ19zb2NrZXRfc2VuZF9tZXNzYWdlcygpIGZ1bmN0aW9uIG9uY2UgaXQgbGFuZHMKCSAgaW4gR0xpYi4gV2UgY2FuIHVzZSB0aGlzIGluZnJhc3RydWN0dXJlIHRvIHNlbmQgbXVsdGlwbGUgYnVmZmVycwoJICBtYWRlIHVwIGJ5IG11bHRpcGxlIG1lbW9yaWVzIHRvIG11bHRpcGxlIGNsaWVudHMgaW4gb25lIGdvLCB3aGljaAoJICBkcmFzdGljYWxseSByZWR1Y2VzIHRoZSBudW1iZXIgb2Ygc3lzY2FsbHMgbWFkZSB3aGVuIHNlbmRpbmcKCSAgaGlnaC1iaXRyYXRlIHZpZGVvIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNTIKCjIwMTQtMDYtMTkgMTk6MTY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IG1ha2UgdWRwIGNsaWVudCBzdHJ1Y3R1cmUgcmVmY291bnRlZAoJICBVc2UgdGhlIHJlZmNvdW50IGZvciBtZW1vcnkgbWFuYWdlbWVudCBhbmQga2VlcCB0cmFjawoJICBvZiB0aGUgbnVtYmVyIG9mIGR1cGxpY2F0ZSBjbGllbnRzIGluIGEgc2VwYXJhdGUKCSAgdmFyaWFibGUuIFRoaXMgd2lsbCBiZSB1c2VmdWwgbGF0ZXIsIGFuZCBtZWFucyB3ZQoJICBkb24ndCBoYXZlIHRvIGhvbGQgdGhlIE9CSkVDVF9MT0NLIGFsbCB0aGUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjg2NgoKMjAxNC0wNi0xOSAxODozMTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazoga2VlcCBjb3VudCBvZiBudW1iZXIgb2YgdW5pcXVlIGFuZCBub24tdW5pcXVlIElQdjQgYW5kIElQdjYgY2xpZW50cwoJICBUaGlzIHdpbGwgY29tZSBpbiBoYW5keSBsYXRlci4KCjIwMTQtMTItMTYgMTU6MDA6MjIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEaXNhYmxlIGNyZWF0ZV9idWYgd2l0aCBsaWJ2NGwyCgkgIExpYnY0bDIgZG9lcyBub3Qgd29yayB3aXRoIENSRUFURV9CVUZTLiBJbnN0ZWFkIG9mIGZhaWxpbmcgb24gcmFuZG9tCgkgIGVycm9yIGNhdXNlZCBieSBsaWJ2NGwyLCBkaXNhYmxlIENSRUFURV9CVUZTIHdoZW4gYW4gZW11bGF0ZWQgZm9ybWF0IGlzCgkgIGRldGVjdGVkLgoKMjAxNC0xMi0wOSAxNzozOToxMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgcHJvdGVjdGlvbiBhZ2FpbnN0IGJyb2tlbiBsaWJ2NGwyCgkgIEl0IGxvb2tzIGxpa2UgbGlidjRsMiBzdXBwb3J0IGZvciBDUkVBVEVfQlVGIGlzIGluY29tcGxldGUuIFRoYXQKCSAgY29tYmluZSB3aXRoIGV4aXN0aW5nIGJ1Z3MgbWF5IGxlYWQgdG8gY3Jhc2ggaW4gR1N0cmVhbWVyLiBUaGVzZQoJICBjaGVjayB3aWxsIG1ha2UgaXQgcm9idXN0IGJ5OgoJICAtIENoZWNraW5nIGNyZWF0ZSBidWYgaW5kZXggaXNuJ3QgYW4gYWxyZWFkeSBpbiB1c2VkIGluZGV4CgkgIC0gQ2hlY2tpbmcgdGhhdCB0aGUgaW5kZXggb3V0IG9mIFFVRVJZQlVGIG1hdGNoZXMgdGhlIHJlcXVlc3RlZAoJICBpbmRleAoKMjAxNC0xMi0xNiAxNjozNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkIHNvbWV0aGluZyB0byB0aGUgZGVidWcgbG9ncyBpZiBhbiBSVFggQVVYIGVsZW1lbnQgY2FuJ3QgYmUgYWRkZWQKCSAgLi4uIGJlY2F1c2UgdGhlIGFwcGxpY2F0aW9uIGFscmVhZHkgaGFzIGEgc2lnbmFsIGhhbmRsZXIgc2V0IHVwIGhlcmUuCgoyMDE0LTExLTIxIDE0OjEzOjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHJldHJhbnNtaXNzaW9uIHN1cHBvcnQgYWNjb3JkaW5nIHRvIFJGQzQ1ODgKCSAgQmFzZWQgb24gdGhlIGNsaWVudC1ydHBhdXggZXhhbXBsZQoKMjAxNC0xMi0xNiAxMzoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogY2xlYXIgcmVjdGFuZ2xlIHN0cnVjdHVyZXMgYmVmb3JlIHVzZQoKMjAxNC0xMi0wOSAxNTowOTo1NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBbHdheXMgc2V0IGZvcm1hdAoJICBSaWdodCBub3cgd2UgdHJ5IHRvIGJlIGNsZXZlciBieSBkZXRlY3RpbmcgaWYgZGV2aWNlIGZvcm1hdCBoYXZlCgkgIGNoYW5nZWQgb3Igbm90LCBhbmQgc2tpcCBzZXR0aW5nIGZvcm1hdCBpbiB0aGlzIGNhc2UuIFRoaXMgaXMgdmFsaWQKCSAgYmVoYXZpb3VyIHdpdGggVjRMMiwgYnV0IGl0J3MgYWxzbyB2ZXJ5IGVycm9yIHByb25lLiBUaGUgcmF0aW9uYWwKCSAgZm9yIG5vdCBzZXR0aW5nIHRoZXNlIGFsbCB0aGUgdGltZSBpcyBmb3Igc3BlZWQsIHRob3VnaCBJIGNhbid0CgkgIG1lYXN1cmUgYW55IG5vdGljZWFibGUgZ2FpbiBvbiBhbnkgSFcgSSBvd24uIEFsc28sIHVudGlsIHJlY2VudGx5LAoJICB3ZSB3aGVyZSBkb2luZyBnZXQvc2V0IG9uIHRoZSBmb3JtYXQgZm9yIGVhY2ggZm9ybWF0IHdlIHdoZXJlCgkgIHByb2JpbmcsIG1ha2luZyBpdCBuZWFyIHRvIGltcG9zc2libGUgdGhhdCB0aGUgZm9ybWF0IHdvdWxkIG1hdGNoLgoJICBUaGlzIGFsc28gZml4ZXMgYnVnIHdoZXJlIHdlIHdoZXJlIHNraXBwaW5nIGZyYW1lLXJhdGUgc2V0dGluZyBpZgoJICBmb3JtYXQgZGlkbid0IGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzNgoKMjAxNC0xMi0xNSAxODozMDowMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBSZW1vdmUgdG9kbyBhYm91dCBjYXBzIGZpbHRlcgoJICBUaGUgZmlsdGVyIGlzIGFscmVhZHkgaW50ZXJlY3RlZC4KCjIwMTQtMTItMTUgMTg6MTk6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIHZpZGVvY3JvcDogTWFrZSBzdXJlIG5ldyBjcm9wIGlzIGFwcGxpZWQKCSAgU2luY2UgImJhc2V0cmFuc2Zvcm06IEZpeCBjYXBzIGVxdWFsaXR5IGNoZWNrIiBjb21taXQgYTdmMzU3LAoJICBzZXRfaW5mbygpIHdpbGwgbm90IGJlIGNhbGxlZCBhbnltb3JlIGlmIGNyb3AgZGlkbid0IGNoYW5nZQoJICB0aGUgY2Fwcy4gVGhpcyBpcyBmaXhlZCBieSBzZXR0aW5nICJuZWVkX3VwZGF0ZSIgYm9vbGVhbiB3aGVuCgkgIGNyb3BwaW5nIHByb3BlcnRpZXMgaGFzIGJlZW4gY2hhbmdlZCwgYW5kIHRoZW4gYXBwbHlpbmcgdGhlc2UKCSAgaWYgdGhleSB3aGVyZSBub3QgYXBwbGllZCBiZWZvcmUgcmVuZGVyaW5nIHRoZSBuZXh0IGZyYW1lLiBUaGlzCgkgIHBhdGNoIGFsc28gZml4ZWQgdGhlIGxvY2tpbmcsIGRyb3BwaW5nIHVuLW5lZWRlZCBjdXN0b20gbG9jaywKCSAgYW5kIG5vIGhvbGRpbmcgbmVlZGxlc3MgbG9jayB3aGlsZSBkb2luZyB0aGUgb3BlcmF0aW9uIGFzIHdlCgkgIGFscmVhZHkgaG9sZCB0aGUgc3RyZWFtaW5nIGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3ODcKCjIwMTQtMTItMTIgMTg6MTA6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IFByZWZlciBmaWx0ZXIgY2FwcyBvcmRlciB3aGlsZSBnZXR0aW5nIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wOSAxMzozODoyNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogQWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgYXJvdW5kIGNoYW5uZWwgbGF5b3V0IHBhcnNpbmcKCSAgRm9yIG5vdyB3ZSBqdXN0IHNwaXQgYSB3YXJuaW5nIGFuZCBpZ25vcmUgdGhlIGNoYW5uZWwgbGF5b3V0IGlmIHdlIGNhbid0CgkgIHN1cHBvcnQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDggMjI6Mzg6MjIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IFRha2UgbG9jayBhcm91bmQgc2luay9zb3VyY2UgYmVmb3JlIGFjY2Vzc2luZyB0aGUgcmluZ2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDIxOjA2OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpb3NyYzogUHJvYmUgY2hhbm5lbCBsYXlvdXQgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMjA6MzI6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IE9ubHkgZml4IHVwIGNoYW5uZWxzL2xheW91dCBmb3IgUENNIGNhcHMgd2hpbGUgcHJvYmluZwoJICBJdCdzIHVubGlrZWx5IHRoYXQgc2V0dGluZyBhIGNoYW5uZWwgbGF5b3V0IHdpbGwgZG8gbXVjaCBmb3IgQUMzL0RUUwoJICBzdHJlYW1zLiBJZiB3ZSBmaW5kIGF0IHNvbWUgcG9pbnQgdGhhdCBpdCBkb2VzIG1ha2Ugc2Vuc2UsIHdlIGNhbgoJICBwZXJmb3JtIHRoZSBzdHJ1Y3R1cmUgY29weWluZyB1bmNvbmRpdGlvbmFsbHkgKGkuZS4sIHRoZSBjdXJyZW50IGNvZGUgaXMKCSAgd3JvbmcsIHNpbmNlIEFDMy9EVFMgd2lsbCBnZXQgdHdvIHN0cnVjdHVyZXMgbm93IC0gb25lIHdpdGggdGhlIGNoYW5uZWwKCSAgbGF5b3V0LCBvbmUgd2l0aG91dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMTk6NDE6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW9zcmM6IEltcGxlbWVudCBjYXBzIHByb2JpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAxOToyOTo1NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBCaW5kIGF1ZGlvIGRldmljZSB0byBhdWRpbyB1bml0IGVhcmx5CgkgIFdlIHdhbnQgdG8gYmluZCB0aGUgZGV2aWNlIGR1cmluZyBvcGVuIHNvIHRoYXQgc3Vic2VxdWVudCBmb3JtYXQgcXVlcmllcwoJICBvbiB0aGUgYXVkaW8gdW5pdCBhcmUgYXMgc3BlY2lmaWMgYXMgcG9zc2libGUgZnJvbSB0aGF0IHBvaW50IG9ud2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjkgMjM6MTY6MzAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IEZpeCB1cCBjYXBzIHF1ZXJ5aW5nIGEgYml0CgkgIFRoaXMgc2hvdWxkIG1ha2UgY2FwcyBxdWVyaWVzIGNvcnJlY3QgaW4gUEFVU0VEIGFuZCBoaWdoZXIgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAyMjozMjozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogTW92ZSBvc3hhdWRpb3NyYy1zcGVjaWZpYyBjb2RlIG91dCBvZiB0aGUgZ2VuZXJpYyBwYXRoCgkgIEF2b2lkcyBvbmUgbGF5ZXJpbmcgdmlvbGF0aW9uIChHc3RDb3JlQXVkaW8gcmVmZXJyaW5nIHRvCgkgIEdzdE9zeEF1ZGlvU3JjKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAyMjoyMzoxNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBDbGVhbiB1cCBhIEdzdENvcmVBdWRpbyAtPiBHc3RPc3hBdWRpb1NyYy9TaW5rIHJlZmVyZW5jZQoJICBOb3cgdGhhdCBkZXZpY2Ugc2VsZWN0aW9uIGhhcyBubyBzaW5rL3NvdXJjZS1zcGVjaWZpYyBiaXRzLCB3ZSBjYW4gaGF2ZQoJICBnZW5lcmljIGRldmljZSBzZWxlY3Rpb24gZm9yIHRoaXMgcGF0aC4gV2UgZG8gbmVlZCB0byBub3cgdHJhY2sgc3RhdGUKCSAgY2hhbmdlcyBzbyB3ZSBjYW4gbG9vayB1cCB0aGUgZmluYWwgZGV2aWNlX2lkIG9uY2UgdGhlIGRldmljZSBpcyBvcGVuLAoJICB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTk6NDA6NTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IE1vdmUgZGV2aWNlIGNhcHMgcHJvYmluZyB0byBnZXRfY2FwcygpCgkgIFRoaXMgc2hvdWxkIGJlIHByZWZlcnJlZCB0byBydW5uaW5nIHRoZSBwcm9iZSBhdCBkZXZpY2Ugb3BlbiB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE4OjM3OjAyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IE1ha2Ugc29tZSBkZWJ1ZyBjb2RlIGNvbXBpbGUgY29uZGl0aW9uYWxseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDE1OjA2OjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogTW92ZSBkZXZpY2Ugc2VsZWN0aW9uIHRvIHJpbmdidWZmZXItPm9wZW5fZGV2aWNlKCkKCSAgVGhpcyBpcyBjb25jZXB0dWFsbHkgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLCBhbmQgYWxsb3dzIHVzIHRvIGNvcnJlY3RseQoJICBjYXRjaCBlcnJvcnMgaW4gZGV2aWNlIHNlbGVjdGlvbiBhcyB3ZWxsLCB3aGljaCB3ZSBjb3VsZCBub3QgZG8gd2hpbGUKCSAgY3JlYXRpbmcgdGhlIHJpbmdidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTQ6MzQ6MzQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBDb25zb2xpZGF0ZSBpbnB1dCBhbmQgb3V0cHV0IGNvZGUgcGF0aHMgYSBiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yMSAxMTo1NDoxOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIERlaW50ZXJsYWNlOiBpbiBxdWVyeV9jYXBzIHJldHVybiBvbmx5IHN1cHBvcnRlZCBmb3JtYXRzIGlmIGZpbHRlciBpcyBpbnRlcmxhY2VkCgkgIEluIHNvbWUgY2FzZXMgdGhlIGN1cnJlbnRseSBzZXQgR3N0VmlkZW9JbmZvIGlzIG5vdCBpbnRlcmxhY2VkLCBidXQKCSAgdXBzdHJlYW0gY2FwcyBhcmUgaW50ZXJsYWNlZCBhbmQgdGhlIGluZm8gaXMgcGFzc2VkIGluIHRoZSBmaWx0ZXIsCgkgIHdlIHNob3VsZCB0YWtlIHRoYXQgaW5mbyBpbnRvIGFjY291bnQgYW5kIG1ha2Ugc3VyZSB0aGF0IHdlIGRvIG5vdAoJICBjb25zaWRlciB0aGF0IGNhc2UgYXMgYSAicGFzcyB0aHJvdWdoIiBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDA3CgoyMDE0LTEyLTEyIDExOjA2OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCSAgSXQgd2FzIHVzaW5nIHRoZSBub24taW5jcmVhc2luZyBvZmZzZXQgdmFyaWFibGUsIHdoaWNoIG1hZGUgdGhhdCBzdGF0ZW1lbnQKCSAgbm90IHNvIHVzZWZ1bCA6KQoKMjAxNC0xMi0xMiAxMTowMzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgbWFjcm9zIGZvciB0aGUgdmFyaW91cyB0aW1lc2NhbGUgY29udmVyc2lvbnMKCSAgVGhpcyBoZWxwcyBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUgYW5kIGF2b2lkIGZ1dHVyZSBiYWQgdXNhZ2Ugb2YKCSAgc2NhbGluZyBmdW5jdGlvbiBhcmd1bWVudCBvcmRlci4KCjIwMTQtMTItMTEgMTA6MTY6MDYgKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrckBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggcG90ZW50aWFsIGNyYXNoIHdoZW4gc2h1dHRpbmcgZG93bgoJICBBIHJhY2UgY29uZGl0aW9uIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gbWF5IGNhdXNlIGJ1ZmZlcnMKCSAgdG8gYmUgdW5yZWZmZWQgd2hpbGUgdGhleSBhcmUgc3RpbGwgdXNlZCBieSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBpbiBnc3RfcnRwX2gyNjRfcGF5X3NlbmRfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbgoJICB1cCB0byB0aGUgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8KCSAgbWFrZSBzdXJlIHN0cmVhbWluZyBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNC0xMi0xMiAwMDo0MjowNiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ29weSBmbGFncyBvZiB0aGUgb3ZlcmFsbCBzZWdtZW50IHRvIG91dHB1dCBzZWdtZW50cwoJICBQcmVzZXJ2ZSB0aGUgc2VnbWVudCBmbGFncyBvZiB0aGUgb3ZlcmFsbCBkZW11eCBzZWdtZW50IG9uIHRoZSBvdXRwdXQKCSAgc2VnbWVudHMgZm9yIGVhY2ggcGFkLgoKMjAxNC0xMi0wOSAwMjo0MzowMCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSA2NGJpdCBjaHVua19vZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3OQoKMjAxNC0xMi0xMCAxNzozOToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcm91bmRpbmcgZXJyb3JzIGluIGR1cmF0aW9uIHVwZGF0ZQoJICBNYWtlIHN1cmUgd2Ugc3RvcmUgdXBkYXRlZCBzZWdtZW50IHN0b3AvZHVyYXRpb24gd2l0aCB0aGUgc2FtZQoJICBncmFudWxhcml0eSBhcyB0aGUgZHVyYXRpb24gdGltZXNjYWxlLgoJICBBbmQgYWRkIG1vcmUgZGVidWcKCjIwMTQtMTItMTAgMTY6NTU6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXBkYXRlIGR1cmF0aW9uIHdoZW4gd2UgZ2V0IG1vcmUgaW5mb3JtYXRpb24KCSAgV2hlbiBkZWFsaW5nIHdpdGggZnJhZ21lbnRlZCBmaWxlcywgd2Ugd2lsbCBnZXQgbW9yZSBhY2N1cmF0ZSBkdXJhdGlvbgoJICBpbmZvcm1hdGlvbiB2aWEgdGhlIG1mcmEgYW5kIG1vb2YgYXRvbXMuCgkgIEluIG9yZGVyIGZvciBwbGF5YmFjayB0byBub3Qgc3RvcCBhdCB0aGUgaW5pdGlhbCBkdXJhdGlvbiAoZnJvbSB0aGUKCSAgbW9vdiBhdG9tKSwgd2UgbmVlZCB0byBjaGVjayBhbmQgdXBkYXRlIHRoZSB2YXJpb3VzIGR1cmF0aW9uIHZhcmlhYmxlcwoJICB3aGVuIHdlIGZpbmQgbW9yZSBpbmZvcm1hdGlvbi4KCSAgRml4ZXMgcGxheWJhY2sgb2YgZnJhZ21lbnRlZCBmaWxlcyBpbiBwdWxsIG1vZGUKCjIwMTQtMTItMTAgMTU6MDg6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHZhcmlhYmxlIGFzc2lnbm1lbnRzIG5ldmVyIHJlYWQKCSAgQXMgZGV0ZWN0ZWQgYnkgY2xhbmcvc2Nhbi1idWlsZAoKMjAxNC0xMi0xMCAxNDo1NjowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogVXNlIEdzdENsb2NrVGltZSBmb3IgbmFub3NlY29uZC1iYXNlZCB0aW1lIHZhcmlhYmxlcy9maWVsZHMKCSAgQXZvaWRzIGNvbmZ1c2lvbiB3aXRoIHRpbWVzY2FsZWQtYmFzZWQgdmFyaWFibGVzIGFuZCBieXRlcyAob2Zmc2V0KQoJICB2YXJpYWJsZXMuCgkgIEFuZCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSB3aGVyZSBhcHBsaWNhYmxlCgoyMDE0LTEyLTAzIDE0OjQ3OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgcHVzaGZpbGVzcmM6IEFkZCBUSU1FIFNFR01FTlQgY2FwYWJpbGl0eQoJICBBZGRzIGEgbmV3IHNldCBvZiBwcm9wZXJ0aWVzIHRvIG1ha2UgcHVzaGZpbGVzcmMgb3V0cHV0IGEgVElNRSBTRUdNRU5UCgkgIChpbnN0ZWFkIG9mIHRoZSBmaWxlc3JjIEJZVEUgU0VHTUVOVCkuCgkgIFdoZW4gdGltZS1zZWdtZW50IGlzIHNldCB0byBUcnVlIHRoZSBmb2xsb3dpbmcgd2lsbCBoYXBwZW46CgkgICogU2Vla3MgYXJlIHJlZnVzZWQgKGRhdGEgc3RhcnRzIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSkKCSAgKiBUaGUgQllURSBzZWdtZW50IHdpbGwgYmUgcmVwbGFjZWQgYnkgYSBUSU1FIHNlZ21lbnQgd2l0aCB0aGUgdmFsdWVzCgkgIHNwZWNpZmllZCBpbiB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzCgkgICogVGhlIGZpcnN0IG91dGdvaW5nIGJ1ZmZlciB3aWxsIGhhdmUgYSB0aW1lc3RhbXAgc2V0IG9uIGl0IChieSBkZWZhdWx0CgkgIGl0IGhhcyBhIHZhbHVlIG9mIEdTVF9DTE9DS19USU1FX05PTkUpCgoyMDE0LTEyLTEwIDExOjM1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBvbmx5IHVucmVmIGNhcHMgaWYgdGhleSdyZSBub3QgTlVMTAoKMjAxNC0xMi0xMCAxMTozNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIHdpbGwgcmV0dXJuIE5VTEwgaWYgdGhlcmUgaXMgbm8gcGVlcgoKMjAxNC0xMi0wOSAxNjozODozOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBYZW5jOiBDTE9DS19USU1FX05PTkUgaXMgbm90IGEgdmFsaWQgbWluX2xhdGVuY3kgdmFsdWUKCSAgV2Ugc2hvdWxkIGp1c3QgdXNlIDAgaWYgd2UgZG8gbm90IGhhdmUgdGhlIGluZm9ybWF0aW9uCgoyMDE0LTEyLTAzIDE3OjI2OjU2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBhbiBlbXB0eSBpdGVyYXRvciBpbiBpdGVyYXRlX2ludGVybmFsX2xpbmsgd2hlbiBubyBsaW5rcwoJICBBbmQgbm90IGEgTlVMTCBJdGVyYXRvciwgc28gaXQgaXMgY29uc2lzdGVudCB3aXRoIHRoZSB3YXkgaXQgdXN1YWxseQoJICB3b3JrcyBhbmQgYXZvaWQgdXNlciB0byBuZWVkIGEgZGlmZmVyZW50IGNvZGUgcGF0aHMgdG8gaGFuZGxlIHRoYXQuCgoyMDE0LTEyLTA5IDE0OjAxOjUwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCBidWZmZXIgaW50ZXJsYWNlIGZsYWdzIHdoZW4gZmllbGQgaXMgVjRMMl9GSUVMRF9JTlRFUkxBQ0VECgkgIElmIHY0bDJfYnVmZmVyLmZpZWxkIGlzIFY0TDJfRklFTERfSU5URVJMQUNFRCwgd2Ugc2V0IGNvcnJlc3BvbmRpbmcKCSAgR3N0VmlkZW9CdWZmZXIgZmxhZ3MgZGVwZW5kaW5nIG9uIHRoZSB2aWRlbyBzdGFuZGFyZC4KCSAgQWNjb3JkaW5nIHRvIFY0TDIgc3BlY2lmaWNhdGlvbiwgTS9OVFNDIHRyYW5zbWl0cyB0aGUgYm90dG9tIGZpZWxkCgkgIGZpcnN0LCBhbGwgb3RoZXIgc3RhbmRhcmRzIHRoZSB0b3AgZmllbGQgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc2MDMKCjIwMTQtMTItMDggMjE6MjY6MTggKzAxMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrckBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGaXhlcyBidWZmZXIgbGVhayB3aGVuIHVzaW5nIFNQUy9QUFMKCSAgRml4ZXMgYSBidWZmZXIgbGVhayB0aGF0IHdvdWxkIG9jY3VyciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duCgkgIHdoaWxlIGEgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTQtMTItMDkgMDQ6NDM6MjkgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IGZpeCBtZW1jcHkgd2hlbiBubyBjb2xvciBhZ2luZyByZXF1ZXN0ZWQuCgkgIHZpZGVvX3NpemUgaXMgdGhlIHNpemUgaW4gcGl4ZWxzLCBhY3R1YWwgc2l6ZSBvZiB0aGUgbWVtY3B5CgkgIGhhcyB0byBiZSBzdHJpZGUgKiBoZWlnaHQuCgoyMDE0LTEyLTA3IDE3OjMzOjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IFdvcmthcm91bmQgbGlidjRsMiBSVyBlbXVsYXRpb24gYnVnCgkgIFdoZW4gbGlidjRsMiBlbXVsYXRlcyBSVyBtb2RlIG9uIHRvcCBvZiBNTUFQIGRldmljZXMsIHRoZSBxdWV1ZXMgYXJlCgkgIG9ubHkgaW5pdGlhbGl6ZWQgb24gZmlyc3QgcmVhZC4gVGhlIHByb2JsZW0gaXMgdGhhdCBwb2xsKCkgd2lsbCBmYWlsCgkgIGlmIGNhbGxlZCBiZWZvcmUgdGhlIHF1ZXVlcyBhcmUgaW5pdGlhbGl6ZWQgYW5kIHN0cmVhbWluZy4gV29ya2Fyb3VuZAoJICB0aGlzIGJ5IGRvaW5nIGEgemVybyBzaXplIHJlYWQgd2hlbiBwb29sIGlzIHN0YXJ0ZWQgaW4gdGhhdCBJTyBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjMzCgoyMDE0LTEyLTA3IDE3OjI3OjM3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IEZpeCBSVyBpbyBtb2RlCgkgIEluIFJXLCBhbGxvY2F0b3IgY2FuIGJlIG51bGwsIG1heF9idWZmZXJzIGNhbiBiZSB6ZXJvLCBhbmQgd2UgbmVlZCBub3QKCSAgdG8gd2FpdCB3aGlsZSB0aGUgcXVldWUgaXMgZW1wdHkgc2luY2UgdGhlcmUgaXMgbm8gcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzMKCjIwMTQtMTItMDMgMTY6NDA6NDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbnVwIHVuZWVkZWQgY2hlY2sgYW5kIGNhc2VzCgkgIFRoZXJlIGlzIG5vdGhpbmcgaW4gYmV0d2VlbiB0aGUgYnJlYWsgYW5kIHRoZSAiZG9uZToiIGFueW1vcmUsIHBsdXMKCSAgVVNFUlBUUiBhbmQgRE1BQlVGX0lNUE9SVCBjYXNlIGlzIGV4YWN0bHkgdGhlIHNhbWUuCgoyMDE0LTEyLTAzIDE3OjA3OjQ5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogRml4IENSRUFURV9CVUZTIHN1cHBvcnQgZm9yIGNhcHR1cmUKCSAgVGhpcyBwYXRjaCBmaXhlcyBDUkVBVEVfQlVGUyBzdXBwb3J0IGZvciBjYXB0dXJlIGRldmljZXMuIEluaXRpYWxseSB3ZQoJICB3b3VsZCBvbmx5IHRyeSBhbmQgYWxsb2NhdGUgbW9yZSBidWZmZXJzIHdoZW4gdGhlIGNvcHkgdGhyZXNob2xkCgkgIGlzIHJlYWNoZWQuIFdoZW4gdGhlIHRocmVzaG9sZCB3YXMgbm90IHNldCAobmVlZGVkKSBpdCB3b3VsZCBuZXZlcgoJICBoYXBwZW4uIEFub3RoZXIgcHJvYmxlbSBpcyB0aGF0IG9uIGNhcHR1cmUgc2lkZSwgYWNxdWlyZSByZXR1cm5zCgkgIGZpbGxlZCBidWZmZXIsIGhlbmNlIG5lZWQgdG8gcG9vbC4gV2UgbmVlZCB0byBzZXQgYSBzcGVjaWFsIGZsYWcgdG8KCSAgZm9yY2UgYWxsb2NhdGlvbiB0byBoYXBwZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMzQKCjIwMTQtMTItMDMgMTY6Mjc6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IENSRUFURV9CVUYgcHJvYmluZwoJICBDdXJyZW50IGZvciBldmVyeSBtZW1vcnkgdHlwZSB3ZSB3aGVyZSBwcm9iaW5nIE1NQVAgQ1JFQVRFX0JVRlMgaW9jdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEzNAoKMjAxNC0xMS0xOCAxNjo1Mjo0MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2V0IGZyYW1lcmF0ZSAwLzEgd2hlbiBkdXJhdGlvbiBpcyBub3Qga25vd24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDEzMAoKMjAxNC0xMi0wNCAxNzoyNTo1NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW9yZSBmaXhlcyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBXaGVuIHNlZWtpbmcgb3IgZmluZGluZyB0aGUgcHJldmlvdXMga2V5ZnJhbWUsIGRvCgkgIGNvbXBhcmlzb25zIGFnYWluc3QgdGFyZ2V0cyBhbmQgc2VnbWVudHMgdXNpbmcgY29tcG9zaXRpb24gdGltZQoJICB0byBjb3JyZWN0bHkgZGVjaWRlIHdoaWNoIHNhbXBsZSB0aW1lcyBtYXRjaC4KCjIwMTQtMTItMDMgMTE6MTI6NTUgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFVzZSBhbiBlbXB0eSBpdGVyYXRvciBpbiBpdGVyYXRlX2ludGVybmFsX2xpbmsgd2hlbiBubyBsaW5rcwoJICBXZSB1c2VkIHRvIHNldHVwIGFuIGl0ZXJhdG9yIHdpdGggMSBHVmFsdWUgc2V0IHdpdGggYSBOVUxMIG9iamVjdAoJICBwb2ludGVyIHdoaWNoIGlzIG5vdCB0aGUgbm9ybWFsIHdheSB0byBkbyB0aGF0LiBJbnN0ZWFkIHdlIHNob3VsZCBtYWtlCgkgIHN1cmUgdGhhdCB0aGUgZmlyc3QgY2FsbCB0byBnc3RfaXRlcmF0b3JfbmV4dCByZXR1cm5zIEdTVF9JVEVSQVRPUl9ET05FLgoKMjAxNC0xMi0wMyAxMzoyMDo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSGFuZGxlIHNlZWtzIHBhc3QgRU9TIGFzIGEgc2VlayB0byB0aGUgZW5kCgkgIEZpeCByZXZlcnNlIHBsYXliYWNrIG9mIGV2ZXJ5IGZyYW1lIGJ5IG1ha2luZyBzZWVrcyBwYXN0L3RvIEVPUwoJICBmaW5kIHRoZSBsYXN0IHNlZ21lbnQgYW5kIHN0YXJ0IHRoZXJlLgoKMjAxNC0xMi0wMiAxNTozMzoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgcnRwbXBhZGVwYXk6IFJlbGF4IGNhcHMgdG8gYWxsb3cgYW55IGNsb2NrLXJhdGUKCSAgU29tZSBXb3d6YSBzZXR1cHMgc2VlbSB0byBzZW5kIGFuIGludmFsaWQgbm9uLTkwMDAwIGNsb2NrLXJhdGUuCgoyMDE0LTEyLTAxIDIxOjA0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIEdTVF9DTE9DS19USU1FX05PTkUgaW4gbm9uIEdzdENsb2NrVGltZSB2YXJpYWJsZXMKCSAgVXNlIC0xIGluc3RlYWQgYXMgdGhvc2UgYXJlIGdpbnQ2NC9ndWludDY0IHZhcmlhYmxlcyBhbmQgbm90IEdzdENsb2NrVGltZQoKMjAxNC0xMS0wNyAxNzowNjo0OSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGdzdF92NGwyX2FsbG9jYXRvcl9zdG9wIHByb3RvdHlwZQoJICBnc3RfdjRsMl9hbGxvY2F0b3Jfc3RvcCByZXR1cm5zIGEgR3N0VjRsMlJldHVybiwgbm90IGEgZ2Jvb2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3OTIKCjIwMTQtMTEtMDcgMTY6NDE6NTIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogdW5yZWYgcG9vbCB3aGVuIHY0bDJfYWxsb2NhdG9yX25ldygpIGZhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3OTEKCjIwMTQtMTEtMzAgMTc6NTI6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgbGFzdCBpbmNsdWRlIHRvIGxpbnV4L3ZpZGVvZGV2Mi5oCgkgIFdlIG5vdyB1c2UgYW5kIHVwZGF0ZSBvdXIgaW50ZXJuYWwgY29weSBzbyB3ZSBubyBsb25nZXIgaGF2ZSB0byBpZmRlZgoJICB0aGUgZW50aXJlIGNvZGUgZm9yIGZlYXR1cmVzIGFuZCBkZWZpbmVzIHRoYXQgd2hlcmUgYWRkZWQgb3ZlciB0aGUKCSAgeWVhcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDUKCjIwMTQtMDgtMjQgMTM6Mzg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGluIGZyYWdtZW50ZWQgbXA0IGZpbGVzIGluIHB1bGwgbW9kZSBiYXNlZCBvbiB0aGUgbWZyYSB0YWJsZQoKMjAxNC0xMS0yOSAxNToyNTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgdHJhY2sgZnJhZ21lbnQgZGVjb2RpbmcgdGltZSAodGZkdCkgaW4gcGFyc2VfdHJ1bigpIGZvciBpbnRlcnBvbGF0aW9uCgkgIEFzIGZhbGxiYWNrIGlmIHdlIGRvbid0IGhhdmUgYW55IGV4aXN0aW5nIHNhbXBsZXMKCSAgYXMgcmVmZXJlbmNlIHBvaW50IHlldC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKMjAxNC0xMS0yOSAxNDozNzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcGFyc2UgbWZyYSByYW5kb20gYWNjZXNzIGJveCBmb3IgZnJhZ21lbnRlZCBtcDQgZmlsZXMKCSAgSWYgaXQncyBwcmVzZW50LCBhbmQgd2Ugb3BlcmF0ZSBpbiBwdWxsIG1vZGUuCgoyMDE0LTA4LTE1IDE0OjU4OjI2ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0b3AgcGFyc2luZyBoZWFkZXJzIGZvciBmcmFnbWVudGVkIG1wNHMgYXQgdGhlIGZpcnN0IG1vb2YKCSAgQ3VycmVudGx5IGR1cmluZyBoZWFkZXIgcGFyc2luZywgd2Ugc2NhbiB0aHJvdWdoIHRoZSBlbnRpcmUgZmlsZQoJICBhbmQgc2tpcCBldmVyeSBtb29mK21kYXQgY2h1bmsgZm9yIGZyYWdtZW50ZWQgbXA0cywgd2hpY2ggbWFrZXMKCSAgc3RhcnQtdXAgaW5jcmVkaWJseSBzbG93LiBJbnN0ZWFkLCBqdXN0IHN0b3AgYXQgdGhlIGZpcnN0IG1vb2YKCSAgY2h1bmsgd2hlbiBoYXZlIGEgbW9vdiwgYW5kIHN0YXJ0IGV4cG9zaW5nIHRoZSBzdHJlYW1zLCBzbyB3ZQoJICBjYW4gZ28gYW5kIHN0YXJ0IGhhbmRsaW5nIHRoZSBtb29mcyBmb3IgcmVhbC4KCjIwMTQtMTEtMjkgMTM6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBhZGQgaW50ZXJhY3RpdmUgZ2RrcGl4YnVmb3ZlcmxheSB0ZXN0CgkgIEp1c3QgbmVlZCB0byBmaXggdGhlIGNvb3JkaW5hdGUgc3lzdGVtIG5vdyBzbwoJICB0aGF0IG5lZ2F0aXZlIG9mZnNldHMgYXJlIGFjdHVhbGx5IG5lZ2F0aXZlCgkgIGFuZCBub3QgZmxpcHBlZCB0byBwb3NpdGlvbiB0aGluZ3MgZnJvbSB0aGUKCSAgb3Bwb3NpdGUgYm9yZGVyLgoKMjAxNC0xMS0yOSAxMzo1MzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgInBpeGJ1ZiIgcHJvcGVydHkKCSAgU28gd2UgY2FuIHNldCBhIEdka1BpeGJ1ZiBkaXJlY3RseSBpbnN0ZWFkIG9mCgkgIHJlYWRpbmcgaXQgZnJvbSBhbiBpbWFnZSBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS4KCjIwMTQtMTEtMjkgMTM6MjM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgZ2RrcGl4YnVmOiByZW1vdmUgcGl4YnVmc2NhbGUgY29kZSB0aGF0IHdhcyBuZXZlciBwb3J0ZWQKCSAgRG9uJ3QgdGhpbmsgd2UnbGwgbmVlZCB0aGlzIGFnYWluLgoKMjAxNC0xMS0yOSAxODozNTo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogVXNlIG9mZnNldCB3aGVuIGNvcHlpbmcgaGVhZGVyCgkgIFRoZSBoZWFkZXIgaXMgbm90IGFsd2F5cyBhdCB0aGUgc3RhcnQgb2YgdGhlIHBhY2tldCwgc28gd2UgbmVlZCB0byBjb21wdXRlCgkgIHRoZSBvZmZzZXQgZmlyc3QuCgoyMDE0LTExLTI4IDEzOjEyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgYXBldjJtdXg6IHdyaXRlIEFQRSB0YWdzIGF0IGVuZCBmb3Igd2F2cGFjayBmaWxlcwoJICBodHRwOi8vd3d3LndhdnBhY2suY29tL2ZpbGVfZm9ybWF0LnR4dDoKCSAgIkJvdGggdGhlIEFQRXYyIHRhZ3MgYW5kL29yIElEM3YxIHRhZ3MgbXVzdCBjb21lIGF0IHRoZSBlbmQgb2YgdGhlCgkgIFdhdlBhY2sgZmlsZSwgd2l0aCB0aGUgSUQzdjEgY29taW5nIGxhc3QgaWYgYm90aCBhcmUgcHJlc2VudC4iCgkgIFdhdlBhY2sgZmlsZXMgdGhhdCBjb250YWluIEFQRXYyIHRhZ3MgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZXMKCSAgYXJlIHVucGxheWFibGUgb24gcGxheWVycyB0aGF0IHVzZSBGRm1wZWcgKGxpa2UgVkxDKSBhbmQgbW9zdCBvdGhlcgoJICBzb2Z0d2FyZSAoZXhjZXB0IEJhbnNoZWUpLiBQbGF5ZXJzIHRoYXQgdXNlIGxpYndhdnBhY2sgZGlyZWN0bHkgY2FuCgkgIHBsYXkgdGhlIGZpbGVzIGJlY2F1c2UgaXQgc2tpcHMgdGhlIHRhZ3MsIGJ1dCBkb2VzIG5vdCByZWNvZ25pemUgdGhlCgkgIHRhZyBkYXRhIGF0IHRoYXQgbG9jYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MzcKCjIwMTQtMTEtMjggMTA6NDE6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdGVzdC1zZWdtZW50LXNlZWtzLmM6CgkgIHRlc3RzOiBhZGQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZ2FwbGVzcyBwbGF5YmFjayB1c2luZyBTRUdNRU5UIHNlZWtzCgkgIE5vdCB3b3JraW5nIHRvbyB3ZWxsIHlldCwgdGhlcmUgYXJlIGdsaXRjaGVzIGV2ZW4gd2l0aCBXQVYgb3IgRkxBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjM2OAoKMjAxNC0xMS0yNiAxMDozMzowOSArMDMwMCAgQW5kcmVpIFNhcmFrZWV2IDxzYXJha3VzaGFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSAgYXNwZWN0cmF0aW9jcm9wOiBIYW5kbGUgcmVzb2x1dGlvbiBjaGFuZ2VzIHByb3Blcmx5CgkgIFdoZW4gYW4gY2Fwcy1ldmVudCBpcyByZWNlaXZlZCwgd2UgbXVzdCBpbW1lZGlhdGVseSBjaGFuZ2UgdGhlIGNyb3AKCSAgdG8gdmlkZW9jcm9wIGNvcnJlY3RseSBjaGFuZ2VkIGNhcHMtZXZlbnQgZGltZW5zaW9uLCBvdGhlcndpc2UgdGhlCgkgIHZpZGVvY3JvcCB3aWxsIGZpcnN0IHVzZSB0aGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGNyb3AgdGhhdCB3aGVuCgkgIHJlc2l6aW5nIHZpZGVvIHRvIGEgc21hbGxlciByZXNvbHV0aW9uIG1heSBjYXVzZSBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDY3MQoKMjAxNC0xMS0yNyAxNzoxMDo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiMmJjZSB0byBlZjFmZmRjCgoyMDE0LTExLTI3IDExOjIwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1hY2N1cmF0ZS1zZWVrLmM6CgkgIHRlc3Q6IHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfcm91bmQoKSBmb3IgdGltZXN0YW1wIHRvIHNhbXBsZSBjYWxjdWxhdGlvbgoKMjAxNC0xMS0yNyAxMToxNjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LWFjY3VyYXRlLXNlZWsuYzoKCSAgdGVzdHM6IGFkZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBhY2N1cmF0ZSBzZWVraW5nCgkgIEZvciBzb21lIGF1ZGlvIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNzYKCjIwMTQtMTEtMjYgMTY6MDQ6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBDaGVjayBwcmVzZW5jZSBvZiBtZmhkIGluIG1vb2YKCSAgVGhlICdtZmhkJyBhdG9tIGlzIG1hbmRhdG9yeSBpbiAnbW9vZicuIFdlIGNhbiBsYXRlciBvbiBjaGVjayB3aGV0aGVyCgkgIHRoZSBmcmFnbWVudCBudW1iZXIgcHJvcGVybHkgaW5jcmVhc2VzCgoyMDE0LTExLTI2IDE1OjU5OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgaXNvbXA0OiBGaXggbWZybyBhbmQgdGZyYSBhdG9tIGR1bXBpbmcKCSAgbWZybyB3YXMgc2tpcHBpbmcgdGhlIHZlcnNpb24vZmxhZ3MKCSAgdGZyYSBoYWQgd3JvbmcgYnl0ZV9yZWFkZXIgcmV0dXJuIHZhbHVlIGNoZWNrcwoKMjAxNC0xMS0yNiAxNTo1ODoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IEFkZCBtZmhkIGF0b20gZHVtcGluZwoKMjAxNC0xMS0yNyAwMDoxNTowMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSGFuZGxlIGVtcHR5IHNlZ21lbnRzIHdoZW4gc2Vla2luZyBpbiByZXZlcnNlIHBsYXkuCgkgIEVtcHR5IHNlZ21lbnRzIGluIGFuIGVkaXQgbGlzdCBoYXZlIGEgbWVkaWFfc3RhcnQgdGltZSBvZiAtMSwKCSAgYXMgdGhleSBkb24ndCBhY3R1YWxseSBwbGF5IGFueSBtZWRpYS4gQWxsb3cgZm9yIHRoYXQgd2hlbgoJICBhbGlnbmluZyB0byB0aGUgcmVmZXJlbmNlIHN0cmVhbSBpbiByZXZlcnNlIHBsYXkuCgoyMDE0LTExLTI0IDEwOjM2OjU0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgUmV2ZXJ0ICJ2NGwyYWxsb2NhdG9yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFkNDQ4MGQ1MzQwOGE0ZDk3YWI1MzExNzRlZjM3ZjI1OGYzMjUzYzAuCgoyMDE0LTExLTI0IDEwOjM2OjMwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgUmV2ZXJ0ICJ2NGwyOiBtb3ZlIHZiX3F1ZXVlIHByb2JpbmcgZnJvbSBhbGxvY2F0b3IgdG8gdjRsMm9iamVjdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlYzZiOGI4NGFmNzE5ZDgyOGRkZDkxYzcyNGU3MTVjMGI0YTU1NmJjLgoKMjAxNC0xMS0yNCAxMDozMzoyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIFJldmVydCAidjRsMm9iamVjdDogYWxsb3cgdG8gYXV0b21hdGljIHNlbGVjdGlvbiBvZiBkbWFidWYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTZjMmFkNTU3MWU1ZGVkYjIxMjI4N2VmZTIzOGViNDUwMDMyY2Q0Zi4KCjIwMTQtMTEtMjMgMTY6MzQ6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIFJFUVVJUkVNRU5UUzogdXBkYXRlIGEgbGl0dGxlCgkgIFBlb3BsZSBhY3R1YWxseSBsb29rIGF0IHRoYXQgaXQgc2VlbXMuCgoyMDE0LTExLTIzIDE2OjIyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICBpY3lkZW11eDogZG9lcyBub3QgbmVlZCB0byBsaW5rIGFnYWluc3QgemxpYgoKMjAxNC0xMS0yMiAyMToyODozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleDogcmVtb3ZlIHN1cHBvcnQgZm9yIGFuY2llbnQgc3BlZXggdmVyc2lvbnMKCjIwMTQtMTEtMjEgMTE6MjE6MTggKzAxMDAgIEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogbG9nIGNvbm5lY3Rpb24gZXZlbnRzIGF0IGluZm8gbGV2ZWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTMwNQoKMjAxNC0xMC0yMCAxMzowMDozNyArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBlbnN1cmUgcnR4X3JldHJ5X3BlcmlvZCA+PSAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDQKCjIwMTQtMTEtMjEgMTE6NDQ6MjQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIHRoaXMgd2FzIGludHJvZHVjZWQgYnkgY29tbWl0IGVjNmI4YgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzgyCgoyMDE0LTExLTE2IDEyOjM0OjE3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogSGFuZGxlIGNvcnJ1cHRlZCBidWZmZXIgd2l0aCBlbXB0eSBwYXlsb2FkCgkgIFRoaXMgYWxsb3cgc2tpcHBpbmcgYnVmZmVyIGZsYWdnZWQgd2l0aCBFUlJPUiB0aGF0IGhhcyBubyBwYXlsb2FkLgoJICBUaGlzIGlzIHR5cGljYWwgYmVoYXZpb3VyIHdoZW4gYSByZWNvdmVyZXJhYmxlIGVycm9yIG9jY3VyZWQgZHVyaW5nCgkgIGNhcHR1cmUgaW4gdGhlIGRyaXZlciwgYnV0IHRoYXQgbm8gdmFsaWQgZGF0YSB3YXMgZXZlciB3cml0dGVuIGludG8gdGhhdAoJICBidWZmZXIuIFRoaXMgcGF0Y2ggYWxzbyB0cmFuc2xhdGUgVjRMMl9CVUZfRkxBR19FUlJPUiBpbnRvCgkgIEdTVF9CVUZGRVJfRkxBR19DT1JSVVBURUQuIEhlbmNlIGRlY29kaW5nIGVycm9yIHByb2R1Y2UKCSAgYnkgZGVjb2RlciBkdWUgdG8gbWlzc2luZyBmcmFtZXMgd2lsbCBub3cgYmUgY29ycmVjdGx5IG1hcmtlZC4gRmluYWxseSwKCSAgdGhpcyBmaXhlcyBhIGJ1ZmZlciBsZWFrIHdoZW4gRU9TIGlzIHJlYWNoZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNDAKCjIwMTQtMTEtMjEgMTY6MzY6MTUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBhbGxvdyB0byBhdXRvbWF0aWMgc2VsZWN0aW9uIG9mIGRtYWJ1ZgoJICBJZiB0aGUgdjRsMiBxdWV1ZSBzdXBwb3J0IGRtYWJ1ZiBzZWxlY3QgdGhpcyBidWZmZXIgcG9vbCBtb2RlCgkgIGFuZCB1cGRhdGUgdGhlIHF1ZXJ5IHdpdGggYWxsb2NhdG9yLgoJICBUaGlzIHBhdGNoIG9ubHkgY29uY2VybiBleHBvcnRpbmcgZG1hYnVmIGFuZCBub3QgaW1wb3J0aW5nIGRtYWJ1ZgoJICBmZCBmcm9tIGRvd25zdHJlYW0gZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM4MgoKMjAxNC0xMS0yMSAxNjoxMzowNSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IG1vdmUgdmJfcXVldWUgcHJvYmluZyBmcm9tIGFsbG9jYXRvciB0byB2NGwyb2JqZWN0CgkgIFRoZSBnb2FsIGlzIHRvIG1ha2UgdGhvc2UgaW5mb3JtYXRpb24gYXZhaWxhYmxlIGluIHY0bDJfb2JqZWN0CgkgIHRvIGJlIGFibGUgbGF0ZXIgdG8gc2VsZWN0IHRoZSBiZXN0IGFsbG9jYXRpb24gbWV0aG9kIGZvciB0aGUgcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzgyCgoyMDE0LTExLTIwIDIyOjQyOjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IEZpeCB1cCBuZXdfaml0dGVyYnVmZmVyIHNpZ25hbCBwcm90b3R5cGUKCjIwMTQtMTEtMjAgMjA6MTk6MjUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRG9jdW1lbnQgaG93IHRvIGNvbnRyb2wgcGVyLVNTUkMgcmV0cmFuc21pc3Npb24KCjIwMTQtMTEtMjAgMjA6MTg6NDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZG9jcy9kZXNpZ24vZGVzaWduLXJ0cHJldHJhbnNtaXNzaW9uLnR4dDoKCSAgZG9jOiBUcml2aWFsIHNwZWxsaW5nIGFuZCBjb25zaXN0ZW5jeSB1cGRhdGUKCjIwMTQtMTEtMjAgMTM6MTQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHB1dCAwLWJ5dGUgYXQgdGhlIGVuZCBvZiBldmVudHMKCSAgUHV0IGEgMC1ieXRlIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IHN0cmluZy4gRG9lcyBub3QgYnJlYWsgQUJJIGJlY2F1c2UKCSAgb2xkIGRlcGF5bG9hZGVycyB3aWxsIHNraXAgdGhlIDAgYnl0ZSAod2hpY2ggaXMgaW5jbHVkZWQgaW4gdGhlIGxlbmd0aCkuCgkgIEV4cGVjdCBhIDAtYnl0ZSBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBzdHJpbmcgb3IgYSA7IGZvciBvbGQKCSAgcGF5bG9hZGVycy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1OTEKCjIwMTQtMTEtMjAgMTI6NDA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogYXZvaWQgYnVmZmVyIG92ZXJyZWFkLgoJICBDaGVjayB0aGF0IGEgY2FwcyBldmVudCBzdHJpbmcgaXMgMCB0ZXJtaW5hdGVkIGFuZCB0aGUgZXZlbnQgc3RyaW5nIGlzCgkgIHRlcm1pbmF0ZWQgd2l0aCBhIDsgdG8gYXZvaWQgYnVmZmVyIG92ZXJyZWFkcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU5MQoKMjAxNC0xMS0yMCAxMDo0NTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGRvbid0IGxpbWl0IG1heCB2aWRlbyByZXNvbHV0aW9uIHRvIDQwOTZ4NDA5NgoJICBNQVggaXNuJ3QgZW50aXJlbHkgY29ycmVjdCBhcyB1cHBlciBsaW1pdCBlaXRoZXIsCgkgIGl0IHNob3VsZCByZWFsbHkgYmUgTUFYVUlOVDMyLCBidXQgaXQncyB1bmxpa2VseQoJICB0byBiZSBhIHByb2JsZW0gaW4gdGhlIG5lYXIgZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDA3CgoyMDE0LTExLTE5IDE1OjA2OjAwIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxlYWsgZm9yIG1pa2V5IGJhc2U2NCBkZWNvZGVkIGtleS1tZ210CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzOTIKCjIwMTQtMTEtMjAgMDk6MDE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IGZpeCB1bmhhbmRsZWQgZm9ybWF0IGluIHBhc3N0aHJvdWdoCgkgIEluIHBhc3N0aHJvdWdoIHdlIGNhbiBoYW5kbGUgYWxsIGZvcm1hdHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzODcKCjIwMTQtMTEtMTkgMTY6MTI6MzggKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVzdHJpY3QgcmVzeW5jaW5nIHRvIFRTIHJlZ3Jlc3Npb25zCgkgIFRoZSBiZWhhdmlvciBvZiByZXN5bmNpbmcgdmlkZW8gYW5kIGF1ZGlvIGluZGVwZW4tCgkgIGRlbnRseSBjYW4gY2F1c2UgQS9WIGRlc3luY3MuIExldHMgcmVzdHJpY3QgcmVzeW5jcwoJICB0byBqdW1wcyBiYWNrd2FyZCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzk3CgoyMDE0LTExLTE3IDIzOjE2OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBmaXggdXAgUW9TIGhhbmRsaW5nIGZvciBsaXZlIHNvdXJjZXMKCSAgT25seSBhdHRlbXB0IGFkYXB0aXZlIGRyb3Agd2hlbiB3ZSBhcmUgbm90IGxpdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5NgoKMjAxNC0xMS0xMCAyMjozNDozOSArMDEwMCAgSGVubmluZyBIZWlub2xkIDxoZW5uaW5nQGl0Y29uc3VsdGluZy1oZWlub2xkLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnB5OgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgZXhhbXBsZXM6IHBvcnQgcHl0aG9uIHJ0cCBQQ01BIGNsaWVudC9zZXJ2ZXIgdGVzdHMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5MzAKCjIwMTQtMDYtMDQgMTI6MTE6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHVzaW5nIHRoZSBhcHByb3ByaWF0ZSBBUEkKCSAgVGhpcyBhdm9pZHMgX3NldF9mb3JtYXQgc2V0dGluZyB0aGUgdW5wb3NpdGlvbmVkIGZsYWcgd2hlbiBwYXNzZWQKCSAgTlVMTCBhcyBjaGFubmVsIHBvc2l0aW9ucywgYXMgaXQgd291bGQgbm90IGJlIGNsZWFyZWQgd2hlbiBzZXR0aW5nCgkgIGFjdHVhbCBjaGFubmVsIHBvc2l0aW9ucyBsYXRlci4KCjIwMTQtMTEtMDEgMjI6Mzk6NDEgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnB4OiBtYXJrIGFybnItdHlwZSBwcm9wZXJ0aWVzIGFzIGRlcHJlY2F0ZWQgYW5kIHNldCB0aGVtIHRvIG5vLW9wCgkgIEFSTlIgdHlwZSBjb250cm9sIGluIGxpYnZweCBoYXMgYmVlbiBkZXByZWNhdGVkIHNvIHRoaXMgY29tbWl0IG1hcmsgdGhlCgkgIHZwOGVuYyBhbmQgdnA5ZW5jIGFzc29jaWF0ZWQgcHJvcGVydGllcyBhcyBkZXByZWNhdGVkIGFuZCBjaGFuZ2UgdGhlaXIKCSAgYmVoYXZpb3IgdG8ganVzdCBkaXNwbGF5IGEgd2FybmluZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDc2CgoyMDE0LTExLTEwIDEzOjE2OjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBtYW5hZ2VyOiBUcml2aWFsIHR5cG8gZml4CgoyMDE0LTExLTA5IDExOjA0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IFVzZSBHX0RFRklORV9UWVBFKCkgdG8gcmVnaXN0ZXIgdGhlIHBhZCBpbnN0ZWFkIG9mIG1hbnVhbGx5IHJlZ2lzdGVyaW5nIGl0CgoyMDE0LTExLTA2IDE1OjM3OjI4ICswMTAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIEdzdE1hdHJvc2thbXV4UGFkIGdldF90eXBlKCkgZnVuY3Rpb24gdGhyZWFkLXNhZmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTcyMgoKMjAxNC0xMS0wNyAxNjoxMToyNCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGVycm9yIG1lc3NhZ2UgaWYgYWxsb2NhdG9yIGlzIGFscmVhZHkgYWN0aXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3ODkKCjIwMTQtMTEtMDYgMjE6MjE6NDAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgYnVmZmVyIHZhbGlkYXRpb24KCSAgSW1wcm92ZSBidWZmZXIgdmFsaWRhdGlvbiBieSBtYWtpbmcgc3VyZSBlYWNoIG1lbW9yeSBhcmUgdGhlIHJpZ2h0CgkgIG9uZSBhbmQgdGhhdCBlYWNoIG1lbW9yeSBpcyB3cml0YWJsZS4gVGhpcyBmaXhlcyB0ZWFyaW5nIGlzc3VlcyBpbgoJICBjYXNlIGRvd25zdHJlYW0gdXNlcyBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBvciBvdGhlciB0eXBlCgkgIG9mIEdzdEJ1ZmZlciBjb3B5IHdoZXJlIG1lbW9yeSBhcmUgb25seSByZWZmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk3NTQKCjIwMTQtMTEtMDYgMjE6Mzg6NDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBydHNwOiBmaXggYnVpbGQgaW4gZ3N0LXVuaW5zdGFsbGVkIHNldHVwCgoyMDE0LTEwLTI5IDE4OjQ0OjQzICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBIYW5kbGUgc2VxbnVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzY2CgoyMDE0LTExLTA0IDA4OjE4OjQxICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIHBuZ2RlYzogY2hhbmdlIHBhcnNlIGxvZ2ljCgkgIFJpZ2h0IG5vdyBpbiBwYXJzZSBsb2dpYyB0aGUgc2lnbmF0dXJlIGlzIGNoZWNrZWQgZXZlcnkgdGltZSB0aGUgcGFyc2UgZnVuY3Rpb24KCSAgaXMgY2FsbGVkLCBhbmQgdGhlIHdob2xlIGRhdGEgaXMgdGhlIHNjYW5uZWQgZWFjaCBhbmQgZXZlcnkgdGltZSwgZXZlbiB0aG91Z2ggdGhlCgkgIGRhdGEgaXMgc2Nhbm5lZCBpbiB0aGUgcHJldmlvdXMgaW5zdGFuY2UuIENoYW5naW5nIHRoZSBsb2dpYyBzdWNoIHRoYXQsIHdlIHNraXAKCSAgdGhlIGJ5dGVzIHdoaWNoIGFyZSBhbHJlYWR5IHNjYW5uZWQgaW4gdGhlIHByZXZpb3VzIGluc3RhbmNlcyBvZiBwYXJzZS4gVGhpcwoJICBoZWxwcyBpbiBhdm9pZGluZyBtdWx0aXBsZSBzY2FuIG9mIGFscmVhZHkgc2Nhbm5lZCBkYXRhL3NpZ25hdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzcwOAoKMjAxNC0xMS0wMyAxNToyNjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcmV2ZXJzZSBvcmRlciBvZiBwYXJhbXMgZm9yIGNvbnZlcnRlcgoKMjAxNC0xMS0wMyAxMTo0NDoyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBmaXggdHlwbyBpbiBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTQ5CgoyMDE0LTExLTAyIDIzOjMzOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBmaXggYSBjb3VwbGUgb2YgbWlub3IgbGVha3MKCjIwMTQtMTEtMDIgMTk6NDI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcG9zdCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBmcmFtZXMgZHVlIHRvIFFvUwoKMjAxNC0xMS0wMiAxOToyOTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiBwb3N0IFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGZyYW1lcyBkdWUgdG8gUW9TCgoyMDE0LTExLTAyIDE5OjAyOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdHdlYWsgd3JpdGluZyBhcHAgdGFnIHN0cmluZyBhIGxpdHRsZQoKMjAxNC0xMS0wMiAxNjo1MToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX0RFUFJFQ0FURUQgYW5kICNpZm5kZWYgR1NUX1JFTU9WRV9ERVBSRUNBVEVECgoyMDE0LTExLTAyIDE2OjU4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGRvbid0IHVzZSBkZXByZWNhdGVkIHByb3BlcnR5IGluIGxldmVsIHVuaXQgdGVzdAoKMjAxNC0xMS0wMiAxMzowNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcGxlbWVudCBnZXQvc2V0IGZvciBuZXcgcnR4LW1pbi1yZXRyeS10aW1lb3V0IHByb3BlcnR5CgkgIFByb3BlcnRpZXMgYXJlIHNvIG11Y2ggbW9yZSB1c2VmdWwgaWYgeW91IGNhbiBhY3R1YWxseSBzZXQKCSAgYW5kIGdldCB0aGVpciB2YWx1ZXMuCgoyMDE0LTEwLTMwIDE3OjQxOjE5ICswMDAwICBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBDbGVhbiB1cCBpbnRlcmxhY2Ugc3VwcG9ydAoJICBSYXRoZXIgdGhhbiB0cnkgYW5kIGd1ZXNzIGludGVybGFjZSBzdXBwb3J0IGFzIHBhcnQgb2YgY2hlY2tpbmcgc3VwcG9ydGVkCgkgIHNpemVzLCBsb29rIGZvciBpbnRlcmxhY2Ugc3VwcG9ydCBzcGVjaWZpY2FsbHkgaW4gaXRzIG93biBmdW5jdGlvbi4KCSAgQXMgYSBjbGVhbnVwLCB1c2UgVjRMMl9GSUVMRF9BTlkgd2hlbiBwcm9iaW5nIHNpemVzLCB3aGljaCBzaG91bGQgcmVzdWx0IGluCgkgIHRoZSBkcml2ZXIgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nLgoJICBXaXRoIG15IGNhcHR1cmUgc2V0dXAsIHRoaXMgZ2V0cyBtZSB0aGUgZm9sbG93aW5nIHNhbXBsZSBjYXBzOgoJICBGb3IgMTA4MGkgcmVzb2x1dGlvbjoKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlVWTIsIHdpZHRoPShpbnQpMTkyMCwgaGVpZ2h0PShpbnQpMTA4MCwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpaW50ZXJsZWF2ZWQsIGZyYW1lcmF0ZT0oZnJhY3Rpb24peyAyNS8xLCAzMC8xIH0KCSAgRm9yIDcyMHAgcmVzb2x1dGlvbjoKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlVWTIsIHdpZHRoPShpbnQpMTI4MCwgaGVpZ2h0PShpbnQpNzIwLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylwcm9ncmVzc2l2ZSwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDUwLzEsIDYwLzEgfQoJICBGb3IgNTc2aS9wIHJlc29sdXRpb24gKGJvdGggcG9zc2libGUgYXQgdGhlIHBvaW50IG9mIHF1ZXJ5KToKCSAgdmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKVlVWTIsIHdpZHRoPShpbnQpNzIwLCBoZWlnaHQ9KGludCk1NzYsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXsgcHJvZ3Jlc3NpdmUsIGludGVybGVhdmVkIH0sIGZyYW1lcmF0ZT0oZnJhY3Rpb24peyAyNS8xLCA1MC8xIH0KCSAgVGhpcywgaW4gdHVybiwgbWFrZXMgNTc2aSB3b3JrIGNvcnJlY3RseTsgd2l0aCB0aGUgb2xkIGNvZGUsCgkgIHRoZSBjYXBzIHdvdWxkIGJlIGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlIGZvciBpbnRlcmxhY2VkIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTk0CgoyMDE0LTExLTAxIDEyOjE4OjAyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSAgdnB4OiByZW1vdmUgY29tcGF0aWJpbGl0eSBkZWZpbmVzCgkgIFdlIGFyZSBndWFyYW50ZWVkIHRvIGhhdmUgVlBYX0lNR19GTVRfSTQyMCwgVlBYX1BMQU5FX1ksCgkgIFZQWF9QTEFORV9VIGFuZCBWUFhfUExBTkVfViBhcyB3ZSByZXF1aXJlIGxpYnZweCA+IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDc2CgoyMDE0LTExLTAxIDE1OjMzOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrOiByZW1vdmUgc3VwcG9ydCBmb3IgYW5jaWVudCBBUEkgdmVyc2lvbgoKMjAxNC0xMS0wMSAxMDoxNDozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogVXNlIFZQOCBlbmNvZGluZyBuYW1lCgkgIEJvdGggRmlyZWZveCBhbmQgQ2hyb21lIHVzZXMgVlA4IGFzIHRoZSBlbmNvZGluZyBpbiB0aGVpciBTRFAuCgkgIEFkZGluZyB0aGlzIG5vdyBkZWZhY3RvIHN0YW5kYXJkIG5hbWUgcmVtb3ZlcyB0aGUgbmVlZCBmb3Igc3BlY2lhbAoJICBjYXNlIGluIFNEUCBwYXJzaW5nIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTQtMTEtMDEgMTE6NTk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogZml4IHVwIHRlbXBsYXRlIGNhcHMgc28gd2UgY2FuIG91dHB1dCB0aGUgZGVmYXVsdCBwdCAzMwoJICBBZGQgZml4ZWQgcGF5bG9hZCB0eXBlIGZvciBtcDJ0IHRvIHRlbXBsYXRlIGNhcHMgYXMgd2VsbCwgc28KCSAgb3VyIG91dHB1dCBjYXBzIG1hdGNoIHRoZSBhZHZlcnRpc2VkIGRlZmF1bHQgcHQuIEZpeGVzIGEKCSAgcmVncmVzc2lvbiBmcm9tIDEuMi4KCSAgVGhlcmUncyBzdGlsbCBzb21ldGhpbmcgd3Jvbmcgd2l0aCBjYXBzIG5lZ290aWF0aW9uIHRob3VnaCwKCSAgcnRwbXAydHBheSBwYXlsb2FkPTk2ICEgZmFrZXNpbmsgd2lsbCBub3Qgb3V0cHV0IGNhcHMgd2l0aAoJICBwYXlsb2FkPTk2LgoKMjAxNC0xMC0zMCAxNTozNzozNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1pa2V5IHJlbGF0ZWQgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0MzAKCjIwMTQtMDYtMTAgMTA6MDQ6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgdGltZSB0byBtYXRjaCBjbGlwcGVkIHNhbXBsZXMKCSAgVGhpcyB3aWxsIGxldCBvZ2dtdXggZ2VuZXJhdGUgYSBncmFucG9zIG9uIHRoZSBsYXN0IHBhZ2UgdGhhdCBwcm9wZXJseQoJICByZXByZXNlbnRzIHRoZSBjbGlwcGVkIHNhbXBsZXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLgoKMjAxNC0wNi0xMCAxMDo1OToxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgdGltZSB0byBtYXRjaCBjbGlwcGVkIHNhbXBsZXMKCSAgVGhpcyB3aWxsIGxldCBvZ2dtdXggZ2VuZXJhdGUgYSBncmFucG9zIG9uIHRoZSBsYXN0IHBhZ2UgdGhhdCBwcm9wZXJseQoJICByZXByZXNlbnRzIHRoZSBjbGlwcGVkIHNhbXBsZXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLgoKMjAxNC0xMC0wNyAxNToyOTozMyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjbGVhbmx5IGhhbmRsZSBzdHJlYW1vbiBmYWlsdXJlIGZvciBvdXRwdXQgZGV2aWNlCgkgIE9uIHN0cmVhbW9uIGZhaWx1cmUsIHRoZSBxdWV1ZWQgYnVmZmVyIGlzIG5vdCByZWxlYXNlZCBmcm9tIHRoZQoJICBidWZmZXJwb29sIGNsYXNzIHBvaW50IG9mIHZpZXcgYmVjYXVzZSBpdCBpcyBxdWV1ZWQgdG8gdGhlIGRyaXZlciBhbmQKCSAgdGhlIGZsdXNoIGxvZ2ljIGlzIG5vdCBwZXJmb3JtZWQgc2luY2Ugd2UgYXJlIG5vdCBpbiBzdHJlYW1pbmcgc3RhdGUuCgkgIEl0IGNhdXNlcyB0aGUgdjRsMiBidWZmZXJwb29sIHRvIGFsd2F5cyByZXR1cm4gdGhhdCBzdG9wIG1ldGhvZCBmYWlsZWQKCSAgYW5kIHRvIGxlYWsgdjRsMiBvYmplY3RzIGFuZCBidWZmZXJzLgoJICBUaGlzIGNvbW1pdCBzb2x2ZSB0aGlzIGJ5IHBlcmZvcm1pbmcgdGhlIGZsdXNoIGxvZ2ljIGluIGVycm9yIGNhc2UsIGllCgkgIGZsdXNoaW5nIHRoZSBhbGxvY2F0b3IgYW5kIHJlc3RvcmluZyBxdWV1ZWQgYnVmZmVyIHN0YXRlIHRvIG5vbi1xdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDggMTA6MzE6MjEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogaW1wbGVtZW50IGRpc3Bvc2UgbWV0aG9kCgkgIFVucmVmIG9iamVjdHMgaW4gZGlzcG9zZSBtZXRob2QgcmF0aGVyIHRoYW4gaW4gZmluYWxpemUgaW4gb3JkZXIgdG8KCSAgcHJldmVudCBjaXJjdWxhciByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDggMTA6MzU6MTQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogY2hlY2sgdGhhdCBhbGxvY2F0b3IgaXMgbm9uIG51bGwgd2hlbiBzdG9wcGluZyBwb29sCgkgIE90aGVyd2lzZSwgd2UgY291bGQgZGVyZWZlcmVuY2UgTlVMTCBhbGxvY2F0b3Igd2hlbiB0aGUgc3RvcCBtZXRob2QgaXMKCSAgY2FsbGVkIGJ5IHRoZSBHc3RCdWZmZXJQb29sJ3MgZmluYWxpemUgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTAyCgoyMDE0LTEwLTA5IDEyOjE1OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogSW1wbGVtZW50IHVubG9jay91bmxvY2tfc3RvcAoJICBUaGlzIHdpbGwgcHJldmVudCBkZWFkbG9ja3MsIGJ1dCB3aWxsIGFsc28gcHJvcGVybHkgZmx1c2ggdGhlIHBvb2wgYW5kIGFsbG9jYXRvcgoJICB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlLiBJdCBzaG91bGQgYWxzbyBmaXggaXNzdWVzIHJlcG9ydGVkIG9uIG1haWxpbmcgbGlzdAoJICB3aGVuIHNlZWtpbmcgaXMgcGVyZm9ybWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTUyCgoyMDE0LTEwLTI4IDIxOjMyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICBwdWxzZSwgdjRsMjogYWRkIG1pc3NpbmcgR19FTkRfREVDTFMgaW4gc29tZSBwbGFjZXMKCjIwMTQtMTAtMjcgMTc6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg0ZDA2Y2QgdG8gN2JiMmJjZQoKMjAxNC0xMC0yNyAxMTowODoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggdW5pdCB0ZXN0IG5vdyB0aGF0IHdlIGFsd2F5cyBoYXZlIHByb2ZpbGUvbGV2ZWwgaW4gdGhlIGNhcHMKCjIwMTQtMTAtMjYgMTQ6NTU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgUGFyYWxsZWxpc2UgJ21ha2UgY2hlY2stdmFsZ3JpbmQnCgkgIFNvbWUgb2YgdGhlIFJUUCB1bml0IHRlc3RzIGFyZSB2ZXJ5IGZsYWt5IGFuZCB3aWxsCgkgIGZhaWwgbW9yZSBvZnRlbiB3aXRoIHRoZSBDUFUgbWF4ZWQgb3V0IGZ1bGx5LiBUaG9zZQoJICB0ZXN0cyBuZWVkIHRvIGJlIGZpeGVkIGluIGFueSBjYXNlIHRob3VnaCwgdGhleSBhbHNvCgkgIGZhaWwgb24gc2xvd2VyIG1hY2hpbmVzIGFuZCBhbHNvIG9jY2FzaW9uYWxseSB3aXRoCgkgIG5vcm1hbCAnbWFrZSBjaGVjaycuCgoyMDE0LTEwLTI2IDExOjQ3OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWx3YXlzIHNldCBwcm9maWxlL2xldmVsIG9uIHRoZSBjYXBzCgkgIFdlIGhhdmUgdGhlIGluZm9ybWF0aW9uIGFscmVhZHksIHNvIHdoeSBub3QgdXNlIGl0PwoKMjAxNC0xMC0yNSAxMjozNjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjcmFzaCBvbiBzb21lIDMyLWJpdCBzeXN0ZW1zCgkgIE1ha2Ugc3VyZSB0byBwYXNzIHJpZ2h0IG51bWJlciBvZiBiaXRzIHRvIGdzdF9zdHJ1Y3R1cmVfbmV3KCkKCSAgd2hpY2ggaXMgYSB2YXJhcmcgZnVuY3Rpb24uCgkgIEZpeGVzIGVsZW1lbnRzL3J0cGF1eCB1bml0IHRlc3Qgb24gcHBjMzIuCgoyMDE0LTEwLTI1IDAwOjU2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCByZ3ZvbHVtZSB0ZXN0IG9uIGJpZy1lbmRpYW4gc3lzdGVtcwoKMjAxNC0xMC0yNSAwMDo1MzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICB0ZXN0czogZml4IG11bGF3ZGVjL211bGF3ZW5jIHRlc3QgZm9yIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxNC0xMC0yNCAyMzo0ODozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW50ZXJzZWN0IHJlc3VsdCB3aXRoIGZpbHRlciBjYXBzIGluIGNhcHMgcXVlcnkKCSAgRml4ZXMgY3Jhc2ggaW4gYXVkaW90ZXN0c3JjIGJlY2F1c2Ugb2YgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0CgkgIGdldHRpbmcgbmVnb3RpYXRlZCBvbiBiaWctZW5kaWFuIHN5c3RlbXMgd2l0aAoJICBhdWRpb3Rlc3RzcmMgISBpbnRlcmxlYXZlICEgYXVkaW9jb252ZXJ0ICEgd2F2ZW5jCgoyMDE0LTEwLTIzIDE1OjQ2OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuaDoKCSAgcHVsc2U6IHJlbW92ZSBzb21lIHVudXNlZCB0eXBlZGVmcwoKMjAxNC0xMC0yMiAxNToyODo0NCArMDIwMCAgQW5hbmRhIDxhbmFuZGFAbGF0ZWxpZXIyMy5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBGaXggc2VnZmF1bHQgd2hlbiByZXNldHRpbmcgdGhlIGNvZGVjcyBtdWx0aXBsZSB0aW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzkzCgoyMDE0LTEwLTIyIDIyOjUwOjU0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBUZW1wb3JhcmlseSBkaXNhYmxlIHN0cmVhbSBzdGF0dXMgcG9zdGluZwoJICBXZSBuZWVkIGEgbWVjaGFuaXNtIGluIFB1bHNlQXVkaW8gdG8gYWxsb3cgcnVubmluZyBjb2RlIG91dHNpZGUgdGhlCgkgIG1haW5sb29wIGxvY2suIFRoZW4gd2UnZCBiZSBhYmxlIHRvIHBvc3QgdG8gdGhlIGJ1cyAodGFraW5nIHRoZQoJICBHU1RfT0JKRUNUX0xPQ0spLCB3aXRob3V0IHdvcnJ5aW5nIGFib3V0IGxvY2tpbmcgb3JkZXIgd2l0aCB0aGUgbWFpbmxvb3AKCSAgbG9jaywgd2hpY2ggaXMgdGhlIGN1cnJlbnQgY2F1c2Ugb2YgZGVhZGxvY2tzIHdoaWxlIHRyeWluZyB0byBwb3N0IHRoZQoJICBzdHJlYW0gc3RhdHVzIG1lc3NhZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcxCgoyMDE0LTEwLTIyIDE1OjA0OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGxpbWl0IHRoZSByZXRyeSBmcmVxdWVuY3kKCSAgV2hlbiB0aGUgUlRUIGFuZCBqaXR0ZXIgYXJlIHZlcnkgbG93IChzdWNoIGFzIG9uIGEgbG9jYWwgbmV0d29yayksIHRoZQoJICBjYWxjdWxhdGVkIHJldHJhbnNtaXNzaW9uIHRpbWVvdXQgaXMgdmVyeSBzbWFsbC4gU2V0IHNvbWUgc2Vuc2libGUgbG93ZXIKCSAgYm91bmRhcnkgdG8gdGhlIHRpbWVvdXQgYnkgYWRkaW5nIGEgbmV3IHByb3BlcnR5LiBXZSB1c2UgdGhlIHBhY2tldAoJICBzcGFjaW5nIGFzIGEgbG93ZXIgYm91bmRhcnkgYnkgZGVmYXVsdC4KCjIwMTQtMTAtMjIgMTM6NDA6NTggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGdzdHJ0cGppdHRlcmJ1ZmZlcjogYWRkICJydHgtbWluLWRlbGF5IiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWZ1bCB0byBzZXQgYSBtaW4gdGltZSB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGEKCSAgcmV0cmFuc21pc3Npb24gZXZlbnQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUzNzgKCjIwMTQtMTAtMjIgMTM6Mjk6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogUmVmYWN0b3IgY29kZQoJICBSZWZhY3RvciBzb21lIGNvZGUgZGVhbGluZyB3aXRoIGNhbGN1bGF0aW5nIHZhcmlvdXMgdGltZW91dHMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1Mzc4CgoyMDE0LTEwLTEwIDE5OjUwOjA2ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBmaXggRWFybHkgRmVlZGJhY2sgVHJhbnNtaXNzaW9uCgkgIEluIGVhcmx5IHJldHJhbnNtaXNzaW9uIHdlIGFyZSBhbGxvd2VkIHRvIHNjaGVkdWxlIDEgcmVndWxhciBSVENQIHBhY2tldAoJICBhdCBhbiBlYXJsaWVyIHRpbWUuIFdoZW4gd2UgZG8gdGhhdCwgd2UgbmVlZCB0byBzZXQgYWxsb3dfZWFybHkgdG8gRkFMU0UKCSAgYW5kIGlnbm9yZS9kcm9wIChvciBtZXJnZSkgYWxsIGZ1dHVyZSByZXF1ZXN0cyBmb3IgZWFybHkgdHJhbnNtaXNzaW9uLgoJICBXZSBub3cgZmlyc3QgY2hlY2sgaWYgd2UgY2FuIHNjaGVkdWxlIGFuIGVhcmx5IFJUQ1AgYW5kIGlmIHdlIGNhbiwKCSAgYWN0dWFsbHkgcHJlcGFyZSB0aGUgZGF0YSBmb3IgdGhlIG5leHQgUlRDUCBpbnRlcnZhbC4KCSAgQWZ0ZXIgd2Ugc2VuZCB0aGUgbmV4dCByZWd1bGFyIFJUQ1AgYWZ0ZXIgdGhlIGVhcmx5IFJUQ1AsIHdlIHNldAoJICBhbGxvd19lYXJseSB0byBUUlVFIGFnYWluIHRvIGFsbG93IG1vcmUgZWFybHkgcmVxdWVzdHMuCgkgIFJlbW92ZSB0aGUgY29uZGl0aW9uIGZvciB0aGUgaW1tZWRpYXRlIGZlZWRiYWNrIGZvciBub3cuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgzMTkKCjIwMTQtMTAtMjEgMTM6MDE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE4Yzg5MzkgdG8gODRkMDZjZAoKMjAxNC0xMC0yMSAxMzoxMDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtYWtlIGRlYnVnIGxpbmUgbGVzcyBjb25mdXNpbmcKCjIwMTQtMTAtMjEgMTI6NTg6MTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzYzODhhMSB0byBhOGM4OTM5CgoyMDE0LTA3LTAyIDE3OjUwOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiByZXdvcmsgcmVzeW5jIGhhbmRsaW5nCgkgIEFkZCBhIG5lZWQtcmVzeW5jIHN0YXRlLCB0aGlzIGlzIHdoZW4gd2UgbmVlZCB0byB0cnkgdG8gbG9jayBvbiB0byBhCgkgIHRpbWUvUlRQdGltZSBwYWlyLgoJICBBbHdheXMgY2hlY2sgdGhlIFJUUCB0aW1lc3RhbXBzIGFuZCBpZiB0aGV5IGdvIGJhY2t3YXJkcywgbWFyayBvdXJzZWx2ZXMKCSAgYXMgbmVlZC1yZXN5bmMuCgkgIE9ubHkgcmVzeW5jIHdoZW4gbmVlZC1yZXN5bmMgaXMgVFJVRSBhbmQgd2UgaGF2ZSBhIHZhbGlkIHRpbWUuIE90aGVyd2lzZQoJICB3ZSBrZWVwIHRoZSBvbGQgdmFsdWVzLiBUaGlzIGF2b2lkcyBsb2NraW5nIG9uIHRvIGFuIGludmFsaWQgdGltZSBhbmQKCSAgY2F1c2luZyB1cyB0byB0aW1lc3RhbXAgZXZlcnl0aGluZyB3aXRoIC0xLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDE3CgoyMDE0LTEwLTAzIDE3OjI4OjA2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IGZ1bGwgc3RyZWFtIGNhcHMgb24gaW50ZXJuYWwgc3JjIFRDUCBwYWRzCgkgIFNldCB0aGUgY29tcGxldGUgc3RyZWFtIGNhcHMgb24gdGhlIFRDUCBpbnRlcm5hbCBzcmMgcGFkcy4gT3RoZXJ3aXNlLAoJICBwdGRlbXV4IHdpbGwgbm90IHByb3Blcmx5IGRldGVjdCB0aGUgY2FwcyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4NjgKCjIwMTQtMTAtMTcgMjI6MjM6MjcgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBzZXQgUFJPWFlfQ0FQUyBmbGFnIG9uIHRoZSBzcmMgcGFkCgkgIHJ0cG11eCBiZWhhdmVzIGxpa2UgYSBmdW5uZWwgaW4gdGhhdCBpdCBmb3J3YXJkcyB3aGF0ZXZlciB1cHN0cmVhbSBpcwoJICBzZW5kaW5nIGJ1ZmZlcnMuIFNvIHNldHRpbmcgcHJveHkgY2FwcyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgdGhlCgkgIHVwc3RyZWFtIGRvbid0IGhhdmUgdG8gaGF2ZSBjb21wYXRpYmxlIGNhcHMsIHRodXMgcmVzdWx0aW5nIGluIGFuIGVtcHR5CgkgIGNhcHMgc2V0IGFzIGEgcmVzdWx0IG9mIGEgY2FwcyBxdWVyeS4gSW5zdGVhZCBzZXQgZml4ZWQgY2FwcyBqdXN0CgkgIGFzIGZ1bm5lbCBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzIyCgoyMDE0LTEwLTIwIDExOjU3OjM4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogY3JpdGljYWwgZXJyb3Igd2hlbiBlbGVtZW50IHByb3BlcnRpZXMgc2V0IGFzIG1heC9taW4KCSAgbGVmdCwgcmlnaHQsIHRvcCwgYm90dG9tIGNhbiBiZSBzZXQgZnJvbSByYW5nZSBvZiAtMjE0NzQ4MzY0OCB0byAyMTQ3NDgzNjQ3CgkgIHdoZW4gaSBsYXVuY2ggdGhlIHZpZGVvYm94IGVsZW1lbnQgd2l0aCB0aGF0IHZhbHVlcywgaXQgZ2l2ZXMgYSBjcml0aWNhbCBlcnJvcgoJICAoZ3N0LWNoZWNrLTEuMDoyOTg2OSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3ZhbHVlX3NldF9pbnRfcmFuZ2Vfc3RlcDogYXNzZXJ0aW9uICdzdGFydCA8IGVuZCcgZmFpbGVkCgkgIFRoaXMgaGFwcGVucyBiZWNhdXNlIG1pbiBjYW5ub3QgYmUgZXF1YWwgdG8gbWF4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODM4CgoyMDE0LTEwLTE1IDE3OjQ1OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBSZXZlcnQgInJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQwNmJhOTA1MWY5MDRhN2ViNDgyYzA3YTk3YTE4MjcxNjkxNTg2NjMuCgkgIFRoaXMgYnJlYWtzIHRoZSBidWlsZCwgYXMgaXQgZGVwZW5kcyBvbiBwYXJzZXIgQVBJIGluIC1iYWQuCgoyMDE0LTEwLTE1IDE3OjM0OjUwICswMjAwICBKdXJnZW4gU2xvd2FjayA8anVyZ2VuLnNsb3dhY2tAYmFyY28uY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlcgoKMjAxNC0xMC0wNSAyMToyNDoyNyArMDIwMCAgUGV0ZXIgRy4gQmF1bSA8cGV0ZXJAZHItYmF1bS5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IFN1cHBvcnQgUkY2NCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE0NQoKMjAxNC0xMC0xMSAxMToxODo0MiArMTEwMCAgRGF2aWQgU2Fuc29tZSA8bWVAZGF2aWRzYW5zb21lLmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRG9uJ3QgY2FsbCBpaXJlcXVhbGl6ZXIncyB0cmFuc2Zvcm1faXAgaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBJdCB0cmllcyB0byBtYXAgdGhlIHJlYWQtb25seSBidWZmZXIgd2l0aCBHU1RfTUFQX1JFQURXUklURSBhbmQgY3Jhc2hlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzg4NgoKMjAxNC0xMC0xMCAxODozMDowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IFJlbmFtZSBzZXFudW0tYmFzZSB0byBzZXFudW0tb2Zmc2V0IGluIGNhcHMKCSAgVGhpcyB3YXMgbW9kaWZpZWQgYmFjayBpbiAxLjAgaW4gR3N0UnRwQmFzZVBheWxvYWQKCjIwMTQtMTAtMTAgMTg6MTE6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICBydHBkdG1mc3JjOiBjbG9jay1iYXNlIGFuZCBzZXFudW0tYmFzZSAtPiB0aW1lc3RhbXAtb2Zmc2V0IGFuZCBzZXFudW0tb2Zmc2V0CgkgIFRoZXNlIHdlcmUgcmVuYW1lZCBpbiBHc3RSVFBCYXNlUGF5bG9hZCBpbiAxLjAKCjIwMTQtMTAtMTAgMTc6MzA6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2UgLT4gdGltZXN0YW1wLW9mZnNldCBhbmQgc2VxbnVtLW9mZnNldAoJICBUaGVzZSB3ZXJlIHJlbmFtZWQgaW4gR3N0UlRQQmFzZVBheWxvYWQgaW4gMS4wCgoyMDE0LTEwLTA2IDE0OjIzOjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5jOgoJICBnb29tMmsxOiByZW1vdmluZyBibG9jayBvZiBjb2RlIHRoYXQgZG9lcyBub3RoaW5nCgkgIFRoZSBsb29wIGluIHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uIGlzIG1lYW50IHRvIGNoYW5nZSB0aGUgdmFsdWVzIGluIHRoZQoJICB6Zi0+ZmlyZWRlY1tdIGFycmF5LiBFYWNoIGl0ZXJhdGlvbiB3cml0ZXMgdGhlIHZhbHVlIG9mIGRlY2Mgb250byB0aGUgYXJyeWEsCgkgIGJ1dCBubyBjb25kaXRpb25zIHRoYXQgY2hhbmdlIHRoZSB2YWx1ZSBvZiBkZWNjIGFyZSBldmVyIG1ldCBhbmQgdGhlIGFycmF5IGlzCgkgIGZpbGxlZCB3aXRoIHplcm8gZm9yIGVhY2ggZWxlbWVudC4gV2hpY2ggaXMgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlCgkgIGFycmF5IGJlZm9yZSB0aGUgbG9vcCBiZWdpbnMuCgkgIFRoZSBsb29wIGRvZXMgbm90aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM1MwoKMjAxNC0xMC0wNCAxNzoxNzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGxvZyBhbGwgY2xvY2tfcmF0ZSBjaGFuZ2VzIGFzIHdhcm5pbmdzLgoJICBXZSBuZXZlciBpbml0aWFsaXplIGNsb2NrX3JhdGUgZXhwbGljaXRseSwgdGhlcmVmb3JlIGl0IGlzIDAgYnkgZGVmYXVsdC4gVGhlCgkgIHBhcmFtZXRlciBpcyBhIHVpbnQzMiBhbmQgdGhlIG9ubHkgY2FsbGVyIGVuc3VyZSB0aGF0IGl0IGlzID4wLCB0aGVyZWZvcmUgaXQKCSAgd29uJ3QgYmVjb21lIC0xIGV2ZXIuCgoyMDE0LTEwLTAyIDE0OjI2OjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggbGlmZXRpbWUgb2Ygc3RyZWFtIGhlYWRlcnMgYW5kIHF1ZXVlZCBidWZmZXJzCgkgIFN0cmVhbSBoZWFkZXJzIGFyZSB1cGRhdGVkIHdoZW5ldmVyIDo6c2V0X2NhcHMgaXMgY2FsbGVkLCBzbyB3ZSBjYW4ndCBhc3N1bWUKCSAgdGhleSdsbCBiZSB2YWxpZCBiZWZvcmUgdGhlIG1lc3NhZ2UgYm9keSBpcyB3cml0dGVuIG91dC4gV2UgKmNhbiogYXNzdW1lIHRoYXQKCSAgZm9yIHF1ZXVlZCBidWZmZXJzLCBidXQgU09VUF9NRU1PUllfU1RBVElDIGlzIHN0aWxsIHdyb25nIGZvciB0aG9zZS4KCSAgQWxzbywgYWRkIHNvbWUgZGVidWcgbG9nZ2luZyBmb3Igc3RyZWFtIGhlYWRlciBpbnRlcmFjdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3NzEKCjIwMTQtMTAtMDIgMDM6MjY6MjIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggbWVtb3J5IGxlYWsgd2hlbiBwcmVwZW5kaW5nIEFEVFMgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzYxCgoyMDE0LTA5LTIzIDEwOjQ4OjA5ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBpbnRlcmxlYXZlIHNhbXBsZXMgZm9sbG93aW5nIHRoZSBEZWZhdWx0IENoYW5uZWwgT3JkZXJpbmcKCSAgSW4gb3JkZXIgdG8gaGF2ZSBhIGZ1bGwgbWFwcGluZyBiZXR3ZWVuIGNoYW5uZWwgcG9zaXRpb25zIGluIHRoZSBhdWRpbwoJICBzdHJlYW0gYW5kIGxvdWRzcGVha2VyIHBvc2l0aW9ucywgdGhlIGNoYW5uZWwtbWFzayBhbG9uZSBpcyBub3QgZW5vdWdoOgoJICB0aGUgY2hhbm5lbHMgbXVzdCBiZSBpbnRlcmxlYXZlZCBmb2xsb3dpbmcgc29tZSBEZWZhdWx0IENoYW5uZWwgT3JkZXJpbmcKCSAgYXMgbWVudGlvbmVkIGluIHRoZSBXQVZFRk9STUFURVhURU5TSUJMRVsxXSBzcGVjaWZpY2F0aW9uLgoJICBBcyBhIERlZmF1bHQgQ2hhbm5lbCBPcmRlcmluZyB1c2UgdGhlIG9uZSBpbXBsaWVkIGJ5CgkgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIHdoaWNoIGZvbGxvd3MgdGhlIG9yZGVyaW5nIGRlZmluZWQgaW4gU01QVEUKCSAgMjAzNi0yLTIwMDhbMl0uCgkgIE5PVEUgdGhhdCB0aGUgcmVsYXRpdmUgb3JkZXIgaW4gdGhlIFRvcCBMYXllciBpcyBub3QgZXhhY3RseSB0aGUgc2FtZSBhcwoJICB0aGUgb25lIGZyb20gdGhlIFdBVkVGT1JNQVRFWFRFTlNJQkxFWzFdIHNwZWNpZmljYXRpb247IGxldCdzIGhvcGUgdXNlcnMKCSAgdXNpbmcgc28gbWF5IGNoYW5uZWxzIGFyZSBhbHJlYWR5IGF3YXJlIG9mIHN1Y2ggZGlzY3JlcGFuY2llcy4KCSAgWzFdIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2hhcmR3YXJlL2RuNjUzMzA4JTI4dj12cy44NSUyOS5hc3B4CgkgIFsyXSBodHRwOi8vd3d3Lml0dS5pbnQvZG1zX3B1Yi9pdHUtci9vcGIvcmVwL1ItUkVQLUJTLjIxNTktMi0yMDExLVBERi1FLnBkZgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzEyNwoKMjAxNC0xMC0wMiAxMDoxMDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogU2VuZCBDQVBTIGV2ZW50IGFmdGVyIHRoZSBwYWQgd2FzIGFjdGl2YXRlZAoJICBPdGhlcndpc2UgdGhlIENBUFMgZXZlbnQgd2lsbCBiZSBkcm9wcGVkIGFuZCB3ZSBuZXZlciBjb25maWd1cmUgYW55IGNhcHMgYXQKCSAgYWxsLCBsZWFkaW5nIHRvIHdlaXJkIGJlaGF2aW91ciBpbiBtYW55IHNpdHVhdGlvbnMuIEVzcGVjaWFsbHkgaGVhZGVyCgkgIHJld3JpdGluZyBpcyBub3QgZ29pbmcgdG8gd29yayBpZiBhIGNhcHNmaWx0ZXIgaXMgYWZ0ZXIgd2F2ZW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzM1CgoyMDE0LTEwLTAxIDIzOjEyOjMwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBBZGQgc29tZSBtb3JlIHVzZWZ1bCBkZWJ1ZyBsb2dnaW5nCgoyMDE0LTEwLTAxIDIzOjA1OjAzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGcmVlIHF1ZXVlZCBidWZmZXJzIGluIDo6cmVzZXQKCSAgOjpyZW5kZXIgc2V0cyBhIG5ldyBjYWxsYmFjayBmb3Igd3JpdGluZyBvdXQgbmV3IGJ1ZmZlcnMgb25seSBpZiB0aGVyZSBhcmVuJ3QKCSAgYWxyZWFkeSBidWZmZXJzIHF1ZXVlZCBmb3Igd3JpdGluZyB3aXRoIGEgcHJldmlvdXNseS1zY2hlZHVsZWQgY2FsbGJhY2suCgkgIEhvd2V2ZXIsIGlmIHRoZSBwcmV2aW91c2x5LXNjaGVkdWxlZCBjYWxsYmFjayBpcyBpbnRlcnJ1cHRlZCBieSBhIHN0YXRlIGNoYW5nZQoJICAoZWl0aGVyIG1hbnVhbGx5IG9yIGR1ZSB0byBhbiBlcnJvcikgYW5kIHRoZXJlIGFyZSBzdGlsbCBidWZmZXJzIGluIHRoZSBxdWV1ZSwKCSAgcmVzdGFydGluZyB0aGUgcGlwZWxpbmUgd2lsbCByZXN1bHQgaW4gYnVmZmVycyBiZWluZyBxdWV1ZWQgZm9yZXZlciwgYW5kIG5vCgkgIGNhbGxiYWNrcyB3aWxsIGV2ZXIgYmUgc2NoZWR1bGVkLCBhbmQgbm8gYnVmZmVycyB3aWxsIGJlIHdyaXR0ZW4gb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzM5CgoyMDE0LTEwLTAxIDE3OjI5OjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWN0dWFsbHkgdXNlIHRoZSBjb3JyZWN0IEdzdFZpZGVvSW5mbyBmb3IgY29udmVyc2lvbgoKMjAxNC0xMC0wMSAxNzoyNDo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFJldmVydCB0aGUgbGFzdCBjb21taXQgYW5kIGhhbmRsZSByZXNvbHV0aW9ucyBkaWZmZXJlbmNlcyBwcm9wZXJseQoJICBUaGlzIGlzIGFib3V0IGNvbnZlcnRpbmcgdGhlIGZvcm1hdCwgbm90IGFib3V0IGNvbnZlcnRpbmcgYW55IHdpZHRocyBhbmQKCSAgaGVpZ2h0cy4gU3ViY2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gaGFuZGxlciBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgdGhlbXNlbHZlcywKCSAgbGlrZSB0aGUgdmlkZW9taXhlcnMgYWxyZWFkeSBkbyBwcm9wZXJseS4KCjIwMTQtMTAtMDEgMTc6MTI6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBHc3RWaWRlb0NvbnZlcnRlciBjdXJyZW50bHkgY2FuJ3QgcmVzY2FsZSBhbmQgd2lsbCBhc3NlcnQKCSAgTGVhZHMgdG8gdWdseSBhc3NlcnRpb25zIGluc3RlYWQgb2YgcHJvcGVybHkgZXJyb3Jpbmcgb3V0OgoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXc6IGFzc2VydGlvbiAnaW5faW5mby0+d2lkdGggPT0gb3V0X2luZm8tPndpZHRoJyBmYWlsZWQKCjIwMTQtMDktMzAgMTE6MzU6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDhlbmMvdnA5ZW5jOiBQcm90ZWN0IHRoZSBlbmNvZGVyIHdpdGggYSBtdXRleCBpbiBhbGwgc2l0dWF0aW9ucwoKMjAxNC0wOS0zMCAxMTozMTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYzMjkKCjIwMTQtMDktMzAgMTE6Mjg6MzkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpbmlzaCgpIGFuZCBkcmFpbigpIHNob3VsZCByZXR1cm4gYSBHc3RGbG93UmV0dXJuCgoyMDE0LTAzLTE0IDEyOjU5OjAyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMyOQoKMjAxNC0wOS0yOSAxMTo0OTo0NSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IGNvbG9yc3BhY2UgZm9yIG91dHB1dCBkZXZpY2VzCgkgIFdoZW4gdGhlIHY0bDIgZGV2aWNlIGlzIGFuIG91dHB1dCBkZXZpY2UsIHRoZSBhcHBsaWNhdGlvbiBzaGFsbCBzZXQgdGhlCgkgIGNvbG9yc3BhY2UuIFNvIG1hcCBHU3RyZWFtZXIgY29sb3JpbWV0cnkgaW5mbyB0byBWNEwyIGNvbG9yc3BhY2UgYW5kIHNldAoJICBvbiBzZXRfZm9ybWF0LiBJbiBjYXNlIHdlIGhhdmUgbm8gY29sb3JpbWV0cnkgaW5mb3JtYXRpb24sIHdlIHRyeSB0bwoJICBndWVzcyBpdCBhY2NvcmRpbmcgdG8gcGl4ZWwgZm9ybWF0IGFuZCB2aWRlbyBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTc5CgoyMDE0LTA5LTI5IDIyOjQ4OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHRocmVhZGluZyBhbmQgc3luY2hyb25pc2F0aW9uCgkgIFRoaXMgZ2l2ZXMgYSBxdWljayBpbnRyb2R1Y3Rpb24gdG8gaG93IHRoZSBwdWxzZXNpbmsvcHVsc2VzcmMgY29kZQoJICBpbnRlcmFjdHMgd2l0aCB0aGUgcGFfdGhyZWFkZWRfbWFpbmxvb3AgdGhhdCB3ZSBzdGFydCB1cCB0byBjb21tdW5pY2F0ZQoJICB3aXRoIHRoZSBzZXJ2ZXIuCgoyMDE0LTA5LTI5IDIwOjE4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIGVtaXR0aW5nIHN0cmVhbSBzdGF0dXMgbWVzc2FnZXMgc3luY2hyb25vdXMKCSAgVGhlIHN0cmVhbSBzdGF0dXMgbWVzc2FnZXMgYXJlIGVtaXR0ZWQgaW4gdGhlIFBBIG1haW5sb29wIHRocmVhZCwgd2hpY2gKCSAgbWVhbnMgdGhlIG1haW5sb29wIGxvY2sgaXMgdGFrZW4sIGZvbGxvd2VkIGJ5IHRoZSBHc3Qgb2JqZWN0IGxvY2sgKGJ5CgkgIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSgpKS4gSW4gYWxsIG90aGVyIGxvY2F0aW9ucywgdGhlIG9yZGVyIG9mCgkgIGxvY2tpbmcgaXMgcmV2ZXJzZWQgKHRoaXMgaXMgdW5hdm9pZGFibGUgaW4gYSBidW5jaCBvZiBjYXNlcyB3aGVyZSB0aGUKCSAgb2JqZWN0IGxvY2sgaXMgdGFrZW4gYnkgR3N0QmFzZVNpbmsgb3IgR3N0QXVkaW9CYXNlU2luaywgYW5kIHRoZW4gd2UgZ2V0CgkgIGNvbnRyb2wgdG8gdGFrZSB0aGUgbWFpbmxvb3AgbG9jaykuCgkgIFRoZSBvbmx5IHdheSB0byBndWFyYW50ZWUgdGhhdCB0aGUgZGVmZXIgY2FsbGJhY2sgZm9yIHN0cmVhbSBzdGF0dXMKCSAgbWVzc2FnZXMgZG9lc24ndCBkZWFkbG9jayBpcyB0byBlaXRoZXIgc3RvcCBwb3N0aW5nIHRob3NlIG1lc3NhZ2VzLCBvcgoJICBtYWtlIHN1cmUgdGhhdCB0aGUgbWVzc2FnZSBlbWlzc2lvbiBpcyBjb21wbGV0ZWQgYmVmb3JlIHdlIHByb2NlZWQgdG8KCSAgYW55IHBvaW50IHRoYXQgbWlnaHQgdGFrZSB0aGUgb2JqZWN0IGxvY2sgYmVmb3JlIHRoZSBtYWlubG9vcCBsb2NrCgkgICh3aGljaCBpcyB3aGF0IHdlIGRvIGFmdGVyIHRoaXMgcGF0Y2gpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcxCgoyMDE0LTA5LTE2IDEyOjEyOjQ5ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcHJpbnQgY2hhbm5lbCBtYXNrcyBpbiBoZXhhZGVjaW1hbAoKMjAxNC0wOS0yNyAxNjowMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5oOgoJICB2NGwyOiByZW1vdmUgcmVkdW5kYW50IHN0cnVjdCBkZWNsYXJhdGlvbgoKMjAxNC0wOS0yNiAxMzo0NjoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdHJ0c3BzcmMuYzo3OTM5OjExOiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdFNEUFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdFJUU1BSZXN1bHQnIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICByZXMgPSBnc3Rfc2RwX21lc3NhZ2VfbmV3ICgmc2RwKTsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RydHNwc3JjLmM6Nzk0NDoxMTogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdHc3RTRFBSZXN1bHQnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RSVFNQUmVzdWx0JyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcmVzID0gZ3N0X3NkcF9tZXNzYWdlX3BhcnNlX3VyaSAodXJpLCBzZHApOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNC0wOS0yNSAxNTowMToxNCArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFrZSBkZW11eGVyIHJldXNhYmxlCgkgIFJlbW92ZSBwYWRzIGZyb20gZmxvdyBjb21iaW5lciBhbmQgcmVzZXQgbGFzdAoJICBmbG93IHJldHVybiB0byBGTE9XX09LIGJ5IHJlc2V0dGluZyB0aGUgZmxvdyBjb21iaW5lci4KCSAgVGhpcyBwcmV2ZW50cyBGTE9XX0ZMVVNISU5HIHdoZW4gdHJ5aW5nIHRvIHJlLXVzZSB0aGUKCSAgZGVtdXhlciBhZnRlciBzZXR0aW5nIGl0IGJhY2sgdG8gTlVMTC9SRUFEWSBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzM1OQoKMjAxNC0wOS0yNCAxNjo0NjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSB2aWRlbyBsaWJyYXJ5IGNvZGUgaW5zdGVhZCBvZiBjb3B5CgoyMDE0LTA5LTE4IDE2OjM5OjE5ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBBZGRlZCBpbmRleCBjaGVjayBiZWZvcmUgdXNpbmcgdGhlIGluZGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzgKCjIwMTQtMDktMjMgMjM6MzM6MzcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEbyBub3QgaW5mZXIgRFRTIG9uIGJ1ZmZlcnMgZnJvbSBzcGFyc2Ugc3RyZWFtcy4KCSAgRFRTIGRlbHRhIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHNhbXBsZSBkdXJhdGlvbi4gSWYgYnVmZmVyIGhhcyBtaXNzaW5nIERUUywgd2UgdGFrZSBlaXRoZXIgc2VnbWVudCBzdGFydCBvciBwcmV2aW91cyBidWZmZXIgZW5kIHRpbWUsIHdoaWNoZXZlciBpcyBsYXRlci4KCSAgVGhpcyBtdXN0IG9ubHkgYmUgZG9uZSBmb3Igbm9uIHNwYXJzZSBzdHJlYW1zLCBzcGFyc2Ugc3RyZWFtcyBjYW4gaGF2ZSBnYXBzIGJldHdlZW4gYnVmZmVycyAod2hpY2ggaXMgaGFuZGxlZCBsYXRlciBieSBhZGRpbmcgZXh0cmEgZW1wdHkgYnVmZmVyIHdpdGggZHVyYXRpb24gdGhhdCBmaWxscyB0aGUgZ2FwKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTE4IDE3OjA4OjM3ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL2lmcy5jOgoJICBnb29tOiBDbGFyaWZpZWQgcHJlY2VkZW5jZSBiZXR3ZWVuICUgYW5kID8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4NwoKMjAxNC0wOS0xOCAxNzo1OTozMSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGNsYXJpZnkgZXhwcmVzc2lvbiBzbyBvcGVyYXRvciBwcmVjZWRlbmNlIGlzIGNsZWFyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MDMKCjIwMTQtMDktMTggMTY6MDQ6MDMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgTWlzY2VsbGFuZW91cyBtaW5vciBjbGVhbnVwcwoJICBGaXggcmVkdW5kYW50IHZhcmlhYmxlcyBhbmQgYXNzaWdubWVudHMsCgkgIGFuZCB1bnJlYWNoYWJsZSBicmVha3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODg4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODkzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTQKCjIwMTQtMDktMjQgMDA6MTI6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5NwoKMjAxNC0wOS0yMyAyMjo1NTo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogT25seSBjYWxjdWxhdGUgd2l0aCBkdXJhdGlvbnMgIT0gLTEKCjIwMTQtMDktMjMgMTk6MDg6NDggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBjb2xsZWN0IHBhZCBmb3Igc3BhcnNlIHN0cmVhbSBzaG91bGQgYmUgY3JlYXRlZCB3aXRoIGxvY2sgc2V0IHRvIGZhbHNlCgkgIEF2b2lkcyB3YWl0aW5nIGZvciBidWZmZXJzIGZyb20gc3BhcnNlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0yMyAxOTowNzoyNSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBzdWJ0aXRsZSBidWZmZXIgZHVyYXRpb24gYW5kIHN0cmlwIG51bGwgdGVybWluYXRpb24KCSAgU3RyaXAgdGhlIFwwIG9mZiB0aGUgc3VidGl0bGUgYXMgd2UgYWxyZWFkeSBrbm93IHRoZSBzaXplIGFuZCBhbHNvIHJlbWVtYmVyCgkgIHRvIHNldCB0aGUgZHVyYXRpb24gYXMgYnVmZmVyIGNvcHlpbmcgZG9lc24ndCBkbyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzA5NQoKMjAxNC0wOS0yMyAxOTowNjoxOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgcXRtdXg6IG1vdmUgc3VidGl0bGUgbGF5ZXIgYWJvdmUgdmlkZW8gYW5kIHNldCBhbHRlcm5hdGUgZ3JvdXAKCSAgbGF5ZXIgLTEgaXMgYWJvdmUgdmlkZW8sIHRoYXQgaXMgMAoJICBBbmQgaGF2aW5nIGFsbCBzdWJ0aXRsZXMgaW4gYWx0ZXJuYXRlIGdyb3VwIDIgbWVhbnMgdGhhdCBvbmx5IG9uZQoJICBzaG91bGQgYmUgc2VsZWN0ZWQgYXQgYSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTIzIDA5OjQ3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2svc291cDogVGVtcG9yYXJpbHkgZGlzYWJsZSBHX0VOQUJMRV9ESUFHTk9TVElDCgkgIFRoZSBTT1VQX1NFUlZFUl9QT1JUIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gcmVjZW50IGxpYnNvdXAKCSAgdmVyc2lvbnMuCgoyMDE0LTA5LTIzIDA5OjQzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2svc291cDogRGVmaW5lIG1pbmltdW0gdmVyc2lvbiByZXF1aXJlZAoJICBUbyBhdm9pZCBkZXByZWNhdGlvbiB3YXJuaW5ncwoKMjAxNC0wOS0xOSAxOToxNDoyOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBIYW5kbGUgbXA0YSB3aXRob3V0IEVTRFMgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTg2CgoyMDE0LTA5LTIyIDE2OjE1OjI3ICswMjAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IGJ1aWxkIHByb2JsZW0gd2l0aG91dCBYRklYRVMKCjIwMTQtMDktMTkgMTQ6MzQ6MTMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZWQgdW51c2VkIHN0cnVjdHVyZSBtZW1iZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODMKCjIwMTQtMDktMTEgMTM6NDg6NDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiBmaXggd3JvbmcgREFSIGNhbGN1bGF0aW9uIGZvciBQQVIgPD0gMQoJICBDSUQgIzEyMjY0NTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM5NgoKMjAxNC0wOS0xOCAxNjo1OTo1MiArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogUmVtb3ZlZCB1bnJlYWNoYWJsZSBicmVhayBzdGF0ZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODQKCjIwMTQtMDktMTcgMTY6Mzc6MTEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBub3QgbGVhayBlbmNzaW5rIHBhZCBpbiBlcnJvciBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4MDcKCjIwMTQtMDktMTcgMTY6MjM6MjEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBkbyBub3QgbGVhayBuZXcgc3RyZWFtIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4MDUKCjIwMTQtMDktMTUgMDk6MDg6MTggKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBwb3J0IHk0bWVuYyB0byB1c2UgR3N0VmlkZW9FbmNvZGVyIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTA4NQoKMjAxNC0wOS0xNyAxMzo1NToxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9yZW1vdGVpby5jOgoJICBvc3hhdWRpbzogT1NTdGF0dXMgaXMgbm90IGEgZm91cmNjLCBzbyBkb24ndCBwcmludCBpdCBhcyBvbmUuLi4KCjIwMTQtMDktMTYgMTQ6MjY6MDggKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRvIG5vdCBsZWFrIHVpZCBhZnRlciBwYXJzaW5nIFRPQyBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzM5CgoyMDE0LTA5LTE2IDIyOjQ3OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBEZWNsYXJlIHNvbWUgbW9yZSByZXF1aXJlZCBjYXBzIGZpZWxkcyBpbiB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzCgkgIE5vdyBvbmx5IG1pc3NpbmcgYXJlIHdpZHRoIGFuZCBoZWlnaHQsIHdoaWNoIGFyZSBleHByZXNzZWQgYXMgc3RyaW5ncwoJICBmb3IgUlRQLi4uIHNvIHdlIGNhbid0IHB1dCB0aGVtIGludG8gdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDE0LTA5LTE2IDE2OjQ2OjA3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSAgZ2RrcGl4YnVmZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAxMToyNjoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhbmQgdXNlIGNvcnJlY3QgZGVjb2RlciB2YXJpYWJsZSBuYW1lCgoyMDE0LTA5LTE2IDExOjI1OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA5LTE2IDEzOjI0OjE1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2dkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDEzOjIzOjE2ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTUgMTQ6Mzk6NDEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB4aW1hZ2VzcmM6IFJlbW92ZSB1bnVzZWQgc2NyZWVuLW51bSBwcm9wZXJ0eQoJICBUaGUgc2NyZWVuIG51bWJlciBjYW4gYmUgc3RpbGwgc3BlY2lmaWVkIGFzIHBhcnQgb2YgdGhlIGRpc3BsYXktbmFtZQoJICBwcm9wZXJ0eSAoZS5nLiBmb3Igc2NyZWVuIDEgb2YgZGlzcGxheSAwIHVzZSBkaXNwbGF5LW5hbWU9IjowLjEiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEyMgoKMjAxNC0wOS0wNCAxNjoxMDo1MSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IERyYXcgdGhlIGN1cnNvciBvbmx5IHdoZW4gaXQgaXMgYWN0aXZlIGluIHRoZSBjYXB0dXJpbmcgcmVnaW9uCgkgIFVzZSBYUXVlcnlQb2ludGVyIHRvIGNoZWNrIHRoYXQgdGhlIHBvaW50ZXIgaXMgYWN0dWFsbHkgYWN0aXZlIGluc2lkZQoJICB0aGUgY2FwdHVyaW5nIHJlZ2lvbi4KCSAgVGhpcyBwcmV2ZW50cyBkcmF3aW5nIHRoZSBjdXJzb3Igd2hlbiB0aGUgcG9pbnRlciBpcyBwYXJ0aWFsbHkgb3V0c2lkZQoJICBvZiB0aGUgY2FwdHVyZWQgcmVnaW9uIGJ1dCBub3QgYWN0aXZlIGluc2lkZSB0aGUgcmVnaW9uOyBpbiBwYXJ0aWN1bGFyCgkgIHRoaXMgYXZvaWRzIGRyYXdpbmcgdGhlICJ3aW5kb3cgcmVzaXplIiBjdXJzb3Igc2hhcGVzIHRvIHRoZSBjYXB0dXJlZAoJICBpbWFnZSB3aGVuIHRoZSBtb3VzZSBwb2ludGVyIGNyb3NzZXMgYSB3aW5kb3cgYm9yZGVyLgoJICBOT1RFIHRoYXQgdGhpcyBpcyBub3Qgb25seSBhbiBvcHRpbWl6YXRpb24sIHRoaXMgYWxzbyBoYXBwZW4gdG8gZml4CgkgIGEgc2VyaW91cyBwcm9ibGVtIGluIG11bHRpLXNjcmVlbiBzZXR1cHMuCgkgIEJlY2F1c2UgWEZpeGVzIGdpdmVzIG5vIGluZm9ybWF0aW9uIG9mIHdoYXQgc2NyZWVuIHRoZSBwb2ludGVyIGlzIG9uLAoJICB4aW1hZ2VzcmMgd2FzIGFsd2F5cyBkcmF3aW5nIHRoZSBjdXJzb3Igb24gdGhlIGNhcHR1cmVkIHNjcmVlbiBldmVuIGlmCgkgIHRoZSBtb3VzZSBwb2ludGVyIHdhcyBvbiBhbm90aGVyIHNjcmVlbi4KCSAgRm9yIGV4YW1wbGUsIHdoZW4gY2FwdHVyaW5nIGZyb20gc2NyZWVuIDEgKGkuZS4gZGlzcGxheS1uYW1lPSI6MC4xIikgdGhlCgkgIGN1cnNvciB3YXMgZHJhd24gaW4gdGhlIGNhcHR1cmVkIGltYWdlIGV2ZW4gd2hlbiB0aGUgbW91c2UgcG9pbnRlciB3YXMKCSAgYWN0dWFsbHkgb24gc2NyZWVuIDAsIHdoaWNoIGlzIHdyb25nIGFuZCB2aXN1YWxseSBjb25mdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2NDYKCjIwMTQtMDktMDUgMTE6MzM6MzEgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggZHJhd2luZyB0aGUgY3Vyc29yIHdoZW4gaXQgaXMgb3V0c2lkZSB0aGUgY2FwdHVyaW5nIHJlZ2lvbgoJICBXaGVuIHRoZSBjdXJzb3IgaXMgcGFydGlhbGx5IG9yIHRvdGFsbHkgb3V0IG9mIHRoZSBjYXB0dXJpbmcgcmVnaW9uIG9uCgkgIHRoZSB0b3Agc2lkZSBvciBvbiB0aGUgbGVmdCBzaWRlLCBpdCBnZXRzIGRyYXduIGZ1bGx5IGluc2lkZSBvZiB0aGUKCSAgcmVnaW9uIHdpdGggaXRzIGNvb3JkaW5hdGVzIHJvdW5kZWQgdXAgdG8gdGhlIGxlZnQgb3IgdG8gdGhlIHRvcCBib3JkZXIuCgkgIFRoaXMgaXMgaW1tZWRpYXRlbHkgbm90aWNlYWJsZSB3aGVuIHVzaW5nIHRoZSB4aWQgcHJvcGVydHkgdG8gY2FwdHVyZQoJICBhIHNwZWNpZmljIHdpbmRvdy4KCSAgVG8gZml4IHRoZSBpc3N1ZSwgYWxsb3cgbmVnYXRpdmUgY3ggYW5kIGN4IGNvb3JkaW5hdGVzIHdoZW4gY2hlY2tpbmcgdGhlCgkgIGJvdW5kYXJpZXMgYmVmb3JlIGRyYXdpbmcgdGhlIGN1cnNvci4KCSAgTk9URSB0aGF0IHRoZSBib3VuZGFyaWVzIGNoZWNraW5nIGNhbGN1bGF0aW9ucyBzdGlsbCBhbGxvd3MgdGhlIGN1cnNvcgoJICB0byBiZSBkcmF3biB3aGVuIGl0IGlzIG9ubHkgcGFydGlhbGx5IG91dHNpZGUgb2YgdGhlIGNhcHR1cmluZyByZWdpb24sCgkgIGJ1dCB0aGlzIG1ha2VzIHNlbnNlIGFuZCBnaXZlcyBhIG1vcmUgcGxlYXNpbmcgdmlzdWFsIGJlaGF2aW91ci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDY0NgoKMjAxNC0wOS0wNSAwMDoxNTozMCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IEZpeCB0aGUgZGVzdGluYXRpb24gY29vcmRpbmF0ZXMgb2YgdGhlIGN1cnNvcgoJICBYRml4ZXMgcHJvdmlkZXMgdGhlIGN1cnNvciBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgcm9vdCB3aW5kb3csIHRoaXMKCSAgaXMgbm90IHRha2VuIGludG8gYWNjb3VudCB3aGVuIHVzaW5nIHRoZSB4aWQgcHJvcGVydHkgdG8gY2FwdHVyZQoJICBhIHNwZWNpZmljIHdpbmRvdywgdGhlIHJlc3VsdCBpcyB0aGF0IHRoZSBjdXJzb3IgZ2V0cyBkcmF3biBhdCB0aGUgd3JvbmcKCSAgcG9zaXRpb24uCgkgIEluIG9yZGVyIHRvIGZpeCB0aGlzIGNvbnNpZGVyIHRoZSB3aW5kb3cgbG9jYXRpb24gd2hlbiBjYWxjdWxhdGluZyB0aGUKCSAgY3Vyc29yIHBvc2l0aW9uIGluIHRoZSBkZXN0aW5hdGlvbiBpbWFnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDY0NgoKMjAxNC0wOS0xNSAxNDo1MToyNCArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxwZXRlckBrb3JzZ2FhcmQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBPX0NMT0VYRUMgbmVlZHMgX0dOVV9TT1VSQ0UKCSAgU2ltaWxhciB0byA5NGYzZDZmYyAvIGJ6IDcwOTQyMwoJICBPbiBzb21lIHN5c3RlbXMgKEUuRy4gdUNsaWJjIGFuZCBvbGRlciBHbGliYyB2ZXJzaW9ucyksIE9fQ0xPRVhFQyBpcyBvbmx5CgkgIGRlZmluZWQgd2hlbiBfR05VX1NPVVJDRSBpcyBzcGVjaWZpZWQsIHNvIGRvIHNvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NjcwCgoyMDE0LTA5LTE1IDE4OjExOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogdXBkYXRlIHRvIDEuMCB0cmFuc2Zvcm1fY2FwcyBzZW1hdGljcwoJICBJbiAxLjAsIHdlIHBhc3MgdGhlIGNvbXBsZXRlIGNhcHMgdG8gdHJhbnNmb3JtX2NhcHMgdG8gYWxsb3cgZm9yIGJldHRlcgoJICBvcHRpbWl6YXRpb25zLiBNYWtlIHRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgd29yayBvbiBub24tc2ltcGxlIGNhcHMKCSAgaW5zdGVhZCBvZiBqdXN0IGlnbm9yaW5nIHRoZSBjb25maWd1cmVkIGZpbHRlciBjYXBzLgoKMjAxNC0wOS0wOCAxNDowNjowMCArMDIwMCAgUGV0ZXIgRy4gQmF1bSA8cGV0ZXJAZHItYmF1bS5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IHVzZSBXQVZFX0ZPUk1BVF9FWFRFTlNJQkxFIGZvciBtb3JlIHRoYW4gMiBjaGFubmVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDQ0CgoyMDE0LTA5LTEyIDE1OjA2OjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggcGFyc2luZyBvZiBhZHRsIGNodW5rcwoJICBXZSBoYXZlIHRvIHNraXAgMTIgYnl0ZXMgb2YgZGF0YSBmb3IgdGhlIGNodW5rLCBhbmQgdGhlIGRhdGEgc2l6ZQoJICBwYXNzZWQgdG8gdGhlIHN1Yi1jaHVuayBwYXJzaW5nIGZ1bmN0aW9ucyBzaG91bGQgaGF2ZSA0IGJ5dGVzIGxlc3MKCSAgdGhhbiB0aGUgZGF0YSBzaXplLgoJICBBbHNvIHdoZW4gcGFyc2luZyB0aGUgc3ViLWNodW5rcywgY2hlY2sgaWYgd2UgYWN0dWFsbHkgaGF2ZSBlbm91Z2gKCSAgZGF0YSB0byByZWFkIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI2NgoKMjAxNC0wOS0xMiAxMDo1NToyMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGluY2x1ZGUgc3RyaW5nLmggZm9yIG1lbWNtcCBhbmQgbWVtc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTI4CgoyMDE0LTA5LTEyIDEzOjM2OjE4ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGJpdHdpc2UgT1IgdGhlIHNhbWUgZmxhZyB0d2ljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNjU0MwoKMjAxNC0wOS0xMiAxMDozNTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgcmVhbCBhdWRpbyAyOF84CgkgIEZpeGVzIGR1cGxpY2F0ZSBjaGVjayBmb3IgMTRfNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzY1NDMKCjIwMTQtMDktMTEgMTQ6NDY6MDkgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvbid0IE9SIHRoZSBzYW1lIGZsYWcgdHdpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ2MgoKMjAxNC0wOS0xMSAxMjo1MjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJZiB0aGUgc2VydmVyIHJlcG9ydHMgIkFjY2VwdC1SYW5nZXM6IG5vbmUiIGRvbid0IHRyeSByYW5nZSByZXF1ZXN0cwoKMjAxNC0wOS0xMCAwOTo1MDo0NSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBVbnJlZiBwb29sIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzODQKCjIwMTQtMDktMDkgMTk6MDM6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBEb24ndCByYW5rIGl0IGZvciBub3cKCSAgVGhpcyB3aWxsIHByZXZlbnQgdGhlIGNvbnZlcnRlciB0byBiZSBwaWNrZWQgYXV0b21hdGljYWxseSBpbiBjYXNlCgkgIHNvbWVvbmUgaW1wbGVtZW50IGR5bmFtaWMgY29udmVydGVyIHNlbGVjdGlvbiBzdXBwb3J0LiBJJ2QgbGlrZSB0aGlzCgkgIHRvIGJlIHJhbmtlZCBvbmx5IGZvciBrbm93biBkZXZpY2UsIGFzIGl0J3MgaGFyZCB0byBiZSBzdXJlIGEgZGV2aWNlIGlzCgkgIGEgY29udmVydGVyIHN1aXRlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlLiBSZS1uZWdvdGlhdGlvbiBpcyBhbHNvIG5lZWRlZAoJICBiZWZvcmUgd2UgY2FuIHJhbmsgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2MDcKCjIwMTQtMDktMDUgMDg6Mjk6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IERldGVjdCBiYWQgZHJpdmVycyB0aW1lc3RhbXBzCgkgIEV2ZW4gdGhvdWdoIHRoZSBVVkMgZHJpdmVyIGRvIGEgZ3JlYXQgZGVhbCBvZiBlZmZvcnQgdG8gcHJldmVudCBiYWQKCSAgdGltZXN0YW1wIHRvIGJlIHNlbnQgdG8gdXNlcnNwYWNlLCB0aGVyZSBzdGlsbCBleGlzdCBVVkMgaGFyZHdhcmUgdGhhdAoJICBhcmUgc28gYnVnZ3kgdGhhdCB0aGUgdGltZXN0YW1wIGVuZHVwIG5lYXJseSByYW5kb20uIFRoaXMgY29kZSBkZXRlY3QKCSAgYW5kIGlnbm9yZSB0aW1lc3RhbXAgZnJvbSB0aGVzZSBkcml2ZXJzLCBtYWtpbmcgdGhlc2UgY2FtZXJhIHVzYWJsZS4KCSAgVGhpcyBoYXMgYmVlbiB0ZXN0ZWQgb24gYm90aCBpbnZhbGlkIGFuZCB2YWxpZCBjYW1lcmFzLCBtYWtpbmcgc3VyZSBpdAoJICBkb2VzIG5vdCB0cmlnZ2VyIGZvciB2YWxpZCBjYW1lcmFzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTEwCgoyMDE0LTA4LTI5IDE3OjA5OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFdvcmthcm91bmQgZHJpdmVyIHRoYXQgZG9uJ3Qgc3VwcG9ydCBSRVFCVUZTKDApCgkgIFRoZXJlIGlzIHN0aWxsIGFyb3VuZCAxOCBkcml2ZXJzIG5vdCB5ZXQgcG9ydGVkIHRvIHZpZGVvYnVmMi4gVGhlc2UgZHJpdmVyCgkgIGRvbid0IHN1cHBvcnQgZnJlZWluZyBidWZmZXRycyB0aHJvdWdoIFJFUUJVRlMoMCkgaGVuY2UgZm9yIHRoZXNlIHRoZQoJICBtZW1vcnkgdHlwZSBwcm9iaW5nIGZhaWxzLiBJbiBvcmRlciB0byBnYWluIGJhY2sgb3VyIHByZXZpb3VzIGJlaGF2aW91ciBpbgoJICBwcmVzZW5jZSBvZiB0aGVzZSwgd2UgaW1wbGVtZW50IGEgd29ya2Fyb3VuZCB0aGF0IGFzc3VtaW5nIE1NQVAgaXMKCSAgc3VwcG9ydGVkLiBOb3RlIHRoYXQgYW4gYWxsb2NhdG9yIGlzIG9ubHkgY3JlYXRlZCBmb3IgZGV2aWNlIHdpdGgKCSAgU1RSRUFNSU5HIHN1cHBvcnQgaW4gdGhlIGRldmljZSBjYXBhYmlsaXRpZXMuIEluIHN1Y2ggY2FzZSBvbmUgb2YgTU1BUCwKCSAgVVNFUlBUUiBhbmQgRE1BQlVGIGlzIHJlcXVpcmVkLiBUaG91Z2ggRE1BQlVGIGNhbWUgYWZ0ZXJ3YXJkLCBzbyBpcwoJICBub3QgYW4gb3B0aW9uIGFuZCBpbiBwcmFjdGljZSBub25lIG9mIHRoZXNlIGRyaXZlcnMgd2lsbCBvbmx5IGRvIFVTRVJQVFIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCSAgQWxzby1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCjIwMTQtMDktMDQgMTU6MTE6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBNZXJnZSBtaW5fYnVmZmVyc19mb3IqIHZhcmlhYmxlIGludG8gb25lCgkgIFJldXNlIHRoZSBzYW1lIG1pbl9idWZmZXJzIHZhcmlhYmxlIGZvciBib3RoIGNhcHR1cmUgYW5kIG91dHB1dCwgdGhpcwoJICByZWR1Y2UgdGhlIGxlbmd0aCBvZiBsaW5lcyBhbmQgbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcyCgoyMDE0LTA5LTA0IDE4OjM1OjQ2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IHNldCBtaW5fbGF0ZW5jeSBmb3Igb3V0cHV0IGRldmljZSBhY2NvcmRpbmcgdG8gcmVxdWlyZWQgbWluaW11bSBudW1iZXIgb2YgYnVmZmVycwoJICBTaW5jZSB3ZSBjYW4gZ2V0IHRoZSBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzIG5lZWRlZCBieSBhbiBvdXRwdXQKCSAgZGV2aWNlIHRvIHdvcmssIHVzZSBpdCB0byBzZXQgbWluX2xhdGVuY3kgd2hpY2ggd2lsbCBkZXRlcm1pbmUgaG93IG1hbnkKCSAgYnVmZmVycyBhcmUgcXVldWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDcyCgoyMDE0LTA5LTA5IDE2OjEwOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IGFkZCBjaGVjayB0byBtYWtlIHN1cmUgbXVsdGlwbGUgbWVtb3J5IGNodW5rcyBhcmUgdXNlZAoKMjAxNC0wOS0wOSAxNTo1NToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiB3YWl0IGZvciBidWZmZXJzIHdpdGggR0NvbmQgaW5zdGVhZCBvZiBzbGVlcGluZwoJICBBdm9pZHMgaGFsZi1zZWNvbmQgc2xlZXAgZm9yIG5vIHJlYXNvbi4KCjIwMTQtMDktMDkgMTU6MzE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogc3BsaXQgb3V0IHNvY2tldCBzZXR1cAoKMjAxNC0wOS0wOSAxMzo0Njo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogbW9yZSBlZmZpY2llbnQgbWVtb3J5IGhhbmRsaW5nCgkgIERyb3AgdXNlIG9mIGdfc29ja2V0X2dldF9hdmFpbGFibGVfYnl0ZXMoKSB3aGljaCBpcwoJICBub3QgdXNlZnVsIG9uIGFsbCBzeXN0ZW1zICh3aGVyZSBpdCByZXR1cm5zIHRoZSBzaXplCgkgIG9mIHRoZSBlbnRpcmUgYnVmZmVyIG5vdCB0aGF0IG9mIHRoZSBuZXh0IHBlbmRpbmcKCSAgcGFja2V0KSwgYW5kIGlzIHlldCBhbm90aGVyIHN5c2NhbGwgYW5kIGFwcGFyZW50bHkKCSAgdmVyeSBpbmVmZmljaWVudCBvbiBXaW5kb3dzIGluIHRoZSBVRFAgY2FzZS4KCSAgSW5zdGVhZCwgd2hlbiByZWFkaW5nIFVEUCBwYWNrZXRzLCB1c2UgdGhlIG1vcmUgZmVhdHVyZWZ1bAoJICBnX3NvY2tldF9yZWNlaXZlX21lc3NhZ2UoKSBjYWxsIHRoYXQgYWxsb3dzIHRvIHJlYWQgaW50bwoJICBzY2F0dGVyZWQgbWVtb3J5LCBhbmQgYWxsb2NhdGUgb25lIG1lbW9yeSBjaHVuayB3aGljaCBpcwoJICBsaWtlbHkgdG8gYmUgbGFyZ2UgZW5vdWdoIGZvciBhIHBhY2tldCwgd2hpbGUgYWxzbyBwcm92aWRpbmcKCSAgYSBsYXJnZXIgYWxsb2NhdGVkIG1lbW9yeSBjaHVuayBqdXN0IGluIGNhc2UgdGhlIHBhY2tldAoJICBpcyBsYXJnZXIgdGhhbiBleHBlY3RlZC4gSWYgdGhlIHJlY2VpdmVkIGRhdGEgZml0cyBpbnRvIHRoZQoJICBmaXJzdCBjaHVuaywgd2UnbGwganVzdCBhZGQgdGhhdCB0byB0aGUgYnVmZmVyIHdlIHJldHVybgoJICBhbmQgcmUtdXNlIHRoZSBmYWxsYmFjayBidWZmZXIgZm9yIG5leHQgdGltZSwgb3RoZXJ3aXNlIHdlCgkgIGFkZCBib3RoIGNodW5rcyB0byB0aGUgYnVmZmVyLgoJICBUaGlzIHJlZHVjZXMgbWVtb3J5IHdhc3RlIG1vcmUgcmVsaWFibHkgb24gc3lzdGVtcyB3aGVyZQoJICBnZXRfYXZhaWxhYmxlX2J5dGVzKCkgZG9lc24ndCB3b3JrIHByb3Blcmx5LgoJICBJbiBhIG11bHRpbWVkaWEgc3RyZWFtaW5nIHNjZW5hcmlvLCBpbmNvbWluZyBVRFAgcGFja2V0cwoJICBhcmUgYWxtb3N0IG5ldmVyIGZyYWdtZW50ZWQgYW5kIHRodXMgYWxtb3N0IGFsd2F5cyBzbWFsbGVyCgkgIHRoYW4gdGhlIE1UVSBzaXplLCB3aGljaCBpcyBhbHNvIHdoeSB3ZSBkb24ndCB0cnkgdG8gZG8KCSAgc29tZXRoaW5nIHNtYXJ0ZXIgd2l0aCBtb3JlIGZhbGxiYWNrIG1lbW9yeSBjaHVua3Mgb2YKCSAgZGlmZmVyZW50IHNpemVzLiBUaGUgZmFsbGJhY2sgc2NlbmFyaW8gaXMganVzdCBmb3Igd2hlbgoJICBzb21lb25lIGJ1aWx0IGEgYnJva2VuIHNlbmRlciBwaXBlbGluZSAobm90IHVzaW5nIGEKCSAgcGF5bG9hZGVyIG9yIHNvbWVzdWNoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzY0CgoyMDE0LTA5LTA5IDEyOjE1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiByZXdvcmsgbWVtb3J5IGFsbG9jYXRpb24gYml0cyBhbmQgZW5zdXJlIHdlIGFsd2F5cyBoYXZlIHR3byBjaHVua3Mgb2YgbWVtb3JpZXMgdG8gcmVhZCBpbnRvCgkgIEZpcnN0IGNodW5rIGlzIHRoZSBsaWtlbHkvZXhwZWN0ZWQgYnVmZmVyIHNpemUsIHNlY29uZCBpcyBhcwoJICBmYWxsYmFjayBpbiBjYXNlIHRoZSBwYWNrZXQgaXMgbGFyZ2VyIGluIHRoZSBlbmQuCgkgIE5leHQgc3RlcDogYWN0dWFsbHkgdXNlIHRoZXNlLgoKMjAxNC0wOS0wOSAwOTo0MjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogdHJhY2sgbWF4IHBhY2tldCBzaXplIGFuZCBzYXZlIGFsbG9jYXRvciBuZWdvdGlhdGVkIGJ5IEdzdEJhc2VTcmMKCjIwMTQtMDktMDggMTY6MTU6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBmaXggZXhhbXBsZSBjb21tYW5kIGxpbmUKCjIwMTQtMDktMDcgMTI6NDY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY3Jhc2ggd2l0aCBjZXJ0YWluIHZpZGVvcwoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIDEuMiBjYXVzZWQgYnkgdGhlIHBvcnQKCSAgdG8gdGhlIHBhZCBmbG93IGNvbWJpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTkyCgoyMDE0LTA5LTA0IDE2OjIxOjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYS1kZW11eDogRG9uJ3QgaGFuZGxlIHBhcnNlIGVycm9ycyBhdCB0aGUgZW5kIG9mIGZpbGUgYXMgYW4gZXJyb3IKCSAgQnV0IG9ubHkgaWYgdGhleSBoYXBwZW4gYWZ0ZXIgdGhlIE1hdHJvc2thIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4MzMKCjIwMTQtMDktMDQgMTI6MTQ6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSW5jbHVkZSByZWRpcmVjdGlvbiB0YXJnZXQgaW4gZXJyb3IgbWVzc2FnZXMKCSAgSnVzdCBnaXZpbmcgdGhlIG9yaWdpbmFsIFVSSSBjYW4gZ2l2ZSB0aGUgZmFsc2UgaW1wcmVzc2lvbiB0aGF0IGUuZy4KCSAgdGhhdCBvbmUgZmFpbGVkIGhvc3QgbmFtZSByZXNvbHV0aW9uLCB3aGlsZSBhY3R1YWxseSB0aGUgcmVkaXJlY3Rpb24gdGFyZ2V0CgkgIGRpZC4KCjIwMTQtMDktMDIgMTE6MTM6NDQgKzA0MDAgIEFuZHJlaSBTYXJha2VldiA8c2FyYWt1c2hhQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzeW5jaHJvbml6YXRpb24gaWYgZHluYW1pY2FsbHkgY2hhbmdpbmcgdGhlIEZQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODU5CgoyMDE0LTA5LTAyIDEzOjUyOjQzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogQ2hlY2sgaWYgaW5wdXQgY2FwcyBhcmUgdGhlIHNhbWUgYW5kIGNyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIHZpZGVvIGluZm8KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgYWxzbyBwcm9wZXJ0aWVzIGxpa2UgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBhcmUgdGhlIHNhbWUKCSAgYmV0d2VlbiBib3RoIHN0cmVhbXMgYW5kIHRoYXQgdGhlIG91dHB1dCBjYXBzIGNvbnRhaW4gYWxsIGZpZWxkcyBuZWNlc3NhcnkgZm9yCgkgIGNvbXBsZXRlIHZpZGVvIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4MDQKCjIwMTQtMDktMDIgMTc6MjI6MDcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiByZXBsYWNlIHdpdGggZ3N0X2J1ZmZlcl9jb3B5CgkgIGdzdF9idWZmZXJfcmVmIGFuZCBnc3RfYnVmZmVyX3dyaXRhYmxlIGlzIGJlaW5nIHVzZWQgdG8gY3JlYXRlIGEgd3JpdGFibGUgY29weSBvZiBzb3VyY2UgYnVmZmVyLgoJICByZXBsYWNpbmcgdGhlIHNhbWUgd2l0aCBnc3RfYnVmZmVyX2NvcHkgYXMgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTg4MAoKMjAxNC0wOS0wMyAyMzowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXJrIGpwZWcgYW5kIHBuZyBhcyBwYXJzZWQgc28gYXZkZWNfbWpwZWcgY2FuIGJlIHVzZWQgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU5NzEKCjIwMTQtMDktMDMgMTE6NDY6MTMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogZnJlZSBxdWVyeSBhZnRlciB1c2UKCSAgSW4gZ3N0X2dka19waXhidWZfZGVjX3NldHVwX3Bvb2woKSwgcXVlcnkgaXMgYmVpbmcgYWxsb2NhdGVkIHVzaW5nCgkgIGdzdF9xdWVyeV9uZXdfYWxsb2NhdGlvbigpLCBidXQgdGhlIHNhbWUgaXMgbm90IHVucmVmZXJlbmNlZAoJICBoZW5jZSBjYWxsaW5nIGdzdF9xdWVyeV91bnJlZigpIGFmdGVyIHVzYWdlIG9mIHF1ZXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1OTUwCgoyMDE0LTA5LTAzIDIzOjQ2OjM0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogU2lsZW5jZSBzb21lIHdhcm5pbmdzIGZvciBub3JtYWwgZmlsZSBjb250ZW50cwoKMjAxNC0wOS0wMSAwOTo1NjowMiArMDIwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBwYXJzaW5nIGlzc3VlIHdoZW4gdGhlIGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGEgY29tcGxldGUgQURUUy9MT0FTIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1MjAKCjIwMTQtMDktMDIgMDk6MDk6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEdldCBpbnB1dCB3aWR0aC9oZWlnaHQgZnJvbSB0aGUgY29kZWMgaW5zdGVhZCBvZiB0aGUgaW5wdXQgY2FwcwoJICBUaGV5IGFyZSByZXBvcnRlZCBwcm9wZXJseSBieSBsaWJ2cHggaWYgdGhlIGNvcnJlY3Qgc3RydWN0IG1lbWJlcnMgYXJlIHVzZWQuCgkgIFRoaXMgYWxzbyBmaXhlcyBoYW5kbGluZyBvZiByZXNvbHV0aW9uIGNoYW5nZXMgd2l0aG91dCBpbnB1dCBjYXBzIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkzNTkKCjIwMTMtMTAtMjIgMTg6NDk6MjIgKzAxMDAgIFRvbSBHcmVlbndvb2QgPHRjZGdyZWVud29vZEBob3RtYWlsLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGZvciBoYW5kbGluZyByZXNvbHV0aW9uIGNoYW5nZXMgd2hlbiBkZWNvZGluZyBWUDgKCSAgSWYgdGhlIHJlc29sdXRpb24gY2hhbmdlcyBpbiB0aGUgYml0c3RyZWFtIHdpdGhvdXQgdGhlIGlucHV0IGNhcHMgY2hhbmdpbmcgd2UKCSAgd291bGQgcHJldmlvdXNseSBvdXRwdXQgY29ycnVwdGVkIHZpZGVvIG9yIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5MzU5CgoyMDE0LTA5LTAyIDAwOjU1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IEZpeCBzZWdmYXVsdCB3aGVuIGEgbmV3IGNhcHMgaXMgcmVjZWl2ZWQKCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIG91dHB1dCBjYXBzIHdoZW4gYSBuZXcgY2FwcyBldmVudCBpcyByZWNlaXZlZAoJICBhcyBpdCBzaG91bGQgZ2VuZXJhdGUgYSBuZXcgb25lIGJhc2VkIG9uIHRoZSBuZXcgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NgoKMjAxNC0wOS0wMiAwMDo1NDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHRlc3RzOiB2cDhkZWM6IGFkZCB0ZXN0IGZvciBjYXBzIHJlbmVnb3RpYXRpb24KCSAgQ2hlY2sgdGhhdCB2cDhkZWMgY2FuIHByb3Blcmx5IGFjY2VwdCBhIG5ldyBjYXBzIHdoZW4gdXBzdHJlYW0KCSAgY2hhbmdlcyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA4LTA1IDEwOjM0OjM5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBSZXNldCBvdXRwdXQgYW5kIGlucHV0IHN0YXRlcyB3aGVuIGNoYW5naW5nIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA5LTAxIDE2OjM5OjIzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogRG9uJ3QgY2FsbCBnc3RfY2Fwc191bnJlZigpIG9uIHRlbXBsYXRlIGNhcHMgd2hlbiBhbHJlYWR5IHVucmVmZXJlbmNlZAoJICBBZGRpbmcgYW4gZXh0cmEgY29uZGl0aW9uIHdoaWxlIGNhbGxpbmcgZ3N0X2NhcHNfdW5yZWYgKHRlbXBsKQoJICBhbmQgcmVwbGFjaW5nIGdzdF9jYXBzX21ha2Vfd3JpdGFibGUgKGdzdF9jYXBzX3JlZiAoY2FwcykpIHdpdGgKCSAgZ3N0X2NhcHNfY29weSAoY2FwcykgaW4gbGluZSAxNzcsIHNpbmNlIHRoZSBmdW5jdGlvbmFsaXR5IGlzIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU3OTUKCjIwMTQtMDgtMjkgMTI6MDE6MjcgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGdldF9uZWFyZXN0X3NpemU6IEZpeCAiVW5zdXBwb3J0ZWQgZmllbGQgdHlwZSIgZXJyb3JzCgkgIE1vc3QgVjRMMiBpb2N0bHMgbGlrZSB0cnlfZm10IHdpbGwgYWRqdXN0IGlucHV0IGZpZWxkcyB0byBtYXRjaCB3aGF0IHRoZQoJICBoYXJkd2FyZSBjYW4gZG8gcmF0aGVyIHRoZW4gcmV0dXJuaW5nIC1FSU5WQUwuIEFzIGlzIGRvY21lbnRlZCBoZXJlOgoJICBodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC1kdmItYXBpcy92aWRpb2MtZy1mbXQuaHRtbAoJICBFSU5WQUwgaXMgb25seSByZXR1cm5lZCBpZiB0aGUgYnVmZmVyIHR5cGUgZmllbGQgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkLgoJICBTbyB1cG9uIHJlcXVlc3RpbmcgVjRMMl9GSUVMRF9OT05FIGRldmljZXMgd2hpY2ggY2FuIG9ubHkgZG8gaW50ZXJsYWNlZAoJICBtb2RlIHdpbGwgY2hhbmdlIHRoZSBmaWVsZCB2YWx1ZSB0byBlLmcuIFY0TDJfRklFTERfQk9UVE9NIGFzIG9ubHkgcmV0dXJuaW5nCgkgIGhhbGYgdGhlIGxpbmVzIGlzIHRoZSBjbG9zZXN0IHRoZXkgY2FuIGRvIHRvIHByb2dyZXNzaXZlIG1vZGVzLgoJICBJbiBlc3NlbmNlIHRoaXMgbWVhbnMgdGhhdCB3ZSd2ZSBmYWlsZWQgdG8gZ2V0IGEgKHVzYWJsZSkgcHJvZ2Vzc2l2ZSBtb2RlCgkgIGFuZCBzaG91bGQgZmFsbCBiYWNrIHRvIGludGVybGFjZWQgbW9kZS4KCSAgVGhpcyBjb21taXQgYWRkcyBhIGNoZWNrIGZvciBoYXZpbmcgZ290dGVuIGEgdXNhYmxlIGZpZWxkIHZhbHVlIGFmdGVyIHRoZSBmaXJzdAoJICB0cnlfZm10LCB0byBmb3JjZSBmYWxsYmFjayB0byBpbnRlcmxhY2VkIG1vZGUgZXZlbiBpZiB0aGUgdHJ5X2ZtdCBzdWNjZWVkZWQsCgkgIHRoZXJlYnkgZml4aW5nIGdldF9uZWFyZXN0X3NpemUgZmFpbGluZyBvbiB0aGVzZSBkZXZpY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYwCgoyMDE0LTA4LTI5IDEwOjU3OjIwICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBnZXRfbmVhcmVzdF9zaXplOiBBbHdheXMgcmVpbml0IGFsbCBzdHJ1Y3QgZmllbGRzIG9uIHJldHJ5CgkgIFRoZXkgbWF5IGhhdmUgYmVlbiBtb2RpZmllZCBieSB0aGUgaW9jdGwgZXZlbiBpZiBpdCBmYWlsZWQuIFRoaXMgYWxzbyBtYWtlcwoJICB0aGUgU19GTVQgZmFsbGJhY2sgcGF0aCB0cnkgcHJvZ3Jlc3NpdmUgZmlyc3QsIG1ha2luZyBpdCBjb25zaXN0ZW50IHdpdGggdGhlCgkgIHByZWZlcnJlZCBUUllfRk1UIHBhdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCjIwMTQtMDgtMjkgMTE6NTU6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFN0b3JlIHNpemUgb2YgZGF0YSB0YWcgaW4gYSA2NCBiaXQgaW50ZWdlciBsb2NhbGx5IHRvbwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjbGlwIHRoZSBEUzY0IHZhbHVlIG9mIFJGNjQgZmlsZXMgdG8gMzIgYml0cyBhZ2Fpbi4KCjIwMTQtMDgtMjkgMTE6NTM6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVzZSA2NCBiaXQgc2NhbGluZyBmdW5jdGlvbnMgbm93IHRoYXQgZmFjdCBpcyBhIDY0IGJpdCBpbnRlZ2VyCgoyMDE0LTA4LTI3IDE4OjU1OjE4ICswMjAwICBQZXRlciBHLiBCYXVtIDxwZXRlckBkci1iYXVtLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IHN1cHBvcnQgcmY2NCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTYyNwoKMjAxNC0wOC0yOCAxMzo0ODo1MCAtMDYwMCAgSmFzb24gTGl0emluZ2VyIDxqbGl0emluZ2VyQGNvbnRyb2w0LmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IEVuc3VyZSBjYXBzIGJlZm9yZSBwYWQgYWRkZWQuCgkgIFRoaXMgc3RvcmVzIHRoZSBzdHJlYW0tc3RhcnQsIHNldHMgY2FwcywgYW5kIHRoZW4gYWRkcyB0aGUgcGFkLAoJICB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIGNhcHMgYXJlIHNldCBmb3IgdGhlICJwYWQtYWRkZWQiIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjI2CgoyMDE0LTA4LTI4IDE1OjAzOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRmFsbGJhY2sgdG8gUFRTIGlmIERUUyBpcyBtaXNzaW5nCgkgIEZpeGluZyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlIHdoZW4gZml4aW5nOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA4LTI4IDE2OjEzOjI5ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIGltcG9zc2libGUgZXJyb3IgY29uZGl0aW9uCgkgIFdlIHJldHVybiBFT1MgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlciwgYW5kIEdzdFBhZCB3aWxsIG1ha2Ugc3VyZSBub3cgdGhhdCB3ZQoJICB3b24ndCBnZXQgYW55IG90aGVyIGJ1ZmZlciBhZnRlcndhcmRzIHVudGlsIGEgZmx1c2ggaGFwcGVucy4gTm8gbmVlZCB0byBjaGVjawoJICBmb3IgaXQgb3Vyc2VsdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTgxCgoyMDE0LTA4LTI4IDEzOjUzOjIzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJICBnZGtwaXhidWZkZWM6IEVPUyBhbmQgTk9UX0xJTktFRCBhcmUgbm8gZXJyb3JzIGluIGdlbmVyYWwKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciB0aGVtIGJ1dCBsZXQgdXBzdHJlYW0gaGFuZGxlCgkgIGFueXRoaW5nIGFjY29yZGluZ2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTY0CgoyMDE0LTA4LTI3IDIxOjA3OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IENvcnJlY3RseSBvZmZzZXQgdGltZXN0YW1wCgkgIFRoZSBwcmV2aW91cyBtZXRob2Qgd291bGQgYnJlYWsgQVYgc3luYyBpbiB0aGUgY2FzZSBhdWRpbyBvciB2aWRlbwoJICBkaWRuJ3Qgc3RhcnQgYXQgdGhlIHNhbWUgcG9pbnQgaW4gcnVubmluZyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA4LTI3IDIwOjU2OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFNhdmUgZHRzIGZyb20gYnVmZmVyCgkgIFdlIG5vIGxvbmdlciBzZXQgZHRzIGluIG11eGVkIGJ1ZmZlci4gVGhpcyB3b3VsZCBsZWFkIHRvIGVuY29kaW5nIHRhZ3MKCSAgd2l0aCB0aW1lc3RhbXAgMCBpbnN0ZWFkIG9mIHRoZSB0aW1lc3RhbXAgb2YgcHJldmlvdXMgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA3LTI4IDIwOjU4OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogRW5zdXJlIFRpbWVzdGFtcCBzdGFydHMgYXQgMAoJICBGTFYgZG9jdW1lbnRhdGlvbiBzdGlwdWxhdGVzIHRoYXQgdGltZXN0YW1wIG11c3Qgc3RhcnQgYXQgemVyby4KCSAgSW4gb3JkZXIgdG8gcmVzcGVjdCB0aGlzIHJ1bGUsIGtlZXAgdGhlIGZpcnN0IHRpbWVzdGFtcCBhcm91bmQKCSAgYW5kIG9mZnNldCB0aGUgdGltZXN0YW1wIGZyb20gdGhpcyB2YWx1ZS4gVGhpcyBhbGxvdyBmb3IgbG9uZ2VyCgkgIHJlY29yZGluZyB0aW1lIGluIHByZXNlbmNlIG9mIHRpbWVzdGFtcCB0aGF0IGRvZXMgbm90IHN0YXJ0CgkgIGF0IDAgYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTM1MgoKMjAxNC0wNi0wNiAyMzoxNzo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBUYWcgdGltZXN0YW1wIGFyZSBEVFMgbm90IFBUUwoJICBUaGUgdGFncyBpbiBGTFYgYXJlIERUUy4gSW4gYXVkaW8gY2FzZXMsIGFuZCBmb3IgbWFueSB2aWRlbyBmb3JtYXQgdGhpcyBtYWtlcwoJICBubyBkaWZmZXJlbmNlLCBidXQgZm9yIEFWQyB3aXRoIEItRnJhbWVzLCBQVFMgbmVlZCB0byBiZSBjb21wdXRlZCBmcm9tCgkgIGNvbXBvc2l0aW9uIHRpbWVzdGFtcCBDVFMsIHdpdGggUFRTID0gRFRTICsgQ1RTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA4LTA3IDIxOjU4OjE0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8a2FrYXJvdG9Aa2FrYXJvdG8uaG9tZWxpbnV4Lm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IEFsbG93IHJ0cCBjYXBzIHdpdGhvdXQgY2xvY2stcmF0ZQoJICBUaGUgaml0dGVyYnVmZmVyIHNob3VsZG4ndCBmb3JjZSBjbG9jay1yYXRlIG9uIGl0cyBzaW5rIHBhZCwgdGhpcyB3aWxsIGNhdXNlIGEgbmVnb3RpYXRpb24gaXNzdWUgc2luY2UgcnRwc3NyY2RlbXV4IGRvZXNuJ3QgaGF2ZSB0aGUgY2xvY2stcmF0ZSBhbmQgZG9lc24ndCBhZGQgaXQgdG8gdGhlIGNhcHMuIFRoZSBkb2N1bWVudGF0aW9uIHN0YXRlcyB0aGF0IHRoZSBjbG9jay1yYXRlIGNhbiBlaXRoZXIgYmUgc3BlY2lmaWVkIHRocm91Z2ggdGhlIGNhcHMgb3IgdGhyb3VnaCB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLCBzbyB3ZSBtdXN0IHJlbW92ZSBjbG9jay1yYXRlIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMgYW5kIHdlIG11c3QgYWNjZXB0IHRoZSBHU1RfRVZFTlRfQ0FQUyBpZiB0aGUgY2FwcyBkb24ndCBoYXZlIHRoZSBjbG9jay1yYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MzIyCgoyMDE0LTA4LTE4IDE0OjA1OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgY3Jhc2hpbmcgb24gZGFzaCBzdHJlYW1zCgkgIERBU0gvZnJhZ21lbnRlZCBtb292IG1pZ2h0IGhhdmUgbm8gc2FtcGxlcyBhcyB0aG9zZSBhcmUgY2FycmllZAoJICBpbiBtb29mIGZyYWdtZW50cy4gQXZvaWQgY3Jhc2hpbmcgb3IgZmFpbGluZyB0aGUgc3RyZWFtIGJlY2F1c2UKCSAgb2YgdGhhdC4KCjIwMTQtMDgtMTggMTA6MzM6NDggKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IHVzZSAncG9zdC1tZXNzYWdlcycgcHJvcGVydHkgaW5zdGVhZCBvZiBkZXByZWNhdGVkICdtZXNzYWdlJyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0OTc5CgoyMDE0LTA4LTE4IDExOjQ1OjU0ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZml4IHVkcHNyYyBkb2N1bWVudGF0aW9uCgkgIHVkcHNyYyBndGstZG9jIGRvY3VtZW50YXRpb24gcmVmZXJzIHRvIHNvY2tmZCBhbmQgY2xvc2VmZCBwcm9wZXJ0aWVzIHdoaWNoIGhhcwoJICBiZWVuIHJlbW92ZWQuIFRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhvc2UgcmVmZXJlbmNlcyB0byBzb2NrZXQgYW5kIGNsb3NlLXNvY2tldAoJICByZXNwZWN0aXZlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5ODcKCjIwMTQtMDgtMTUgMTA6MDk6NTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogTWFrZSB0aGUgZGVmYXVsdCB0aW1lc2NhbGUgMS8xODAwIHNlY29uZAoJICBUaGUgb2xkIGRlZmF1bHQgdGltZXNjYWxlIG9mIDEgbWlsbGlzZWNvbmQgcHJvZHVjZXMgaXJyYXRpb25hbAoJICBudW1iZXJzIGZvciBhIGxvdCBvZiBmcmFtZXJhdGUvYXVkaW8tcGFja2V0LWR1cmF0aW9uIG11bHRpcGxlcy4KCSAgMS8xODAwIGlzIGEgbmljZXIgbnVtYmVyLCBhcyBpdCB0ZW5kcyB0byBwcm9kdWNlIGJldHRlciBmcmFjdGlvbnMKCSAgYW5kIHRoZXJlZm9yZSBzbGlnaHRseSBoaWdoZXIgYWNjdXJhY3kgb3ZlcmFsbAoKMjAxNC0wOC0xNSAwMToxNzoyNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnVuY3Rpb24KCSAgUmVtb3ZlIGxvY2FsIGZyYW1lcmF0ZSBndWVzc2luZyBmdW5jdGlvbiBpbiBmYXZvdXIgb2YKCSAgdGhlIG5ldyBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnVuY3Rpb24uCgoyMDE0LTA4LTE1IDAxOjEyOjIwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBJbXByb3ZlIGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi9ndWVzc2luZwoJICBDaGFuZ2UgdGhlIHdheSB0aGUgb3V0cHV0IGZyYW1lcmF0ZSBpcyBjYWxjdWxhdGVkCgkgIHRvIGlnbm9yZSB0aGUgZmlyc3Qgc2FtcGxlICh3aGljaCBpcyBzb21ldGltZXMgdHJ1bmNhdGVkCgkgIGluIG15IHRlc3RpbmcpIGFuZCB1c2UgdGhlIG5ldyBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkKCSAgZnVuY3Rpb24gdG8gcmVjb2duaXNlIGNvbW1vbiBzdGFuZGFyZCBmcmFtZXJhdGVzIGJldHRlci4KCSAgUmVtb3ZlIHRoZSBjb2RlIHRoYXQgd2FzIHNvcnRpbmcgdGhlIGZpcnN0IDIwIHNhbXBsZQoJICBkdXJhdGlvbnMgYW5kIHRoZW4gaWdub3JpbmcgdGhlIHJlc3VsdC4KCjIwMTQtMDgtMTQgMTY6MzY6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBVc2UgdGhlIGJlc3Qgd2lkdGgvaGVpZ2h0L2V0YyBpZiBkb3duc3RyZWFtIGNhbiBoYW5kbGUgdGhhdAoJICBCZWZvcmUgaXQgd2FzIGFsd2F5cyB1c2luZyB3aGF0ZXZlciBkb3duc3RyZWFtIHByZWZlcnJlZCwgd2hpbGUKCSAgdGhlIGNvZGUgYW5kIGRvY3VtZW50YXRpb24gY2xhaW1lZCBzb21ldGhpbmcgZGlmZmVyZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTgwCgoyMDE0LTA4LTE0IDExOjI5OjAwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEF2b2lkIGRvdWJsZSBmcmVlIG9mIFZpZGVvQ29udmVydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NzY0CgoyMDE0LTA4LTEzIDExOjU4OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE0LTA4LTEzIDExOjU0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdW4tYnJlYWsgZHVyYXRpb24gcXVlcnlpbmcKCSAgQ29tbWl0IDJiOTQ5M2I1IGJyb2tlIHRoaXMgaW4gdHdvIHdheXM6IGEpIHdlIHNob3VsZCBvbmx5CgkgIHBhc3MgZHVyYXRpb24gcXVlcmllcyBpbiBUSU1FIGZvcm1hdCB1cHN0cmVhbSAob3IgYXQgbGVhc3QKCSAgbm90IHRob3NlIGluIERFRkFVTFQgb3IgQllURSBmb3JtYXQpLCBhbmQgYikgd2UgbXVzdG4ndAoJICBvdmVyd3JpdGUgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ3JlcycgZnJvbSBUUlVFIHRvIEZBTFNFCgkgIGFuZCBub3Qgc2V0IGl0IGFnYWluIGxhdGVyLiBUaGlzIGxlZCB0byBib2d1cyBkdXJhdGlvbnMKCSAgYmVpbmcgcmVwb3J0ZWQgZm9yIEZMViBwbGF5YmFjayBmcm9tIGZpbGUsIGJlY2F1c2UgVElNRQoJICBxdWVyaWVzIHdvdWxkIGZhaWwgKGFzICdyZXMnIGhhZCBiZWVuIHNldCB0byBGQUxTRSkgYW5kCgkgIHBhcnNlcnMgdGhlbiBkbyBhIEJZVEUgcXVlcnkgYXMgZmFsbGJhY2sgYW5kIHRyeSB0bwoJICBndWVzc3RpbWF0ZSBzb21ldGhpbmcgaW4gcmV0dXJuLCB3aGljaCBvZiBjb3Vyc2UgZ29lcwoJICBob3JyaWJseSB3cm9uZyBzaW5jZSB0aGUgQllURSBzaXplIHJldHVybmVkIGlzIGZvciB0aGUKCSAgbXV4ZWQgZmlsZS4KCjIwMTQtMDgtMTMgMTM6MjM6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWxsb3cgYW55IHJhdyBjYXBzIGluIHBhc3N0aHJvdWdoIG1vZGUsIG5vdCBqdXN0IHRoZSBvbmVzIHdlIGhhbmRsZQoKMjAxNC0wOC0xMyAxMzowNDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBbGxvdyBBTlkgY2Fwc2ZlYXR1cmVzLCBidXQgb25seSBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIFdoZW4gY2hhbmdpbmcgdGhlIHByb3BlcnRpZXMgdG8gbm90IGJlIGluIHBhc3N0aHJvdWdoIG1vZGUgYW55bW9yZSwKCSAgd2Ugd2lsbCBvbmx5IGFjY2VwdCBjYXBzIHdlIGNhbiBwcm9jZXNzIG91cnNlbHZlcywgcG90ZW50aWFsbHkgY2F1c2luZwoJICBhIG5vdC1uZWdvdGlhdGVkIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzQ1CgoyMDE0LTA4LTEyIDExOjM0OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBnaXQKCjIwMTQtMDgtMTIgMTE6MzM6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVpbGQgeGltYWdlc3JjIGFnYWluIHdoZW4gY2hlY2tzIHN1Y2NlZWQKCSAgVGhpcmQgdGltZSBsdWNreSwgaG9wZWZ1bGx5LgoKMjAxNC0wOC0xMSAwOToyNjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggeDExIGNoZWNrcyB0byBiZSBub24tZmF0YWwgYWdhaW4KCSAgTXVzdCBwYXNzIGFuIGFjdGlvbi1pZi1ub3QtZm91bmQgYXJndW1lbnQgdG8KCSAgUEtHX0NIRUNLX01PRFVMRVMgb3IgaXQgd2lsbCBlcnJvciBvdXQgd2hlbgoJICBpdCBjYW4ndCBmaW5kIHRoZSBtb2R1bGUgcmVxdWVzdGVkLiBBbHNvIGZpeAoJICBBQ19DSEVDS19MSUIgdXNhZ2UsIGV4dHJhIGxpYnMgYXJndW1lbnQgd2FzCgkgIGluIHRoZSB3cm9uZyBwbGFjZS4KCjIwMTQtMDgtMDcgMTc6MTI6MzggKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9yd2FyZCBESVNDT05UIGZyb20gdXBzdHJlYW0gdG8gdGhlIG91dHB1dCBzdHJlYW1zCgkgIFRoaXMgbWFrZXMgc2Vuc2UgaW4gREFTSCByZXZlcnNlIHBsYXliYWNrLCB3aGVyZSB0aGUgdXBzdHJlYW0gZGFzaGRlbXV4CgkgIHdpbGwgZG93bmxvYWQgREFTSCBzZWdtZW50cyBpbiByZXZlcnNlIG9yZGVyLCBidXQgcHVzaCB0aGVpciBidWZmZXJzCgkgIGZvcndhcmQgdG8gcXRkZW11eCBhbmQgbWFyayBlYWNoIHNlZ21lbnQgc3RhcnQgYXMgRElTQ09OVC4gVGhpcyBuZWVkcwoJICB0byBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbSB0byB0aGUgcGFyc2VyL2RlY29kZXIsIG90aGVyd2lzZSBpdCB3b24ndCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQzCgoyMDE0LTA4LTEwIDE4OjU1OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCB4MTEgYW5kIHNpbXBsaWZ5IGNoZWNrcwoJICBBQ19QQVRIX1hUUkEgbWFjcm8gdW5uZWNlc3NhcmlseSBwdWxscyBpbiBsaWJTTSBhbmQgbGliSUNFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDQ3CgoyMDE0LTA4LTEwIDEyOjMwOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkanVzdCB0ZXN0IGRhdGEgdG8gYXZvaWQgTkFMIGNob3BwaW5nCgkgIC4uLiBhbmQgY29ycmVzcG9uZGluZ2x5IHVuZXhwZWN0ZWQgYnVmZmVyIHNpemVzLgoKMjAxNC0wOC0wOSAxNDoyMjo0MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBJbXByb3ZlIGFubm90YXRpb24gb2YgaW50ZXJuYWwgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDU0MgoKMjAxNC0wOC0wOCAxMjo1NDozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogVW5yZWYgY2FwcyBhbmQgZWxlbWVudCBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc4CgoyMDE0LTA4LTA5IDIwOjQ3OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZGVidWcgbG9nZ2luZyBvZiBmb3VyY2NzCgkgIElmIHdlIGNhbid0IHNob3cgQVNDSUksIGF0IGxlYXN0IHNob3cgdGhlbQoJICBpbiBiaWcgZW5kaWFuIG9yZGVyLgoKMjAxNC0wOC0wOSAyMDo0NjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ3dtYSAnIG1hcHBpbmcgYXMgZm91bmQgaW4gc29tZSBpc212IGZpbGVzCgkgIGUuZy4gVG9fVGhlX0xpbWl0XzcyMF8yOTYyLmlzbXYKCjIwMTQtMDgtMDkgMTg6MzE6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICd2Yy0xJyBtYXBwaW5nIGFzIGZvdW5kIGluIHNvbWUgaXNtdiBmaWxlcwoJICBlLmcuIFRvX1RoZV9MaW1pdF83MjBfMjk2Mi5pc212CgoyMDE0LTA4LTA3IDE2OjM0OjM2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQzNQoKMjAxNC0wOC0wOCAxMjozNjowMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogVW5yZWYgYWxsb3dlZCBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzQKCjIwMTQtMDgtMDggMTI6NDA6NDkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NQoKMjAxNC0wOC0wOCAxMjo0NDowOSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiBVbnJlZiBwZWVyIHBhZCBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc2CgoyMDE0LTA4LTA4IDEyOjI5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDczCgoyMDE0LTA4LTA1IDExOjQ3OjM5ICswMjAwICBTcmltYW50YSBQYW5kYSA8c3JpbWFudGFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXBwZW5kIHBhY2tldGl6YXRpb24gbW9kZSBwYXJhbWV0ZXIgdG8gU0RQCgkgIEFwcGVuZCBwYWNrZXRpemF0aW9uLW1vZGUgcGFyYW1ldGVyIHRvIFNEUCBkZXNjcmlwdGlvbi4KCSAgUGFja2V0aXphdGlvbiBtb2RlIHNpZ25hbHMgdGhlIHByb3BlcnRpZXMgb2YgYW4gUlRQIHBheWxvYWQgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzU1NgoKMjAxNC0wOC0wOCAwMzo1ODoxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQvcXRtdXg6IFdyaXRlIGNvcnJlY3QgZmlsZSBkdXJhdGlvbiB3aGVuIGdhcHMgZXhpc3QuCgkgIFdoZW4gd3JpdGluZyBvdXQgYSB0cmFrIHdpdGggYW4gZWRpdCBsaXN0LCBtYWtlIHN1cmUgdGhlCgkgIG92ZXJhbGwgZmlsZSBkdXJhdGlvbiBpcyBhbHNvIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUKCSAgbGVuZ3RoZW5pbmcgb2YgdGhlIHN0cmVhbS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyB0byBxdGRlbXV4IHRvIHdhcm4gYWJvdXQgc3RyZWFtcyB0aGF0CgkgIGFyZSBsb25nZXIgdGhhbiB0aGUgZmlsZSBhbmQgZ2V0IHRydW5jYXRlZC4KCjIwMTQtMDgtMDQgMTU6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFB1c2ggdGhlIGNvcnJlY3Qgc2VnbWVudCBpbiBUQ1AgbW9kZSB3aGVuIHNlZWtpbmcKCjIwMTQtMDgtMDMgMTI6MzM6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiB1bmJyZWFrIGF1IGFsaWduZWQgYnl0ZS1zdHJlYW0gcGF5bG9hZGluZwoKMjAxNC0wNy0yMiAxMzoyNDowOSArMDIwMCAgU3JpbWFudGEgUGFuZGEgPHNyaW1hbnRhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFwcGVuZCBwcm9maWxlLWxldmVsLWlkIHRvIFNEUAoJICBBcHBlbmQgcHJvZmlsZS1sZXZlbC1pZCB0byBTRFAgaWYgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTM5CgoyMDE0LTA3LTMxIDE4OjQ3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIE1ha2VmaWxlOiBBZGQgdXNhZ2Ugb2YgYnVpbGQtY2hlY2tzIHN0ZXAKCSAgQWxsb3dzIGJ1aWxkaW5nIGNoZWNrcyB3aXRob3V0IHJ1bm5pbmcgdGhlbQoKMjAxNC0wNy0zMSAwOTo1Mzo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiBGaXggd2FybmluZyBhYm91dCBtaXNzaW5nIHJldHVybiB2YWx1ZQoKMjAxNC0wNy0yNCAxNToyODowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICB4aW1hZ2VzcmM6IEFkZCBtaXNzaW5nIHJldHVybiB2YWx1ZSB0byBCdWZmZXIgZGlzcG9zZSBmdW5jdGlvbgoJICBEZXBlbmRpbmcgb250IGhlIGJ1aWxkLCB0aGUgbWV0aG9kIGNvdWxkIHJldHVybiBGQUxTRSwgaGVuY2UgbmV2ZXIKCSAgZnJlZSB0aGUgYnVmZmVycywgb3IgYWxyZWFkeSBUUlVFIGFuZCBsZWFkIHRvIGEgY3Jhc2g6CgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjk1CgoyMDE0LTA3LTI4IDE2OjQ5OjE2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHNldCBvdXRwdXQgY2FwcyBsYXlvdXQgdG8gaW50ZXJsZWF2ZWQKCSAgU2V0IG91dHB1dCBjYXBzIGxheW91dCBpbmRlcGVuZGVudGx5IGZyb20gaW5wdXQgY2FwcyBsYXlvdXQgd2hpY2ggY2FuCgkgIGJlIGVpdGhlciBub24taW50ZXJsZWF2ZWQgb3IgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NjYKCjIwMTQtMDctMjYgMTI6MDY6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjbGVhciBnY29uZAoKMjAxNC0wNy0yNSAxNDozMDozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBSZXZlcnQgInY0bDJidWZmZXJwb29sOiBXb3JrYXJvdW5kIGVsZW1lbnRzIG5vdCByZXF1ZXN0aW5nIGFueSBidWZmZXJzIgoJICBUaGlzIHdhcyBhIHRlbXBvcnkgd29ya2Fyb3VuZCwgd2Ugc2hvdWxkIGZpeCB0aGUgZW5jb2RlcnMgdGhhdCBkbyBub3QKCSAgbmVnb3RhdGlhdGUgdGhlIGFtb3VudCBvZiBidWZmZXJzIHRoZXkgbmVlZC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMDNiY2JhM2RiMTVkMDZkYmRlYTZiNzc2YTZmMjhlZDJmMDMyNzJhLgoKMjAxNC0wNy0wOCAxNDozMTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBzaGFyZSBvd24gcG9vbCBpZiBtaW4gZXhjZWVkIFY0TDIgY2FwYWNpdHkKCSAgSWYgdGhlIG1pbmltdW0gcmVxdWlyZWQgYnVmZmVyIGV4Y2VlZCBWNEwyIGNhcGFjaXR5LCBkb24ndCBzaGFyZSBkb3duCgkgIHBvb2wuIFRoaXMgYWxsb3cgc3VwcG9ydCB2ZXJ5IGhpZ2ggbGF0ZW5jeSwgbGlrZSB3aXRoIHgyNjRlbmMgZGVmYXVsdAoJICBlbmNvZGluZyBzZXR0aW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI4OAoKMjAxNC0wNy0yNSAxNzo0MjoyMCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcXVlcnkgbWluaW11bSByZXF1aXJlZCBidWZmZXJzIGZvciBvdXRwdXQKCSAgU29tZSB2NGwyIGRldmljZXMgY291bGQgcmVxdWlyZSBhIG1pbmltdW0gYnVmZmVycyBkaWZmZXJlbnQgZnJvbSBkZWZhdWx0CgkgIHZhbHVlcy4gUmF0aGVyIHRoYW4gYmxpbmRseSBwcm9wb3NlIGEgcG9vbCB3aXRoIG1pbi1idWZmZXJzIHNldCB0byB0aGUKCSAgZGVmYXVsdCB2YWx1ZSwgaXQgYXNrIHRoZSBkZXZpY2UgdXNpbmcgY29udHJvbCBpb2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzc1MAoKMjAxNC0wNy0yMyAxODo0MDoxMCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiB1c2UgZGlyZWN0bHkgJ29iaicgaW5zdGVhZCBvZiAndjRsMnNpbmstPnY0bDJvYmplY3QnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2MTYKCjIwMTQtMDctMjMgMTg6Mzk6NTAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHNldCBkZWJ1ZyBtZXNzYWdlcyBhY2NvcmRpbmcgdG8gZGV2aWNlIHR5cGUgYW5kIElPIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzYxNgoKMjAxNC0wNS0yNCAxOTowMjo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSBpc19hY3RpdmUgY2hlY2tzCgkgIFRoZXNlIGNoZWNrcyBhcmUgbm8gbG9uZ2VyIHJlcXVpcmVkIHdpdGggcmVjZW50IGNoYW5nZSB0byB0aGUgYnVmZmVycG9vbC4gVGhpcwoJICBzaG91bGQgYWxsb3cgY2hhbmdpbmcgdGhlIGNvbmZpZ3VhcnRpb24sIGhlbmNlIHRoZSB3YXkgZm9yd2FyZCByZW5lZ290aWF0aW9uCgkgIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNjgKCjIwMTQtMDctMjEgMTg6MTE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSAgcXRkZW11eDogZml4IGxhbmd1YWdlIGNvZGUgcGFyc2luZyBmb3IgMy1sZXR0ZXIgY29kZXMgc3RhcnRpbmcgd2l0aCAnYScKCSAgQW5kIGhhbmRsZSBzcGVjaWFsIHZhbHVlIGZvciAndW5zcGVjaWZpZWQnIGV4cGxpY2l0bHkuCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy9kb2N1bWVudGF0aW9uL1F1aWNrVGltZS9RVEZGL1FURkZDaGFwNC9xdGZmNC5odG1sCgoyMDE0LTA3LTA4IDAyOjE4OjI3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQWRkIHN1cHBvcnQgZm9yIGVuY29kaW5nIGZyb20gTlYyMSBhbmQgTlYxMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODcwCgoyMDE0LTA3LTE5IDE4OjA0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjQuMCA9PT0KCjIwMTQtMDctMTkgMTc6MjA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS40LjAKCjIwMTQtMDctMTkgMTY6MzU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTkgMTI6MzI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTE5IDExOjMwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBEb24ndCBvdmVyd3JpdGUgdGhlIGZpcnN0IGNvbXBvbmVudCB3aXRoIHRoZSBhbHBoYSB2YWx1ZSBmb3IgQkdSeAoJICBJbnN0ZWFkIGxlYXZlIHRoZSB4IGNvbXBvbmVudCB1bnNldCB3aGVuIGZpbGxpbmcgdGhlIGJvcmRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzODAKCjIwMTQtMDctMTYgMTc6MTg6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBQcm9wZXJseSByZXBvcnQgaW4gdGhlIENBUFMgcXVlcnkgdGhhdCB3ZSBjYW4gY29udmVydCBBRFRTPC0+UkFXCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxOTAKCjIwMTQtMDctMTMgMTY6MDU6NTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBBdm9pZCB0YWtpbmcgdW5uZWNlc3NhcnkgcmVmcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTIyCgoyMDE0LTA3LTEzIDE2OjA0OjIzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IEF2b2lkIHRha2luZyBhbiB1bm5lY2Vzc2FyeSByZWYKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzEyMgoKMjAxNC0wNy0xNSAxNjo1OTowNiArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjA4CgoyMDE0LTA3LTExIDEzOjM1OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggY29weSB0aHJlc2hvbGQgaW1wbGVtZW50YXRpb24KCSAgV2UgY2Fubm90IGFsbG9jYXRlIG5ldyBidWZmZXIgaW4gYWNxdWlyZSwgb3RoZXJ3aXNlIHRoZSBiYXNlIGNsYXNzCgkgIGlzIG5vdCBhd2FyZSBhbmQgZ2V0IGNvbmZ1c2VkLiBJbnN0ZWFkLCBjb3B5IGluIF9wcm9jZXNzKCkuIFRoaXMgbGVhZHMKCSAgdG8gY3Jhc2ggb24gZmluYWxpemUuCgkgIEZpeGVzIHJlZ3Jlc3Npb24sIHNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTEyCgo9PT0gcmVsZWFzZSAxLjMuOTEgPT09CgoyMDE0LTA3LTExIDExOjM4OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MQoKMjAxNC0wNy0xMSAxMDo1ODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xMCAxODoxMToyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFVzZSBxZGF0YSBpbnN0ZWFkIG9mIHBhcmVudGluZyB0byBEbWFidWZNZW1vcnkKCSAgUGFyZW50aW5nIFY0bDJNZW1vcnkgdG8gRG1hYnVmTWVtb3J5IHdhcyBpbiBjb25mbGljdCB3aXRoIHJlY2VudAoJICBvcHRpbWl6YXRpb24gaW4gRG1hYnVmTWVtb3J5IHRvIGF2b2lkIGR1cCgpLCBhbmQgZGlkbid0IHdvcmsgd2l0aAoJICBtZW1vcnkgc2hhcmluZy4gSW5zdGVhZCwgdXNlIGEgcWRhdGEgYW5kIGl0J3MgZGVzdHJveSBub3RpZnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NDEKCjIwMTQtMDctMTEgMDg6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTA4IDE3OjUwOjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogV29ya2Fyb3VuZCBlbGVtZW50cyBub3QgcmVxdWVzdGluZyBhbnkgYnVmZmVycwoJICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgZWxlbWVudCB0aGF0IGRvbid0IHJlcXVlc3QgYnVmZmVycyB3aGVuCgkgIHRoZXkgc2hvdWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjg4CgoyMDE0LTA3LTA2IDExOjI3OjM2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICB0ZXN0czogZml4IHBpcGVsaW5lIGxlYWsgaW4gdmlkZW9jcm9wIHRlc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk3NgoKMjAxNC0wNy0wNiAxMToyNjo0NiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSAgZXhhbXBsZXM6IGNsaWVudC1ydHBhdXg6IFJlbGVhc2UgcmVmZXJlbmNlIHRvIHBhcmVudCB3aGVuIGRvbmUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk3NgoKMjAxNC0wNy0xMCAxNzoxOTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHF1ZXJ5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzAwMwoKMjAxNC0wNy0xMCAxMjoxMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIGlmIHdlIGdvdCBubyBjYXBzIG9yIGNhcHMgbmVnb3RpYXRpb24gZmFpbGVkCgkgIEFuZCBkbyBpdCBhbHdheXMsIG5vdCBpbnNpZGUgYSBnX3JldHVybl92YWxfaWZfZmFpbCgpLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjkzOQoKMjAxNC0wNy0wOCAxMzozNDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBFbnN1cmUgaW50ZXJuYWwgcG9vbCBhY3RpdmF0aW9uCgkgIEJlZm9yZSB3ZSB3b3VsZCBoaXQgYW4gYXNzZXJ0aW9uICInZ3N0X2J1ZmZlcl9wb29sX2lzX2FjdGl2ZSAoYnBvb2wpJyBmYWlsZWQiCgkgIGlmIHRoZSBpbnRlcm5hbCBwb29sIHdhcyBub3QgdXNlZCB0byBwdXNoIGJ1ZmZlciBkb3duc3RyZWEsIGhlbmNlIG5vdAoJICBnaXZlbiB0byB0aGUgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTEyCgoyMDE0LTA3LTA0IDIwOjIyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZml4IGRvdWJsZSB1bmxvY2sgaW4gc2VnbWVudCBzZWVrIHNlZ21lbnQgY29kZSBwYXRoCgkgIFdlIG9ubHkgd2FudCB0byB1bmxvY2sgaWYgd2UgcHVzaCBhbiBldmVudCBkb3duc3RyZWFtIGFuZAoJICBqdW1wIHRvIGRvbmVfdW5sb2NrIGxhYmVsIGFmdGVyd2FyZHMuIFdlIHdvdWxkIGFsc28gdW5sb2NrCgkgIGluIGNhc2Ugb2YgYSBzZWdtZW50IHNlZWsgYW5kIHRoZW4gdW5sb2NrIGFnYWluIGxhdGVyLCBhbmQKCSAgbm90aGluZyBnb29kIGNhbiBjb21lIG9mIHRoYXQuCgkgIChUaGlzIGNvZGUgbG9va3MgYSBiaXQgZG9kZ3kgYW55d2F5IHRob3VnaCwgc2hvdWxkbid0IGl0CgkgIGFsc28gYmFpbCBvdXQgd2l0aCBGTE9XX0VPUyBoZXJlIGluIGNhc2Ugb2YgYSBzZWdtZW50IHNlZWsKCSAgc2NlbmFyaW8sIGp1c3Qgd2l0aG91dCB0aGUgZXZlbnQ/KQoKMjAxNC0wNy0wNCAxOTo0NTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogc3VwcHJlc3MgZ2xpYiBjcml0aWNhbHMgY2F1c2VkIGJ5IHRlc3RpbmcgZGVwcmVjYXRlZCBkdHMgbWV0aG9kcwoKMjAxNC0wNy0wNCAwMzoyMTozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpZGVtdXgsIHdhdnBhcnNlOiBQcmludCBpbnZhbGlkIGZvdXJjYyBpbiBoZXgKCSAgUHJldmlvdXNseSB0aGlzIHdhcyBwcmludGVkIGFzIGNoYXJhY3RlcnMgd2hpY2ggY2F1c2VkIGxhdGVyIHByb2Nlc3NpbmcKCSAgb2YgdGhlIGVycm9yIG1lc3NhZ2UgdG8gc29tZXRpbWVzIHdhcm4gYWJvdXQgbm9uLVVURi04IGNoYXJhY3RlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MTQKCjIwMTQtMDctMDMgMTU6MjE6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUG9vbCBtaWdodCBiZSBOVUxMIGluIGRlY2lkZSBhbGxvY2F0aW9uCgkgIElmIHNwZWNpYWwgc3RyaWRlIGlzIG5lZWRlZCBhbmQgZG93bnN0cmVhbSBkb24ndCBzdXBwb3J0IFZpZGVvTWV0YSwKCSAgcG9vbCBtaWdodCBiZSBOVUxMIGluIG9yZGVyIHRvIGxldCB0aGUgYmFzZWNsYXNzIGNyZWF0ZSBhIGdlbmVyaWMKCSAgcG9vbMKtLiBUaGlzIHdvdWxkIGxlYWQgdG8gYXNzZXJ0aW9uIHdpdGggb24gRXh5bm9zIHdpdGg6CgkgIGdzdC1sYXVuY2gtMS4wIC12IGZpbGVzcmMgbG9jYXRpb249bW92ICEgcXRkZW11eCAhIGgyNjRwYXJzZSAhIFwKCSAgdjRsMnZpZGVvOGRlYyAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MDcKCjIwMTQtMDctMDMgMTU6Mjk6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBIYW5kbGUgRkQgZXJyb3IgZHVyaW5nIHBvbGwKCSAgVGhpcyB3aWxsIGVuc3VyZSB3ZSBmYWlsIGVhcmxpZXIgaWYgc29tZXRoaW5nIHVucmVjb3ZlcmFibGUKCSAgaGFwcGVucy4KCjIwMTQtMDctMDMgMTU6Mjg6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBXYWl0IGJlZm9yZSBwb2xsaW5nIGlmIHF1ZXVlIGlzIGVtcHR5CgkgIEluIGtlcm5lbCBiZWZvcmUgMy4xNywgcG9sbGluZyBkdXJpbmcgcXVldWUgdW5kZXJydW4gd291bGQgdW5ibG9jayByaWdodAoJICBhd2F5IGFuZCB0cmlnZ2VyIFBPTExFUlIuIEFzIHdlIGFyZSBub3QgaGFuZGxpbmcgUE9MTEVSUiwgd2Ugd291bGQgZW5kdXAKCSAgYmxvY2tpbmcgaW4gRFFCVUYgY2FsbCwgd2hpY2ggd29uJ3QgYmUgdW5ibG9ja2VkIGNvcnJlY3RseSB3aGVuIGdvaW5nCgkgIHRvIE5VTEwgc3RhdGUuIEEgZGVhZGxvY2sgYXQgc3RhcnQgY2F1c2VkIGJ5IGxvY2tpbmcgZXJyb3IgaW4gbGlidjRsMiB3YXMKCSAgYWxzbyBzZWVuIGJlZm9yZSB0aGlzIHBhdGNoLiBJbnN0ZWFkLCB3ZSB3YWl0IHVudGlsIHRoZSBxdWV1ZSBpcyBubyBsb25nZXIKCSAgZW1wdHkgYmVmb3JlIHBvbGxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwMTUKCjIwMTQtMDctMDIgMTY6MDE6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZm9yIG1pa2V5IGFwaSBjaGFuZ2UKCjIwMTQtMDYtMzAgMTA6Mjk6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBwcm9iaW5nIGFuZCBlbnVtZXJhdGlvbiBvZiBzdGVwd2lzZSBmcmFtZSBzaXplcwoJICBUaGUgY29kZSBlbnVtZXJhdGluZyBTVEVQV0lTRSBmcmFtZXNpemVzIHdvdWxkIHN0YXJ0IGZyb20KCSAgKG1pbl93LCBtaW5faCkgYW5kIHRoZW4gYWRkIChzdGVwX3csIHN0ZXBfaCkgdG8gZ2V0IHRoZQoJICBuZXh0IGZyYW1lc2l6ZS4gSG93ZXZlciwgaXQgc2hvdWxkIHJlYWxseSBhbGxvdyBhbnkgd2lkdGgKCSAgZnJvbSBtaW5fdyB0byBtYXhfdyB3aXRoIHN0ZXBfdyBhbmQgc2FtZSBmb3IgaGVpZ2h0cy4KCSAgU2Vjb25kbHksIHdlIHdvdWxkIGFkZCBhbmQgcHJvYmUgZWFjaCBpbmRpdmlkdWFsIHN0ZXBwZWQKCSAgZnJhbWUgc2l6ZSB0byB0aGUgY2FwcyBhcyBzZXBhcmF0ZSBzdHJ1Y3R1cmUsIHdoaWNoIHdvdWxkCgkgIGxlYWQgdG8gaHVuZHJlZHMgaWYgbm90IHRob3VzYW5kcyBvZiBzdHJ1Y3RzIGVuZGluZyB1cCBpbgoJICB0aGUgcHJvYmVkIGNhcHMuIFVzZSBpbnRlZ2VyIHJhbmdlcyB3aXRoIHN0ZXBzIGluc3RlYWQuCgkgIFRoaXMgd2FzIHBhcnRpY3VsYXJseSBub3RpY2FibGUgd2l0aCB0aGUgUmFzcGJlcnJ5IFBpIENhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDUyMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNDU4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1MjEKCjIwMTQtMDYtMjcgMTE6MzM6MDYgKzAxMDAgIERhbmllbCBEcmFrZSA8ZHJha2VAZW5kbGVzc20uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkcm9wIHdvcmthcm91bmQgZm9yIG1pc2JlaGF2aW5nIFRSWV9GTVQKCSAgVGhpcyB3b3JrYXJvdW5kIGZyb20gMjAxMSB3YXMgY2F1c2luZyAyNSBTX0ZNVCBpb2N0bHMgdG8gYmUgc2VudAoJICB0byBteSBVVkMgd2ViY2FtIGZyb20gdW5kZXIgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzIGFzIGl0IHByb2JlcwoJICBhbGwgdGhlIGZvcm1hdHMuIEluIHRvdGFsLCB0aGlzIGFkZHMgdXAgdG8gYWJvdXQgNSBzZWNvbmRzIG9mCgkgIGV4ZWN1dGlvbiB0aW1lLCBvciBhIDEwIHNlY29uZCBkZWxheSB3aGlsZSBzdGFydGluZyB1cCBjaGVlc2UuCgkgIFRoZXNlIGlvY3RscyBjb21lIGZyb20gYSB3b3JrYXJvdW5kIGZyb20gMjAxMSB3aGVyZSBUUllfRk1UIG1pZ2h0CgkgIG1ha2UgY2hhbmdlcyB0byBoYXJkd2FyZSBzZXR0aW5ncywgc28gU19GTVQgd2FzIHVzZWQgdG8gcmVzdG9yZQoJICB0aGUgb3JpZ2luYWwgY29uZmlnOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDY3CgkgIFRoZSBkcml2ZXIgYnVnIGlzIG5vdyBhc3N1bWVkIGZpeGVkLiBSZW1vdmUgdGhlIHdvcmthcm91bmQgdG8gZml4IHRoZQoJICBsb25nIHN0YXJ0dXAgZGVsYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzMjYKCjIwMTQtMDctMDEgMTI6NTA6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogcmVzZXQgUW9TIG9uIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU0MAoKMjAxNC0wNy0wMSAxNToxNDozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2VuZCBnYXAgZXZlbnRzIGluc3RlYWQgb2Ygc2VnbWVudCB0cmlja3MKCSAgVGhpcyBmaXhlcyBtaXNzaW5nIGZyYW1lcyBmcm9tIGJlaW5nIHRpbWUgc2tpcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjM3MgoKMjAxNC0wNi0zMCAwMDowMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IG1lbW9yeSBsZWFrcyBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjM6NTU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBEb24ndCBsZWFrIGNhcHMKCjIwMTQtMDYtMjkgMjA6MDI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxOTo1OTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxOTo1Nzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTk6NTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMTc6MDU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJICBwdWxzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgkgIENvbXBpbGVyIGNvbXBsYWlucyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlcyBpbiB0aGUgaW1wb3NzaWJsZQoJICAnZGVmYXVsdCcgY29kZSBwYXRoIGluIGRldmljZSBwcm92aWRlciBzb3VyY2Uvc2luayBzd2l0Y2gtY2FzZS4KCjIwMTQtMDYtMjkgMTc6MDM6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSAgdjRsMjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgkgIENvbXBpbGVyIGNvbXBsYWlucyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlcyBpbiB0aGUgaW1wb3NzaWJsZQoJICAnZGVmYXVsdCcgY29kZSBwYXRoIGluIGRldmljZSBwcm92aWRlciBzb3VyY2Uvc2luayBzd2l0Y2gtY2FzZS4KCjIwMTQtMDYtMjggMTc6NDA6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkgIHRlc3RzOiBtYXRyb3NrYXBhcnNlOiBmYWlsIG9uIGVycm9ycyBhbmQgZGlzYWJsZSBwdWxsIG1vZGUgdGVzdAoJICBBY3R1YWxseSBsb29rIGZvciBlcnJvciBtZXNzYWdlcyBvbiB0aGUgYnVzIGFuZCBmYWlsIGlmIHRoZXJlCgkgIGlzIG9uZSBiZWZvcmUgdGhlIEVPUyBtZXNzYWdlLiBEaXNhYmxlIHB1bGwgbW9kZSB0ZXN0IHdoaWNoIGlzCgkgIHBvaW50bGVzcyBhcyBsb25nIGFzIG1hdHJvc2thcGFyc2Ugb25seSBzdXBwb3J0cyBwdXNoIG1vZGUKCSAgKHB1bGwgbW9kZSBzdXBwb3J0IGhhcyBub3QgYmVlbiBwb3J0ZWQgb3ZlciB0byAxLjApLgoKMjAxNC0wNi0yOCAxNzozNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBkb24ndCBlcnJvciBvdXQgaWYgdGhlcmUncyBub3QgZW5vdWdoIGRhdGEgaW4gdGhlIGFkYXB0ZXIKCSAgZ3N0X21hdHJvc2thX3BhcnNlX3Rha2UoKSB3b3VsZCByZXR1cm4gRkxPV19FUlJPUiBpbnN0ZWFkIG9mCgkgIEZMT1dfRU9TIGluIGNhc2UgdGhlcmUncyBsZXNzIGRhdGEgaW4gdGhlIGFkYXB0ZXIgdGhhbiByZXF1ZXN0ZWQsCgkgIGJlY2F1c2UgYnVmZmVyIGlzIE5VTEwgaW4gdGhhdCBjYXNlIHdoaWNoIHRyaWdnZXJzIHRoZSBlcnJvcgoJICBjb2RlIHBhdGguIFRoaXMgbWFkZSB0aGUgdW5pdCB0ZXN0IGZhaWwgKG9jY2FzaW9uYWxseSBhdCBsZWFzdCwKCSAgYmVjYXVzZSBvZiBhIGJ1ZyBpbiB0aGUgdW5pdCB0ZXN0IHRoZXJlJ3MgYSByYWNlIGFuZCBpdCB3b3VsZAoJICBoYXBwZW4gb25seSBzcG9yYWRpY2FsbHkpLgoKMjAxNC0wNi0yOCAxNjo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogVXBkYXRlIGRpc3QgZ2VuZXJhdGVkIE9SQyBmaWxlcwoKMjAxNC0wNi0yOCAxNjo0ODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogVXBkYXRlIHZpZGVvY29udmVydCBjb2RlIGZyb20gLWJhc2UKCSAgQW5kIGFsc28gcmVuYW1lIHRoZSByZW1haW5pbmcgc3ltYm9scyB0byBwcmV2ZW50IGNvbmZsaWN0cwoJICBkdXJpbmcgc3RhdGljIGxpbmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NDMKCjIwMTQtMDYtMjggMTM6MDE6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b3ZpZGVvc3JjOiB1c2UgdmlkZW90ZXN0c3JjIGFzIGZhbGxiYWNrIGVsZW1lbnQgaW5zdGVhZCBvZiBmYWtlc3JjCgkgIGZha2VzcmMgZG9lc24ndCBhbm5vdW5jZSB2aWRlbyBjYXBzLCBzbyBtb3N0IHZpZGVvIHBpcGVsaW5lcyB3aWxsCgkgIGp1c3QgZXJyb3Igb3V0IHdpdGggbm90LW5lZ290aWF0ZWQgaWYgYSBmYWxsYmFjayBlbGVtZW50IGlzIGNyZWF0ZWQuCgoyMDE0LTA2LTI4IDEyOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJICBhdXRvYXVkaW9zcmM6IHVzZSBhdWRpb3Rlc3RzcmMgYXMgZmFsbGJhY2sgZWxlbWVudCBpbnN0ZWFkIG9mIGZha2VzcmMKCSAgZmFrZXNyYyBkb2Vzbid0IGFubm91bmNlIGF1ZGlvIGNhcHMsIHNvIG1vc3QgYXVkaW8gcGlwZWxpbmVzIHdpbGwKCSAganVzdCBlcnJvciBvdXQgd2l0aCBub3QtbmVnb3RpYXRlZCBpZiBhIGZhbGxiYWNrIGVsZW1lbnQgaXMgY3JlYXRlZC4KCj09PSByZWxlYXNlIDEuMy45MCA9PT0KCjIwMTQtMDYtMjggMTE6MjE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MAoKMjAxNC0wNi0yOCAxMTowODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yNiAxNDo1Mjo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkgIFJlbmFtZSBHc3REZXZpY2VNb25pdG9yIHRvIEdzdERldmljZVByb3ZpZGVyCgoyMDE0LTA2LTI0IDA5OjE0OjQwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTQ0CgoyMDE0LTA2LTE2IDExOjM1OjM5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEZWNsYXJlIGFzIENvbXBvc2l0b3IgaW4gJ2tsYXNzJwoKMjAxNC0wNi0yNiAxMzo1MDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBjYXBzCgkgIERlY29kZXIgY29tcGxhaW5zIGFib3V0ICJub3RpZmljYXRpb246IEludmFsaWQgbW9kZSBlbmNvdW50ZXJlZC4KCSAgVGhlIHN0cmVhbSBpcyBjb3JydXB0ZWQiIHRob3VnaCwgZXZlbiBpZiBpdCB3b3Jrcywgc28gdGhlcmUncwoJICBwcm9iYWJseSBzb21ldGhpbmcgd3Jvbmcgd2l0aCB0aGUgZ2VuZXJhdGVkIGNvZGVjIGhlYWRlcnMuCgoyMDE0LTA2LTI2IDEzOjQzOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggc3BlZXggaW4gRkxWCgkgIFNwZWV4IGluIEZMViBpcyBhbHdheXMgbW9ubyBAIDE2a0h6LCBzZWUKCSAgaHR0cDovL2Rvd25sb2FkLm1hY3JvbWVkaWEuY29tL2Y0di92aWRlb19maWxlX2Zvcm1hdF9zcGVjX3YxMF8xLnBkZgoJICBzZWN0aW9uIEUuNC4yLjE6ICJJZiB0aGUgU291bmRGb3JtYXQgaW5kaWNhdGVzIFNwZWV4LCB0aGUgYXVkaW8gaXMKCSAgY29tcHJlc3NlZCBtb25vIHNhbXBsZWQgYXQgMTYga0h6LCB0aGUgU291bmRSYXRlIHNoYWxsIGJlIDAsIHRoZQoJICBTb3VuZFNpemUgc2hhbGwgYmUgMSwgYW5kIHRoZSBTb3VuZFR5cGUgc2hhbGwgYmUgMCIKCSAgQWxzbyBzZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxNC0wNi0yNiAwNToxOTo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBZGQgb2JqZWN0IHR5cGUgaWQgYW5kIGZvdXJjYyBmb3IgRFRTL0RUUy1IRAoJICBFbmFibGVzIHBsYXliYWNrIGZvciBmaWxlcyB3aXRoIERUUyBhdWRpbyB0cmFja3MuCgkgIEFsc28gYWRkIGFuIGV4dHJhIEFDLTMgdmFyaWFudCBmb3VyY2MgZnJvbSBOZXJvCgoyMDE0LTAzLTEzIDEwOjM1OjMwICswMTAwICBEYXZpZCBGZXJuYW5kZXogPGQuZmVybmFuZGV6bG9wQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBTb2x2ZSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBzcmMgY2FwcyBhcmUgY29uZmlndXJlZAoJICBDaGFuZ2UgZnVuY3Rpb24gcG9pbnRlcnMgdG8gTlVMTCB3aGlsZSBob2xkaW5nIHRoZSBsb2NrIHRvIGF2b2lkCgkgIHJhY2UgY29uZGl0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTEwCgoyMDE0LTA2LTI1IDE0OjM0OjIxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgU1IgcGFja2V0IGhhbmRsaW5nCgkgIEltcGxlbWVudCAzIGRpZmZlcmVudCBjYXNlcyBmb3IgaGFuZGxpbmcgdGhlIFNSOgoJICAxKSB3ZSBkb24ndCBoYXZlIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24gdG8gaGFuZGxlIHRoZSBTUiBwYWNrZXQgYW5kCgkgIHdlIG5lZWQgdG8gd2FpdCBhIGxpdHRsZSBmb3IgbW9yZSBSVFAgcGFja2V0cy4gSW4gdGhhdCBjYXNlIHdlIGtlZXAKCSAgdGhlIFNSIHBhY2tldCBhcm91bmQgYW5kIHJldHJ5IHdoZW4gd2UgZ2V0IGFuIFJUUCBwYWNrZXQgaW4gdGhlCgkgIGNoYWluIGZ1bmN0aW9uLgoJICAyKSB0aGUgU1IgcGFja2V0IGhhcyBhIHRvbyBvbGQgdGltZXN0YW1wIGFuZCBzaG91bGQgYmUgZGlzY2FyZGVkLiBJdCBpcwoJICBsYWJlbGVkIGludmFsaWQgYW5kIHRoZSBsYXN0X3NyIGlzIGNsZWFyZWQuCgkgIDMpIHRoZSBTUiBwYWNrZXQgaXMgb2sgYW5kIHRoZXJlIGlzIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24sIHByb2NlZWQKCSAgd2l0aCBwcm9jZXNzaW5nIHRoZSBTUiBwYWNrZXQuCgkgIEJlZm9yZSB0aGlzIHBhdGNoLCBjYXNlIDIpIGFuZCAxKSB3ZXJlIGhhbmRsZWQgaW4gdGhlIHNhbWUgd2F5LAoJICByZXN1bHRpbmcgdGhhdCBTUiBwYWNrZXRzIHdpdGggdG9vIG9sZCB0aW1lc3RhbXBzIHdlcmUgY2hlY2tlZCBvdmVyIGFuZAoJICBvdmVyIGFnYWluIGZvciBlYWNoIFJUUCBwYWNrZXQuCgoyMDE0LTA2LTI0IDEwOjQ3OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogYWRkIHVkcHNpbmsgdGVzdCB0byBjaGVjayBjbGllbnQgYWRkL3JlbW92ZQoKMjAxNC0wNi0yMyAxNjoxMzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IHBvcnQgdWRwc2luayB0ZXN0cyB0byAxLjAKCSAgVGhleSBhbGwgc2VlbSBhIGJpdCBwb2ludGxlc3MgdGhvdWdoLgoKMjAxNC0wNi0yMyAxOTo1NToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIFVZVlkgZm9ybWF0CgoyMDE0LTA2LTA2IDExOjIwOjIxICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBnc3RydHBzc3JjZGVtdXg6IG1hbmFnZSBzc3JjIG9mIFJUQ1AgUlIgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzI0CgoyMDE0LTA2LTIzIDIwOjUzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVcGRhdGUgb2Zmc2V0IGFmdGVyIHBhcnNpbmcgYWR0bCBjaHVuawoJICBPdGhlcndpc2Ugd2Ugd2lsbCBwYXJzZSBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHdpdGhvdXQgZXZlcgoJICBnZXR0aW5nIHBhc3QgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MzMKCjIwMTMtMDctMDcgMjA6MTg6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZW1vdmUgbGVnYWN5IGNvZGUgZm9yIHBhc3NpbmcgYSB3aW5kb3cgaGFuZGxlCgkgICJoYXZlLW5zLXZpZXciIGFuZCB0aGUgImVtYmVkIiBwcm9wZXJ0eSB3YXMga2VwdCBpbiAwLjEwIGZvcgoJICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBidXQgaXQncyBubyBsb25nZXIgdXNlZCBpbiBmYXZvciBvZgoJICB0aGUgR3N0VmlkZW9PdmVybGF5IGludGVyZmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzUzCgoyMDE0LTA2LTIyIDE5OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgoyMDE0LTA2LTIyIDE5OjI2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGNhbGwgR1NUX0RFQlVHX09CSkVDVCgpIGFuZCBvdGhlciBtYWNyb3Mgd2l0aCBub24tR09iamVjdCBvYmplY3RzCgkgIEl0IHdpbGwgY3Jhc2ggd2l0aCBsYXRlc3QgR0xpYiBHSVQgYW5kIHdhcyBuZXZlciBzdXBwb3NlZCB0byB3b3JrIGJlZm9yZQoJICBlaXRoZXIuCgo9PT0gcmVsZWFzZSAxLjMuMyA9PT0KCjIwMTQtMDYtMjIgMTg6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4zCgoyMDE0LTA2LTIyIDE3OjM2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTIyIDE0OjI0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNi0yMSAwMTozMjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSAgcHVsc2UsIHY0bDI6IHVwZGF0ZSBmb3IgZGV2aWNlICJrbGFzcyIgLT4gImRldmljZS1jbGFzcyIgcmVuYW1lCgoyMDE0LTA2LTIwIDEyOjIxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBvcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IG1lbW9yeSByZWYvdW5yZWZzCgkgIFdlIGtub3cgdGhlIGJ1ZmZlciB3aWxsIHN0YXkgdmFsaWQgYW5kIHdlIHdpbGwgYWxzbyBub3QKCSAgbW9kaWZ5IHRoZSBidWZmZXIsIHdlIGp1c3Qgd2FudCB0byBzZW5kIG91dCB0aGUgZGF0YS4KCjIwMTQtMDYtMTkgMTQ6NTk6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGF2b2lkIHNvbWUgdW5uZWNlc3NhcnkgcnVuLXRpbWUgdHlwZSBjaGVja3MKCjIwMTQtMDYtMTkgMTY6MTc6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXNzIHRoZSBzdHJlYW0gaWQgd2hlbiBhc2tpbmcgZm9yIGNyeXB0byBwYXJhbXMKCSAgVGhpcyB3YXkgdGhlIGFwcCBjYW4gY2hvb3NlIGRpZmZlcmVudCBwYXJhbWV0ZXJzIGZvciBlYWNoIHN0cmVhbS4KCjIwMTQtMDUtMjAgMTQ6NTg6MDcgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBrZXkgbGVuZ3RoIHBhcmFtZXRlcnMKCSAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnRzIGZvciB0aGUgaW5jb21pbmcga2V5IG1hbmFnZW1lbnQgcGFyYW1ldGVycyBmb3IKCSAgZW5jcnlwdGlvbiBhbmQgYXV0aGVudGljYXRpb24ga2V5IGxlbmd0aHMuCgkgIEl0IGFsc28gYWRkcyBhIG5ldyBzaWduYWwgcmVxdWVzdC1ydGNwLWtleSB0aGF0IGFsbG93cyB0aGUgdXNlciB0bwoJICBwcm92aWRlIHRoZSBjcnlwdG8gcGFyYW1ldGVycyBhbmQga2V5IGZvciB0aGUgUlRDUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NzMKCjIwMTQtMDYtMTkgMTU6MjU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICB2cDhkZXBheTogZml4IGhlYWRlciBzaXplIGNoZWNraW5nCgkgIFVzZSBhIGRpZmZlcmVudCB2YXJpYWJsZSBuYW1lIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB3ZSBhcmUgY2FsY3VsYXRpbmcKCSAgdGhlIGhlYWRlciBzaXplLgoJICBDb3JyZWN0bHkgY2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBieXRlcyB0byByZWFkIHRoZSBoZWFkZXIgYml0cy4gV2UKCSAgd2VyZSBjaGVja2luZyBpZiB0aGVyZSB3ZXJlIDUgYnl0ZXMgYXZhaWxhYmxlIGluIHRoZSBoZWFkZXIgd2hpbGUgd2UKCSAgb25seSBuZWVkZWQgMywgY2F1c2luZyB0aGUgcGFja2V0IHRvIGJlIGRpc2NhcmRlZCBhcyB0b28gc21hbGwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1OTUKCjIwMTQtMDUtMjAgMTI6Mzk6MzEgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgU2ltaWxhcmx5IHRvIHdoYXQgd2UgZGlkIHdpdGggdGhlIERFTFRBX1VOSVQgZmxhZywgdGhpcyBwYXRjaAoJICBwcm9wYWdhdGVzIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlciBhCgkgIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTA2IDE3OjQyOjE0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBmbGFnCgkgIERvd25zdHJlYW0gZWxlbWVudHMgbWF5IGJlIGludGVyZXN0ZWQga25vd2luZyBpZiBhIFJUUCBwYWNrZXQgaXMgdGhlIHN0YXJ0CgkgIG9mIGEga2V5IGZyYW1lICh0byBpbXBsZW1lbnQgYSBSVFAgZXh0ZW5zaW9uIGFzIGRlZmluZWQgaW4gdGhlCgkgIE9OVklGIFN0cmVhbWluZyBTcGVjIGZvciBleGFtcGxlKS4KCSAgV2UgZG8gdGhpcyBieSBjaGVja2luZyB0aGUgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZmxhZyB3ZSByZWNlaXZlIGZyb20KCSAgdXBzdHJlYW0gYW5kIHByb3BhZ2F0ZSBpdCB0byB0aGUgKmZpcnN0KiBSVFAgcGFja2V0IG91dHB1dHRlZCB0byB0cmFuc2ZlciB0aGlzCgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0yMCAxMzo1ODoyMCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIGdzdHJ0cG1wNGdwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBQcm9wYWdhdGUgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyCgkgIGEgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMjAgMTM6NTg6MjAgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBQcm9wYWdhdGUgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyCgkgIGEgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDYtMTggMTU6MDM6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBsZWFrIGZsb3cgY29tYmluZXIKCjIwMTQtMDYtMTggMTQ6Mzg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqcDJrcGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyLWxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTQ6MzQ6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDE0OjE5OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxMzo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogYWxsb2NhdGUgYml0cmVhZGVyIG9uIHRoZSBzdGFjawoKMjAxNC0wNi0xOCAxMzoyOTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogcG9zdCBlcnJvciBtZXNzYWdlIG9uIGJ1cyBvbiBlcnJvciBhbmQgZG9uJ3QgdXNlIGdfbWVzc2FnZSgpCgoyMDE0LTA2LTE4IDEzOjIwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBjb3VwbGUgb2YgbWlub3Igb3B0aW1pc2F0aW9ucwoJICBQcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUgdG8gYXZvaWQgcmUtYWxsb2NzLgoJICBBdm9pZCBwbGVudHkgb2YgZG91YmxlIHJ1bnRpbWUgY2FzdCBjaGVja3MgYW5kIHJlLWRvaW5nIHRoZQoJICBzYW1lIGNhbGN1bGF0aW9uIG92ZXIgYW5kIG92ZXIgYWdhaW4gaW4gcnRwX3ZwOF9jYWxjX3BheWxvYWRfbGVuKCkuCgkgIE9ubHkgY2FsbCBnc3RfYnVmZmVyX2dldF9zaXplKCkgb25jZS4KCjIwMTQtMDYtMTggMDg6MTA6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoJICBUbyBhdm9pZCByZS1hbGxvY3MuCgoyMDE0LTA2LTE4IDA3OjUyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXJsaXN0IG9mIHRoZSByaWdodCBzaXplCgkgIFRvIGF2b2lkIHVubmVjZXNzYXJ5IHJlLWFsbG9jcy4KCjIwMTQtMDYtMTYgMjA6MTU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogcHVzaCBzaW5nbGUgYnVmZmVyIGRpcmVjdGx5LCBubyBuZWVkIHRvIHdyYXAgaXQgaW4gYSBidWZmZXJsaXN0CgkgIE5vIHBvaW50IGluIGEgYnVmZmVyIGxpc3QgaWYgd2UganVzdCBoYXZlIG9uZSBzaW5nbGUKCSAgYnVmZmVyIHRvIHB1c2guIEZpeCB1cCB1bml0IHRlc3QgdG8gaGFuZGxlIHRoYXQgY2FzZQoJICBhcyB3ZWxsLgoKMjAxNC0wNi0xNiAxNTozNToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogbWFrZSBjaHVua3MgcGVyIGZyYW1lIGNvbmZpZ3VyYWJsZQoJICBCaXQgb2YgYSBtaXNub21lciBiZWNhdXNlIGl0J3MgcmVhbGx5IGNodW5rcyBwZXIgZmllbGQKCSAgYW5kIG5vdCBwZXIgZnJhbWUsIGJ1dCB3ZSdyZSBnb2luZyB0byBpZ25vcmUgdGhhdCBmb3IKCSAgdGhlIHRpbWUgYmVpbmcuCgoyMDE0LTA2LTE2IDE0OjUyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wNi0xNiAxNDo0NDoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3RzIG9mIHN1ZmZpY2llbnQgc2l6ZQoJICBBdm9pZHMgdW5uZWNlc3NhcnkgcmVhbGxvY3Mgd2hlbiBhcHBlbmRpbmcgYnVmZmVycwoJICB0byB0aGUgYnVmZmVybGlzdC4KCjIwMTQtMDYtMTYgMTM6NTE6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogbWljcm8tb3B0aW1pc2UgdmFyaWFibGUgYWNjZXNzIGluIGlubmVyIGxvb3AKCSAgU3RvcmUgc29tZSB2YWx1ZXMgdGhhdCBkb24ndCBjaGFuZ2UgZHVyaW5nIHRoZSBleGVjdXRpb24KCSAgb2YgdGhlIGlubmVyIGxvb3BzIGxvY2FsbHksIHNvIHRoZSBjb21waWxlciBrbm93cyB0aGF0IHRvby4KCjIwMTQtMDYtMTYgMTM6Mzg6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBDb2xsZWN0IGJ1ZmZlcnMgdG8gc2VuZCBvdXQgaW4gYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YKCSAgcHVzaGluZyBvdXQgc2luZ2xlIGJ1ZmZlcnMgb25lIGF0IGEgdGltZS4gRm9yIEhEIHZpZGVvCgkgIGVhY2ggZnJhbWUgbWlnaHQgZWFzaWx5IGFkZCB1cCB0byBhIGNvdXBsZSBvZiB0aG91c2FuZAoJICBwYWNrZXRzLCBtdWx0aXBseSB0aGF0IGJ5IHRoZSBmcmFtZSByYXRlIGFuZCB0aGF0J3MgYQoJICBsb3Qgb2YgcHVzaCgpIGFuZCBzZW5kbXNnKCkgY2FsbHMgcGVyIHNlY29uZC4KCSAgQSBnb29kIHJlYXNvbiB0byBwdXNoIG91dCBidWZmZXJzIGFzIGVhcmx5IGFzIHBvc3NpYmxlIGlzCgkgIGxhdGVuY3ksIHNvIHdlIGRvbid0IGFjY3VtdWxhdGUgdGhlIHdob2xlIGZyYW1lIGluIGEgc2luZ2xlCgkgIGJ1ZmZlciBsaXN0LCBidXQgaW5zdGVhZCBwdXNoIGl0IG91dCBpbiBhIGZldyBjaHVua3MsIHdoaWNoCgkgIGlzIGhvcGVmdWxseSBhIHJlYXNvbmFibGUgY29tcHJvbWlzZS4KCjIwMTQtMDYtMTYgMTY6NDA6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBpbXByb3ZlIGVsZW1lbnQgZGVzY3JpcHRpb25zIGZvciBkeW51ZHBzaW5rIGFuZCBtdWx0aXVkcHNpbmsKCjIwMTQtMDYtMTYgMTY6MTc6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiByZW1vdmUgc3VwcHJlc3Npb24gb2YgY29tcGlsZXIgd2FybmluZ3MgZm9yIGRlcHJlY2F0ZWQgR0xpYiBBUEkKCSAgTm90IG5lZWRlZCBhbnkgbW9yZS4KCjIwMTQtMDYtMTcgMTM6MTY6MjcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggY2FwcyBuZWdvdGlhdGlvbiBpc3N1ZQoJICBNYWtlIHN1cmUgdGhhdCBpZiBBWVVWIGlzIHJlY2VpdmVkIGl0IHdpbGwgZGV0ZWN0IHRoYXQgaXQgY2FuIHByb2R1Y2UKCSAgYm90aCBSR0IgYW5kIFlVViBmb3JtYXRzCgkgIFNpZ25lZC1vZmYtYnk6IFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MjQ4CgoyMDE0LTA2LTE2IDEyOjAyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogZml4IGRvdWJsZSBmcmVlcwoJICBGaXggZG91YmxlLWZyZWVzIGludHJvZHVjZWQgdG8gZml4IGFub3RoZXIgY292ZXJpdHkgcmVwb3J0LgoJICBDSUQgMTIyMzA1MwoKMjAxNC0wNi0xMyAxMDoxMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICBkeW51ZHBzaW5rOiByZXR1cm4gRkxVU0hJTkcgd2hlbiBzZW5kdG8gZ290IGNhbmNlbGVkLCBub3QgYW4gZXJyb3IKCjIwMTQtMDYtMTMgMDk6NTI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IHNpbXBsaWZ5IHByb2JlZCBjYXBzIGJlZm9yZSByZXR1cm5pbmcgdGhlbQoJICBFeHBvc2VzIGFsbCBmb3JtYXRzIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgaWYgdGhlCgkgIHJlc3QgaXMgdGhlIHNhbWUgZm9yIGFsbCBvZiB0aGVtLgoKMjAxNC0wNi0xMyAwOTo0NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogbWFrZSBzdXJlIDE2LWJpdCBmb3JtYXRzIGFyZSBiZWZvcmUgOC1iaXQgZm9ybWF0cyBpbiBwcm9iZWQgY2FwcwoJICBQcm9iZSBzdXBwb3J0ZWQgZm9ybWF0cyBpbiBvcmRlciBvZiBkZXNpcmFiaWxpdHkgcmF0aGVyIHRoYW4gaW4KCSAgd2hhdCBvcmRlciB0aGV5IG1heSBoYXBwZW4gdG8gYmUgaW4gdGhlIGZvcm1hdHMgYml0bWFzay4gRml4ZXMKCSAgYWNjaWRlbnRhbGx5IGV4cG9zdXJlIG9mIDgtYml0IGZvcm1hdHMgaW4gY2FwcyBiZWZvcmUgMTYtYml0IGZvcm1hdHMKCSAgKGluIGNhc2Ugd2hlcmUgVTE2IHdhcyBub3Qgc3VwcG9ydGVkIFM4IG1pZ2h0IGJlIGxpc3RlZCBiZWZvcmUgUzE2KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjg4NAoKMjAxNC0wNi0xMiAxNjozNjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFubHkgaGFuZGxlIHY0bDJfYWxsb2NhdG9yX25ldyBmYWlsdXJlCgoyMDE0LTA2LTEyIDExOjI0OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JkZXBheTogZml4IGxlYWtzCgkgIENvdmVyaXR5IDEyMTIxNjMKCjIwMTQtMDYtMTIgMTE6MTY6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IGxlYWsgZml4ZXMKCSAgQ292ZXJpdHkgMTIxMjE1OQoKMjAxNC0wNi0xMiAxMToxMTozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgQ292ZXJpdHkgMTIxMjE1NwoKMjAxNC0wNi0xMiAxMDo0Mzo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWtzCgkgIENvdmVyaXR5IDEyMTIxNDkKCjIwMTQtMDYtMTIgMTA6MzE6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJICBydHBkdnBheTogY2F0Y2ggZmFpbHVyZXMgdG8gbWFwIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NzQxCgoyMDE0LTA2LTExIDE3OjQzOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGd1YXJkIGFnYWluc3QgaGF2aW5nIG5vIE1JTUUgdHlwZQoJICBUaGUgY29kZSB3b3VsZCBwcmV2aW91c2x5IGNyYXNoIHRyeWluZyB0byBpbnNlcnQgYSBOVUxMIHN0cmluZwoJICBpbnRvIGEgaGFzaCB0YWJsZS4KCSAgSXQgZG9lcyBzZWVtIGEgbGl0dGxlIGJyb2tlbiB0aGF0IGluZGV4aW5nIGlzIGRvbmUgYnkgTUlNRSB0eXBlCgkgIGFuZCBub3QgYnkgaW5kZXggdGhvdWdoLCB1bmxlc3MgdGhlIHNwZWMgc2F5cyB0aGVyZSBjYW5ub3QgYmUKCSAgdHdvIHBhcnRzIHdpdGggdGhlIHNhbWUgTUlNRSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NTczCgoyMDE0LTA2LTEwIDE1OjQyOjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgVGhpcyBldmVudCB3YXMgbm90IHNlbnQuIFNlbmQgaXQgYmVmb3JlIGNhcHMsIHRoaXMgcmVxdWlyZXMgdGhlIHBhZCB0bwoJICBiZSBwYXJlbnRlZC4gVGhpcyByZW1vdmVzIHdhcm5pbmcgbGlrZTogIkdvdCBkYXRhIGZsb3cgYmVmb3JlCgkgIHN0cmVhbS1zdGFydCBldmVudCIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE0NzUKCjIwMTQtMDYtMTAgMTU6MzM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGxvb3BpbmcgaW5kZWZpbml0ZWx5IGluIGJyb2tlbiBzdnEzIGZpbGVzCgkgIEFib3J0IGlmIGFuIGF0b20gd2l0aCBzaXplIDAgaXMgcmVhZCBmcm9tIHdpdGhpbiB0aGUgc3ZxMyBzdHNkCgkgIGF0b21zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1MTIKCjIwMTQtMDYtMTAgMTA6NTI6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhZGQgY29uc3Qgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMTQtMDYtMDkgMTA6Mzk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGFkZCBtaXNzaW5nIHZhX2VuZCBpbiB2YXJpYWRpYyBmdW5jdGlvbgoJICBDb3Zlcml0eSAxMTM5OTQ0CgoyMDE0LTA2LTA5IDEwOjA0OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQXR0ZW1wdCB1cHN0cmVhbSBzZWVrIGZpcnN0CgkgIElmIHdlIGhhdmUgYW4gdXBzdHJlYW0gZWxlbWVudCB0aGF0IGNhbiBoYW5kbGUgdGhlIHNlZWsgKHN1Y2ggYXMKCSAgcnRtcHNyYyksIHRyeSB0byBkbyB0aGF0IGZpcnN0IGJlZm9yZSBhdHRlbXB0aW5nIGl0IG91cnNlbGYuCgoyMDE0LTA2LTA0IDExOjM0OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG8gbm90IGluY2x1ZGUgY29kZWNfZGF0YSBvbiByYXcgYXVkaW8gY2FwcwoJICBJZiB0aGUgd2F2IGhlYWRlciBjb250YWlucyBhbiBleHRlbmRlZCBjaHVuaywgd2Ugd2FudCB0byBrZWVwCgkgIHRoZSBjb2RlY19kYXRhIGZpZWxkLCBidXQgbm90IGZvciByYXcgYXVkaW8uCgkgIFRoaXMgZml4ZXMgc29tZSBlbGVtZW50cyAoc3VjaCBhcyBhZGRlcikgZnJvbSBmYWlsaW5nIHRvIGludGVyc2VjdAoJICByYXcgYXVkaW8gY2FwcyB3aGljaCB3b3VsZCBvdGhlcndpc2UgYmUgaW50ZXJzZWN0YWJsZS4KCjIwMTQtMDYtMDUgMDk6Mzg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBRdWVyeSBkdXJhdGlvbiB1cHN0cmVhbSBmaXJzdAoJICBVcHN0cmVhbSBlbGVtZW50cyAobGlrZSBydG1wc3JjKSBtaWdodCBiZSBhYmxlIHRvIHByb3ZpZGUgdGhlIGR1cmF0aW9uCgkgIG1vcmUgYWNjdXJhdGVseSB0aGFuIGZsdmRlbXV4LiBFc3BlY2lhbGx5IHdpdGggaW5kZXgtbGVzcyB2b2QgZmlsZXMKCjIwMTQtMDUtMzAgMTk6Mzc6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbnVwIHBvbGwgbWV0aG9kIGFuZCByZXRyeSBvbiBFSU5UUi9FQUdBSU4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAxNQoKMjAxNC0wMy0wNiAxNjozNzo1MSArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNldCBSRVNZTkMgYnVmZmVyIGZsYWcgd2hlbiBicmlkZ2luZyBsYXJnZSBQVFMgZ2FwcwoJICBTbyBkb3duc3RyZWFtIGdldHMgbm90aWZpZWQgd2hlbiB0aGlzIGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU5MDMKCjIwMTQtMDYtMDMgMTc6NTk6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBSZXNldCBzdGF0ZSBvbiBlYWNoIGl0ZXJhdGlvbgoJICBPdGhlcndpc2UgaXQgZGlkbid0IHdhaXQgZm9yIHRoZSB0ZXN0IHRvIGZpbmlzaCBiZWZvcmUgY2hlY2tpbmcgdGhlIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDEKCjIwMTQtMDUtMDkgMTQ6MjI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBkb2N0eXBlIHN0cmluZyBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQ0lEIDEyMTIxNDUuCgoyMDE0LTA1LTIwIDA4OjIwOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBjaGVja3MKCSAgQ0lEICMxMTk3NzAzCgoyMDE0LTA1LTIwIDA4OjIzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCB2YXJpYWJsZQoJICBDSUQgIzExMzk4MzgKCjIwMTQtMDUtMzAgMTQ6MzI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVwc3RyZWFtIGhhbmRsZXMgc2VlayBpZiBmcmFnbWVudGVkIGFuZCBvbiB0aW1lIHNlZ21lbnQKCSAgT3RoZXJ3aXNlIHdlIGNhbiByZWplY3Qgc2Vla3Mgb24gbG9jYWwgZmlsZXMgdGhhdCBjb250YWluIGZyYWdtZW50ZWQtbGlrZQoJICBhdG9tcyBsaWtlICdtdmV4Jy4gQWxzbyBpbXByb3ZlIGEgbWVzc2FnZSBsb2cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDcyMgoKMjAxNC0wNS0zMCAxNjo0Mzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzCgkgIHN1cmUgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE0LTA1LTA3IDE0OjA5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBjdXN0b20gc3RpY2t5IGV2ZW50IHRvIGNvbnRhaW4gdGhlIEhUVFAgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycwoJICBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gZS5nLiBnZXQgY29va2llIGluZm9ybWF0aW9uIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3MDcKCjIwMTQtMDUtMjYgMTk6NDc6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW1vdmUgc3RyZWFtIGxhc3QgZmxvdyByZXR1cm4KCSAgR3N0UGFkIGFscmVhZHkgc3RvcmVzIHRoYXQgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxOTozNzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGxhc3QgZmxvdyByZXR1cm4gZnJvbSBzdHJlYW0gc3RydWN0CgkgIEl0IGlzIGFscmVhZHkgc3RvcmVkIG9uIEdzdFBhZCBvbiBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTk6MTk6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBVc2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFVzZSB0aGUgZmxvdyBjb21iaW5lciB0byBoYXZlIHRoZSBzdGFuZGFyZCBjb21iaW5hdGlvbiByZXN1bHRzIGFuZCBhdm9pZAoJICByZXBlYXRpbmcgdGhlIHNhbWUgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEzOjIxOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgVXNlIHRoZSBmbG93IGNvbWJpbmVyIHRvIGhhdmUgdGhlIHN0YW5kYXJkIGNvbWJpbmF0aW9uIHJlc3VsdHMgYW5kIGF2b2lkCgkgIHJlcGVhdGluZyB0aGUgc2FtZSBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTM6MDQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoKMjAxNC0wNS0yMyAxNzo1MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyB0aGUgY29tbW9uIGNvZGUgdG8gY29tYmluaW5nIGZsb3cgcmV0dXJucyB0byBsZXQgaXQgYmUKCSAgaGFuZGxlZCBieSBjb3JlIGdzdHV0aWxzJyBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMDo1OTo1NSAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogaW1wbGVtZW50IGdzdHZpZGVvc2luay5zaG93X2ZyYW1lIGluc3RlYWQgb2YgZ3N0YmFzZXNpbmsucmVuZGVyCgkgIEl0IGFsbG93cyB0byBzaG93IHByZXJvbGwgZnJhbWUuIEVzcGVjaWFsbHkgaXQgYWxsb3dzIHRvIHVwZGF0ZSB0aGUKCSAgZnJhbWUgd2hlbiBzZWVraW5nIGluIFBBVVNFRCBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMwMwoKMjAxNC0wNS0yNiAxMDo1OTowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IENsZWFudXAgb2xkIHBhZCBhbGxvYyBkZWNsYXJhdGlvbgoKMjAxNC0wNS0yNiAxMjozNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENvcHkgYWxyZWFkeSBxdWV1ZWQgYnVmZmVyCgkgIFRoaXMgaXMgcmVxdWlyZWQgYXMgZHVyaW5nIHByZXJvbGwgd2UgcGFzcyB0aGUgZmlyc3QgYnVmZmVyIHR3aWNlLCBoZW5jZSBhbHJlYWR5CgkgIHF1ZXVlZC4gSXQgaXMgYWxzbyB1c2VmdWwsIHRvIGFsbG93IGZpbHRlcnMgcmVwbGF5aW5nIGEgcHJldmlvdXMgcmVuZGVyZWQgYnVmZmVycy4KCSAgVGhpcyB3aWxsIHJlcXVpcmUgMSBtb3JlIGJ1ZmZlciBpbiBzaW5rIGlmIGxhc3Qtc2FtcGxlIGlzIGVuYWJsZWQsIHNpbmNlIHRoZSBsYXN0CgkgIHNhbXBsZSB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgY3VycmVudGx5IHF1ZXVlZCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMDMKCjIwMTQtMDUtMjQgMjA6MjA6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kCgkgIFBvcnQgdGhlIGJ1ZmZlciBwb29sIHRvIHVzZSB0aGUgbmV3IGZsdXNoX3N0YXJ0L2ZsdXNoX3N0b3AgdmlydHVhbAoJICBtZXRob2RzIGFkZGVkIHRvIEdzdEJ1ZmZlclBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc2MTEKCjIwMTQtMDUtMjUgMTc6NDA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUKCjIwMTQtMDUtMjUgMTY6NTQ6MTggKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU1NgoKMjAxNC0wNS0yNCAyMzo1MTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgcXVldWUgYWxsIHRoZSBidWZmZXJzIGJlZm9yZSBkZXF1ZXVlaW5nIGZpcnN0CgkgIEZvciBvdXRwdXQgZGV2aWNlLCB3ZSB3aGVyZSBxdWV1aW5nIGFsbCB0aGUgYnVmZmVycywgYW5kIHRoZW4gd2Ugd291bGQKCSAgZGVxdWV1ZSBvbmUuIFRoaXMgbWVhbnMgd2Ugb25seSBoYXZlIDEgYnVmZmVyIGZvciB0aGUgcGlwZWxpbmUsIG5vIG1hdHRlcgoJICB0aGUgc2l6ZSBvZiB0aGUgcXVldWUuIEluc3RlYWQsIHN0YXJ0IGRlcXVldWVkIHdoZW4gbWluX2xhdGVuY3kgaXMgcmVhY2hlZC4KCSAgRXZlbnR1YWxseSwgdGhpcyB0aGUgbWluX2xhdGVuY3kgc2hvdWxkIGFsc28gYmUgYWZmZWN0ZWQgYnkgY29udHJvbAoJICBNSU5fQlVGRkVSU19GT1JfT1VUUFVUICh1c2UgYnkgZW5jb2RlcnMpLgoKMjAxNC0wNS0yNCAyMzo0OToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNpbXBseSByZWFkIGJhY2sgdGhlIGNvbmZpZyB0byB1cGRhdGUgdGhlIHF1ZXJ5CgkgIEl0J3MgZWFzeSB0byBnZXQgdGhlIG1pbi9tYXggb3V0ZGF0ZSB3aGVuIGhhY2tpbmcgZGVjaWRlIGFsbG9jYXRpb24uIEluCgkgIG9yZGVyIHRvIGF2b2lkIHRoaXMsIHNpbXBseSByZWFkIGJhY2sgdGhlIGNob29zZW4gdmFsdWUgZnJvbSB0aGUgY29uZmlnLgoKMjAxNC0wNS0yNCAyMzozMToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IENsZWFudXAgYW5kIGZpeCBjYWxjdWxhdGlvbiBvZiBsYXRlbmN5CgkgIENhbGN1bGF0aW9uIG9mIG51bV9idWZmZXJzICh0aGUgbWF4IGxhdGVuY3kgaW4gYnVmZmVycykgd2FzCgkgIHVwLXNpZGUtZG93bi4gIElmIHdlIGNhbiBhbGxjb2F0ZSwgdGhlbiBvdXIgbWF4aW11bSBsYXRlbmN5IG1hdGNoCgkgIHBvb2wgbWF4aW11bSBudW1iZXIgb2YgYnVmZmVycy4gQWxzbyByZW5hbWVkIGl0IHRvIG1heCBsYXRlbmN5LiBGaW5hbGx5CgkgIGludHJvZHVjZWQgYSBtaW5fbGF0ZW5jeSBmb3IgY2xhcml0eS4KCjIwMTQtMDUtMjQgMjA6MDA6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBSZXZlcnQgInY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmUwZmI0MmU4NjhmYzlmNmQ5OGIwMjhkZWY4MGEzZTk1MzUyNzMwNy4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoJICBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYwoKMjAxNC0wNS0yNCAxODo1NjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBjb25maWd1cmF0aW9uIG9mIG90aGVyX3Bvb2wgYW5kIGltcG9ydGF0aW9uIGNhc2UKCSAgRml4IHRoZSBjaG9pY2Ugb2YgbWluL21heCwgZG9uJ3Qgb3ZlcnJpZGUgdGhlIG1pbi9tYXggd2l0aCBvd24gcG9vbCBzZWxlY3RlZAoJICBzaXplLCBjb3JyZWN0IG90aGVyX3Bvb2wgaXNfYWN0aXZlIGNoZWNrLCBzdGFydCBmcm9tIG90aGVyX3Bvb2wgY29uZmlnIHdoZW4KCSAgY29uZmlndXJpbmcgdGhlIG90aGVyIHBvb2wgYW5kIGZpbmFsbHkgdmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24uCgoyMDE0LTA1LTI0IDE4OjQ1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIHByb3Bvc2VkIGFsbG9jYXRvciBhcyBkZWZhdWx0CgoyMDE0LTA1LTI0IDE4OjQzOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggVVNFUlBUUiBtYXAgZmxhZ3MKCSAgV2UgbmVlZCB0byBtYXAgUkVBRCBvbmx5IGZvciBvdXRwdXQgYW5kIHdyaXRlIG9ubHkgZm9yIGNhcHR1cmUsIHdlIHdoZXJlCgkgIGRvaW5nIHRoZSBvcHBvc2l0ZS4gVGhpcyBmaXhpbmcgVVNFUlBUUiB3aXRoIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2OTgKCjIwMTQtMDUtMjQgMTE6MTY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHRraGQgdHJhbnNmb3JtYXRpb24gbWF0cml4IGFuZCBhZGQgdGFncyBpZiBhcHByb3ByaWF0ZQoJICBIYW5kbGUgdGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBjYXNlcyB3aGVyZSB0aGVyZSBhcmUgb25seSBzaW1wbGUgcm90YXRpb25zCgkgICg5MCwgMTgwIG9yIDI3MCBkZWdyZWVzKSBhbmQgdXNlIGEgdGFnIGZvciB0aG9zZSBjYXNlcy4gVGhpcyBpcyBhIGNvbW1vbiBzY2VuYXJpbwoJICB3aGVuIHJlY29yZGluZyB3aXRoIG1vYmlsZSBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1MjIKCjIwMTQtMDUtMjMgMTk6MTA6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQcmV2ZW50IG51bV9xdWV1ZWQgZnJvbSBnb2luZyBuZWdhdGl2ZQoKMjAxNC0wNS0yMyAxODoyNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogZG9uJ3Qgc3RvcCBpZiBsb29wIHJldHVybmVkIEZMVVNISU5HCgkgIFRoZSBkZWNvZGVpbmcgdGhyZWFkIHJldHVybmluZyBmbHVzaGluZyBpc24ndCBhbiBlcnJvciwgd2Ugc2hvdWxkIHNpbXBseQoJICB0cnkgc3RhcnRpbmcgdGhlIHRhc2sgYWdhaW4uIElmIGl0J3MgYWN0dWFsbHkgZmx1c2hpbmcsIGl0IHdpbGwgc3RvcCBhZ2FpbiBieSBpdHNlbGYuCgoyMDE0LTA1LTIzIDE3OjU0OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZWFybHkgdGFzayBzdG9wCgoyMDE0LTA1LTIzIDE3OjI4OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZ3N0X3BhZF9zdGFydF90YXNrKCkgZmFpbHVyZQoKMjAxNC0wNS0yMyAxNzoxOTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQWRkIHRyYWNlIGZvciBGTFVTSF9TVEFSVC9TVE9QIGhhbmRsaW5nCgoyMDE0LTA1LTIzIDE3OjE4OjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggdXNlIG9mIGF0b21pYyB2YWx1ZQoKMjAxNC0wNS0yMyAxNzowMTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgZGVidWdnaW5nCgkgIE5vIG5lZWQgdG8gdXNlIG9iai0+ZWxlbWVudCwgdGhlIHBvb2wgbm93IGhhdmUgYSBzaWduaWZpY2FudCBuYW1lLiBBbHNvIGRvbid0CgkgIHdhcm4gaWYgZmx1c2hpbmcuCgoyMDE0LTA1LTIzIDE3OjAxOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggaGFuZGxlX2ZyYW1lIGVycm9yIGhhbmRsaW5nCgoyMDE0LTA1LTIzIDE1OjU2OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWRkIGEgdHJhY2Ugd2hlbiBfc3RhcnQoKSBpcyBjYWxsZWQKCjIwMTQtMDUtMjMgMTU6NTY6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIGRlYnVnIGFzc2VydCB0byBkZXRlY3QgY2FsbHMgaW4gdGhlIHdyb25nIHN0YXRlCgoyMDE0LTA1LTIzIDE1OjU1OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGNvdW50IHdoZW4gc3RvcHBlZAoKMjAxNC0wNS0yMyAxNTo1NTowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmV0dXJuIGEgR3N0Rmxvd1JldHVybiBpbnN0ZWFkIG9mIGJvb2xlYW4gaW4gYWxsb2MKCjIwMTQtMDUtMjMgMTU6MTc6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBjb25maWcgc3RydWN0dXJlCgoyMDE0LTA1LTIzIDE0OjEyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QKCjIwMTQtMDUtMjMgMDM6MDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCB0YWcgbWFwcGluZ3MgZm9yIF9zd3IsIF9tYWsgYW5kIF9tb2QgdGFncwoJICBzd3IgLT4gQXBwbGljYXRpb24gbmFtZQoJICBtYWsgLT4gZGV2aWNlIG1hbnVmYWN0dXJlcgoJICBtb2QgLT4gZGV2aWNlIG1vZGVsCgoyMDE0LTA1LTIwIDE3OjM3OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCB4aW1hZ2UgbGVha3Mgd2hlbiBidWZmZXIgaGFzIG1vcmUgdGhlbiBvbmUgeGltYWdlCgkgIEZyb20gdGltZSB0byB0aW1lLCB3aGVuIHRoZSBpbWFnZV9wb29sIGxpc3QgaGFzIG1vcmUgdGhlbiAxIGVsZW1lbnQKCSAgYW5kIEkgc3VwcG9zZSBhdCBzdGFydCwgYWxsIGJ1dCAxIHBvb2xlZCB4aW1hZ2UgYXJlIGxlYWtlZC4gVGhpcyBpcwoJICBkdWUgdG8gYnJva2VuIGFsZ29yaXRobSBpbiBnc3RfeGltYWdlc2lua19zcmNfeGltYWdlX2dldCgpLiBUaGVyZSB3YXMKCSAgYWxzbyBhIHJpc2sgb2YgdXNlIGFmdGVyIGZyZWUgZm9yIHRoZSBjYXNlIHdoZXJlIHRoZSB4aW1hZ2Ugc2l6ZSBoYXMKCSAgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMgoKMjAxNC0wNS0yMSAxMzoyMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjIgPT09CgoyMDE0LTA1LTIxIDEzOjA2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjIKCjIwMTQtMDUtMjEgMTI6MTk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMjEgMTA6NTE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxMWZhNWYgdG8gMWY1ZDNjMwoKMjAxNC0wNS0yMCAwODoyMzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgdmFyaWFibGUKCSAgQ0lEICMxMTM5ODM4CgoyMDE0LTA1LTIwIDA4OjIwOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBjaGVja3MKCSAgQ0lEICMxMTk3NzAzCgoyMDE0LTA1LTE5IDExOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEV4cGxpY2l0bHkgY2FzdCBlbnVtICJzdWJ0eXBlIiB0byBpdHMgInN1cGVydHlwZSIKCSAgZ3N0djRsMmJ1ZmZlcnBvb2wuYzo2MDg6MTg6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnZW51bSBfR3N0VjRsMkJ1ZmZlclBvb2xBY3F1aXJlRmxhZ3MnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RCdWZmZXJQb29sQWNxdWlyZUZsYWdzJyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcGFyYW1zLmZsYWdzID0gR1NUX1Y0TDJfUE9PTF9BQ1FVSVJFX0ZMQUdfUkVTVVJFQ1Q7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTQtMDUtMTkgMTE6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkgIGdvb206IFVzZSBmYWJzKCkgaW5zdGVhZCBvZiBhYnMoKSB0byBjYWxjdWxhdGUgdGhlIGZsb2F0aW5nIHBvaW50IGFic29sdXRlIHZhbHVlCgkgIHRlbnRhY2xlM2QuYzoyNjg6NzogZXJyb3I6IHVzaW5nIGludGVnZXIgYWJzb2x1dGUgdmFsdWUgZnVuY3Rpb24gJ2Ficycgd2hlbgoJICBhcmd1bWVudCBpcyBvZiBmbG9hdGluZyBwb2ludCB0eXBlIFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIGlmIChhYnMgKHRtcCAtIGZ4X2RhdGEtPnJvdCkgPiBhYnMgKHRtcCAtIChmeF9kYXRhLT5yb3QgKyAyLjAgKiBHX1BJKSkpIHsKCSAgXgoKMjAxNC0wNS0xOSAxMToyMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVndXRpbHM6IFByb3Blcmx5IGNhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSB3aXRoIHVuc2lnbmVkIHR5cGVzCgkgIHRlc3RzLmM6MTYxOjE2OiBlcnJvcjogdGFraW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB1bnNpZ25lZCB0eXBlCgkgICd1bnNpZ25lZCBsb25nJyBoYXMgbm8gZWZmZWN0IFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIHQtPmRpZmYgKz0gbGFicyAoR1NUX0JVRkZFUl9USU1FU1RBTVAgKGJ1ZmZlcikgLSB0LT5leHBlY3RlZCk7CgoyMDE0LTA1LTE2IDE3OjQ2OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZmx1c2ggd2hpbGUgaW4gc3RhcnRfc3RyZWFtaW5nCgkgIFdlIG5lZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGEgZmx1c2ggb2NjdXJlIHdoaWxlIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIGlzIGJlaW5nIGJyb3VnaHQgdXAuIEluIHRoaXMgY2FzZSwgdGhlIGZsdXNoaW5nIHN0YXRlIG9mIHRoZSBwb2xsCgkgIG9iamVjdCBpcyBjbGVhcmVkLiBUbyBzb2x2ZSB0aGlzLCB3ZSBzaW1wbHkgc2V0IHRoZSBjYXB0dXJlIHBvbGwgdG8gZmx1c2hpbmcKCSAgYWdhaW4sIHRoaXMgd2F5IHdlIGtub3cgdGhlIHRocmVhZCB3aWxsIGV4aXQuIFRoZSBkZWNvZGVyIHN0cmVhbWxvY2sKCSAgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSB3aXRoIGhhbmRsZSBmcmFtZS4KCjIwMTQtMDUtMTYgMTY6NDQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRG9uJ3QgdHJhY2UgdHdpY2UgdGhlIHNhbWUgbWVzc2FnZQoKMjAxNC0wNS0xNSAxMToyNTo1MCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsd2F5cyB1c2UgYSByYW5kb20gc3NyYyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24KCSAgVXNlIGEgcmFuZG9tIFNTUkMgZGlmZmVyZW50IHRoYW4gMCBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gU1NSQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIxMgoKMjAxNC0wNS0xNiAxNjo1MjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVwZGF0ZSBsYXN0X2FjdGl2aXR5IHdoZW4gc2VuZGluZyBSVFAKCSAgQWxzbyB1cGRhdGUgbGFzdF9hY3Rpdml0eSB3aGVuIGRvaW5nIHNvbWV0aGluZyB3aXRoIHRoZSBpbnRlcm5hbAoJICBzb3VyY2UgdG8gbWFrZSBzdXJlIGRvbid0IHRpbWVvdXQgZWFybHkuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjE3CgoyMDE0LTA1LTE1IDE4OjA4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogQ2xlYW51cCBNMk0gcHJvcGVydGllcwoJICBNMk0gZGV2aWNlcyB3ZXJlIHNoYXJpbmcgdGhlIHNhbWUgcHJvcGVydGllcyBhcyBzcmMgYW5kIHNpbmsuIE1vc3Qgb2YKCSAgdGhlc2UgbWFkZSBubyBzZW5zZS4gVGhpcyBwYXRjaCByZWR1Y2VzIHRoZSBudW1iZXIgb2YgcHJvcGV0aWVzIGFuZAoJICBtYWtlcyBpby1tb2RlIGNsZWFyZXIgYnkgaGF2aW5nIGNhcHR1cmUtaW8tbW9kZSBhbmQgb3V0cHV0LWlvLW1vZGUuIFRoaXMKCSAgYWxzbyBhY2NpZGVudGx5IGZpeGVkIGEgYnVnIGluIGdzdHY0bDJ0cmFuc2Zvcm0gaW8tbW9kZSBjb2RlLCB3aGVyZSB0aGUKCSAgY2FwdHVyZSBpby1tb2RlIGNvdWxkIG5vdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1OTEKCjIwMTQtMDUtMTUgMTc6Mzk6MzkgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBwb29sIGxpbWl0IHdpdGggaGFyZHdhcmUgcmVxdWlyZW1lbnN0CgkgIElmIHRoZSBkcml2ZXIgbmVlZCBtb3JlIGJ1ZmZlcnMgdGhhbiByZXF1ZXN0ZWQgYnkgdGhlIGNvbmZpZywKCSAgdXBkYXRlIHRoZSBwb29sIG1pbi9tYXggdmFsdWVzLiBUaGUgbWluaW11bSB2YWx1ZSBmb3IgdGhlIHBvb2wKCSAgY291bGQgYmUgcHJvdmlkZWQgZWl0aGVyIGJ5IHRoZSBkcml2ZXIgb3IgYnkgdGhlIHBvb2wuIFRoaXMgaXMKCSAgYmVzdCBlZmZvcnQgZm9yIGRyaXZlcnMgdGhhdCBkb24ndCBzdXBwb3J0CgkgIENJRCBWNEwyX0NJRF9NSU5fQlVGRkVSU19GT1JfQ0FQVFVSRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwMAoKMjAxNC0wNS0xNSAxMDo0NDoyOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIHN0YXJ0X3N0cmVhbWluZyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE1IDEwOjM5OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcmludCB0aGUgZmxvdyByZXR1cm4gY2F1c2luZyB0aGUgbG9vcCB0byBsZWF2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE1IDEwOjMxOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCBsb2NrIHRoZSBkZWNvZGVyIHdoZW4gc3RvcHBpbmcgdGFzawoJICBUaGF0IHNyYyBwYWQgdGFzayBtYXkgbmVlZCB0byB0YWtlIHRoZSBsb2NrIHdoZW4gYmVpbmcgcHVsbGVkCgkgIGRvd24uIHRha2VpbmcgdGhhdCBsb2NrIGNhbiBsZWFkIHRvIGEgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTc6MTg6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRG9uJ3QgbGVhayBwb29sIGlmIGFjdGl2YXRpb24gZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTc6MTg6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IFNwbGl0IGZsdXNoIGluIHN0YXJ0L3N0b3Bfc3RyZWFtaW5nCgkgIFRoaXMgYWxsb3cgY2FsbGluZyBzdGFydCBzdHJlYW1pbmcgbGF0ZXIgZm9yIGNhcHR1cmUgZGV2aWNlLiBDdXJyZW50bHkgaXQgYnJlYWtzCgkgIGluIGRtYWJ1Zi1pbXBvcnQgYmVjYXVzZSBkb3duc3RyZWFtIGlzIGhvbGRpbmcgYSBidWZmZXIgdGhhdCB3aWxsIG9ubHkgYmUKCSAgcmVsZWFzZWQgYWZ0ZXIgc3RyZWFtLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE1OjEyOjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZsdXNoIGJ1ZmZlciBwb29scyBvbiBmbHVzaCBzdG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6Mjg6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IHVzZSBvZiBhdG9taWMgYWN0aXZlIG1hcmtlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjA1OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgZGVhY3RpdmF0ZSBvdGhlcnBvb2wKCSAgV2Ugc2hvdWxkIG5vdCBzdG9wIHRoZSBvdGhlcnBvb2wgdW5sZXNzIHdlIGFsc28gc3RvcCBvdXIgb3duCgkgIHBvb2wsIG90aGVyd2lzZSBpdCB3aWxsIG5ldmVyIGdldCByZXN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTI6MzM6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBbHNvIHVwZGF0ZSBudW1fYnVmZmVycyBmb3IgaW1wb3J0IGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6NDI6MjUgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXBkYXRlIHJ0cCBlbmNvZGVyL2RlY29kZXIgZG9jcwoJICBVc2UgJXUgaW4gUlRQIGVuY29kZXIvZGVjb2RlciBwYWRzIHRvIG1hdGNoIG90aGVyIHJ0cGJpbiBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQ2CgoyMDEzLTEyLTI3IDExOjU1OjE4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogcnRwc2Vzc2lvbjogdGVzdCBpbnRlcm5hbCBzb3VyY2VzIHRpbWluZyBvdXQKCjIwMTMtMTItMjYgMTc6MzA6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSB1bnVzZWQgaWYgYnJhbmNoCgkgIDEpIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFIGluIHRoZSBwYXN0IGNhbm5vdCBiZSBzZW5kZXJzLCBzaW5jZQoJICB0aGV5IHdvdWxkIGhhdmUgdGltZWQgb3V0IHRvIGJlaW5nIHJlY2VpdmVycyBpbiB0aGUgbWVhbnRpbWUuLi4KCSAgMikgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUgYXJlIG5vdyBiZWluZyByZW1vdmVkIGVhcmxpZXIgaW5zaWRlCgkgIHRoaXMgZnVuY3Rpb24KCjIwMTMtMTItMjYgMTc6Mjk6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNsZWFudXAgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUKCjIwMTMtMTItMjYgMTc6MjQ6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVuaWZ5IG5lc3RlZCBpZiBjbGF1c2VzCgoyMDEzLTEyLTI2IDE3OjIxOjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB0aW1lb3V0IGludGVybmFsIHNvdXJjZXMgdGhhdCBhcmUgaW5hY3RpdmUgZm9yIGEgbG9uZyB0aW1lIGFuZCBzZW5kIEJZRQoKMjAxNC0wNS0xMyAxMjoyNTowNCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBzdG9wIGxvb3BpbmcgaWYgZXZlbnQgZm91bmQgaW4gdGhlIHF1ZXVlCgkgIElmIHdlIGFyZSBpbnNlcnRpbmcgYSBwYWNrZXQgaW50byB0aGUgaml0dGVyIHF1ZXVlIHdlIG5lZWQgdG8ga2VlcAoJICBsb29waW5nIHRocm91Z2ggdGhlIGl0ZW1zIHVudGlsIHRoZSByaWdodCBwb3NpdGlvbiBpcyBmb3VuZC4gQ3VycmVudGx5LAoJICB0aGUgY29kZSBzdG9wcyBhcyBzb29uIGFzIGFuIGV2ZW50IGlzIGZvdW5kIGluIHRoZSBxdWV1ZS4KCSAgUmVnYXJkaW5nIGV2ZW50cywgd2Ugc2hvdWxkIG9ubHkgbW92ZSBwYWNrZXRzIGJlZm9yZSBhbiBldmVudCBpZiB0aGVyZQoJICBpcyBhbm90aGVyIHBhY2tldCBiZWZvcmUgdGhlIGV2ZW50IHRoYXQgaGFzIGEgbGFyZ2VyIHNlcW51bS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDA3OAoKMjAxNC0wNC0xNyAxMzowNDowMCArMDAwMCAgQWRyaWVuIFNDSCA8YWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHRoZSBtZW1vcnkgbGVhayBvZiBsYW5ndWFnZSBhdHRyaWJ1dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQxOAoKMjAxNC0wNS0xMyAxMzo0NDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggcmVncmVzc2lvbiBpbiBvZmZzZXQgZXh0cmFwb2xhdGlvbgoJICBXaGVuIGV4dHJhcG9sYXRpbmcgdGhlIG9mZnNldCwgd2UgbmVlZCB0byB1c2UgdGhlIGV4dHJhcG9sYXRlCgkgIHN0cmlkZSByYXRoZXIgdGhlbiB0aGUgYmFzZSBzdHJpZGUuIFRoaXMgc2hvdWxkIGZpeCBzdXBwb3J0IGZvciBmb3JtYXQKCSAgd2l0aCBtb3JlIHRoZW4gdHdvIHBsYW5lcyAoSTQyMCwgWTQyQiwgZXRjKS4KCjIwMTQtMDUtMTIgMTg6MDM6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBVc2UgZGVmYXVsdCBWaWRlb0luZm8gZm9yIGZyYW1lIG9wZXJhdGlvbgoJICBXaGVuIGRvaW5nIGZyYW1lIG9wZXJhdGlvbiwgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgVmlkZW9JbmZvCgkgIGFuZCBsZXQgdGhlIGZyYW1lIEFQSSByZWFkIHRoZSB2aWRlbyBtZXRhIGluIG9yZGVyIHRvIGdldCB0aGUgc3RyaWRlCgkgIGFuZCBvZmZzZXQgcmlnaHQuIEN1cnJlbnRseSB3ZSB3aGVyZSB1c2luZyB0aGUgc3BlY2lhbGl6ZWQgVmlkZW9JbmZvCgkgIHdoaWNoIHJlZmxlY3RzIHdoYXQgdGhlIEhXIGlzIHNldHVwIHRvLgoKMjAxNC0wNS0xMiAxNzoyMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogbWlub3IgR1ZhbHVlIGhhbmRsaW5nIG9wdGltaXNhdGlvbiBpbiBwcm9iaW5nIGNvZGUKCjIwMTQtMDUtMTIgMTc6MjA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGF2b2lkIGxpc3RzIHdpdGggb25lIHNpbmdsZSBmcmFtZXJhdGUgaW4gcHJvYmVkIGNhcHMKCSAgU2ltcGxpZnkgZnJhbWVyYXRlIGZpZWxkIGlmIHBvc3NpYmxlLCBzbyB3ZSBkb24ndCBlbmQgdXAgd2l0aAoJICBlLmcuIGZyYW1lcmF0ZSA9IChmcmFjdGlvbikgeyAzMC8xIH0uIE1heWJlIHRoZSBoZWxwZXIgZnVuY3Rpb24KCSAgc2hvdWxkIGJlIG1vdmVkIHRvIGNvcmUsIGJ1dCB3ZSBjYW4gZG8gdGhpcyBsYXRlci4KCjIwMTQtMDUtMTIgMTY6NTY6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGxlYWsgb2YgcGFsZXR0ZV9kYXRhIGluIGVycm9yIGNhc2VzCgkgIENJRCAjMTIxMjE1MQoKMjAxNC0wNS0xMiAxNjo1MzozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgbm9kZV9oZWFkZXIgaW4gZXJyb3IgY2FzZXMKCSAgQ0lEICMxMjEyMTM0CgoyMDE0LTA1LTEyIDEzOjQ2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBXQVJOSU5HIGZvciBub3QtbGlua2VkIGZsb3cgcmV0dXJuCgkgIFBvbGx1dGVzIGRlYnVnIGxvZ3MgZm9yIG5vIHJlYXNvbi4gSXQncyBvbmx5IGFuIGVycm9yIGlmIGFsbCBwYWRzCgkgIHJldHVybiBub3QtbGlua2VkCgoyMDE0LTA1LTEyIDEzOjQ1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogU2tpcCB1bmtub3duIHRhZ3MgaW4gcHVzaC1tb2RlCgkgIFdlIGFkZCBhIG5ldyBtb2RlIChTS0lQKSBpbiBwdXNoLW1vZGUgdG8gc2tpcCB0YWdzIHRoYXQgd2UgZG9uJ3Qga25vd24gYWJvdXQKCSAgUGFydGlhbGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA3MTIKCjIwMTQtMDUtMTAgMDk6MTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEFkZCBzdXBwb3J0IGZvciB2YXJpYWJsZSBibG9jayBzaXplIGZpbGVzIGFuZCByZW1vdmUgZGVhZCBjb2RlCgkgIFRoaXMgZGVhZCBjb2RlIHdhc24ndCB1c2VkIHNpbmNlIHRoZSAxLjAgcG9ydCBhbmQgd291bGQgbmVlZCB0bwoJICBiZSBtb2RpZmllZCBoZWF2aWx5IGZvciB2YXJpYWJsZSBibG9jayBzaXplIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTQKCjIwMTQtMDUtMDkgMTI6MTQ6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXggTlVMTCBjaGVjayBjb3B5IHBhc3RlIGVycm9yCgkgIENJRCAxMjEyMTI5CgoyMDE0LTA1LTA5IDEyOjExOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4IHBvdGVudGlhbCBkZWFkbG9jayBkdWUgdG8gbWlzc2luZyBicmVhawoJICBDSUQgMTIxMjEzMQoKMjAxNC0wNS0wOSAxODowMToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW5jcmVtZW50IGFjY2VwdGVkIHBhY2tldHMgYWZ0ZXIgbG9zcwoJICBXaGVuIHdlIGRldGVjdCBhIGxvc3QgcGFja2V0LCBleHBlY3QgcGFja2V0cyB3aXRoIGhpZ2hlcgoJICBzZXFudW0gb24gdGhlIGlucHV0LgoJICBBbHNvIHVwZGF0ZSB0aGUgdW5pdCB0ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTI0CgoyMDE0LTA1LTA0IDExOjEyOjU0IC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJkZXZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBBZGQgbmV3IHRlc3QgY2FzZS4KCjIwMTQtMDUtMDkgMTY6MTQ6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogbm8gbmVlZCB0byBhY3RpdmF0ZSBwYWRzCgkgIEFjdGl2YXRpb24gd2lsbCBoYXBwZW4gaW4gdGhlIHN0YXRlIGNoYW5nZQoKMjAxNC0wNS0wOSAxMjoxMDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgY29uZmlnIHN0cnVjdHVyZQoJICB0aGlzIGZpeGVzIGEgbGVhayBvZiB0aGUgY29uZmlnIHN0cnVjdHVyZSBhbmQgdGFrZSBjYXJlIG9mIG1ha2luZyBzdXJlCgkgIGNhcHMgY2FuJ3QgcmVhY2ggcmVmIDAgYmVmb3JlIHdlIGFyZSBkb25lIGRvaW5nIG91ciBjaGVjay4KCSAgQ0lEIDEyMTIxNDQKCjIwMTQtMDUtMDkgMTI6MDg6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgdW5lZWRlZCBjYXN0IGZvciBjb2RlIGNsYXJpdHkKCjIwMTQtMDUtMDkgMTE6NTY6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IEZpeCBsZWFrIG9mIGNvbmZpZyBzdHJ1Y3R1cmUgaW4gZXJyb3IgY2FzZQoJICBDSURzIDEyMTIxNjcgYW5kICAxMjEyMTY3CgoyMDE0LTA1LTA5IDExOjUxOjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHVzZSBvZiB1bml0aWxpemVkIHBvb2wgcG9pbnRlcgoJICBDSUQgIzEyMTIxNzMKCjIwMTQtMDUtMDkgMTY6NDg6NTggKzAyMDAgIEVyaWMgVHJvdXNzZXQgPGV0cm91c3NldEBhd294LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCByZXNwb25kIHRvIGEgcG9zaXRpb24gcXVlcnkgaW4gQllURSBmb3JtYXQgd2l0aCBhIFRJTUUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MwoKMjAxNC0wNS0wOSAxNDoyMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIGRvY3R5cGUgc3RyaW5nIGluIGVycm9yIGNvZGUgcGF0aAoJICBDSUQgMTIxMjE0NS4KCjIwMTQtMDUtMDYgMTM6Mzc6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZWFkYmFjayBwb29sIGNvbmZpZyBpZiB1c2VkIHdpdGhpbiB0aGUgYmFzZWNsYXNzCgoyMDE0LTA1LTA2IDEyOjU4OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IFJlcGxhY2UgbWlzcy11c2Ugb2YgY3JvcCBtZXRhIGluIGZhdm91ciBvZiBwcm9wZXIgb2Zmc2V0CgkgIFRoaXMgbW92ZXMgYXdheSBmcm9tIGNvcHlpbmcgaW5mb3JtYXRpb24gYW5kIHN0b3JlIGV2ZXJ5dGhpbmcgaW5zaWRlCgkgIHRoZSBHc3RWaWRlb0luZm8gc3RydWN0dXJlLiBUaGUgYWxpZ25lbWVudCBleHBvc2VkIGJ5IHY0bDIgYXBpCgkgIGlzIG5vdyBoYW5kbGVkIHVzaW5nIHByb3BlciBvZmZzZXQuCgoyMDE0LTA1LTA2IDEyOjU1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3R5bGUgZml4CgoyMDE0LTA1LTA1IDEyOjM4OjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgaW1wb3J0ZWQgYnVmZmVyIHNpemUgd2l0aCBleHBlY3RlZCBzaXplCgkgIFRoaXMgZW5zdXJlIHRoYXQgdGhlIGJ1ZmZlciBwb29sIHdvbid0IGFsd2F5cyBkaXNjYXJkIGJ1ZmZlciB3aXRoIHRoZXNlCgkgIG1lbW9yeSB3aGVuIHRoZXkgYXJlIHJlbGVhc2VkLgoKMjAxNC0wNS0wNSAxMjozNzo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGZsdXNoZWQgZ3JvdXAKCSAgVGhpcyBlbnN1cmUgdGhhdCBhIGZsdXNoZWQgZ3JvdXAgbWVtb3J5IGFyZSB0aGUgc2FtZSBzaXplIGFzIHdoZW4gdGhleQoJICB3aGVyZSBvcmlnaW5hbGx5IGFsbG9jYXRlZCAvIGltcG9ydGVkLgoKMjAxNC0wNS0wNSAxMjowNzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogR2V0IG51bWJlciBvZiBhbGxvY2F0ZWQgYnVmZmVycyBmcm9tIGFsbG9jYXRvcgoJICBUaGUgdmFsdWUgb2YgbnVtX2FsbG9jYXRlZCBidWZmZXIgd291bGQgZ2V0IGNvbmZ1c2VkIHdoZW4KCSAgYnVmZmVyIGFyZSBiZWluZyBkaXNjYXJkZWQuCgoyMDE0LTA1LTA1IDEyOjA2OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgYSBtZXRob2QgdG8gcmVhZCBudW1iZXIgb2YgYWxsb2NhdGVkIGdyb3VwCgoyMDE0LTA1LTA0IDIwOjIzOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAxNC0wNS0wNCAxOTo1MTo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogRW5zdXJlIHdlIGRvbid0IHJlLWVucXVldWUgYnVmZmVyIGR1cmluZyBmbHVzaAoKMjAxNC0wNS0wNCAxOToxMzozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEluaXRpbGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeQoKMjAxNC0wNS0wNCAxNjoxMTowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBsaWJ2NGwyIHN1cHBvcnQKCSAgTmVlZCB0byBpbmNsdWRlIGNvbmZpZy5oLCBvdGhlcndpc2Ugd2UgZW5kdXAgZGlyZWN0bHkgdXNpbmcgdGhlCgkgIGlvY3QvbW1hcC9tdW5tYXAgY2FsbHMgYW5kIG5lZWQgdG8gdmFsbCB2NGwyX211bm1hcC4KCjIwMTQtMDUtMDEgMTM6MDQ6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogU2V0IHRoZSBmbGFncyBvbiB0aGUgb2JqZWN0CgkgIFdlIHdoZXJlIG5vdCBzZXR0aW5nIHRoZSBwcm9iZWQgZmxhZ3Mgb24gdGhlIGFsbG9jYXRvciwgd2hpY2ggbWVhbiBldmVuIGlmCgkgIENSRUFURV9CVUZTIHdhcyBzdXBwb3J0ZWQgb24gc29tZSBkcml2ZXIsIGl0IHdvdWxkIGVuZHVwIGJlaW5nIGlnbm9yZWQuCgoyMDE0LTA0LTI5IDE2OjQ5OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmUtZW5xdWV1ZSBidWZmZXIgYXQgc3RyZWFtIHN0YXJ0CgoyMDE0LTA0LTI5IDE2OjA2OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFRoZXJlIGlzIG5vdCBncm91cCBvbiBlcnJvcgoKMjAxNC0wNC0yOSAxNDo1NjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBIYW5kbGUgRkxVU0hfU1RPUCBldmVudAoKMjAxNC0wNC0yOSAxMzowNTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFjcXVpcmUgY2Fubm90IHJldHVybiBhIGJ1ZmZlciBmcm9tIGFub3RoZXIgcG9vbAoJICBSZXR1cm4gYSBidWZmZXIgZnJvbSBhbiBvdGhlcnBvb2wgaGFzIHVud2FudGVkIHNpZGUgZWZmZWN0cyB0aGF0IGxlYWQgdG8gbGVha3MgYW5kCgkgIHByZXZlbnRzIGRlYWN0aXZhdGluZyB0aGUgcG9vbC4gSW5zdGVhZCwgd2UgY2hhbmdlIHRoZSBfcHJvY2VzcygpIEFQSSBzbyBpdCBjYW4KCSAgcmVwbGFjZSB0aGUgaW50ZXJuYWwgYnVmZmVyIHdpdGggdGhlIGJ1ZmZlciBmcm9tIHRoZSBkb3duc3RyZWFtIHBvb2wuIFRoaXMgaW1wbGllZAoJICBtb3ZpbmcgZnJvbSBfZmlsbCgpIHRvIF9jcmVhdGUoKSBtZXRob2QgaW4gdGhlIHNyYy4KCjIwMTQtMDQtMjkgMTM6MDA6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZW1vdmUgdW5yZWFjaGVkIGFjcXVpcmUgY29kZQoJICBUaGUgYWNxdWlyZSBpcyBkb25lIGluIF9wcmVwYXJlIG5vdy4KCjIwMTQtMDQtMjkgMTI6NTc6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBTYW5ldGl6ZSBidWZmZXIgcmVmb3VudCBoYW5kbGluZwoJICBCdWZmZXIgcmVmY291bnRpbmcgaXMgYSBiaXQgaGFyZCwgYmVjYXVzZSBvZiB0aGUgZHVhbGl0eSBiZXR3ZWVuIENBUFRVUkUgYW5kCgkgIE9VVFBVVCBtb2RlLiBJbiB0aGUgbG9uZyB0ZXJtLCB3ZSBzaG91bGQgY29uc2lkZXIgaGF2aW5nIHR3byBzZXBlcmF0ZSBwb29sCgkgIGluc3RlYWQgb2YgdGhpcyBtZXNzLiBBdCBsZWFzdCBzdGF0ZSBzaG91bGQgYmUgYmV0dGVyIGtlcHQgdGhpcyB3YXkuCgoyMDE0LTA0LTI5IDEyOjQ4OjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEFkZCBtb3JlIHRyYWNlcwoKMjAxNC0wNC0yOCAwODo0ODoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDItYWxsb2NhdG9yOiBBZGQgUyB0byBSRVFCVUZTL0NSRUFURV9CVUZTIGVudW0KCSAgQWxsIGVudW0gdGhhdCBoYXMgUkVRQlVGUyBhbmQgQ1JFQVRFX0JVRlMgd2hlcmUgbWlzc2luZyBTLCB3aGljaCB3YXMKCSAgY29uZnVzaW5nIHNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIG1hdGNoIHdpdGggYXNzb2NpY2F0ZWQgaW9jdGwgbmFtZS4gVGhpcwoJICBhbHNvIGZpeGVzIHRoZSB5ZXQgdW51c2VkIENBTl9SRVFVRVNUIGZsYWcgY2hlY2suCgoyMDE0LTA0LTE4IDE3OjUxOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuYWJsZWQgUW9TCgoyMDE0LTA0LTE4IDE3OjAyOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRml4dXAgVVNFUlBUUi9ETUFCVUYgY2FwdHVyZSBzdXBwb3J0CgoyMDE0LTA0LTE4IDE0OjQ1OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEltcHJvdmUgc2VsZWN0b24gb2YgbWluL21heCBpbiBkZWNpZGUgYWxsb2NhdGlvbgoKMjAxNC0wNC0xOCAxMzowOTowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBjb25maWcgaWYgbWV0YSBpcyBtaXNzaW5nCgkgIFJhdGhlciB0aGVuIGhhcmQgZmFpbHVyZSwgd2Ugc2hvdWxkIHVwZGF0ZSB0aGUgY29uZmlnIHdpdGggdGhlIG1ldGEgb3B0aW9uIHdlCgkgIG5lZWQgYW5kIHJldHVybiBmYWxzZS4KCjIwMTQtMDQtMTEgMTc6MTA6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogQWRkIERNQUJVRiBhbmQgVVNFUlBUUiBpbXBvcnRhdGlvbgoKMjAxNC0wNC0xNyAyMTo0NTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBWYWxpZCBGRCBhcmUgYmlnZ2VyIG9yIGVxdWFsIHRvIHplcm8KCjIwMTQtMDQtMTYgMTc6MDQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBkb3duc3RyZWFtIHBvb2wgaW4gcHJvcG9zZV9hbGxvY2F0aW9uCgkgIHBhcnNlX250aF9hbGxvY2F0aW9uX3Bvb2woKSBnaXZlIGEgcmVmIG9uIHRoZSBwb29sLCB3ZSBuZWVkIHRvIHVucmVmIGl0CgkgIHdoZW4gZG9uZS4KCjIwMTQtMDQtMTQgMTI6MTk6MzkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBJbnRyb2R1Y2UgRE1BQlVGX0lNUE9SVCBJTyBtb2RlCgoyMDE0LTA0LTEwIDE2OjI2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogQWRkIGRtYWJ1ZiBleHBvcnQgc3VwcG9ydAoJICBUaGlzIGNhbiBiZSBlbmFibGVkIHNpbmcgaW8tbW9kZT1kbWFidWYuIFRoaXMgd2lsbCBlbmFibGVkIG1tYXAgYmFzZQoJICBkcml2ZXJzIHRvIGV4cG9ydCB0aGUgYnVmZmVycyBhcyBkbWFidWYuCgoyMDE0LTA0LTE2IDE1OjUxOjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEd1YXJhbnR5IHF1ZXVlZCBzdGF0ZSBpbnRlZ3JldHkKCSAgQmVjYXVzZSBvZiB0aGUgYnVmIGluIHZpZGVvYnVmMiwgZHFidWYgbWF5IGxlYXZlIHRoZSBET05FIGZsYWcgYmVpbmcsCgkgIHdoaWNoIHdvdWxkIGltcGxpZWQgdGhhdCB0aGUgYnVmZmVyIGlzIHF1ZXVlZC4gQXMgdGhpcyBoYXMgYmVlbiBicm9rZW4KCSAgZm9yIDQgeWVhcnMsIHNpbXBseSBndWFyYW50eSB0aGUgc3RhdGUgZmxhZ3MgaW50ZWdyaXR5IHdoZW4gZG9pbmcKCSAgcWJ1Zi9kcWJ1Zi4KCSAgU2VlIGh0dHBzOi8vcGF0Y2h3b3JrLmxpbnV4dHYub3JnL3BhdGNoLzIzNjQxLwoKMjAxNC0wNC0xNSAxNzozMTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbXBsZW1lbnQgb3Blbi9jbG9zZQoKMjAxNC0wNC0xNSAxNjo0Mzo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgb3V0cHV0IHBvb2wgaXMgY29uZmlndXJlZAoKMjAxNC0wNC0xNSAxNjo0MzoxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkgIHY0bDJ0cmFuc2Zvcm06IENoZWNrIGlmIGNhcHMgaGF2ZSBjaGFuZ2VzIGJlZm9yZSBhc3NlcnRpbmcKCSAgSW4gc2V0X2NhcHMsIG5vdyBjaGVja3MgaWYgY2FwcyBhY3R1YWxseSBjaGFuZ2VkIGFuZCBzdWNjZWVkIGlmIHRoZXkgZGlkbid0CgkgIGNoYW5nZS4KCjIwMTQtMDQtMTUgMTY6NDE6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBwb29sIGlzIGNvbmZpZ3VyZWQKCjIwMTQtMDQtMDggMTg6NTQ6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCBhIHNpemUgd2hlbiBkZWNpZGluZyBhbGxvY2F0aW9uCgoyMDE0LTA0LTA4IDE4OjIwOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEltcHJvdmVkIGRlY2lkZSBhbGxvY2F0aW9uCgkgIEltcHJvdmUgZGVjaWRlIGFsbG9jYXRpb24gc28gaXQgcHJvcGVybHkgY29uZmlndXJlIGJvdGggbG9jYWwgYW5kIGRvd25zdHJlYW0KCSAgYnVmZmVyIHBvb2xzLiBBbHNvIHJlYWQgYmFjayB0aGUgcG9vbCBjb25maWcgaWYgaXQgd2FzIGNoYW5nZWQgdG8gdG8gZHJpdmVyCgkgIGxpbWl0YXRpb25zLgoKMjAxNC0wNC0xNSAxMzozMDowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvIG5vdCBwcmUtY29uZmlndXJlIHRoZSBwb29sCgkgIFByZS1jb25maWd1cmluZyB0aGUgcG9vbCBpcyBlcnJvciBwcm9uZSwgc2luY2UgaXQgbWF5IGhpZGUgYSBjb25maWd1cmF0aW9uIGZhaWx1cmUgYW5kCgkgIGVuZHVwIHdpdGggYSBwb29sIHRoYXQgaXMgbm90IGNvbmZpZ3VyZWQgdGhlIHdheSBpdCBzaG91bGQgKGUuZy4gbm8gdmlkZW8gbWV0YSwgd3JvbmcKCSAgcXVldWUgc2l6ZSwgZXRjLikKCjIwMTQtMDQtMTUgMTM6MjM6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQcmVzZXJ2ZSBkb3duc3RyZWFtIG1pbmltdW0gZXZlbiBpbiBSVwoKMjAxNC0wNC0xNSAxMzoyMDoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFR1cm4gY3JvcG1ldGEgaW50byBhIGN1c3RvbSBvcHRpb24KCSAgVHVybiBjcm9wIG1ldGEgaW50byBhIGN1c3RvbSBvcHRpb24gYW5kIG1ha2Ugc3VyZSBpdCdzIHRoZXJlIGlzIG5lZWRlZC4KCjIwMTQtMDQtMDkgMTI6NTM6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVhcmx5IGNhdGNoIHNob3J0IGFsbG9jYXRpb24KCSAgQ2F0Y2ggc2hvcnQgYWxsb2NhdGlvbiBhZnRlciBzYXZpbmcgdGhlIGZvcm1hdC4gVGhpcyBpcyBub3QgYSBjYXRjaCBhbGwsIGJ1dCBzaG91bGQgY2F0Y2gKCSAgbW9zdCBvZiB0aGUgbWlzcy1iZWhhdmluZyBkcml2ZXJzIHdoZW4gZG9pbmcgU19GTVQvR19GTVQgYW5kIGF2b2lkIHBvdGVudGlhbCBjcmFzaC4KCjIwMTQtMDQtMDQgMjI6NDY6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIHVzZSBHc3RWNGwyQWxsb2NhdG9yCgoyMDE0LTA0LTA0IDIyOjM1OjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgSW1wbGVtZW50IFY0bDIgQWxsb2NhdG9yCgkgIFRoaXMgZ29hbCBvZiB0aGlzIGFsbG9jYXRvciBpcyBtYWlubHkgdG8gYWxsb3cgdHJhY2tpbmcgdGhlIG1lbW9yeS4KCSAgQ3VycmVudGx5LCB3aGVuIGEgYnVmZmVyIG1lbW9yeSBoYXMgYmVlbiBtb2RpZmllZCwgdGhlIGJ1ZmZlciBhbmQgaXQncwoJICBtZW1vcnkgaXMgZGlzcG9zZWQgYW5kIGxvc3QgdW50aWwgdGhlIHN0cmVhbSBpcyByZXN0YXJ0ZWQuCgoyMDE0LTA0LTE2IDE2OjM1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGFkdmVydGlzZSBjcm9wIG1ldGEKCSAgQ3VycmVudGx5IHdlIGFkdmVydGlzZSBjcm9wIG1ldGEsIGJ1dCBub3QgZWxlbWVudCBoYW5kbGUgc3VwcG9ydCB0aGlzIG1ldGEuCgoyMDE0LTA0LTA4IDE4OjE4OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNldHVwIHBvb2wgYWxyZWFkeSBzZW5kIGVsZW1lbnQgZXJyb3IKCjIwMTQtMDQtMDggMTg6MTc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogV29ya2Fyb3VuZCBkZWNvZGVyIHRoYXQgc2V0IG51bV9wbGFuZXMgdG8gMCBpbiB0aGUgZm9ybWF0CgkgIFNvbWUgd2VsbCBrbm93biBkZWNvZGVyIHdyb25nbHkgc2V0IG51bV9wbGFuZXMgdG8gMCBpbiB0aGVpciBmb3JtYXQgaW5zdGVhZCBvZgoJICBvbmUuIEluIHRoaXMgY2FzZSB3ZSB3b3VsZCBlbmR1cCB3aXRoIG5vIHNpemUgd2hlbiBkZWNpZGluZyBidWZmZXIgYWxsb2NhdGlvbi4KCjIwMTQtMDQtMDggMTc6MzQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIHNpemUgYmVmb3JlIGNvbmZpZ3VyaW5nIHRoZSBwb29sCgoyMDE0LTA0LTA0IDIyOjM4OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNldCBtaW5pbXVtIGJ1ZmZlcnMgdG8gMgoJICBBbGwgdGhlIGVsZW1lbnQgcmVxdWlyZXMgYXQgbGVhc3QgdHdvIGJ1ZmZlcnMuIFRoaXMgaXMgbm90IHVzZWQgZm9yIFJXIG1vZGUuCgoyMDE0LTA0LTA0IDIyOjM3OjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSB1bnVzZWQgTUFYX0JVRkZFUlMgZGVmaW5lCgoyMDE0LTA0LTA0IDIyOjM2OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGhhcmRjb2RlIG1pbi9tYXggdXNlIGRlZmF1bHQgaW5zdGVhZAoKMjAxNC0wNC0xMCAxNzo0OTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbnN0YWxsIFBST1BfQ0FQVFVSRV9JT19NT0RFIHdpdGggcmlnaHQgSUQKCjIwMTQtMDQtMDggMTg6NTQ6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZGVjaWRlX2FsbG9jYXRpb24gcmV0dXJucyBhIGJvb2xlYW4KCjIwMTQtMDQtMTAgMTc6NDk6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEluc3RhbGwgUFJPUF9DQVBUVVJFX0lPX01PREUgd2l0aCByaWdodCBJRAoKMjAxNC0wMy0yNyAxMzoyMToyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBBZGQgcHJvcG9zZV9hbGxvY2F0aW9uCgkgIFRoaXMgc2hvdWxkIHJlbW92ZSAxIGNvcHkgYmV0d2VlbiB0aGUgZGVjb2RlciBhbmQgdGhlIHRyYW5zZm9ybS4KCjIwMTQtMDMtMjcgMTM6MjA6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBNb3ZlIHByb3Bvc2UgYWxsb2NhdGlvbiB0byB2NGwyb2JqZWN0CgoyMDE0LTAzLTIwIDE3OjI2OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeHVwIGNhcHMgcXVlcnkKCjIwMTQtMDMtMjAgMTU6MzE6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFNldHVwIGNyb3BwaW5nIGlmIG5lZWRlZAoKMjAxNC0wMy0xOSAxNzoyNToxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwydHJhbnNmb3JtOiBFeHBvc2UgQkdSQSBhbmQgQVJHQiBmb3JtYXRzCgoyMDE0LTAzLTE4IDE3OjMzOjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBvdXRwdXQgcG9vbCBpcyBhY3RpdmF0ZWQKCSAgVGhhdCBwb29sIG1heSBiZSBkaWZmZXJlbnQgdGhlbiB0aGUgaW50ZXJuYWwgcG9vbC4KCjIwMTQtMDMtMTYgMTk6MTE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIGludGVybmFsIGJ1ZmZlciBwb29scyBhY3RpY2F0aW9uCgoyMDE0LTAzLTE2IDExOjM2OjE5ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IE1vdmUgc3ViaW5zdGFuY2Ugc3ViY2xhc3MgaW5pdCBuZWFyIG90aGVyIGluaXQKCjIwMTQtMDMtMTUgMTg6NTY6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogU3RvcCBzdHJlYW0gYmVmb3JlIGNsb3NpbmcgdGhlIGRldmljZXMuCgoyMDE0LTAzLTE1IDE2OjUzOjU0ICswMDAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogY29weSBtZXRkYXRhCgoyMDE0LTAzLTA0IDE4OjMxOjI3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5oOgoJICBJbXBsZW1lbnQgR3N0VjRsMlRyYW5zZm9ybQoJICBJbXBsZW1lbnQgYSB2NGwyIGVsZW1lbnQgdGhhdCB3cmFwcyBIVyB2aWRlbyBjb252ZXJ0ZXJzLgoKMjAxNC0wMy0yNyAxODo0MTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFByb2JlIGZvciBDUkVBVEVfQlVGUyBpbiBvcmRlciB0byBjb3JyZWN0bHkgc2V0IHBvb2wgbWluL21heAoJICBJbiBvcmRlciB0byBjb3JyZWN0bHkgc2V0IHRoZSBwb29sIG1pbi9tYXgsIHdlIG5lZWQgdG8gcHJvYmUgZm9yIENSRUFURV9CVUZTCgkgIGlvY3RsLiBUaGlzIGNhbiBiZSBkb25lIGFzIHNvb24gYXMgdGhlIGZvcm1hdCBoYXMgYmVlbiBuZWdvdGlhdGVkIHVzaW5nIGEKCSAgY291bnQgb2YgMC4KCjIwMTQtMDMtMjUgMTU6MjE6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBNb3ZlIGNhcHR1cmUgZW9zIGhhbmRsaW5nIGluIF9wcm9jZXNzKCkKCSAgTm93IHRoYXQgd2UgbWlnaHQgYmUgY29weWluZyBvdXQgYnVmZmVyIChlLmcuIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCB2aWRlbwoJICBtZXRhIGJ1ZyB3ZSBuZWVkIGl0KSB3ZSBuZWVkIHRvIG1vdmUgdGhlIEVPUyBoYW5kbGluZyBpbnNpZGUgdGhlIHByb2Nlc3MKCSAgbWV0aG9kLgoKMjAxNC0wMy0yNSAxMDo0OTozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggc3VwcG9ydCBmb3IgcGxhbmFyIGZvcm1hdCBpbiAxIHY0bDIgbXBsYW5lCgkgIFNvIGZhciB3ZSB3aGVyZSBvbmx5IHNldHRpbmcgc2F2aW5nIHRoZSBmaXJzdCBwbGFuZSBzdHJpZGUgaW4gdGhlIG1ldGEuIFRoaXMgd2FzCgkgIGxlYWRpbmcgdG8gd3JvbmcgdmFsdWVzIGluIEdzdFZpZGVvTWV0YS4KCjIwMTQtMDMtMTkgMTc6NTI6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENsZWFubHkgZmFpbCBpZiBzZXRfZm9ybWF0IGlzIG5ldmVyIGNhbGxlZAoKMjAxNC0wMy0xOSAxNzowMDo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogRXhwb3NlIFJHQjMyIGZvcm1hdHMgd2l0aCBhbmQgd2l0aG91dCBhbHBoYQoJICBBcyBzb29uIGEgdGhlIGFscGhhIGNvbXBvbmVudCBjYW4gYmUgc2V0LCB3ZSBjYW4gZXhwb3NlIHRoZSBSR0IzMiBhbmQgQkdSMzIKCSAgZm9ybWF0IGFzIEFSR0IgYW5kIEJHUkEgYXMgbG9uZyB3ZSBjYW4gZGV0ZXJtaW5pc3RpY2FsbHkgc2V0IHRoZSBhbHBoYSBwYWRkaW5nCgkgIHZhbHVlLgoKMjAxNC0wMy0xOCAxNTo0OTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBDb3JyZWN0bHkgY2hlY2sgaWYgdmlkZW8gbWV0YSBpcyBuZWVkZWQKCSAgQ29ycmVjdGx5IGNoZWNrIGlmIHZpZGVvIG1ldGEgaXMgbmVlZGVkLiBJbiBidWZmZXIgcG9vbCwgdHJ1c3QgbmVlZF92aWRlb19tZXRhCgkgIGZsYWcgaW4gb3JkZXIgdG8gZGVjaWRlIGlmIGNvbmZpZ3VyYXRpb24gc2hvdWxkIHN1Y2NlZWQuCgoyMDE0LTAzLTE4IDE1OjQ1OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCB0aWxlZCBzdHJpZGUgcmVxdWVzdAoJICBGaXggc3RyaWRlIHJlcXVlc3QgZm9yIHRpbGVkIGZvcm1hdCBhbmQgaW1wcm92ZSBsb2dnaW5nLgoKMjAxNC0wMy0xOCAxMTo1Mzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgdmlkZW8gYW5kIGNyb3AgbWV0YSBhcmUgZW5hYmxlZCBpZiBuZWVkZWQKCSAgSW4gY2VydGFpbiBjYXNlcyB3ZSBjYW5ub3QgbGl2ZSB3aXRob3V0IHZpZGVvIG1ldGEgYW5kL29yIGNyb3AgbWV0YQoJICBiZWluZyBlbmFibGVkIGluIG91ciBpbnRlcm5hbCBidWZmZXIgcG9vbC4gRW5zdXJlIHRoaXMgaXMgYWx3YXlzIHRoZSBjYXNlLAoJICByZWdhcmRsZXNzIG9mIGhhdmluZyBzdXBwb3J0IGZvciBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxNC0wMy0xNiAxODozOTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIGludGVybmFsIHBvb2wgYXJlIGFjdGl2YXRlZAoKMjAxNC0wMy0xNiAxNzowMToxMCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2hlY2sgdGhhdCBwb29sIHdoZXJlIGFsbG9jYXRlZCBiZWZvcmUgZmx1c2hpbmcgdGhlbQoJICBVcG9uIGVycm9yLCB0aGUgcG9vbHMgbWlnaHQgbm90IGhhdmUgYmVlbiBhbGxvY2F0ZWQgeWV0LCBoZW5jZSB3ZSBzaG91bGQgbm90CgkgIHRyeSBhbmQgZmx1c2ggdGhlbSAoZXZlbiB0aG91Z2ggd2Ugc3RpbGwgd2FudCB0byBtYWtlIHN1cmUgdGhlIHByb2Nlc3NpbmcgdGhyZWFkCgkgIGlzIGZ1bGx5IHN0b3BwZWQpLgoKMjAxNC0wMy0xNiAxNjo1NTo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVuZm9yY2UgYWN0aXZhdGlvbiBvdXRzaWRlIG9mIHByb2Nlc3MKCSAgRW5mb3JjZSBwb29sIGJlaW5nIGFjdGl2YXRlIGZyb20gYmVmb3JlIGNhbGxpbmcgcG9vbCBwcm9jZXNzLiBUaGlzIHNob3VsZAoJICBoZWxwIGNhdGNoaW5nIGJhc2ljIGVycm9ycyBpbiB0aGUgdXNhZ2Ugb2YgYnVmZmVyIHBvb2wuCgoyMDE0LTAzLTE2IDEyOjQ0OjE0ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRvbid0IHVzZSBvd24gcG9vbCBpZiBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgdmlkZW8gbWV0YQoKMjAxNC0wMy0xNCAwMDozMTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBvYmotPm5fdjRsMl9wbGFuZXMgZm9yIGNvcnJlY3QgbnVtYmVyIG9mIHBsYW5lcwoJICBCdWZmZXIgcG9vbCB3YXMgZ3Vlc3Npbmcgd3JvbmdseSB0aGUgbnVtYmVyIG9mIHBsYW5lcyByYXRoZXIKCSAgdGhlbiByZWFkaW5nIHRoZSB2YWx1ZSBmcm9tIG9iai0+bl92NGwyX3BsYW5lcy4gVGhpcyB3YXMgY2F1c2luZwoJICBmb3JtYXQgWVUxMiAoSTQyMCkgdG8gZmFpbCB1cG9uIGNoZWNrLgoKMjAxNC0wMy0wNyAxNjozOToyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggaGFuZGxpbmcgb2YgY29udGl1b3VzIHZzIG5vbi1jb250aWd1b3VzIHN1cHBvcnQKCSAgVGhlIGNvbXBsZXggbWVjaGFuaWMgdG8gdHJ5IGFuZCBjaG9vc2UgdGhlIHJpZ2h0IHRoaW5nIGRpZCBub3Qgd29yay4gSW5zdGVhZCwKCSAgc2ltcGx5IHByb2JlIHRoZSBub24tY29udGlndW91cyBmb3JtYXQgZmlyc3QgYW5kIHRoZW4gdGhlIGNvbnRpZ3VvdXMgb25lLgoJICBUaGlzIGlzIGluIGZhY3QgdmVyeSBsb3cgb3ZlcmhlYWQsIGFzIHRoZXJlIGlzIGEgcmVsYXRpdmVseSBzbWFsbCBudW1iZXIgb2YKCSAgcGl4ZWwgZm9ybWF0IHN1cHBvcnRlZCBieSBlYWNoIGRldmljZXMuCgoyMDE0LTA0LTE1IDE1OjA3OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGFsaWdubWVudCBhbmQgY3JvcHBpbmcKCjIwMTQtMDMtMTMgMTk6MjQ6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMm9iamVjdDogUmVuYW1lIHNldHVwX2Zvcm1hdCgpIG1ldGhvZCBpbnRvIGFjcXVpcmVfZm9ybWF0KCkKCSAgVGhlIHNldHVwX2Zvcm1hdCgpIHdhcyBjb25mdXNpbmcgc2luY2UgaXQgZG9lcyBub3Qgc2V0IGFueXRoaW5nLCBpbiBmYWN0CgkgIGl0IHJlYWRzIHRoZSBzZXR1cCBmcm9tIHRoZSBkcml2ZXIgYW5kIHNhdmUgaXQuCgoyMDE0LTAzLTEzIDE4OjIxOjQxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgdHlwZSBkZWNsYXJhdGlvbiB0byB0aGUgdG9wCgoyMDE0LTAzLTEyIDE4OjA3OjM4ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcm90ZWN0IE5VTEwgcG9vbCB3aGlsZSBnb2luZyB0byBSRUFEWQoJICBXaGVuIHRoZSBwaXBlbGluZSBmYWlscyBlYXJseSwgdGhlIHBvb2wgbWlnaHQgYmUgdW5zZXQgYmVmb3JlIHRoZSBwcm9jZXNzaW5nCgkgIHRocmVhZCBoYXMgcnVuIG9uY2UuIEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgdGhhdC4KCjIwMTQtMDMtMTIgMTg6MDE6MDkgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRmFpbCBjbGVhbmx5IGlmIHBpeGVsIGZvcm1hdCBpcyB1bmtvd24gb3Igbm90IHJhdyB2aWRlbwoJICBDZXJ0YWluIGRlY29kZXIgaGFzIGJlZW4gZm91bmQgdG8gbm90IGNob29zZSBhIGZvcm1hdCBhdXRvbWF0aWNhbGx5LiBSdW5uaW5nCgkgIHY0bDJ2aWRlb2RlYyBvbiB0aGVzZSB3b3VsZCBhc3NlcnQuIFRoaXMgcGF0Y2ggd2lsbCBtYWtlIGl0IGZhaWwgY2xlYW5seQoJICBpbnN0ZWFkLgoKMjAxNC0wMy0xMiAxNzo1NjoxOCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2xlYXIgdGhlIGlucHV0IHN0YXRlIHBvaW50ZXIgYWZ0ZXIgdW5yZWYKCSAgSWYgY2FwcyBhcmUgc2V0IGFnYWluLCB3ZSBoYXZlIGEgcmlzayBvZCByZXR1cm5pbmcgZnJvbSBzZXRfZm9ybWF0IHdpdGggYQoJICBpbnB1dF9zdGF0ZSBwb2ludGluZyB0byBkZWFkIG1lbW9yeS4gQ2xlYXJpbmcgdGhlIHBvaW50ZXIgYWZ0ZXIgdW5yZWYgZml4CgkgIHRoaXMgaXNzdWUuCgoyMDE0LTAzLTEyIDE3OjExOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBoYW5kbGUgc3RvcCBiZWluZyBjYWxsZWQgd2l0aG91dCBmbHVzaAoJICBVcHBvbiBjZXJ0YWluIGRvd25zdHJlYW0gZXJyb3IsIHN0b3AoKSBpcyBjYWxsZWQgd2l0aG91dCBhIGZsdXNoKCkuIFRoaXMgbWVhbiB0aGF0CgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIG1heSBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gdGhvdWdoIHVubG9jayBoYXMgYmVlbiBjYWxsZWQuCgkgIE5vdyBjYWxsaW5nIGZsdXNoIHRvIHJlc2V0IHRoZSBkZWNvZGVyIHN0YXRlIGlmIHdlIGFyZSBwcm9jZXNzaW5nLgoKMjAxNC0wMy0wNiAxODoxMzoxNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRGVmYXVsdCB0byB0ZW1wbGF0ZSBpbiBjYXBzIHF1ZXJ5CgoyMDE0LTAzLTExIDE0OjIzOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgcHJvY2Vzc2luZyB0aHJlYWQgaGFzIHN0b3BwZWQgd2hlbiBkcmFpbmluZwoKMjAxNC0wMy0xMSAxNDowMToyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgZHJhaW4gaWYgcHJvY2Vzc2luZyB0aHJlYWQgaXMgaW5hY3RpdmUKCjIwMTQtMDUtMDggMDk6NDk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ2xlYW4gdXAgYWxsIHBlbmRpbmcgb3BlcmF0aW9ucyBmcm9tIGxpYnNvdXAgYmVmb3JlIHVucmVmZmluZyBvdXIgY29udGV4dAoJICBXaGVuIHdlIGNhbmNlbCBjb25uZWN0aW9uIGF0dGVtcHRzIGFuZCBzaW1pbGFyIHRoaW5ncywgdGhlcmUgYXJlIHN0aWxsCgkgIHNvbWUgb3BlcmF0aW9ucyBwZW5kaW5nIG9uIG91ciBtYWluIGNvbnRleHQgZnJvbSB0aGUgR0NhbmNlbGxhYmxlcy4gV2UKCSAgc2hvdWxkIGxldCB0aGVtIGFsbCBydW4gYmVmb3JlIHVucmVmZmluZyBvdXIgY29udGV4dCwgb3RoZXJ3aXNlIHdlIGxlYWsKCSAgZmlsZSBkZXNjcmlwdG9ycy4KCSAgVW5mb3J0dW5hdGVseSB0aGlzIHJlcXVpcmVzIGxpYnNvdXAgMi40Ny4wIG9yIG5ld2VyIGFzIGVhcmxpZXIgdmVyc2lvbnMKCSAgc3RlYWwgb3VyIG1haW4gY29udGV4dCBmcm9tIHVzIGFuZCB3ZSBjYW4ndCB1c2UgaXQgZm9yIGNsZWFudXAgbGF0ZXIKCSAgd2l0aG91dCBhc3NlcnRpb25zIGFuZCBmdW5ueSBjcmFzaGVzLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IERtaXRyeSBTaGF0cm92IDxzaGF0cm92QGdtYWlsLmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM5NDQKCjIwMTQtMDUtMDcgMTU6NDk6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIHNvdXBodHRwc3JjIHRlc3QgZm9yIGxpYnNvdXAgMi40MCBmb3IgcmVhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA1LTA3IDEzOjIzOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBzb3VwaHR0cHNyYyB0ZXN0IGZvciBsaWJzb3VwIDIuNDAKCSAgU09VUF9DSEVDS19WRVJTSU9OIHdhcyBvbmx5IGFkZGVkIGluIDIuNDEsIGJ1dCB3ZSBvbmx5CgkgIGRlcGVuZCBvbiAyLjQwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA1LTA3IDAwOjU4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBza2lwIFBJQ1RVUkUgaGVhZGVycyB3aXRob3V0IGFueSBpbWFnZSBkYXRhCgkgIEZpeGVzIHdhcm5pbmcgaWYgdGhlIGltYWdlIGxlbmd0aCBpcyAwLgoKMjAxNC0wNS0wNiAwOToyMjoxOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIFgxMSBkZXRlY3Rpb24gbWFjcm8gZnJvbSBjb21tb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYyMQoKMjAxNC0wNC0zMCAxMToxMzoxMiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwL1JFQURNRTogdXBkYXRlIHBpcGVsaW5lcyB0byB3b3JrIHdpdGggMS4wCgkgIC0gVXNlIGdzdC1saWJhdiBlbmNvZGVycy9kZWNvZGVycyBpbnN0ZWFkIG9mIGdzdC1mZm1wZWcKCSAgLSBnc3RydHBqaXR0ZXJidWZmZXIgLT4gcnRwaml0dGVyYnVmZmVyCgkgIC0gZ3N0LWxhdW5jaC0wLjEwIC0+IGdzdC1sYXVuY2gtMS4wCgkgIC0gQWRkICd2aWRlb2NvbnZlcnQnIGVsZW1lbnQKCSAgLSB4dmltYWdlc2luayAtPiBhdXRvdmlkZW9zaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDcKCjIwMTQtMDUtMDUgMTQ6NDE6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlamlnIHRlc3QgdG8gYXZvaWQgdW5kZWZpbmVkIHNoaWZ0IGJlaGF2aW9yCgkgIENvdmVyaXR5IDExOTUxMjEsIDExOTUxMjAKCjIwMTQtMDUtMDUgMTQ6MzM6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBkbyBub3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVyCgkgIENvdmVyaXR5IDExOTc3MDMKCjIwMTQtMDUtMDUgMTQ6MzI6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZW5zdXJlIHdlIGRvbid0IGRlcmVmZXJlbmNlIGEgTlVMTCBwb2ludGVyCgkgIHdoaWxlIHdvcmtpbmcgb3V0IHRoZSBjb2RlYyBJRC4KCSAgQ292ZXJpdHkgMTE5NTE0OAoKMjAxNC0wNS0wNSAxMjowNzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogbWlub3IgZml4IGZvciBjbG9zaW5nIHRoZSBmZAoJICBUaGUgZmQgcmV0dXJuZWQgYnkgb3BlbigpIGNvdWxkIHRoZW9yZXRpY2FsbHkgYmUgMCBhcyB3ZWxsLgoJICBDb3Zlcml0eSBDSUQgMTIxMTgyMy4KCjIwMTQtMDUtMDQgMjA6MjM6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwYXV4L3J0cHJ0eDogTWFrZSB0ZXN0cyBub24tcmFjeQoJICBGaXggdGhlIHJhY2luZXNzIGJ5IGl0ZXJhdGluZyBvbiBhIGNvbmRpdGlvbiBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBnbWFpbmxvb3AuCgkgIERvbid0IHVzZSB0aGUgRU9TIGFzIHRoZSB0YXJnZXQsIG90aGVyd2lzZSB0aGUgcmV0cmFuc21pc3Npb24gb2YgdGhlIGxhc3QKCSAgcGFja2V0cyBhcmUgbG9zdC4gQWxzbyBjb3VudCB0aGUgcmV0cmFubWlzc2lvbnMgcmVxdWVzdHMgdGhhdCBhcmUgZHJvcHBlZC4KCSAgQ2hlY2sgdGhlIGNvbmRpdGlvbiBiZWZvcmUgYmxvY2tpbmcgb24gdGhlIEdDb25kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDEKCjIwMTQtMDUtMDQgMjI6MzI6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiBXYWl0IHVudGlsIHRpbWVvdXQgdG8gY2xlYXIgYXNzb2NpYXRpb24gcmVxdWVzdHMKCSAgSWYgdHdvIHN0cmVhbXMgcmVxdWVzdCBhIHJldHJhbm1pc3Npb24gZm9yIHRoZSBzYW1lIFNTUkMsIGlnbm9yZSB0aGUgc2Vjb25kCgkgIG9uZSBpZiB0aGUgZmlyc3Qgb2VuIGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kIG9sZCwgb3RoZXJ3aXNlIHRpbWUgb3V0IHRoZSBmaXJzdAoJICBvbmUgYW5kIGlnbm9yZSB0aGUgc2Vjb25kLgoKMjAxNC0wNS0wNCAxODo1OTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFsd2F5cyBsZXQgdXBzdHJlYW0gY2hvc2UgdGhlIHNzcmMgaWYgaXQgd2lzaGVzCgoyMDE0LTA1LTA0IDEzOjM3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCBzdGFsbCBieSBjb3JydXB0ZWQgc2VxbnVtIGFjY291bnRpbmcKCjIwMTQtMDUtMDQgMDE6MTQ6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5oOgoJICBwdWxzZWRldmljZW1vbml0b3I6IEluZGV4IGFyZSBwZXIgZmFjaWxpdHksIG5vdCBnbG9iYWwKCSAgU28gbmVlZCB0byBrZWVwIHRoZSB0eXBlIG9mIGRldmljZSBpbiB0aGUgZGV2aWNlIG9iamVjdAoKMjAxNC0wNS0wNCAwMToxMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJICBwdWxzZWRldmljZW1vbml0b3I6IHBhX3N1YnNjcmlwdGlvbl9ldmVudF90IGFyZSBlbnVtcywgbm90IGZsYWdzCgkgIENvdmVyaXR5IDExOTUxMzIKCjIwMTQtMDUtMDIgMjI6NDI6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSAgdjRsMmRldmljZW1vbml0b3I6IFBvcnQgdG8gdXNlIEdzdFY0bDJJdGVyYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDIxOjM4OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDI6IFVzZSBzaW5nbGUgcGFzcyBpdGVyYXRvciBmb3IgTTJNIHByb2JlCgkgIEluc3RlYWQgb2YgaGF2aW5nIGVhY2ggTTJNIGNsYXNzIGRvIHRoZWlyIG93biBwcm9iaW5nLCB1c2UgdGhlCgkgIEdzdFY0bDJJdGVyYXRvciBhbmQgcHJvYmUgYWxsIGRldmljZXMgaW4gYSBzaW5nbGUgcGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAxNjo1NTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5oOgoJICB2NGwyOiBBZGQgYSBjb21tb24gZGV2aWNlIGVudW1lcmF0b3IKCSAgVGhpcyB3aWxsIGFsbG93IHJlbW92aW5nIGNvZGUgZHVwbGljYXRpb24gKGhlbmNlIGJ1Z3MgZHVwbGljYXRpb24pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTAzLTE2IDExOjM4OjA3ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDJ2aWRlb2RlYzogU2ltcGxpZnkgc3ViLWluc3RhbmNpYXRpb24gbWVjaGFuaXNtCgkgIFNpbXBsaWZ5IHN1Yi1pbnN0YW5jaWF0aW9uIGJ5IGRlZmluaW5nIGFuIGFic3JhY3QgdHlwZSBhbmQgdXNpbmcgc3VidHlwZQoJICBjbGFzcyBhbmQgaW5zdGFuY2UgaW5pdCBjYWxsYmFjay4gVGhpcyBhbHNvIGZpeGVzIGEgYnVnIHdoZXJlIHRoZSB0ZW1wbGF0ZQoJICBwYWRzIGdldCBpbml0aWFsaXplZCB0b28gbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAxODoxODoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IENsZWFudXAgcGx1Z2luIHJlZ2lzdHJhdGlvbgoJICBUaGVyZSBpcyBubyBwbGFuIHRvIGludHJvZHVjZSBzcGVjaWFsIHNvdXJjZXMgZm9yIGpwZWcsIHRlIHY0bDJzcmMgd29ya3MgZmluZQoJICBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMyAxODozMDoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEtlZXAgbG9jYWwgY29uZmxpY3RpbmcgYWRkcmVzc2VzIGluIHRoZSBzZXNzaW9uCgkgIEFzIHdlIG5vdyByZXBsYWNlIHRoZSBsb2NhbCBSVFBTb3VyY2Ugb24gYSBjb25mbGljdCwgaXQncyBubyBsb25nZXIgcG9zc2libGUKCSAgdG8ga2VlcCBsb2NhbCBjb25mbGljdHMgaW4gdGhlIFJUUFNvdXJjZSwgc28gdGhleSBpbnN0ZWFkIG5lZWQgdG8gYmUga2VwdAoJICBpbiB0aGUgUlRQU2Vzc2lvbi4KCSAgQWxzbyBmaXggdGhlIHJ0cGNvbGxpc2lvbiB0ZXN0IHRvIGdlbmVyYXRlIG11bHRpcGxlIGNvbGxpc2lvbnMgaW5zdGVhZCBvZgoJICBvbmUgYnkgY2hhbmdlIHRoZSBhZGRyZXNzLCBhcyBvdGhlcndpc2Ugd2UgZGV0ZWN0ZWQgdGhhdCBpdCB3YXMgYSBzaW5nbGUgb25lLgoKMjAxNC0wNS0wMyAyMDo0ODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjEgPT09CgoyMDE0LTA1LTAzIDE4OjAyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4xCgoyMDE0LTA1LTAzIDE4OjAyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTAzIDE3OjIyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbmIucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zci5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA1LTAzIDExOjQzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogU2VuZCBpbml0aWFsIGV2ZW50cyBhZnRlciBzZXR0aW5nIHRoZSBlbGVtZW50cyB0byBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBzZW5kIHRoZW0gdG9vIGVhcmx5LCBhbmQgc2V0dGluZyB0aGUgZWxlbWVudHMgdG8gUExBWUlORwoJICBhZnRlcndhcmRzIHdpbGwgZHJvcCBhbGwgdGhlIGV2ZW50cyBhZ2Fpbi4KCjIwMTQtMDUtMDMgMTA6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjYjE1MTggdG8gMjExZmE1ZgoKMjAxNC0wNS0wMiAxNzoxMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHNlZ21lbnQgcG9zaXRpb24gdG8gdGhlIHN0b3AgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlcgoKMjAxNC0wNS0wMiAxNzoxMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUHJvcGVybHkgcmVwb3J0IGVycm9ycyBiZWZvcmUgc3RvcHBpbmcgdGhlIHNyY3BhZCB0YXNrCgoyMDE0LTA1LTAyIDE3OjAyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBFcnJvciBvdXQgaWYgd2UgaGF2ZSBubyBjYXBzIHlldAoKMjAxNC0wNS0wMiAxNDo0OToyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGF2b2lkIGRpdmlkaW5nIGJ5IGEgMCBibG9ja2FsaWduCgkgIFRoaXMgY2FuIGJlIDAuIEluIHRoYXQgY2FzZSwgZG8gbm90IHRyeSB0byBjdXQgb2ZmIHRoZSBsYXN0IGZldwoJICBieXRlcyBmcm9tIHRoZSBsYXN0IGJ1ZmZlci4KCSAgQ292ZXJpdHkgMTE0Njk3MQoKMjAxNC0wNS0wMiAxNDoyNTowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVpbml0aWFsaXplZCBjbHV0IG9uIGVycm9yCgkgIElmIHdlJ3JlIG1pc3NpbmcgcGFydCBvZiB0aGUgY2x1dCwgZG8gbm90IHRyeSB0byB1c2UgaXQuIEl0IHNlZW1zCgkgIHZlcnkgbGlrZWx5IHRoZSBicmVhayB3YXMgbWVhbnQgdG8gYnJlYWsgb3V0IG9mIHRoZSBzd2l0Y2ggcmF0aGVyCgkgIHRoYW4gZnJvbSB0aGUgbG9vcC4KCSAgQ292ZXJpdHkgMTEzOTg3OAoKMjAxNC0wNS0wMiAxNDoxODowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGZpeCBpbnRlZ2VyIG92ZXJmbG93CgkgIENvdmVyaXR5IDExMzk4NTkKCjIwMTQtMDUtMDIgMTQ6MDk6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG1kZXBheTogcmVtb3ZlIHBvaW50bGVzcyBjaGVjawoJICBCZXNpZGVzLCB0aGUgcG9pbnRlciB3YXMgZGVyZWZlcmVuY2VkIGVhcmxpZXIgYW55d2F5LgoJICBDb3Zlcml0eSAxMTM5ODUzCgoyMDE0LTA1LTAyIDE0OjA2OjI1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIGR1cGxpY2F0ZSB0ZXN0CgkgIGl0ZW0gd2FzIGRlcmVmZXJlbmNlIHByZXZpb3VzbHkuCgkgIFdoaWxlIHRoZXJlLCByZW9yZGVyIHNvbWUgdGVzdCBmb3IgZmFzdGVyIGVhcmx5IG91dC4KCSAgQ292ZXJpdHkgMTEzOTg0NAoKMjAxNC0wNS0wMiAxNDowMjo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGd1YXJkIGFnYWluc3QgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExMzk4MzgKCjIwMTQtMDUtMDIgMTM6NTk6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggdGhlb3JldGljYWwgaW50ZWdlciBvdmVyZmxvdwoJICBUaGlzIGNvZGUgaXNuJ3QgYWN0dWFsbHkgdXNlZCBhdCB0aGUgbW9tZW50LCB1bnN1cmUgaWYgSSBzaG91bGQKCSAganVzdCByZW1vdmUgaXQgb3Igbm90Li4uCgkgIENvdmVyaXR5IDExMzk4MTEKCjIwMTQtMDUtMDIgMTM6MzM6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGJsaW5kbHkgZml4IHdyaXRpbmcgdmFyaWFibGUgbGVuZ3RoIG5lZ2F0aXZlIHZhbHVlcwoJICBTcG90dGVkIHdoaWxlIGZpeGluZyBzb21ldGhpbmcgZWxzZSBpbiB0aGUgYXJlYS4KCSAgTm90aGluZyBjYWxscyB0aGlzIHdpdGggYSBuZWdhdGl2ZSB2YWx1ZS4KCjIwMTQtMDUtMDIgMTM6Mjk6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCBsb3NlIHRoZSB0b3AgYml0cyB3aGVuIHdyaXRpbmcgYSA+IDMyIGJpdCB2YWx1ZQoJICBDb3Zlcml0eSAxMTM5ODA2CgoyMDE0LTA1LTAyIDEyOjEwOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBhZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgQ292ZXJpdHkgMTEzOTc1NQoKMjAxNC0wNS0wMiAxMTozOTozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCB0cnkgdG8gY2FsbCBnc3RfcGFkX3F1ZXJ5X2RlZmF1bHQgb24gYSBOVUxMIHBhZAoJICBnc3RfbWF0cm9za2FfcGFyc2VfcXVlcnkgY2FuIGJlIGNhbGxlZCBleHBsaWNpdGVseSB3aXRoIGEgTlVMTCBwYWQuCgkgIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQgd2l0aCBhIE5VTEwgcGFkLCBmYWlsIHRoZSBxdWVyeS4KCSAgQ292ZXJpdHkgMTEzOTcxNQoKMjAxNC0wNS0wMiAxMToyODowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCByZXR1cm4gR1NUX0ZMT1dfT0sgaWYgd2UgZGlkIG5vdCBnZXQgYSBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTcxNCAod2hpY2ggd2lsbCBsaWtlbHkgY29tZSBiYWNrIGluIGFub3RoZXIgZ3Vpc2UsCgkgIGFzIHRoZSBfcmVhZF9pbml0IGNhbGwgY2FuIGhhdmUgYSBmYWlsaW5nIF9tYXApCgoyMDE0LTA1LTAyIDExOjIwOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBjYXRjaCBmYWlsdXJlIHRvIG1hcCBidWZmZXIKCSAgQXZvaWRzIGRlcmVmZXJlbmNpbmcgTlVMTC4KCSAgQ292ZXJpdHkgMTEzOTcxMgoKMjAxNC0wNS0wMiAxMDo1Mjo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJlZnVzZSBjYXBzIHdpdGggaW52YWxpZCBmcmFtZXJhdGUKCSAgQ292ZXJpdHkgMTEzOTcwMQoKMjAxNC0wNS0wMiAxMDoyMTowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgMCBzaXplIHBhY2tldHMgd2l0aG91dCBkaXZpZGluZyBieSAwCgkgIENvdmVyaXR5IDExMzk2OTEKCjIwMTQtMDUtMDIgMDk6NDk6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGd1YXJkIGFnYWluc3QgaW52YWxpZCBmcmFtZSBzaXplIHRvIGF2b2lkIGRpdmlzaW9uIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY5MAoKMjAxNC0wNS0wMiAwOTo0OToxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHJpdmlhbCB0eXBvIGZpeAoKMjAxNC0wNS0wMiAwOTo0Mzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgZnBwIGNhbiBuZXZlciBlcXVhbCAwIGhlcmUsIG9yIHRoZSBsb29wIHdvdWxkIG5vdCBleGVjdXRlIGF0IGFsbC4KCSAgWmVybyBmcHAgd2FzIHBvc3NpYmxlIGJlZm9yZSBhcyB0aGUgbG9vcCBjb25kaXRpb24gd2FzIGFsbG93aW5nCgkgIGl0IHNwZWNpZmljYWxseSwgYnV0IG5vIG1vcmUuCgkgIENvdmVyaXR5IDExMzk2ODEKCjIwMTQtMDUtMDIgMDk6NDE6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICBvc3M0OiByZW1vdmUgZGVhZCBtaXhlciBjb2RlCgkgIFRoaXMgd2FzIHBhcnRseSByZW1vdmVkIGluIHRoZSBwb3J0IHRvIDAuMTEuIElmIHN0aWxsIG5lZWRlZCwKCSAgaXQncyBzdGlsbCB0aGVyZSBpbiB0aGUgaGlzdG9yeS4KCSAgQ292ZXJpdHkgMTEzOTY4NwoKMjAxNC0wNS0wMiAwOTozMzo1MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIG9zczQ6IGZpeCBhIG1pc3NpbmcgdW5sb2NrIGFuZCBhIHJldHVybi1vbmx5LXdoZW4tYXNzZXJ0aW9ucy1lbmFibGVkCgkgIFNwb3R0ZWQgb24gdGhlIHNpZGUgd2hpbGUgbG9va2luZyBhdCBhbm90aGVyIGlzc3VlLgoKMjAxNC0wMy0wNyAxNzozMToyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBDb3JyZWN0bHkgbWFwIFJHQjMyIGZvcm1hdAoJICBJbiB2NGwyIHNwZWNpZmljYXRpb24sIFJHQjMyIGhhcyB0aGUgYWxwaGEsIG9yIHBhZGluZywgZmlyc3QsIG5vdCBsYXN0LgoJICBTZWUgaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvcGFja2VkLXJnYi5odG1sIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDk0MQoKMjAxNC0wNC0zMCAxODowNjo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgRm9yIDggYml0IHdpZHRoLCB3ZSBhbHdheXMgaGF2ZSBkZXB0aD09Z2RlcHRoPT13aWR0aD09OC4KCSAgQ292ZXJpdHkgMTEzOTY3OAoKMjAxNC0wNC0zMCAxNzo0ODo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZW1vdmUgZGVhZCBjb2RlCgkgIEEgc3RyaWNlciBjaGVjayBpcyBhbHJlYWR5IGRvbmUgZWFybGllciwgYW5kIGludGVnZXIgb3ZlcmZsb3dzCgkgIGRvIG5vdCBzZWVtIHBvc3NpYmxlIGhlcmUuCgkgIENvdmVyaXR5IDExMzk2NzUKCjIwMTQtMDQtMzAgMTQ6NTA6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGd1YXJkIGFnYWluc3QgcGF0aG9sb2dpY2FsICJubyBzcGFjZSIgY29uZGl0aW9uCgkgIEV2ZW4gaWYgb25lIHdvdWwgaG9wZSBvbmUgcGl4ZWwgY2FuIGZpdCBpbiBhIE1UVSwgZW5zdXJlIHdlIGRvIG5vdAoJICBvdmVyd3JpdGUgYSBidWZmZXIgaWYgdGhpcyBpcyBub3QgdGhlIGNhc2UuCgkgIFNwb3R0ZWQgd2hpbGUgbG9va2luZyBhdCBDb3Zlcml0eSAxMjA4Nzg2CgoyMDE0LTA0LTMwIDExOjUyOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogc2FuaXR5IGNoZWNrIGZvciBOVUxMIHF0YWJsZQoJICBDYW4gaGFwcGVuIChhdCBsZWFzdCBpbiBjcmFmdGVkIHN0cmVhbSkKCSAgQ292ZXJpdHkgMTIwODc3OAoKMjAxNC0wNC0zMCAwMTowODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcGFzcyBvbiB0YWdzIGZyb20gdXBzdHJlYW0gaWYgdGhlcmUgYXJlIGFueQoJICBEb24ndCBqdXN0IGlnbm9yZSB1cHN0cmVhbSB0YWdzIGZyb20gZS5nLiBhbiBJRDMgdGFnIGJlZm9yZQoJICB0aGUgLndhdiBkYXRhLCBwYXNzIHRoZW0gb24gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTIyMwoKMjAxNC0wNC0yOSAxNjoyNjo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvcHRpbWl6ZSB0aW1lciB1cGRhdGUKCSAgV2hlbiB3ZSBhcmUgbm90IGRvaW5nIHJldHJhbnNtaXNzaW9uLCB3ZSBqdXN0IG5lZWQgdG8gZmluZCB0aGUgY3VycmVudAoJICBzZXFudW0gc28gd2UgY2FuIHN0b3Agd2hlbiB3ZSBmb3VuZCBpdC4KCjIwMTQtMDQtMjkgMTY6MjE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHNtYWxsIG9wdGltaXphdGlvbnMKCSAgU21hbGwgb3B0aW1pemF0aW9ucyB3aGVyZSB3ZSBjYW4uCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDE0LTA0LTI5IDE2OjE2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNpZ25hbCB3aGVuIG5leHRfc2VxbnVtIGNoYW5nZWQKCSAgU2lnbmFsIHRoZSBwdXNoaW5nIHRocmVhZCB3aGVuIHRoZSBuZXh0X3NlcW51bSBjaGFuZ2VkIGFuZCB3ZSBtaWdodCBiZQoJICBhYmxlIHRvIHB1c2ggYSBidWZmZXIgbm93LgoKMjAxNC0wNC0yOSAxNjoxMjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHNpZ25hbCBldmVudCB3aGVuIGhlYWQgY2hhbmdlZAoJICBBZnRlciBhZGRpbmcgYSBidWZmZXIsIG9ubHkgc2lnbmFsIHRoZSBwdXNoaW5nIHRocmVhZCB3aGVuIHRoZSBoZWFkCgkgIGJ1ZmZlciBjaGFuZ2VkIG9yIGVsc2Ugd2UgY2F1c2UgYSB1c2VsZXNzIHdha2V1cC4KCjIwMTQtMDQtMjkgMTU6Mjk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHJld29yayBwYWNrZXQgaW5zZXJ0CgkgIFJld29yayB0aGUgcGFja2V0IHF1ZXVlIHNvIHRoYXQgdGhlIG1vc3QgY29tbW9uIGFjdGlvbiAoaW5zZXJ0IGEgcGFja2V0CgkgIGF0IHRoZSB0YWlsIG9mIHRoZSBxdWV1ZSkgZ29lcyB2ZXJ5IGZhc3QuCgkgIFJlcG9ydCBpZiBhIHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIGhlYWQgaW5zdGVhZCBvZiB0aGUgdGFpbCBzbyB0aGF0CgkgIHdlIGNhbiBrbm93IHdoZW4gdG8gcmV0cnkgX3BvcCBvciBfcGVlay4KCjIwMTQtMDQtMjkgMTY6Mzg6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgZ2wvZXhhbXBsZXM6IG1vdmUgdG8gLWJhZAoJICAtIGZpeCBhbGwgdGhlIGNvbXBpbGVyIGVycm9ycwoJICAtIGdpdmUgdGhlbSB0aGVpciBvd24gZ2wgZGlyZWN0b3J5CgoyMDE0LTA0LTI4IDE0OjQxOjEwICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3OiB1c2UgcGxhbmUgcG9pbnRlcnMgd2hlbiBuZWVkZWQKCSAgUGFjay91bnBhY2sgcGxhbmFyIGZvcm1hdHMgdG8vZnJvbSB0aGUgZmlyc3QgcGxhbmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNTgKCjIwMTQtMDQtMjggMDk6NDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogUmVtZW1iZXIgaWYgYSByZWRpcmVjdCBpcyBwZXJtYW5lbnQgb3Igbm90IGFuZCBzdG9yZSBpdCBpbiB0aGUgcXVlcnkKCjIwMTQtMDQtMjcgMjE6NTc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkgIGdvb206IFJlbW92ZSBmcmVuY2ggY29tbWVudCBzYXlpbmcgdG8gcHJlZml4IGZ1bmN0aW9ucwoJICBBbGwgbm9uLXN0YXRpYyBmdW5jdGlvbiBpbiB0aGlzIGZpbGUgYXJlIGFscmVhZHkgcHJlZml4ZWQgd2l0aCBnb29tXy4KCjIwMTQtMDQtMjggMDA6MjA6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb206IGZpeCBjb21waWxhdGlvbiBvbiBpb3MtYXJtNy0xMC45IGFuZCBvc3gteDg2XzY0CgkgIHVpbnQgaXMgbm90IGEgc3RhbmRhcmQgdHlwZSwgYW5kIHRoZSByZXN0IG9mIHRoZSBjb2RlIHVzZXMKCSAgVWludCB3aGljaCBpcyBsb2NhbGx5IHR5cGVkZWZlZCB0byB1bnNpZ25lZCBpbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkwNjcKCjIwMTQtMDQtMjcgMTg6Mjk6MTEgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb206IGZpeCB1bmRlZmluZWQgYmVoYXZpb3VyIG9mIGxlZnQtc2hpZnQKCSAgRG9uJ3QgbGVmdC1zaGlmdCBpbnRvIHRoZSBzaWduIGJpdCwgdGhlIHJlc3VsdCBpcyB1bmRlZmluZWQgYW5kIHBvdGVudGlhbGx5CgkgIGFuIG92ZXJmbG93IGNvdWxkIGZsaXAgdGhlIHNpZ24uCgoyMDE0LTA0LTI2IDIwOjUxOjM2IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHJldHVybiBmcm9tIHF0X2RlbXV4X3ZpZGVvX2NhcHMKCSAgTm93IHF0ZGVtdXhfdmlkZW9fY2FwcygpIGNhbiByZXR1cm4gTlVMTC4gV2UgbmVlZCB0byBjaGVjayB0aGlzIHJldHVybiBiZWZvcmUKCSAgdXNpbmcgaXQncyB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk4NwoKMjAxNC0wNC0yNiAyMzozNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIGRvY3M6IHJlbW92ZSBvdXRkYXRlZCBhbmQgcG9pbnRsZXNzICdMYXN0IHJldmlld2VkJyBsaW5lcyBmcm9tIGRvY3MKCSAgVGhleSBhcmUgdmVyeSBjb25mdXNpbmcgZm9yIHBlb3BsZSwgYW5kIG1vcmUgb2Z0ZW4gdGhhbiBub3QKCSAgYWxzbyBqdXN0IG5vdCB2ZXJ5IGFjY3VyYXRlLiBTZWVpbmcgJ2xhc3QgcmV2aWV3ZWQ6IDIwMDUnIGluCgkgIHlvdXIgZG9jcyBpcyBub3QgdmVyeSBjb25maWRlbmNlLWluc3BpcmluZy4gTGV0J3MganVzdCByZW1vdmUKCSAgdGhvc2UgY29tbWVudHMuCgoyMDE0LTA0LTI1IDE3OjU4OjQyIC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgY2FwcyBwb2ludGVyIHRvIG51bGwKCSAgTWFrZSBzdXJlIHRoZSBjYXBzIHBvaW50ZXIgcmV0dXJucyBpbml0aWFsaXplZCB3aGVuIHVzaW5nIGl0IGluCgkgIHF0ZGVtdXhfcGFyc2VfdHJlZSAoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk4NwoKMjAxNC0wNC0yMiAxNzowNzozOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDbGVhciBsYXN0X3B0IG9uIGZsdXNoLXN0b3AuCgkgIE90aGVyd2lzZSwgd2UgZG9uJ3QgcmVjaGVjayB0aGUgYnVmZmVyIGNhcHMgZm9yIGNsb2NrLXJhdGUKCSAgcHJvcGVybHkgb24gdGhlIG5leHQgY2hhaW4uCgoyMDE0LTA0LTIyIDE3OjI5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RkZWludGVybGFjZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RlaW50ZXJsYWNlX291dHB1dF9mcmFtZSc6CgkgIGdzdGRlaW50ZXJsYWNlLmM6MTUzNzo1NzogZXJyb3I6ICdwYXR0ZXJuLmxlbmd0aCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIFRoaXMgYWN0dWFsbHkgaXMgYWx3YXlzIGluaXRpYWxpemVkIGJlZm9yZSBpdCBpcyB1c2VkIHRoZXJlLCBidXQKCSAgbGV0J3MganVzdCBzaWxlbmNlIGdjYyBoZXJlLgoKMjAxNC0wNC0yMSAxNTo1ODo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggYnVmZmVyIGxpc3QgZHJvcCBjaGVjawoJICBXaGlsZSBwb3J0aW5nIHRvIDAuMTEsIHRoZSBjaGVjayB3YXMgbWlzdGFrZW5seSBtYWRlIGNvbnN0YW50LAoJICBpbnN0ZWFkIG9mIHRlc3RpbmcgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YgcHJvY2Vzc19idWZmZXJfbG9ja2VkLgoJICBDb3Zlcml0eSAxMTM5NjYzCgoyMDE0LTA0LTIxIDEzOjQ0OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZml4IGNvbnRlbnQgZW5jb2Rpbmcgc2NvcGUgdmFsaWRpdHkgY2hlY2sKCSAgSXQncyAzIGJpdHMsIGFuZCBodHRwOi8vbWF0cm9za2Eub3JnL3RlY2huaWNhbC9zcGVjcy9pbmRleC5odG1sCgkgIHNheXMgaXQgY2FuJ3QgYmUgMC4KCSAgQ292ZXJpdHkgMTEzOTY2MAoKMjAxNC0wNC0yMSAxMzozNDozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggUEFSIGZyYWN0aW9uIHNhbml0eSBjaGVjawoJICBJdCB3YXMgY2hlY2tpbmcgcGFyX251bSB0d2ljZSwgYW5kIG5ldmVyIHBhcl9kZW51bS4KCSAgQ292ZXJpdHkgMTEzOTYzNAoKMjAxNC0wNC0yMSAxMzozMjo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aWlkcHNpbms6IHdhcm4gd2hlbiBzZXRzb2Nrb3B0IGZhaWxzCgkgIFRoaXMgZG9lc24ndCBzZWVtIHRvIGJlIGZhdGFsLCBidXQgaXQncyBnb29kIHRvIGxldCB0aGUgdXNlciBrbm93CgkgIGluIHRoZSBsb2dzLgoJICBDb3Zlcml0eSAxMTM5NjMwCgoyMDE0LTA0LTIxIDEzOjI3OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxhY2U6IGNhdGNoIGZhaWx1cmUgdG8gY3JlYXRlIGF1ZGlvIGluZm8gZnJvbSBjYXBzCgkgIENvdmVyaXR5IDExMzk2MjcsIDExMzk2MjgKCjIwMTQtMDMtMTMgMDk6Mzc6NDggKzAxMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBnc3RydHBoMjY0cGF5OiBSZXNldCBzcHMgcHBzIHZhcmlhYmxlIHdoZW4gc3RhdGUgY2hhbmdlLgoJICBSZXNldCBsYXN0X3Nwc3BwcyBhbmQgc3BzL3BwcyBhcnJheXMgIHdoZW4gc3RhdGUgdHJhbnNpdGlvbgoJICBHU1RfU1RBVEVfQ0hBTkdFX1BBVVNFRF9UT19SRUFEWS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjAxNQoKMjAxNC0wNC0xOCAxMToxMToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgRU9TIGhhbmRsaW5nCgkgIE1ha2UgYSBuZXcgbWV0aG9kIHRvIGRpc2FibGUgdGhlIGppdHRlcmJ1ZmZlciBidWZmZXJpbmcuCgkgIFJld29yayB0aGUgdXBkYXRlX2VzdGltYXRlZF9lb3MoKSBtZXRob2QuIENhbGN1bGF0ZSBob3cgbXVjaCB0aW1lCgkgIHRoZXJlIGlzIGxlZnQgdG8gcGxheS4gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gdGhlIGRlbGF5IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIHdlIGRpc2FibGVkIGJ1ZmZlcmluZyBiZWNhdXNlIHdlIG1pZ2h0IG5ldmVyIGJlIGFibGUgdG8KCSAgZmlsbCB0aGUgY29tcGxldGUgaml0dGVyYnVmZmVyIGFnYWluLgoJICBJZiB3ZSByZWNlaXZlIGFuIEVPUyBldmVudCwgZGlzYWJsZSBidWZmZXJpbmcuIFdlIHdpbGwgZHJhaW4gdGhlCgkgIGJ1ZmZlciBhbmQgZXZlbnR1YWxseSBwdXNoIHRoZSBFT1MgZXZlbnQgb3V0LgoJICBXaGVuIHdlIHJlYWNoIHRoZSBlc3RpbWF0ZWQgTlBUIHRpbWVvdXQgYW5kIHdlIGRpZG4ndCByZWNlaXZlIGFuIEVPUwoJICBldmVudCwgbWFrZSBvbmUgYW5kIHF1ZXVlIGl0IHNvIHRoYXQgaXQgY2FuIGJlIHB1c2hlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODAxNwoKMjAxNC0wNC0xOCAxMDoyMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBzZW5kIHJlY29uZmlndXJlIHdoZW4gaW50ZXJuYWwtc3NyYyBjaGFuZ2VzCgkgIFdoZW4gdGhlIGludGVybmFsLXNzcmMgcHJvcGVydHkgY2hhbmdlcywgd2Ugd2FudCB0byBzZW5kIGEgcmVjb25maWd1cmUKCSAgdXBzdHJlYW0gdG8gbWFrZSBwYXlsb2FkZXJzIHVzZSB0aGUgbmV3IHN1Z2dlc3RlZCBzc3JjLgoJICBVc2luZyB0aGUgaW50ZXJuYWwtc3NyYyBwcm9wZXJ0eSB0byBjaGFuZ2UgdGhlIFNTUkMgb2YgYSBzdHJlYW0gaXMgbm90IGEKCSAgZ29vZCBpZGVhIGFuZCBkb2Vzbid0IHdvcmsgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgc2VuZGVycywgd2Ugd2FudCB0bwoJICBzZXQgdGhlIFNTUkMgZGlyZWN0bHkgb24gdGhlIHBheWxvYWRlcnMuIFRoZXJlZm9yZSwgZGVwcmVjYXRlIHRoaXMKCSAgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUzNjEKCjIwMTQtMDQtMTggMDQ6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXNzdW1lIGEgZnVsbCBidWZmZXIgd2hlbiBlb3MKCSAgUmV3b3JrIHRoZSBsb2dpYyB0byBtYWtlIGJ1ZmZlcmluZyBtZXNzYWdlcyBhIGxpdHRsZSwgbWFrZSBzdXJlIHdlCgkgIGRvbid0IG1ha2UgdGhlIHNhbWUgbWVzc2FnZSBtdWx0aXBsZSB0aW1lcy4KCSAgQ29uc2lkZXIgdGhlIGJ1ZmZlciBmdWxsIHdoZW4gRU9TIHdhcyByZWNlaXZlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODAxNwoKMjAxNC0wNC0xNyAxODowNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICBydHBydHg6IERvbid0IGZvcmdldCB0byB1bm1hcCBydHAgYnVmZmVyIGluIHRoZSB0ZXN0CgoyMDE0LTA0LTE3IDE3OjU4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBSZXF1aXJlIGNsb2NrLXJhdGUgaW4gdGhlIGNhcHMgYW5kIGhhbmRsZSBubyBzc3JjIGluIHRoZSBjYXBzIHByb3Blcmx5CgoyMDE0LTA0LTE3IDE3OjQzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eDogUHJvdmlkZSBhbiBzc3JjIGluIHRoZSB0ZXN0CgkgIEFuZCBpbmNyZWFzZSB0aW1lb3V0IHRvIGFsbG93IGFsbCB0ZXN0cyB0byBydW4gaW4gdmFsZ3JpbmQuCgoyMDE0LTA0LTE3IDE3OjMzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggbWVtb3J5IGxlYWtzIGluIHRlc3QKCjIwMTQtMDQtMTcgMTc6MjY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggaHVuZHJlZHMgb2YgbWVtb3J5IGxlYWtzIGluIHRoZSB0ZXN0CgoyMDE0LTA0LTE3IDE3OjAwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogVW5yZWYgY2xvY2sgaWQgd2hlbiB3YWl0aW5nIGZvciB0aGUgY2xvY2sgaXMgaW50ZXJydXB0ZWQKCjIwMTQtMDQtMTcgMTY6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgcnRwY29sbGlzaW9uOiBGaXggbWVtb3J5IGxlYWtzIGluIHVuaXQgdGVzdAoKMjAxNC0wNC0xNiAyMTo0MDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IG5hbWUgY29sbGVjdHBhZHMgb2JqZWN0IGJhc2VkIG9uIHZpZGVvbWl4ZXIgbmFtZQoJICBNYWtlcyBpdCBlYXNpZXIgdG8gdHJhY2sgdGhpbmdzIGluIGRlYnVnIGxvZ3Mgd2hlbiB0aGVyZQoJICBhcmUgbXVsdGlwbGUgbWl4ZXJzIGFuZCBtdXhlcnMuCgoyMDE0LTA0LTE2IDIxOjM3OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYmV0dGVyIGxvZ2dpbmcgb2YgaW5jb21pbmcgZXZlbnRzCgkgIFRoZSBwYWQgYW5kIHBhcmVudCBuYW1lcyBhcmUgYWxyZWFkeSBsb2dnZWQgYXMgcGFydCBvZiBsb2dnaW5nCgkgIHRoZSBvYmplY3QuIEluc3RlYWQgbG9nIHRoZSBmdWxsIGV2ZW50IGRldGFpbHMuCgoyMDE0LTA0LTE2IDE5OjAzOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggbWVtb3J5IGxlYWsgaW4gdW5pdCB0ZXN0CgoyMDE0LTA0LTE2IDE4OjQ5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBVc2UgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIHNhbXBsZXMgdG8gaXRlcmF0ZSBvdmVyIHRoZSBpbnB1dCBhcnJheQoJICBGaXhlcyBpbnZhbGlkIG1lbW9yeSBhY2Nlc3NlcyBhbmQgYWNjZXNzZXMgdG8gdW5pbml0aWFsaXNlZCBkYXRhLgoKMjAxNC0wNC0xNiAxODowMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogVW5yZWYgZHJvcHBlZCBldmVudHMKCjIwMTQtMDQtMTYgMTc6Mjk6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYTogZml4IGNoZWNrIGZvciBhbW91bnQgb2YgZGF0YSB0byByZWFkCgkgIEhpc3Rvcnkgc2hvd3MgbGVuZ3RoPT0wIHNob3VsZCBzZXQgZGF0YSB0byBOVUxMIGFuZCByZXR1cm4sCgkgIHNvIHdlIGRvIHRoYXQgdG9vIGluc3RlYWQgb2YgdHJ5aW5nIHRvIHJlYWQgbm90aGluZy4KCSAgQ292ZXJpdHkgMjA2MjA1CgoyMDE0LTA0LTE2IDE3OjI1OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHNpZ24gY29tcGFyaXNvbgoJICBoaXN0b3J5X2NvdW50IGlzIHVuc2lnbmVkLCBzbyB0aGUgd2hvbGUgY29tcGFyaXNvbiB3aWxsIGJlIG1hZGUKCSAgYXMgdW5zaWduZWQsIGFuZCBmYWlsIHRvIHJlamVjdCB3aGF0IGl0IHdhcyBtZWFudCB0by4KCSAgQ292ZXJpdHkgMjA2MjA0CgoyMDE0LTA0LTE2IDE3OjA0OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUKCSAgc3ViIG1heSBub3QgYmUgTlVMTCBpbiB0aGlzIHN3aXRjaCwgdGhlcmUgaXMgYSBiYWlsIG91dCBqdXN0CgkgIGJlZm9yZSBpdCBpZiBzby4KCSAgQ292ZXJpdHkgMjA2MDk4CgoyMDE0LTA0LTE2IDE2OjU5OjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmVtb3ZlIGRlYWQgY29kZQoJICBUaGUgYmxvY2tfc2l6ZSA9PSAwIHdhcyBzaG9ydGN1dCBlYXJsaWVyLCBhbmQgdGhlIHZhcmlhYmxlIGlzIG5vdAoJICBtb2RpZmllZCBpbiB0aGUgbWVhbnRpbWUuCgkgIENvdmVyaXR5IDIwNjA5NwoKMjAxNC0wNC0xNiAxNjo1Njo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogcmVtb3ZlIGRlYWQgY29kZQoJICBXaGlsZSBpdCBzZWVtcyB0byBrZWVwIGEgY29tcGlsZSB0aW1lIHNlbGVjdGlvbiwgSSB0cmFjZWQgaXQKCSAgdG8gc29tZSBjb2RlIGNvcGllZCBmcm9tIHZpZGVvY29udmVydCwgd2hlcmUgaXQgd2FzIHJlbW92ZWQsCgkgIHdpdGggdGhlIGZvbGxvd2luZyBjb21tZW50OgoJICBBbHNvIHJlbW92ZSB0aGUgaGlnaC1xdWFsaXR5IEk0MjAgdG8gQkdSQSBmYXN0LXBhdGggYXMgaXQgbmVlZHMKCSAgdGhlIHNhbWUgZml4LCB3aGljaCBjYXVzZXMgYW4gYWRkaXRpb25hbCBpbnN0cnVjdGlvbiwgd2hpY2ggY2F1c2VzCgkgIG9yYyB0byBlbWl0IG1vcmUgdGhhbiA5NiB2YXJpYWJsZXMsIHdoaWNoIHRoZW4ganVzdCBjcmFzaGVzLgoJICBUaGlzIGNhbiBvbmx5IGJlIGZpeGVkIGluIG9yYyBieSBicmVha2luZyBBQkkgYW5kIGFsbG93aW5nIG1vcmUKCSAgdmFyaWFibGVzLgoJICBUaHVzLCBJIHJlbW92ZSBpdCBoZXJlIGFzIHdlbGwuCgkgIENvdmVyaXR5IDIwNjA2NAoKMjAxNC0wNC0xNiAxNjo1MDozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBmaXggaW5jb3JyZWN0IG1hc2tpbmcgZm9yIG11bHRpcGxlIHRhZ3MKCSAgQ292ZXJpdHkgMjA2MDU4CgoyMDE0LTA0LTE2IDE2OjQ1OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSAgaXNvbXA0OiBmaXggd3JvbmcgYXRvbSBmbGFncyBzZXQgd2hlbiBhZGRpbmcgc2FtcGxlcwoJICBDb3Zlcml0eSAyMDYwNTcKCjIwMTQtMDQtMTYgMTY6NDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IGNvbXBhcmlzb24gb2YgZGVsdGEgdGltZSB0byBhIHRocmVzaG9sZAoJICBDb3Zlcml0eSAyMDYwNTUKCjIwMTQtMDQtMTYgMTY6MzI6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkbyBub3QgcmVseSBvbiBjYWxsIGZhaWx1cmUga2VlcGluZyByZXR1cm4gZGF0YSB1bm1vZGlmaWVkCgkgIFRoaXMgaXMgY2xlYXJlciB0aGlzIHdheSB0b28uCgkgIENvdmVyaXR5IDIwNjAyOQoKMjAxNC0wNC0xNiAxNjoyODo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgaXNvbXA0OiBjYXRjaCBmc2VlayBlcnJvcgoJICBDb3Zlcml0eSAyMDYwMjgKCjIwMTQtMDQtMTYgMTY6MjU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IHJlcG9ydCBmYWlsdXJlcyB0byBjYWxsZXIKCSAgQ292ZXJpdHkgMjA2MDI3CgoyMDE0LTA0LTE2IDE4OjA1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZnVzZSBzZXJpYWxpZWQgcXVlcnkgd2hlbiBidWZmZXJpbmcKCSAgV2hlbiB3ZSBhcmUgYnVmZmVyaW5nLCB3ZSBjYW4ndCBibG9jayBhbmQgd2FpdCBmb3IgdGhlIHNlcmlhbGl6ZWQgcXVlcnkKCSAgdG8gY29tcGxldGUgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbm90IHRyeSB0byBmb3J3YXJkIHRoZSBxdWVyeQoJICB3aGlsZSBidWZmZXJpbmcuIEluc3RlYWQsIGp1c3QgcmVmdXNlIHRoZSBxdWVyeS4KCjIwMTQtMDQtMTYgMTY6NTE6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZnJlZSB0aGUgc2VyaWFsaXplZCBxdWVyeQoJICBXZSBzaG91bGQgbmV2ZXIgZnJlZSBhIHNlcmlhbGl6ZWQgcXVlcnkgaW4gdGhlIHF1ZXVlLCBpdCBpcyB0aGUgdXBzdHJlYW0KCSAgY2FsbGVyIHRoYXQgd2lsbCBmcmVlIGl0LgoKMjAxNC0wNC0xNiAxNzozNTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggbWVtb3J5IGxlYWsgaW4gdGhlIHRlc3QKCjIwMTQtMDQtMTYgMTc6MzM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBDcmVhdGUgaGFzaHRhYmxlIG9ubHkgd2hlbiB3ZSBhY3R1YWxseSB1c2UgaXQKCSAgSW4gZXJyb3IgY2FzZXMgd2UgcHJldmlvdXNseSByZXR1cm5lZCB3aXRob3V0IGZyZWVpbmcgaXQuCgoyMDE0LTA0LTE2IDE3OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgZGlzcG9zZSBmdW5jdGlvbgoKMjAxNC0wNC0xNiAxNzoyMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEluaXRpYWxpc2UgaW9jdGwgc3RydWN0IHdpdGggemVyb2VzIGJlZm9yZSBwYXNzaW5nIGl0IHRvIGlvY3RsKCkKCjIwMTQtMDQtMTYgMTM6NDc6NDMgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGNvcnJlY3QgTE9HIG1zZyBmb3IgLTEKCSAgU2lnbmVkLW9mZi1ieTogTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCjIwMTQtMDQtMTUgMjE6MzY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCBuZWdvdGlhdGlvbiB0byB3b3JrIGF0IGFsbCBhZ2FpbgoJICBUaGUgY2FwcyBxdWVyeSBoYW5kbGluZyBmdW5jdGlvbiBmb3IgdGhlIHNpbmtwYWRzIHdhcyBjYWxsZWQgZm9yCgkgIHRoZSBzcmNwYWQsIGFuZCB0aGUgc2lua3BhZHMgaGFkIG5vbmUuIFRoaXMgY29tbWl0IG1vdmVzIGl0IHRvIHRoZQoJICByaWdodCBwYWQsIGJ1dCBub25ldGhlbGVzcyB0aGUgbmVnb3RpYXRpb24gc3RpbGwgbG9va3Mgd3JvbmcuCgkgIFRoaXMgbWFrZXMgdGhlIHRlc3QgcGFzcyBhZ2FpbiBhZnRlciB0aGUgcmVjZW50IGNvdmVyaXR5IGZpeAoJICBhbmQgYWxzbyBhbGxvd3MgaW50ZXJsZWF2ZSB0byB3b3JrIGFnYWluLCBidXQgc29tZW9uZSBzaG91bGQKCSAgcmVhbGx5IHJldmlldyB0aGUgbmVnb3RpYXRpb24gY29kZSBhbmQgZml4IGl0LgoKMjAxNC0wNC0xMyAwOTowMzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IE1heGltdW0gbnVtYmVyIG9mIGNoYW5uZWxzIHN1cHBvcnQgaXMgOAoJICBBdm9pZHMgZG9pbmcgcG90ZW50aWFsIG92ZXJ3cml0ZXMgaW4gY2hfbGF5b3V0ICh3aGljaCBvbmx5IGhhcyA4CgkgIGZpZWxkcykuCgkgIENJRCAjMTEzOTgyNgoKMjAxNC0wNC0xMiAyMjoxNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBTZXQgcmFuayB0byBNQVJHSU5BTAoJICBJZiBhdmFpbGFibGUgd2UgcHJlZmVyIHVzaW5nIGdsaW1hZ2VzaW5rIG92ZXIgb3N4dmlkZW9zaW5rLiBJdCBzdXBwb3J0cwoJICBtb3JlIGZvcm1hdHMgYW5kIGluIGdlbmVyYWwgaGFzIG1vcmUgZmVhdHVyZXMgdGhhbiBvc3h2aWRlb3NpbmsuCgoyMDE0LTA0LTExIDE4OjE5OjQ5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IG9ubHkgZ3Vlc3MgQVUgYm91bmRhcmllcyB3aGVuIGFyZW4ndCBpbmRpY2F0ZWQgYnkgbWFya2VyCgkgIFRoZSBtYXJrZXIgYml0IGlzbid0IG1hbmRhdG9yeSBhbmQgd2UgaGFkIGluIHBsYWNlIGNvZGUgdG8gZ3Vlc3MgQVUKCSAgYm91bmRhcmllcyBieSBkZXRlY3RpbmcgYSBuZXcgcGljdHVyZSBzdGFydC4gVGhpcyBndWVzc2luZyBjb2RlCgkgIGRpZG4ndCB3b3JrIHdpdGggaW50ZXJsYWNlZCBjb250ZW50IHRoYXQgaGFzIHByb3BlciBtYXJrZXIgYml0cwoJICB0byBpbmRpY2F0ZSB0aGUgQVUgYm91bmRhcmllcy4gSXQgd2FzIGxlYWtpbmcgdGhlIGZpcnN0IGZpZWxkIGJ1ZmZlcgoJICBhbmQgcHJvZHVjaW5nIGEgY29ycnVwdGVkIG91dHB1dC4KCSAgZml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgwNDEKCjIwMTQtMDQtMTAgMTA6Mzg6MTkgLTAzMDAgIFJhZmHFgiBNdcW8ecWCbyA8Z2FsdGdlbmRvQG8yLnBsPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBlbmFibGUgbGlicG5nIGludGVybGFjZWQgcGljdHVyZSBoYW5kbGluZwoJICBNYWtlcyBsaWJwbmcgZGVpbnRlcmxhY2UgQWRhbTcgaW50ZXJsYWNlZCBwaWN0dXJlcwoJICBieSBkZWZhdWx0LiBJdCBpcyB0aGUgb25seSBpbnRlcmxhY2VkIGZvcm1hdCBhdmFpbGFibGUKCSAgYW5kIGlmIHRoZSBwaWN0dXJlIGlzbid0IGludGVybGFjZWQgdGhlIGNvZGUgc2hvdWxkIGJlaGF2ZQoJICBhcyBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxNjEKCjIwMTQtMDQtMTEgMTM6Mjc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogT25seSBrZWVwLWFsaXZlIHRoZSBjb25uZWN0aW9uIGluIHN0b3AoKSBpZiB3ZSBoYXZlIGZpbmlzaGVkIGFsbCBwcmV2aW91cyBtZXNzYWdlcwoJICBBZnRlciBjYW5jZWxsaW5nIGEgcmVxdWVzdCB3ZSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBjb25uZWN0aW9uLgoKMjAxNC0wNC0xMSAxMTo1NDoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogRG9uJ3Qgc2V0IGJvZ3VzIHRpbWVzdGFtcC9kdXJhdGlvbgoJICBUaGlzIHdpbGwgaGFwcGVuIGlmIHdlIGhhdmUgYW4gaW5jb21pbmcgc3RyZWFtIHdpdGggYSBub24tVElNRSBzZWdtZW50CgkgIENvdWxkIGJlIGltcHJvdmVkIGxhdGVyIHRvIGZpZ3VyZSBvdXQgcHJvcGVyIHB0cy9kdXJhdGlvbi4KCSAgQ0lEICMxMTk5NzAyCgkgIENJRCAjMTE5OTcwMwoKMjAxNC0wNC0xMSAxMTo1Mzo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICBkdmRlYzogUHJvcGVybHkgcmVmdXNlIGluY29taW5nIHN0cmVhbSB3aXRob3V0IGZyYW1lcmF0ZQoJICBUaGUgcmV0dXJuIHZhbHVlIHdhc24ndCBwcm9wZXJseSBwcm9wYWdhdGVkIGJhY2sgaWYgdGhlIGNhcHMKCSAgZGlkbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUKCjIwMTQtMDQtMTAgMTY6MzU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQWxzbyByZXRyeSBvbiB1bmV4cGVjdGVkIG5ldHdvcmsgZmFpbHVyZXMKCjIwMTQtMDQtMTAgMTU6NDU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogTmV3IHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJpZXMgYmVmb3JlIHdlIGdpdmUgdXAKCjIwMTQtMDMtMTMgMTA6NTY6MTEgKzAxMDAgIEFsZXhhbmRlciBaYWxsZXNvdiA8emFsbGVzb3ZAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IENoYW5nZSBkZWZhdWx0IHRpbWVvdXQgdG8gMTUgc2Vjb25kcwoJICBJZiBub3RoaW5nIGhhcHBlbnMgYWZ0ZXIgMTUgc2Vjb25kcywgY2hhbmNlcyBhcmUgZ29vZCB0aGF0CgkgIG91ciBjb25uZWN0aW9uIHdpbGwgbmV2ZXIgd2lsbCB3b3JrLiBTdG9wIGFmdGVyIDE1IHNlY29uZHMKCSAgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsIHRoZSBzeXN0ZW0ncyBkZWZhdWx0IHRpbWVvdXQsIHdoaWNoCgkgIGNhbiBiZSA+IDEgbWludXRlLgoKMjAxNC0wNC0wOSAxNzozMDo1NCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlcGxhY2UgZHVwbGljYXRlZCB2YXJpYWJsZSB3aGVuIHBhcnNpbmcgdHJleCBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NzgKCjIwMTQtMDQtMDkgMTA6NTY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIEdTVF9GTE9XX0ZMVVNISU5HIHdoZW4gZmx1c2hpbmcsIG5vdCBHU1RfRkxPV19FT1MKCSAgLi4uIGFuZCByZXNldCBpdCBwcm9wZXJseSBhZnRlciBmbHVzaGluZyBpcyBkb25lLiBGaXhlcyBwbGF5YmFjawoJICBpbiBtYW55IGNhc2VzIHdoZW4gYnVmZmVyaW5nIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MjEKCjIwMTQtMDQtMDkgMDg6NTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUHJvcGVybHkgcmV0dXJuIHN0cmVhbSBmbGFncyB3aGVuIHBhcnNpbmcgdHJleCBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NjcKCjIwMTQtMDMtMTkgMTk6MTg6MTEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB1c2UgdGhlIHZpZGVvIGZyYW1lIEFQSSBpbnN0ZWFkIG9mIHRoZSB2aWRlbyBtZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NzM4CgoyMDE0LTAzLTE5IDE4OjQ3OjM5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkdmVydGl6ZSB2aWRlbyBtZXRhIEFQSSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3MzcKCjIwMTQtMDQtMDggMTE6MzE6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFRoZSBjYXBzIHF1ZXJ5IGlzIGhhbmRsZWQgZW50aXJlbHkgYWxyZWFkeSBiZWZvcmUuCgkgIENJRCAjMTEzOTc1NwoKMjAxNC0wNC0wNiAxODowMzoxMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IHVzZSBTb3VwS25vd25TdGF0dXNDb2RlIGlmIG5lZWRlZAoJICBGcm9tIGxpYnNvdXAgZG9jczoKCSAgUHJpb3IgdG8gMi40NCBTb3VwU3RhdHVzIHdhcyBjYWxsZWQgU291cEtub3duU3RhdHVzQ29kZSwKCSAgYnV0IHRoZSBpbmRpdmlkdWFsIHZhbHVlcyBoYXZlIGFsd2F5cyBoYWQgdGhlIG5hbWVzIHRoZXkKCSAgaGF2ZSBub3cuCgkgIEZpeGVzOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA0LTA3IDEyOjU4OjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVzZSBmcmFtZXMsIG5vdCBieXRlcywgZm9yIHBvc2l0aW9uIHF1ZXJ5IGluIFZCUiBzdHJlYW1zCgkgIENvdmVyaXR5IDExMzk2NDgKCjIwMTQtMDQtMDcgMTI6NDI6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBmaXggY29weS9wYXN0ZSBlcnJvciBjYXVzaW5nIHVubWFwIG9uIHdyb25nIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NjQ3CgoyMDE0LTA0LTA3IDEyOjE2OjE3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZ3VhcmQgYWdhaW5zdCBmaW5kaW5nIG5vIHN1aXRhYmxlIHBhdHRlcm4KCSAgVGhlIGNvZGUgaGFuZGxlcyBhIC0xIHBhdHRlcm4gaW5kZXgsIGFuZCBpdCBzZWVtcyBwbGF1c2libGUKCSAgdGhhdCBhIHBhdHRlcm4gbWlnaHQgYmUgZm91bmQgbGF0ZXIsIHNvIGl0IHNlZW1zIGJlc3QgdG8gbm90CgkgIHNlbmQgYW4gZWxlbWVudCBlcnJvciBoZXJlLgoJICBDb3Zlcml0eSAxMTM5NzY2CgoyMDE0LTA0LTA0IDE3OjM4OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXBkYXRlIGZvciBuZXcgTUlLRVkgQVBJCgoyMDE0LTA0LTAzIDE3OjQwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZW5kIHNlbmRlciBTU1JDIGluIHRoZSBNSUtFWSBtZXNzYWdlCgkgIEFsbG9jYXRlIGEgbmV3IFNTUkMgZm9yIG91ciBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBhbmQgc2V0CgkgIHRoaXMgaW4gdGhlIE1JS0VZIG1lc3NhZ2UuCgoyMDE0LTA0LTAzIDE3OjM5OjMwICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSByYW5kb20gbnVtYmVyIGZvciB0aGUgQ1NCCgkgIEFzIHJlY29tbWVuZGVkIGluIHRoZSBSRkMKCjIwMTQtMDMtMjYgMTI6MTA6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBwdXQgc3BhY2VzIGluIGtleW1nbXQgaGVhZGVyCgoyMDE0LTAzLTI1IDE3OjQ3OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIHNlbmQgdGhlIFJUQ1AgZW5jcnlwdGlvbiBrZXkKCSAgQ3JlYXRlIGFuZCBtYWtlIGEga2V5IGZvciBlbmNyeXB0aW5nIHRoZSBSVENQIHBhY2tldHMgYmFjayB0byB0aGUgc2VydmVyCgkgIGFuZCB3cmFwIHRoaXMgaW4gYSBNSUtFWSBtZXNzYWdlIHRoYXQgd2Ugc2VuZCBhcyBhIGhlYWRlciBpbiB0aGUgU0VUVVAKCSAgcmVxdWVzdC4KCjIwMTQtMDQtMDMgMTI6MTg6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmcmVlIHRoZSBzcnRwZGVjIGVsZW1lbnQKCjIwMTQtMDQtMDMgMTI6MTY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhbnVwIHN0cmVhbV9mcmVlIGZ1bmN0aW9uCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBOVUxMIGFsbCBmaWVsZHMsIHdlIHdpbGwgZnJlZSB0aGUgc3RyZWFtIGFueXdheS4KCjIwMTQtMDQtMDMgMTI6MDc6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZGVtb3RlIHdhcm5pbmcgdG8gZGVidWcKCSAgRm9yIFRDUCwgaXQgaXMgbm9ybWFsIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0aW1lc3RhbXBzIHNvIGRvbid0IFdBUk4gb24KCSAgaXQuCgoyMDE0LTAzLTI5IDE5OjEzOjA2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogRml4IHN1cHBvcnQgZm9yIGNhcHMgd2l0aG91dCB3aWR0aCwgaGVpZ2h0LCBmcmFtZXJhdGUgb3IgZm9ybWF0CgkgIEZvciBmb3JtYXQgbGlrZSBtcGVndHMsIHdpZHRoIGFuZCBoZWlnaHQgaXMgcmFyZWx5IGluIHRoZSBuZWdvdGlhdGVkIGNhcHMuIFRoaXMKCSAgcGF0Y2ggZml4ZXMgZmFpbHVyZSB3aGVuIHNldHRpbmcgZm9ybWF0LCBhbmQgcHJldmVudCBpbnRyb2R1Y2luZyB3aWR0aCwgaGVpZ2h0LAoJICBmcmFtZXJhdGUgYW5kIGZvcm1hdCB0byB0aGUgY2FwcyB3aGVuIGZpeGF0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODYwCgoyMDE0LTAzLTMxIDE4OjM0OjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IEFsd2F5cyBzZXQgUFRTPURUUyBvbiByYXcgdmlkZW8gc3RyZWFtcwoKMjAxNC0wMy0zMSAxODozMToyMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQWx3YXlzIHNldCBwaXhlbC1hc3BlY3QtcmF0aW8gb24gcmF3IHZpZGVvIHN0cmVhbXMKCSAgVGhhdCBmaWVsZCBpcyBtYW5kYXRvcnkgaW4gY2FwcyBhbmQgaWYgaXQgaXMgbm90IHByZXNlbnQgaW4gdGhlCgkgIEFWSSBjb250YWluZXIsIGl0IG1lYW5zIHNxdWFyZSBwaXhlbHMgdGh1cyAxLzEuCgoyMDE0LTAzLTMwIDAwOjM1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IGFkZCBtYXBwaW5nIGZvciBPcHVzIGF1ZGlvCgkgIE1pZ2h0IHdhbnQgdG8gY29uc2lkZXIgYWRkaW5nIGNoYW5uZWxzL3JhdGUKCSAgcmVxdWlyZW1lbnQgdG8gdGVtcGxhdGUgY2FwcywgYnV0IHJlcXVpcmVzCgkgIGZpeGluZyB1cCBvZiBlbmNvZGVyIGFuZCBwYXJzZXIgZmlyc3QuCgoyMDE0LTAzLTMwIDAwOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2EtZGVtdXg6IGFkZCBtYXBwaW5nIGZvciBPcHVzIGF1ZGlvIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTQtMDMtMjkgMTc6MjE6MTcgLTA0MDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBGaXggc3VwcG9ydCBmb3IgbXBlZ3RzIHN0cmVhbXMKCSAgSXQgc2VlbXMgdGhhdCBHU3RyZWFtZXIncyBtcGVndHMgZWxlbWVudHMgKHRzZGVtdXgsIHRzcGFyc2UpIHJlcXVpcmUgY2FwcwoJICBgdmlkZW8vbXBlZ3RzLHN5c3RlbXN0cmVhbT10cnVlYC4gIEFzIGZhciBhcyBJIGNhbiBzZWUgdGhlIHNpZ25pZmljYW5jZQoJICBvZiBzeXN0ZW1zdHJlYW0gaXMgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIGlzIGEgY29udGFpbmVyIGZvcm1hdCByYXRoZXIgdGhhbgoJICBhbiBlbGVtZW50YXJ5IHN0cmVhbS4gIEFzIHRoaXMgaXMgdGhlIGNhc2UgKGFuZCBJIGNhbid0IHVuZGVyc3RhbmQgaG93IGl0CgkgIGNvdWxkIG5vdCBiZSB0aGUgY2FzZSB3aXRoIG1wZWd0cykgSSBhZGQgc3lzdGVtc3RyZWFtPXRydWUgdG8gdjRsMnNyYydzCgkgIGNhcHMuCgkgIFRoaXMgYWxsb3dzIHY0bDJzcmMgdG8gYmUgbGlua2VkIHdpdGggdHNkZW11eCBmb3IgcGxheWJhY2sgZnJvbSBteQoJICBIYXVwcGF1Z2UgSEQtUFZSIHdpdGggdGhlIHBpcGVsaW5lOgoJICB2NGwyc3JjICEgcXVldWUgISB0c2RlbXV4ICEgdmlkZW8veC1oMjY0ICEgZGVjb2RlYmluICEgeHZpbWFnZXNpbmsKCSAgSW4gY29tYmluYXRpb24gd2l0aCB0aGUgbmV4dCBjb21taXQgdGhpcyBmaXhlcyB1c2luZyBIYXVwcGF1Z2UgSEQtUFZSIHdpdGgKCSAgR1N0cmVhbWVyIDEuMCsuCgoyMDE0LTAxLTE0IDE0OjQ4OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYXR0ZW1wdCB0byBmaXggaW5maW5pdGUgKGZvciBzbWFsbCB2ZXJzaW9uIG9mIGluZmluaXRlKSBsb29wCgoyMDE0LTAzLTI5IDEzOjIwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cG1hbmFnZXI6IGNvcHkgc3RpY2t5IGV2ZW50cyB3aGVuIGV4cG9zaW5nIHBhZHMgaW4gbW9yZSBwbGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxMgoKMjAxNC0wMy0yOCAyMDoxMTozNiArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDI6IGZpeCBkaXN0Y2hlY2sKCSAgTWFrZSBzdXJlIGV4dC8qLmggYXJlIGRpc3QnZWQKCjIwMTQtMDMtMjcgMTk6NTE6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IG9ubHkgZXh0cmFwb2xhdGUgYWxwaGEgbWFzayBmb3IgMzItYml0IGRlcHRoCgkgIEluc3RlYWQgb2YgcGFzc2luZyBib2d1cyBhbHBoYSBtYXNrIHZhbHVlcyB3aGVuIHRoZXJlJ3Mgbm8gYWxwaGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MzMKCjIwMTQtMDMtMjEgMTM6MDM6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogQWRkIEFSR0IvQkdSQSBzdXBwb3J0CgoyMDE0LTAzLTIwIDE1OjI4OjI2ICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IGNvbnNpZGVyIGhlYWRlciBsZW4gd2hlbiBjYWxjdWxhdGluZyBwYXlsb2FkIGxlbgoJICBGaXhlZCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2Nzc3CgoyMDE0LTAzLTI2IDA4OjAzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBbGwgZnJhbWVzIGFyZSBzeW5jIHBvaW50cwoKMjAxNC0wMy0yNiAwODowMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQWxsIGZyYW1lcyBhcmUgc3luYyBwb2ludHMKCjIwMTQtMDMtMjIgMTc6MDc6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZWdtZW50IGNsb3Npbmcgbm90IG5lZWRlZCBpbiAxLngKCSAgLi4uIGFzIHNlbmRlciBzaG91bGQga2VlcCB0cmFjayBvZiBzZWdtZW50IGJhc2UgYWNjdW11bGF0aW9uLgoJICBSYXRoZXIsIGl0IG1heSBoYXZlIHNvbWUgYWR2ZXJzZSBlZmZlY3RzIGFzIGEgc3B1cmlvdXMgc2VnbWVudCBldmVudCwKCSAgZS5nLiBpbiBjb2xsZWN0cGFkcy4KCjIwMTQtMDMtMjIgMTc6MDU6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBlYXJseSBzZW5kaW5nIHBlbmRpbmcgY29kZWMtZGF0YSBmb3IgYWxsIHN0cmVhbXMKCSAgLi4uIGF0IGxlYXN0IGJlZm9yZSBzeW5jaW5nIGFjcm9zcyBhbGwgc3RyZWFtcyBtaWdodCBjYXVzZSBzb21lIGdhcAoJICBhY3Rpdml0eSBvbiBhbnkgb2YgdGhvc2Ugc3RyZWFtcywgbm90YWJseSBzcGFyc2Ugc3RyZWFtcy4KCSAgU2VlIGFsc28gIzcxMjEzNAoKMjAxNC0wMy0yMiAxNzowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogaGFuZGxlIGJvdGggc3RpY2t5IGFuZCBub24tc3RpY2t5IGN1c3RvbSBldmVudAoKMjAxNC0wMy0yNSAxMTo0NDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgZXhwb3NlIHN0cmVhbXMgb24gZGF0YWZsb3cKCSAgT25seSBwcm9iZSBvbiBidWZmZXJzLCB3ZSBkb24ndCB3YW50IHRvIGV4cG9zZSB0aGUgc3RyZWFtcyBvbiBldmVudHMuCgoyMDE0LTAzLTI1IDExOjM2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNvcHkgc3RpY2t5IGV2ZW50cyB0byBnaG9zdHBhZAoJICBXaGVuIHdlIGV4cG9zZSBpbnRlcm5hbCBwYWRzIGFzIGdob3N0cGFkcywgZmlyc3QgY29weSB0aGUgc3RpY2t5IGV2ZW50cwoJICBzbyB0aGF0IHdlIGhhdmUgdGhlIGNhcHMgYW5kIHNlZ21lbnQgZXRjLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzEyCgoyMDE0LTAzLTI0IDE0OjI1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzcnRwIGhhbmRsaW5nCgoyMDE0LTAzLTI1IDEwOjIzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFNTUkMgb24gY2FwcyBpZiBrbm93bgoKMjAxNC0wMy0yNCAxNjo1ODoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHB1dCBjYXBzIG9uIHVkcHNyYyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBzaWduYWxzCgkgIFRyeSB0byBhdm9pZCB1c2luZyB0aGUgcmVxdWVzdC1wdC1tYXAgdG8gZ2V0IGNhcHMgYnV0IHNldCB0aGVtIGRpcmVjdGx5CgkgIG9uIHRoZSB1ZHBzcmMgZWxlbWVudC4gVGhhdCB3YXksIHRoZSBjYXBzIGdldCBuaWNlbHkgdHJhbnNmb3JtZWQgYXMgdGhleQoJICBwYXNzIHRocm91Z2ggdGhlIGRpZmZlcmVudCBlbGVtZW50cyBpbiB0aGUgcnRwYmluLCBpbmNsdWRpbmcgdGhlIEFVWCBhbmQKCSAgZGVjb2Rlci9lbmNvZGVyIGVsZW1lbnRzLgoKMjAxNC0wMy0yNCAxNTozNTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBwcm9maWxlIHRvIHNldCBydGNwIGNhcHMKCSAgVXNlIHRoZSBuZWdvdGlhdGVkIHByb2ZpbGUgdG8gc2V0IHgtcnRjcCBvciB4LXNydGNwIGNhcHMKCjIwMTQtMDMtMjQgMTU6MzQ6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgdWRwc3JjIHRvIFJFQURZCgkgIFJFQURZIGlzIGVub3VnaCB0byBhbGxvY2F0ZSBwb3J0cyBub3cKCjIwMTQtMDMtMjQgMTQ6MjU6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBpbXByb3ZlIGNhcHMgaGFuZGxpbmcKCSAgUHJvdGVjdCBjYXBzIHdpdGggdGhlIGxvY2suCgkgIERvbid0IHB1c2ggdGhlIGNhcHMgZXZlbnQgZnJvbSB0aGUgc2V0X3Byb3BlcnR5IGZ1bmN0aW9uIGJ1dCBtYXJrIHRoZQoJICBwYWQgZm9yIHJlY29uZmlndXJhdGlvbiBzbyB0aGF0IGl0IHdpbGwgcmVuZWdvdGlhdGUgYW5kIHB1c2ggdGhlIG5ldwoJICBjYXBzIGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxNC0wMy0yNCAxNToxNTozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG9wZW4vY2xvc2Ugc29ja2V0IGluIE5VTEw8LT5SRUFEWSBzdGF0ZQoJICBXZSBzaG91bGQgb3BlbiB0aGUgc29ja2V0IHdoZW4gZ29pbmcgdG8gTlVMTDwtPlJFQURZIGFuZCBub3QgaW4gdGhlCgkgIHN0YXJ0L3N0b3AgdmVtdGhvZCwgd2hpY2ggaXMgY2FsbGVkIGluIFJFQURZPC0+UEFVU0VELiBUaGlzIG1ha2VzIGl0CgkgIHBvc3NpYmxlIHRvIGFsbG9jYXRlIGEgc29ja2V0IHdpdGhvdXQgZ29pbmcgdG8gUEFVU0VEIChhbmQgc3RhcnRpbmcgdGhlCgkgIG5lZ290aWF0aW9uKS4KCjIwMTQtMDMtMjQgMTQ6MzU6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmcmVlIGNhcHMgaW4gcHRtYXAgYXJyYXkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjY5NgoKMjAxNC0wMy0yMCAxMToxMjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBOVUxMIHJ0cG1hcCBhbmQgcGFyc2UgZXJyb3IgYmV0dGVyCgoyMDE0LTAzLTE4IDAwOjA4OjUwICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgZ2w6IGZpeCB0aGUgdXNlIG9mIGFsd2F5cy1kZWZpbmVkIG1hY3JvcwoJICBBZnRlciAyYTBmMDM5OWFlMjI2MDg5YzJiYTA3YjFiOTA0NzQxYjg1NmYzN2FmIEdTVF9HTF8qIG1hY3JvcyBhcmUgYWx3YXlzCgkgIGRlZmluZWQgdG8gMCBvciAxLiBEb24ndCB1c2UgI2lmZGVmIC4uLiBvciAjaWYgZGVmaW5lZCgpIG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTYgMjM6NDY6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvbid0IGNoZWNrIGZvciBndWRldiBpZiB2aWRlbzRsaW51eDIgaXMgbm90IHByZXNlbnQKCjIwMTQtMDMtMTYgMjM6MTk6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvbid0IGZhaWwgaWYgZ3VkZXYgaXMgbm90IHByZXNlbnQKCSAgUEtHX0NIRUNLX01PRFVMRVMgaGFzIHRoZSBiYWQgaGFiaXQgb2YgZmFpbGluZyB0aGUgYnVpbGQgaWYgaXQgZG9lc24ndAoJICBnZXQgd2hhdCBpdCB3YW50cywgcHJldmVudCB0aGF0LgoKMjAxMi0xMS0wMiAxMzozMzoxMyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuaDoKCSAgdjRsMjogSW1wbGVtZW50IEdzdERldmljZU1vbml0b3Igc3ViY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxMy0wOC0xMiAxMTo0OToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuaDoKCSAgcHVsc2U6IEFkZCBkZXZpY2UgbW9uaXRvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxNC0wMy0xNiAxOToyNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFJlbW92ZSBHc3RQcm9wZXJ0eVByb2JlIGxlZnRvdmVycwoKMjAxNC0wMi0xOSAwMzowNDowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBQb3J0IHRvIG5ldyBjb2xsZWN0cGFkcyBBUEkKCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzA1CgoyMDE0LTAzLTE2IDE1OjI2OjA0ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdHlwZXMtY29tcGF0Lmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSAgdjRsMjogQWRkIHR5cGVzIGNvbXBhdGlibGl0eSBmb3Igb3RoZXIgT1MKCSAgQWRkcyB0eXBlIGNvbXBhdGlibGl0eSB3aXRoIG90aGVyIE9TIGxpa2UgQlNELiBUaGlzIHVzZXMgdHlwZXMgbWFwcGluZyBtYWNybyB0bwoJICBhdm9pZCBjb25mbGljdCB3aXRoIGV4aXN0aW5nIGRlZmluZWQgdHlwZXMuIFdlIHJlc3VzZSBnbGliIHR5cGVzIGFzIHRoZXNlIGFyZQoJICBhbHJlYWR5IGF2YWlsYWJsZSBvbiBzdXBwb3J0ZWQgcGxhdGZvcm1zLiBUaGlzIGlzIEdDQyBvbmx5IGJlY2F1c2Ugb2YgdGhlCgkgIGxlMzIgdHlwZSB0aGF0IHVzZXMgYml0d2lzZSBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NTMKCjIwMTQtMDMtMTYgMTU6NTU6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBmaXggZm9ybWF0IGluZm8gdG8gY2FwcyBjb252ZXJzaW9uIGZvciBtdWxhdwoKMjAxMy0wOC0xMyAxMjoxMDo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBNYWtlIGdzdF9wdWxzZV9mb3JtYXRfaW5mb190b19jYXBzKCkgc2hhcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTQtMDMtMTUgMTg6NDE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdjRsMjogRml4IHR5cG8gVjRMX0RJUiBpbnRlYWQgb2YgVjRMMl9ESVIKCjIwMTMtMTItMjkgMTc6Mjk6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzg2NC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgdG8gZ3RrMwoKMjAxMy0wNy0xNyAxMToyMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNzcxLzkwNl0gZ2w6IFNvbWUgbGVzcyBsb25nL3Vsb25nL2d1bG9uZyB1c2FnZQoKMjAxMy0wNy0xNiAxODoyNzowNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs3NjkvOTA2XSB0ZXN0cy9leGFtcGxlczogZml4IGFuZCBwb3J0IHNvbWUgb2YgdGhlIGV4YW1wbGVzLgoJICBSZWFsaXplIHdpZGdldHMsIHJlbW92ZSBnbHVwbG9hZCBlbGVtZW50LgoKMjAxMy0wNy0xMCAxMToyNDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzcyOS85MDZdIGdsOiBJbmNsdWRlIGNvbmZpZy5oIGV2ZXJ5d2hlcmUKCjIwMTMtMDYtMjggMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNzIwLzkwNl0gZXhhbXBsZXM6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTItMTEtMDggMjI6NTM6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzYwMy85MDZdIHVwZGF0ZSBGU0YgYWRkcmVzcwoKMjAxMi0wOC0xNCAxNDo0MToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzU2MC85MDZdIGV4YW1wbGVzOiB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcyBhbmQgZ2xpbWFnZXNpbmsgY2hhbmdlcwoKMjAxMi0wNi0wNyAwMDo1MTo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNTExLzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgMS4wCgoyMDEwLTA5LTE2IDE1OjAwOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs0NjEvOTA2XSB4b3ZlcmxheTogcmVxdWlyZSBiYXNlIGZyb20gZ2l0IGFuZCB1cGRhdGUgdG8gbmV3IEFQSQoKMjAxMC0wNy0xMiAxODozODo1OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQ1Ny85MDZdIGd0ayBleGFtcGxlczogYWRhcHQgY29kZSBzaW5jZSB0aGUgbmF0aXZlLXdpbmRvdyBjaGFuZ2VzIGZyb20gZ3RrCgkgIEZpeGVzIGJ1ZyAjNTk5ODg1CgoyMDEwLTAxLTEyIDE4OjMyOjM5ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNDEzLzkwNl0gRml4IFdpbmRvd3MgY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0L2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jCgoyMDA5LTEwLTIzIDAxOjA3OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzg2LzkwNl0gcGl4YnVmZHJvcDogZml4IGV4YW1wbGUgb24gd2luMzIKCjIwMDktMDctMTQgMjA6MzY6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzYxLzkwNl0gZ3N0Z3RrOiBhZGQgbWlzc2luZyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMDctMTQgMjA6MjU6MjggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszNjAvOTA2XSBleGFtcGxlczogYWRkIG1pc3NpbmcgY29weXJpZ2h0L2xpY2Vuc2UgdG8gbXkgZXhhbXBsZXMKCjIwMDktMDQtMTIgMjA6MDM6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzI4LzkwNl0gQ29udmVydCBndGsgZXhhbXBsZXMgdG8gdXNlIGhlbHBlciBsaWJyYXJ5CgkgIEhlbHBlciBsaWIgaW1wbGVtZW50cyBnc3QtZ3RrIGdsdWUgb24gYWxsIHBsYXRmb3JtcwoKMjAwOS0wMi0xMCAyMjozOToxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMxMC85MDZdIEdsb2JhbCByZWluZGVudAoJICBJbmRlbnQgcGFyYW1ldGVyczoKCSAgSU5ERU5UX1BBUkFNRVRFUlM9Ii0tYnJhY2VzLW9uLWlmLWxpbmUgXAoJICAtLWNhc2UtYnJhY2UtaW5kZW50YXRpb24wIFwKCSAgLS1jYXNlLWluZGVudGF0aW9uMiBcCgkgIC0tYnJhY2VzLWFmdGVyLXN0cnVjdC1kZWNsLWxpbmUgXAoJICAtLWxpbmUtbGVuZ3RoODAgXAoJICAtLW5vLXRhYnMgXAoJICAtLWN1ZGRsZS1lbHNlIFwKCSAgLS1kb250LWxpbmUtdXAtcGFyZW50aGVzZXMgXAoJICAtLWhvbm91ci1uZXdsaW5lcyBcCgkgIC0tY29udGludWF0aW9uLWluZGVudGF0aW9uNCBcCgkgIC0tdGFiLXNpemU4IFwKCSAgLS1pbmRlbnQtbGV2ZWwyIgoKMjAwOS0wMi0wNSAxMzoxMzo1MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwOC85MDZdIFJlbmFtZSBnbHBpeGJ1Zm92ZXJsYXkgdG8gZ2xvdmVybGF5CgoyMDA5LTAxLTIzIDAyOjA0OjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzAxLzkwNl0gZGVwZW5kcyBvbiBsaWJwbmcgaW5zdGVhZCBvZiBnZGtfcGl4YnVmCgoyMDA5LTAyLTEwIDIxOjU3OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMjk4LzkwNl0gUmV2ZXJ0ICJGaXggaW5kZW50aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk2ZTRhYjE4YzJjZjk4NzZmNmMwMzFiOWFiYTYyODJkMGJkNDVhOTMuCgkgIFlvdSBzaG91bGQgaGF2ZSBhc2tlZCBmaXJzdC4gIEFuZCB5b3Ugd291bGQgaGF2ZSBiZWVuIHRvbGQgIm5vIiwKCSAgYmVjYXVzZSBpdCBjYXVzZXMgcGVvcGxlIG9uIGRldmVsb3BtZW50IGJyYW5jaGVzIHRvIGRvIGEgaHVnZQoJICBhbW91bnQgb2YgZXh0cmEgd29yay4KCjIwMDktMDItMDMgMTg6MzM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsyOTUvOTA2XSBGaXggaW5kZW50aW9uCgoyMDA4LTEwLTE1IDE2OjE4OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsyNDcvOTA2XSBJbXBvcnQgeHJheSBlZmZlY3QKCSAgQWRkIHhyYXkgZWZmZWN0LiBNYXBzIGx1bWEgdG8gYSBuZWdhdGl2ZSwgc2xpZ2h0bHkgY3lhbiB0aW50ZWQsIGN1cnZlLAoJICBhcHBsaWVzIHNvbWUgbGlnaHQgZ2F1c3NpYW4gYmx1ciBhbmQgbXVsdGlwbGllcyBpdCB3aXRoIGl0cyBzb2JlbCBlZGdlcy4gTm90CgkgIHN1cmUgYWJvdXQgdGhlIG5hbWUsIGxpa2VseSB0byBjaGFuZ2UuIFByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0wOC0xOSAyMjoxNToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OS85MDZdIGFkZCBwaXhidWZkcm9wIHZzOCBwcm9qZWN0CgoyMDA4LTA4LTE5IDIxOjA0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk4LzkwNl0gYWRkIGZ4dGVzdCB2czggcHJvamVjdAoKMjAwOC0wOC0xOSAwODo1MDoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5NS85MDZdIGZpeCBnc3RnbGRpZmZlcmVuY2VtYXR0ZSBhbmQgYWRkIGFuIGV4YW1wbGUgYXBwIHRvIHRlc3QgaXQgZHJhZ2dpbmcgYW4gaW1hZ2Ugb3ZlciB0aGUgdmlkZW8gKHdvcmtzIHdpdGggcGl4YnVmb3ZlcmxheSB0b28sIHNlZSBwaXhidWZkcm9wIC0taGVscCkKCjIwMDgtMDgtMTYgMTc6MzY6MTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE4MC85MDZdIG1pbm9yIGNsZWFudXAgaW4gZnh0ZXN0CgoyMDA4LTA4LTE2IDEwOjE1OjMxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzgvOTA2XSBpbXByb3ZlIGZ4dGVzdCBjb21tYW5kIGxpbmUgb3B0aW9uIGhhbmRsaW5nLCBkZWZhdWx0IHRvIHZpZGVvdGVzdHNyYyBpZiBubyBzb3VyY2UgYmluIGRlc2NyaXB0aW9uIGlzIGdpdmVuCgoyMDA4LTA4LTE2IDA5OjEzOjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzUvOTA2XSBhZGQgc2luIGVmZmVjdCAoZGVzYXR1cmF0ZSBldmVyeXRoaW5nIGJ1dCByZWQgc2hhZGVzKS4gc3RpbGwgbmVlZHMgc29tZSB0dW5pbmcuCgoyMDA4LTA4LTE0IDIxOjI5OjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzMvOTA2XSBhZGQgbHVtYXhwcm8gKGRlc2F0dXJhdGUgKyBjcm9zcyBwcm9jZXNzKSBlZmZlY3QuIG5vdGhpbmcgdG9vIGltcHJlc3NpdmUgYnV0IEkgbGlrZSBpdC4KCjIwMDgtMDgtMTQgMjA6NTQ6NTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3Mi85MDZdIGFkZCBzdXBwb3J0IGZvciBjb21tYW5kIGxpbmUgcGFyc2luZyB0byBmeHRlc3QgKHRyeSBmeHRlc3QgdmlkZW90ZXN0c3JjICEgZGVzaXJlZCBjYXBzICEgaWRlbnRpdHkpLiByZXBvcnQgYSBuZXcgaXNzdWUgb24gQlVHUy4KCjIwMDgtMDgtMTQgMjA6MDI6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3MS85MDZdIGltcG9ydCBmeHRlc3QgKGxpdHRsZSBndGsgYXBwIHRvIGVhc2lseSB0ZXN0IGVmZmVjdHMpIGZyb20gY3ZzIGJyYW5jaCwgZml4ZWQgcmdidG9jdXJ2ZS4KCjIwMTQtMDMtMTUgMTg6MDU6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMi1idWlsZDogU2V0IEhBVkVfR1NUX1Y0TDIgaWYgaGVhZGVycyBhcmUgcHJlc2VudAoJICBUaGUgbmFtZSBvZiBIQVZFXyBuZWVkIHRvIG1hdGNoIHRoZSBVU0VfLiBOb3cgc2V0IEhBVkVfR1NUX1Y0TDIgaWYKCSAgdmlkZW9kZXYyLmggaXMgZm91bmQuCgoyMDE0LTAzLTE1IDE2OjQ3OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdjRsMjogQWN0dWFsbHkgYnVpbGQgdGhlIHBsdWdpbgoJICBUaGUgY2hlY2tzIHdlcmUgcmVtb3ZlZCBpbmFkdmVydGVkbHkgaW4gcHJldmlvdXMgcGF0Y2ggYW5kIG5vdCByZXBsYWNlZC4KCSAgUmUtaW50cm9kdWNlIHRoZSBjb25maWd1cmUgY2hlY2tzIGFuZCBzb21lIG9mIHRoZSBjaGVja3MgaW4gb3JkZXIgdG8gZW5hYmxlCgkgIHRoaXMgcGx1Z2luIGFnYWluLiBXZSBvbmx5IGNoZWNrIGlmIHZpZGVvZGV2Mi5oIGV4aXN0IG9uIHRoZSBwbGF0Zm9ybSB0bwoJICBhdm9pZCBidWlsZGluZyBvbiBXaW5kb3dzIG9yIE9TWCwgdGhvdWdoIHdlIGJ1aWxkIGFnYWluc3Qgb3VyIG93biBjb3B5LiBUaGlzCgkgIHdhcyBicmVha2luZyB0aGUgYnVpbGQgb24gYnVpbHQtYm90LgoKMjAxNC0wMy0xNSAxMzo0Nzo0MiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICB0cmFuc2xhdGlvbjogUE8gZmlsZSBjaGFuZ2VzIGNhdXNlZCBieSBQT1RGSUxFLmluIHVwZGF0ZQoKMjAxNC0wMy0xNSAxMzoxNzoyMSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSAgdjRsMjogUmVtb3ZlIFhWIHN1cHBvcnQKCSAgWFYgc3VwcG9ydCBmb3IgdjRsMiBuZXZlciBiZWNhbWUgdXBzdHJlYW0gYW5kIGVuZGVkIHVwIGJlaW5nCgkgIGNvbW1lbnRlZCBvdXQgd2l0aCBhbiB1bmRlZiBmb3IgYSBsb25nIHRpbWUgbm93LgoKMjAxNC0wMy0xNSAxMToxMzowNSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29tbW9uLmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbnRyb2xzLmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdjRsMjogVXNlIGEgY29weSBvZiB2aWRlb2RldjIuaCBoZWFkZXIKCSAgV2l0aCB5ZWFycyB0aGUgYW1vdW50IG9mIGlmZGVmIGhhdmUgZ3Jvd24gdXAgYW5kIHdlIGFyZSBub3QgZXZlbiBzdXJlIGlmIHRoZQoJICBvbGQgY29kZSBwYXRoIGNvbXBpbGVzLiBFYWNoIHRpbWUgd2UgbmVlZCB0byB1cGRhdGUgdGhlIHY0bDIgZnJhbWV3b3JrIHRvIGFkZAoJICB0aGUgbmV3IGZlYXR1cmUsIHdlIGJyZWFrIGNvbXBpbGF0aW9uIG9uIG9sZGVyIGtlcm5lbC4gV2l0aCBleGNlcHRpb24gb2YgdHdvCgkgIGNvbnRyb2xzIGluIHRoZSB2aWRlbyBvcmllbnRhdGlvbiBjb250cm9sLCB0aGlzIHBhdGNoIGdldCByaWQgb2YgYWxsIGlmZGVmIGJ5CgkgIGluY2x1ZGluZyB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdmlkZW9kZXYyLmggaW5zaWRlIEdTdHJlYW1lci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoKMjAxNC0wMy0xMiAxNTozMjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIFNTTC9UTFMgY2VydGlmaWNhdGUgY2hlY2tpbmcKCSAgQW5kIGJ5IGRlZmF1bHQgcHJvcGVybHkgY2hlY2sgY2VydGlmaWNhdGVzIGFnYWluc3QgdGhlIHN5c3RlbSdzIENBCgkgIGNlcnRpZmljYXRlcy4gRXZlcnl0aGluZyBlbHNlIGlzIG5vdCBhIGdvb2QgZGVmYXVsdCBhdCBhbGwuCgoyMDE0LTAzLTExIDE0OjU2OjMwICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGFzc2VydCBvbiBmcHMgbG93ZXIgdGhhbiAxCgkgIEZpeGVzIGFzc2VydCBjYXVzZWQgYnkgZ3N0X2R1cmF0aW9uX3RvX2ZyYWN0aW9uIGNhbGxpbmcKCSAgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCB3aXRoIGEgZGVub21pbmF0b3Igb2YgMCB3aGVuIGZwcyBpcyBsZXNzCgkgIHRoYW4gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjEwNgoKMjAxNC0wMy0xMSAwMDo0NjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogc3RvcmUgdmlkZW8gaW5mbyB3aXRoIGJ1ZmZlcnMgdG8ga2VlcCBpdCBpbiBzeW5jCgkgIEluc3RlYWQgdGhlIHF1ZXVlZCBidWZmZXIgbWlnaHQgaGF2ZSBhbiBvbGQgY2FwcyB3aGlsZSB0aGUgcGFkCgkgIGlzIGFscmVhZHkgc3RvcmluZyB0aGUgaW5mb3JtYXRpb24gZm9yIGEgbmV3IGNhcHMuIE1peGluZyB0aG9zZQoJICB3aGlsZSBoYW5kbGluZyBidWZmZXJzIHdpbGwgb2Z0ZW4gbGVhZCB0byBpc3N1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTk0OAoKMjAxNC0wMy0wOCAxOToyOTo1OCAtMDUwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCB0eXBvIGNvbnRvbCAtPiBjb250cm9sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2MzIKCjIwMTQtMDMtMDQgMDE6MTU6NDkgKzAwMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBOb3JtYWxpc2UgY29udHJvbCBuYW1lcyBpbiB0aGUgc2FtZSB3YXkgYXMgdjRsMi1jdGwKCSAgVjRMMiBrZXJuZWwgZHJpdmVycyBhbGxvdyBjb25maWd1cmF0aW9uIG9mIHRoZSBoYXJkd2FyZSBzZXR0aW5ncyB2aWEgYQoJICBtZWNoYW5pc20gY2FsbGVkIGNvbnRyb2xzLiAgVGhlc2UgY2FuIGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUgc3VjaCBhcwoJICAiQnJpZ2h0bmVzcyIgYW5kICJXaGl0ZSBCYWxhbmNlIFRlbXBlcmF0dXJlIi4gIFRoZSB1c2VyLXNwYWNlIGNvbW1hbmQgbGluZQoJICBjbGllbnQgZm9yIHNldHRpbmcgdGhlc2UgY29udHJvbHMgKHY0bDItY3RsKSBub3JtYWxpc2VzIHRoZXNlIG5hbWVzIHN1Y2gKCSAgdGhhdCB0aGV5IG9ubHkgY29udGFpbiBsb3dlciBjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB0aGUKCSAgdW5kZXJzY29yZSAnXycuICBlLmc6CgkgIEtlcm5lbCAgICAgICAgICAgICAgICAgICAgIHY0bDItY3RsCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgQnJpZ2h0bmVzcyAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcwoJICBXaGl0ZSBCYWxhbmNlIFRlbXBlcmF0dXJlICB3aGl0ZV9iYWxhbmNlX3RlbXBlcmF0dXJlCgkgIEZvY3VzIChhYnNvbHV0ZSkgICAgICAgICAgIGZvY3VzX2Fic29sdXRlCgkgIEdTdHJlYW1lciBzZWVtcyB0byB3YW50IHRvIGZvbGxvdyB0aGlzIHBhdHRlcm4gYnV0IGZhaWxlZCBmb3IgY29udHJvbHMgd2l0aAoJICBtb3JlIHRoYW4gb25lIGNvbnNlY3V0aXZlIG5vbi1hbHBoYW51bSBjaGFyYWN0ZXIuICBlLmcuIEdTdHJlYW1lciB3b3VsZAoJICBwcm9kdWNlICJmb2N1c19fYWJzb2x1dGVfIiByYXRoZXIgdGhhbiAiZm9jdXNfYWJzb2x1dGUiLgoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGF0IGlzc3VlLiAgQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXMgcHJlc2VydmVkIGJ5CgkgIG5vcm1hbGlzaW5nIGFsbCBjb250cm9sIG5hbWVzIGJlZm9yZSBjb21wYXJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjMyCgoyMDE0LTAzLTA3IDE2OjE3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE1ha2Ugc3VyZSB0byBub3QgcmV0dXJuIEVPUyBpbW1lZGlhdGVseSBpZiB3ZSBmaW5pc2hlZCBhIHJhbmdlIHJlcXVlc3QKCSAgT25seSByZXR1cm4gRU9TIHRoZSBuZXh0IHRpbWUgY3JlYXRlKCkgaXMgY2FsbGVkLCBpZiBhdCBhbGwuIGJhc2VzcmMKCSAgc2hvdWxkIGFscmVhZHkgdGFrZSBjYXJlIG9mIG5vdCBjYWxsaW5nIGl0IGFnYWluLgoJICBBbHNvIGFsd2F5cyByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhlIHByZXZpb3VzIGZsb3cgcmV0dXJuIHdhcwoJICBub3QgT0suIFRoaXMgaW5kaWNhdGVzIGFuIGVycm9yIHNvbWV3aGVyZS4KCjIwMTQtMDMtMDYgMTI6MDY6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgZnJvbSBSVFAgZGVwYXlsb2FkZXIgc2luayBjYXBzCgkgIFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIGRlZmF1bHQgYW5kIGFyZSBub3QKCSAgcmVxdWlyZWQgaW4gU0RQLiBXaXRoIHRoZSBuZXcgdXNhZ2Ugb2YgaGF2aW5nIHBhZHMgcmVxdWlyZSBhIHN1YnNldAoJICBvZiB0aGUgY2FwcywgdGhleSB3aWxsIG1ha2UgdGhlIG5lZ290aWF0aW9uIGZhaWwuCgoyMDE0LTAzLTA2IDExOjAyOjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cHNwZWV4ZGVwYXk6IFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyBmb3IgZGVwYXlsb2FkZXIKCSAgVGhlICJlbmNvZGluZy1wYXJhbXMiIGlzIG9wdGlvbmFsIGluIHRoZSBTRFAsIGJlY2F1c2Ugd2Ugbm93IHJlcXVpcmUKCSAgYSBzdWJzZXQgb2YgdGhlIGNhcHMsIGl0IHdvdWxkIGZhaWwgY2FwcyBuZWdvdGlhdGlvaW4gaWYgaXQgd2Fzbid0IHByZXNlbnQuCgkgIFNvIHJlbW92ZWQgaXQgZnJvbSB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTQtMDMtMDYgMTM6Mzg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZm9yZ2V0IHRvIHF1aXQgbWFpbmxvb3AgYWZ0ZXIgd2UgY2FuY2VsbGVkIHdoZW4gd2UgZ290IGRhdGEgYWZ0ZXIgdGhlIHN0b3AgcG9zaXRpb24KCjIwMTQtMDMtMDYgMTM6MzU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSWYgd2UgaGFkIGEgc3RvcCBwb3NpdGlvbiwgYWxsb3cgZm9yIHRoZSBzZXJ2ZXIgdG8gZmluaXNoIG91ciBjb25uZWN0aW9uIGluc3RlYWQgb2YganVzdCBjYW5jZWxsaW5nCgkgIE90aGVyd2lzZSBrZWVwLWFsaXZlIGRvZXMgbm90IG1ha2UgbXVjaCBzZW5zZSBhbmQgYWxzbyB0aGUgc2VydmVyIHdpbGwgaGF2ZQoJICBjb25mdXNpbmcgdGhpbmdzIGluIHRoZSBsb2dzLgoKMjAxNC0wMy0wNiAxMjoyNDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2tpcCBzdHJlYW1zIHdpdGggc2FtZSBjb250cm9sIHVybAoJICBLZWVwIHRyYWNrIG9mIHdoYXQgc3RyZWFtcyB3ZSBkaWQgdGhlIFNFVFVQIGZvci4gV2Ugb25seSBuZWVkIHRvCgkgIGNvbmZpZ3VyZSBjYXBzLCB3YWl0IGZvciBwYWRzIGFuZCBwdXNoIGV2ZW50cyBvbiBzZXR1cCBzdHJlYW1zLiBXZSBjYW4KCSAgcmVtb3ZlIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgc3RyZWFtIGFuZCBzaW1wbGlmeSBzb21lIGNoZWNrcy4KCSAgQWZ0ZXIgd2Ugc2V0dXAgYSBzdHJlYW0sIHNraXAgdGhlIG90aGVyIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lCgkgIGNvbnRyb2wgdXJsLiBVc2UgYSBza2lwcGVkIGZsYWcgdG8gbWFyayBzdHJlYW1zIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQuCgoyMDE0LTAzLTA2IDEyOjIyOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIG9ic29sZXRlIGNvZGUKCjIwMTQtMDMtMDUgMTY6MTk6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGp1c3QgdXNlIHRoZSBTRFAgaW5kZXggYXMgdGhlIHN0cmVhbSBpZAoJICBVc2UgdGhlIGluZGV4IG9mIHRoZSBtZWRpYSBzdHJlYW0gaW4gdGhlIFNEUCBhcyB0aGUgc3RyZWFtIGlkIGluc3RlYWQgb2YKCSAga2VlcGluZyBhIHNlcGFyYXRlIGNvdW50ZXIuCgoyMDE0LTAzLTA1IDEzOjM1OjE5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGZpeCBidWlsZCBvbiBNYWMgT1NYIE1hdmVyaWNrcyBhbmQgcHV0IG5ldyB3aW5kb3cgaW4gZnJvbnQKCSAgR2V0Q3VycmVudFByb2Nlc3MvU2V0RnJvbnRQcm9jZXNzL1RyYW5zZm9ybVByb2Nlc3NUeXBlIHdhcyBkZXByZWNhdGVkCgkgIGFuZCBub3cgcmVtb3ZlZCBpbiBNYWMgT1NYIDEwLjkuIG9yZGVyRnJvbnRSZWdhcmRsZXNzIGlzIHVzZWQgdG8gbWFrZQoJICB0aGUgdmlkZW8gd2luZG93IHRoZSBtb3N0IGZyb250IHdpbmRvdy4KCjIwMTQtMDMtMDUgMTc6MzM6NTYgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBkb2NzIGRpcmVjdG9yeSB0byBzcGVjIGZpbGUKCjIwMTQtMDMtMDUgMTU6NDQ6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBjb250cm9sIHVybHMgYmV0dGVyCgoyMDE0LTAzLTA1IDE0OjI4OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogc21hbGwgY2xlYW51cHMKCSAgSXQncyBuaWNlciB0byBleHBsaWNpdGx5IGNoZWNrIGZvciBOVUxMIG9uIHBvaW50ZXIgdHlwZXMgdG8gbWFrZSBpdAoJICBjbGVhciB0aGF0IGl0J3MgYSBwb2ludGVyIGFuZCBub3QgYSBib29sZWFuLgoKMjAxNC0wMy0wNSAxNDoyNjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGhhbmRsZSB1bmtub3duIFNTUkMgaW4gRklSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU3MTIKCjIwMTQtMDMtMDUgMTE6Mzk6MDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc2Vla2luZwoJICBDYWxsIGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fZmx1c2ggKHNyYywgRkFMU0UpIHRvIHJlc2V0IGNvbm5lY3Rpb25zIGFzCgkgIG5vbi1mbHVzaGluZyBiZWZvcmUgc2VuZGluZyBQQVVTRSBhbmQgUExBWSB3aXRoIHRoZSBuZXcgbnB0IHJhbmdlLiBXaXRob3V0IHRoaXMKCSAgcGF0Y2gsIHRob3NlIGNvbW1hbmRzIHdvdWxkIGZhaWwgd2l0aCBFSU5UUiBhcyB0aGUgY29ubmVjdGlvbnMgd2VyZSBzdGlsbAoJICBmbHVzaGluZy4KCjIwMTQtMDMtMDMgMTY6Mzk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBleHBvc2UgeHN1YiBhcyBhIHN1YnRpdGxlIGluc3RlYWQgb2YgYXMgYSB2aWRlbwoJICBJdCBpcyBwbGFjZWQgaW5zaWRlIGEgJ3ZpZHMnIHN0cnVjdCwgc28gaXQgd2FzIGJlaW5nIGV4cG9zZWQgb24KCSAgYSBwYWQgbmFtZWQgdmlkZW9fJWQuIFhTVUIgYXJlIHN1YnRpdGxlcyBhbmQgdGhpcyBwYXRjaCBhZGRzCgkgIGFuIHNwZWNpYWwgY2FzZSBmb3IgaXQgdG8gYmUgZXhwb3NlZCBpbiBhIHN1YnBpY3R1cmVfJWQgcGFkCgoyMDE0LTAzLTAzIDE2OjM4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWRkIGEgdGFnIHdpdGggdGFnX25hbWUgc2V0IHRvIE5VTEwKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZXJlIGFyZSBzdWJ0aXRsZXMgaW4gdGhlIHN0cmVhbSwgbGVhZGluZyB0bwoJICBhbiBhc3NlcnRpb24KCjIwMTQtMDMtMDQgMTY6NDA6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzCgkgIEEgbWVkaWEgc3RyZWFtIGNhbiBoYXZlIG11bHRpcGxlIHBheWxvYWQgdHlwZXMuIFBhcnNlIGFsbCB0aGUgcGF5bG9hZAoJICB0eXBlcyBhbmQgY29sbGVjdCB0aGUgY2FwcyBpbmZvcm1hdGlvbi4gV2UgdGhlbiBoYXZlIHRvIHN0b3JlIHRoZQoJICBwdDwtPmNhcHMgbWFwcGluZyBpbnN0ZWFkIG9mIDEgcHQgYW5kIDEgY2Fwcy4KCSAgUGFyc2UgdGhlIHByb2ZpbGUgZnJvbSB0aGUgU0RQIGFuZCB1c2UgdGhhdCB0byBuZWdvdGlhdGUgdGhlIHRyYW5zcG9ydAoJICBpbnN0ZWFkIG9mIGFsd2F5cyB1c2luZyBBVlAuCgkgIFJld29yayBob3cgd2UgZG8gc29tZSB0d2Vha3MgZm9yIEFTRiBhbmQgUmVhbG1lZGlhLgoKMjAxNC0wMy0wNCAxMTozNDozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlZmFjdG9yIHBheWxvYWQgaGFuZGxpbmcKCjIwMTQtMDMtMDMgMTE6MzQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGJ1ZmZlciBsZXZlbCB3aXRoIGludmFsaWQgRFRTCgkgIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIERUUyBpcyBpbnZhbGlkICh3aGVuIHdlIHJlY2VpdmUgUlRQIHBhY2tldHMgZnJvbQoJICBUQ1AsIGZvciBleGFtcGxlKS4gQXMgYSBmYWxsYmFjaywgdXNlIHRoZSByZWNvbnN0cnVjdGVkIFBUUyB2YWx1ZSB0bwoJICBjYWxjdWxhdGUgdGhlIGJ1ZmZlciBsZXZlbC4KCjIwMTQtMDMtMDIgMDU6MTA6MTMgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBnY292IGludGVybWVkaWF0ZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDgwCgoyMDE0LTAyLTI4IDA5OjM0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZTE2NzJlIHRvIGJjYjE1MTgKCjIwMTQtMDItMjcgMjM6MTU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBwdXQgY29kZWMgZGF0YSBvbiBjYXBzIGZvciBsb2FzIGZvcm1hdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDU5Y2YzZTAxYTA4ZjFhM2VmMWZiOTU0YTQxY2ZhMzZiM2U1MTBjLgoJICBUaGlzIHdhcyBwdXNoZWQgYnkgYWNjaWRlbnQsIHRoZSBidWcgc2hvdWxkIGxpa2VseSBiZSBmaXhlZCBpbgoJICBsaWJhdiBodHRwczovL2J1Z3ppbGxhLmxpYmF2Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0CgoyMDE0LTAyLTI3IDE4OjU1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbWFyayBhbGwgcGFyc2VkIGZyYW1lcyBhcyBzeW5jIHBvaW50cwoJICBhbGwganBlZyBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzLCBzbyBtYXJrIHRoZW0gYXMgc3VjaCBzbwoJICByZXZlcnNlIHBsYXliYWNrIGNhbiBwcm9wZXJseSB3b3JrIHdpdGggdGhlIHZpZGVvIGRlY29kZXIKCSAgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTA0CgoyMDE0LTAyLTI1IDAxOjEyOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHB1dCBjb2RlYyBkYXRhIG9uIGNhcHMgZm9yIGxvYXMgZm9ybWF0CgkgIGdzdC1saWJhdiBhdWRpbyBkZWNvZGVyIGFsc28gbmVlZHMgY29kZWMgZGF0YSBmb3IgTE9BUyBmb3JtYXQsIG90aGVyd2lzZQoJICBpdCB3aWxsIGNvbXBsYWluIGFib3V0IG5vdCBoYXZpbmcgYSBkZWNvZGVyIGNvbmZpZyBhbmQgc2tpcCBhbGwgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2NzcyCgoyMDE0LTAyLTI3IDAwOjQzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsaWduIHJhdyBhdWRpbyBtZW1vcnkgdG8gcG93ZXJzIG9mIHR3bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDA4CgoyMDE0LTAyLTI3IDAwOjM3OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhbGN1bGF0ZSBhbGlnbm1lbnQgcHJvcGVybHkgZm9yIGF1ZGlvIGRlcHRocyBub3QgYSBtdWx0aXBsZSBvZiA4CgoyMDE0LTAyLTIzIDE5OjA5OjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBjcmFzaCB3aXRoIDI0LWJpdCByYXcgYXVkaW8KCSAgRG8gbm90IHRyeSB0byBhbGlnbiBhdWRpbyBidWZmZXJzIHRvIG9kZCBudW1iZXJzLAoJICB3aGljaCB3aWxsIGdldCB1cyBhIE5VTEwgYnVmZmVyIHdoaWNoIHdlIHRoZW4KCSAgY3Jhc2ggb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwMDgKCjIwMTQtMDItMjcgMDA6MTE6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgcnRwbWFuYWdlcjogcmUtZW5hYmxlIC1XZXJyb3IKCjIwMTQtMDItMjcgMDA6MTE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBqaXR0ZXJidWZmZXIuYzogSW4gZnVuY3Rpb24gJ2dzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wJzoKCSAgZ3N0cnRwaml0dGVyYnVmZmVyLmM6Mjk3ODozOiBlcnJvcjogJ3Jlc3VsdCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIHdoaWxlIChyZXN1bHQgPT0gR1NUX0ZMT1dfT0spOwoJICBeCgoyMDE0LTAyLTI2IDIyOjExOjQxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxYTA3ZGE5IHRvIGZlMTY3MmUKCjIwMTQtMDItMjYgMjE6MTE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI2IDA3OjMyOjMyIC0wNTAwICBKYWtlIEZveXRpayA8amFrZS5mb3l0aWtAaXBjb25maWd1cmUuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmVtb3ZlIHJhdyBjb21wYXJpc29ucyBvZiBSVFAgc2VxdWVuY2UgbnVtYmVycwoJICBTZXZlcmFsIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgcGVyZm9ybSBjb21wYXJpc29uIG9uIFJUUCBzZXF1ZW5jZQoJICBudW1iZXJzIHdpdGhvdXQgdGFraW5nIHRoZSBzZXF1ZW5jZSBudW1iZXIgcm9sbG92ZXIgaW50byBhY2NvdW50LgoJICBJbnN0ZWFkLCB1c2UgdGhlIGdzdF9ydHBfYnVmZmVyX2NvbXBhcmVfc2VxbnVtIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlCgkgIGNvbXBhcmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNTkKCjIwMTQtMDItMDMgMDE6NDQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgYnVpbGQgZGlzYWJsZWQgcGx1Z2lucycgY2hlY2sgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUwMgoKMjAxNC0wMi0yNiAxMToyOTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGluc3RhbGwgcHJlYnVpbHQgcGx1Z2luIGRvY3MgaWYgZ3RrLWRvYyBpcyBkaXNhYmxlZAoJICBTeW5jIHRvIHRoZSBNYWtlZmlsZS5hbSBmcm9tIGdzdC1wbHVnaW4tYmFzZSB3aGVyZSBpdCBpcyBkb25lIHJpZ2h0LgoJICBGaXhlcyAjNzI1MDM0CgoyMDE0LTAyLTI1IDE2OjEwOjU0IC0wNTAwICBIdWd1ZXMgRnJ1Y2hldCA8aHVndWVzLmZydWNoZXRAc3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkbyBub3QgZW1pdCAicGFyc2VkIiBjYXBzIGZvciB2cDgKCSAgVlA4IGRvZXNuJ3QgcmVxdWlyZSBwYXJzaW5nICh2cDhwYXJzZSBkb2Vzbid0IGV4aXN0LCBzbyBuZWdvdGlhdGlvbiB3aXRoIGRlbXV4IGZhaWxzCgkgIGlmICJwYXJzZWQiIGlzIHNldCBpbiBjYXBzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzNgoKMjAxNC0wMi0xMSAxNjoyNzowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEb24ndCByZXF1aXJlIHBhcnNlciBmb3IgVlA4CgkgIFVudGlsIEdTdHJlYW1lciBoYXMgb25lIChzZWUgYnVnNzIyNzYwKSwgd2Ugc2hvdWxkIG5vdCByZXF1aXJlIGEgcGFyc2VyIGZvciBWUDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTQtMDItMTAgMTc6MDg6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQ0FQVFVSRV9NUExBTkUgaXMgd2VsbCB0ZXN0ZWQgbm93CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTItMTggMDk6NTY6MzUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwydmlkZW9kZWM6IENyZWF0ZSBvbmUgZWxlbWVudCBwZXIgZGV2aWNlCgkgIEZvciBlYWNoIHZpZGVvQ2RldmljZSBwcm9iZSBpdCBpbnB1dC9vdXRwdXQgY2FwYWJpbGl0aWVzCgkgIGlmIGl0IG1hdGNoIHdpdGggdmlkZW8gZGVjb2RlciByZXF1aXJlbWVudCByZWdpc3RlciBhIG5ldyBlbGVtZW50LgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMi0xOSAxNToyNjo1MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENhbGN1bGF0ZSBsYXRlbmN5IGZyb20gZGV2aWNlIGluZm9ybWF0aW9uCgkgIERlY29kZXJzIG9yIG90aGVyIGRldmljZXMgdGhhdCBleHBvc2UgYSBtaW5pbXVtIGJ1ZmZlcnMgcmVxdWlyZWQgcHJvZHVjZQoJICBhbiBmaXJzdCBvdXRwdXQuIFdlIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGNhbGN1bGF0ZSBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTExLTI4IDE3OjE0OjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbXBsZW1lbnQgdjRsMnZpZGVvZGVjCgkgIEltcGxlbWVudCBhbiBlbGVtZW50IHRoYXQgY2FuIGRyaXZlciBWNEwyIE0yTSBkZWNvZGVyIGRldmljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxNC0wMi0xMSAxMjo0MToyOSArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IG9ubHkgdXBkYXRlIGxhc3Rfc3BzcHBzIHRpbWUgaWYgYWxsIHNwcy9wcHMgZ290IHNlbnQgc3VjY2Vzc2Z1bGx5CgkgIFRoaXMgZml4ZXMgYW4gaXNzdWUgd2l0aCBnc3QtcnRzcC1zZXJ2ZXIgd2hlcmUgbm8gc3BzIGFuZCBwcHMgYXJlCgkgIHNlbnQgZm9yIHRoZSBmaXJzdCBpbnRyYSBmcmFtZSwgYmVjYXVzZSB0aGUgcGF5bG9hZGVyIHN0YXJ0cyB3b3JraW5nCgkgIGFscmVhZHkgd2hlbiByZWNlaXZpbmcgREVTQ1JJQkUgYnV0IHRoZXJlIGlzIG5vIHRyYW5zcG9ydHMgc28gaXQgdHJpZXMKCSAgdG8gc2VuZCBzcHMgYW5kIHBwcywgYnV0IHRoYXQgZmFpbHMgd2l0aCBhIEZMVVNISU5HIGZsb3cuIEJ1dCB0aGUgdGltZQoJICBmb3IgbGFzdCBzZW50IHNwcyBhbmQgcHBzIHdvdWxkIHN0aWxsIGJlIHNldCwgc28gd2hlbiBQTEFZIGFycml2ZXMgYW5kCgkgIHRoZSBmaXJzdCBpbnRyYSBmcmFtZSBpcyB0byBiZSBzZW50IHRoZXJlIGlzIG5vIHNwcyBhbmQgcHBzIHNlbnQgZHVlIHRvCgkgIHRoYXQgdGltZSBzaW5jZSBsYXN0IHNwcyBwcHMgaXMgbGVzcyB0aGFuIHNwc3Bwc19pbnRlcnZhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDIxMwoKMjAxNC0wMi0yNSAwOTowMDo0NSArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBkZWFkbG9jayB3aGVuIHRhc2sgY3JlYXRpb24gaXMgbm8gc3VjY2Vzc2Z1bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTI0CgoyMDE0LTAyLTIyIDIwOjE5OjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBkZW1vdGUgY2FuZGlkYXRlIGVycm9yIHRvIHdhcm5pbmcgYW5kIHBsdWcgZmFrZXtzaW5rLHNyY30KCSAgSW4gdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBubyBzdWl0YWJsZSBjYW5kaWRhdGUgd2UgcG9zdCBhIHdhcm5pbmcgYW5kIHBsdWcgYQoJICBmYWtlLWVsZW1lbnQuIERvIHRoZSBzYW1lIHdoZW4gbm9uIG9mIHRoZSBjYW5kaWRhdGUgd29yay4KCSAgVGhpcyBpcyBtb3JlIGNvbnNpc3RlbnQgYW5kIHBsdWdpbiB0aGUgZmFrZXNpbmsgYXMgYSBmYWxsYmFjayBpcyBwcm9iYWJseQoJICBoZWxwZnVsIGZvciBydW5uaW5nIHVuaXQgdGVzdHMgd2l0aG91dCByZXF1aXJpbmcgaGFyZHdhcmUgc3JjL3NpbmsgZWxlbWVudHMuCgkgIEZpeGVzICM3MjI5ODEKCjIwMTQtMDItMjMgMTI6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYWtlIHNvbWUgbW9yZSBjb250cm9scyBjb25maWd1cmFibGUKCSAgLi4uIGF0IGxlYXN0IGlmIG9uZSB0cmllcyBoYXJkIGVub3VnaCB1c2luZyBleHRyYS1jb250cm9scyBwcm9wZXJ0eS4KCjIwMTQtMDItMjMgMTA6Mzk6MjAgKzAxMDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IFJlcXVpcmUgbXBsYW5hciBzdXBwb3J0IGZvciBub3cgaW4gY29uZmlndXJlCgkgIFRoZSBjb2RlIGZhaWxzIHRvIGNvbXBpbGUgd2l0aG91dCBjdXJyZW50bHksIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgkgIEl0J3MgYmV0dGVyIHRvIGRpc2FibGUgaXQgaW5zdGVhZCBvZiBmYWlsaW5nIGNvbXBpbGF0aW9uCgkgIHVudGlsIHRoaXMgaXMgZml4ZWQgcHJvcGVybHkuCgoyMDE0LTAyLTIzIDAwOjE0OjA0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IGFkZCBzb21lIHNpbXBsZSBsb2cgaGFuZGxlcnMgZm9yIGphY2sKCSAgQWRkIGxvZyBoYW5kbGVycyBmb3IgamFjayB0aGF0IHdyaXRlIHRvIHRoZSBnc3QgZGVidWcgbG9nLiBUaGlzIGF2b2lkcyBzcGFtbWluZwoJICB0aGUgY29uc29sZSB3aGVuIGUuZy4gdXNpbmcgYXV0b2F1ZGlvc2luaywgaGF2aW5nIHRoZSBqYWNrIGVsZW1lbnRzIGluc3RhbGxlZCwKCSAgYnV0IG5vdCBydW5uaW5nIGphY2suCgoyMDE0LTAyLTIyIDIxOjMxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGhhbmRsZSBvbGQgYW5kIG9kZCBkcml2ZXIgYmVoYXZpb3VyIHdoZW4gbGlzdGluZyBjb250cm9scwoKMjAxMy0xMS0yOCAxNjo1NDo1OCAtMDgwMCAgRGFycnlsIEdhbXJvdGggPGRnYW1yb3RoQHV2aWMuY2E+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWlpcmZpbHRlcjogY2hlY2sgaWYgY29lZmZpY2llbnRzIGFyZSBwcm92aWRlZCBpbnNpZGUgZmlsdGVyIGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTUyNAoKMjAxNC0wMi0yMSAxOTo0Njo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IGFsc28gdW5zZXQgSU5URVJMQUNFRCBmbGFnIG9uIGJ1ZmZlcnMgaWYgZnJhbWUgaXMgbm90IGludGVybGFjZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg5OQoKMjAxNC0wMi0yMSAxNDozMTo1OSArMDAwMCAgU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBGbGFnIGludGVybGFjZWQgYnVmZmVycyBhcyBpbnRlcmxhY2VkLgoJICBXZSBjb3JyZWN0bHkgaW5kaWNhdGUgdGhlIGZpZWxkIG9yZGVyaW5nIG9uIGludGVybGFjZWQgYnVmZmVycywgYnV0IGZhaWwgdG8KCSAgZmxhZyB0aGVtIGFzIGNvbnRhaW5pbmcgaW50ZXJsYWNlZCB2aWRlbywgd2hpY2ggd2UgbmVlZCB0byBkbyBoZXJlIGJlY2F1c2UKCSAgd2Ugc2lnbmFsIGludGVybGFjZS1tb2RlPW1peGVkIGluIG91ciBjYXBzLiBUaGlzIG1lYW5zIHRoYXQgZG93bnN0cmVhbQoJICBlbGVtZW50cyAobGlrZSB2YWFwaXBvc3Rwcm9jIGZyb20gZ3N0cmVhbWVyLXZhYXBpKSBkb24ndCByZWNvZ25pc2UgdGhlc2UKCSAgYnVmZmVycyBhcyBpbiBuZWVkIG9mIGRlaW50ZXJsYWNpbmcuCgkgIEZpeCB0aGlzIGJ5IHNldHRpbmcgdGhlIGludGVybGFjZWQgZmxhZyBvbiBhbGwgaW50ZXJsYWNlZCBidWZmZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg5OQoKMjAxNC0wMi0xOSAxMzo1NjozNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBiZSBtb3JlIHN0cmljdCBhdCBBRFRTIGhlYWRlciBwYXJzaW5nCgkgIEFkZHMgdHdvIGV4dHJhIGNoZWNrczoKCSAgLSBTYW1wbGluZyBmcmVxdWVuY3kgb24gaGVhZGVyIGNhbid0IGJlIDE1LgoJICAtIEZyYW1lIHNpemUgc2hvdWxkIGJlIGF0IGxlYXN0IDkgb3IgNywgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgQ1JDIHByb3RlY3Rpb24gaXMgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzOAoKMjAxNC0wMi0xOSAxMzozNTo1OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggQURUUyBkYXRhCgkgIFdlIG5lZWQgYXQgbGVhc3QgNiBieXRlcyB0byBwYXNzIG92ZXIgdG8gX2dldF9mcmFtZV9sZW4oKQoJICBidXQgd2Ugd2VyZSBqdXN0IGNoZWNraW5nIGZvciBhIG1pbmltdW0gb2YgMiBieXRlcyBmb3IgdGhlCgkgIHN5bmN3b3JkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM4CgoyMDE0LTAyLTIwIDIyOjUyOjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkgIGF1dG9kZXRlY3Q6IGNoZWNrIGlmIHRoZSBraWQgaGFzIGEgc3luYyBwcm9wZXJ0eQoJICBwcmV2aW91c2x5IGF1dG92aWRlb3NyYyBkaWQgbm90IGhhdmUgYSBzeW5jIHByb3BlcnR5IGFuZCB2NGwyc3JjIGhhcyBub25lIGVpdGhlci4KCjIwMTQtMDItMTkgMjE6NTU6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSAgYXV0b2RldGVjdDogdXNlIGEgY29tbW9uIGJhc2VjbGFzcwoJICBUaGlzIG1ha2VzIHRoZSBhY3R1YWwgZWxlbWVudHMgc3VwZXIgc2ltcGxlLiBXZSdyZSB1c2luZyB0aGUgRUxFTUVOVF9GTEFHIHRvCgkgIGNvbmZpZ3VyZSBzb3VyY2Uvc2luayBhbmQgYSBzdHJpbmcgZm9yIHRoZSBBdWRpby9WaWRlbyB0eXBlLgoKMjAxNC0wMi0xNCAxNzoxNDo0MiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHRscy1kYXRhYmFzZSBwcm9wZXJ0eQoJICBBZGQgc3VwcG9ydCBmb3IgYSBuZXcgcHJvcGVydHk6IHRscy1kYXRhYmFzZS4gSWYgdGhlIHByb3BlcnR5IGlzIHNldCwKCSAgdGhlIGNlcnRpZmljYXRlIGRhdGFiYXNlIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIHJ0c3AgY29ubmVjdGlvbiBpZiBUTFMKCSAgcHJvdG9jb2wgaXMgYmVpbmcgdXNlZC4gSWYgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSBjYW4ndCBiZSB2ZXJpZmllZCB3aXRoCgkgIHRoZSBkZWZhdWx0IGRhdGFiYXNlLCB0aGlzIGFkZGl0aW9uYWwgZGF0YWJhc2Ugd2lsbCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0Mzk2CgoyMDE0LTAyLTE5IDIyOjIxOjU0ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wMi0xOSAyMToyNjowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBleHRyYWN0IGNvbW1vbiBoZWxwZXIgY29kZQoJICBUaGUgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgdGhlIHByZXR0eSBuYW1lcyBpcyBiYXNpY2FsbHkgdGhlIHNhbWUuIFVzZSBvbmUgYW5kIGFkZAoJICBhIHBhcmFtZXRlci4KCjIwMTQtMDItMTkgMjE6MDE6MzkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBpbXByb3ZlIHRoZSB0ZXN0cwoJICBBZGQgZmFrZSBhdWRpby92aWRlbyBzaW5rcy4gUHJldmlvdXNseSBydW5uaW5nIHRoZSB0ZXN0IG1pZ2h0IGJlIGZsYWt5IGR1ZSB0bwoJICB0aGUgdXNlIG9mIHJlYWwgZWxlbWVudHMgKGhhcmR3YXJlIGluIHVzZSksIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gdGVzdCBoZXJlLgoJICBBZGQgdHdvIG1vcmUgdGVzdHMgdGhhdCBjaGVjayB0aGF0IHRoZSBmYWtlcyBhcmUgY2hvc2VuLgoKMjAxNC0wMi0xOSAxNToxOTozMCArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZW1pdCBlcnJvciB3aGVuIGNvbm5lY3Rpb24gd2l0aCB1bmtub3duIHNpemUgZW5kcwoJICBDb21taXQgNDZmZDEyYWU1ZWM1MzIwMGIxNmRmZDdmMTcwNDhkNmJjNjBmYmZiYyBpbnRyb2R1Y2VkIGNvbm5lY3Rpb24KCSAgcmVjb3ZlcnkuIEJ1dCB3aGVuIHNlcnZlciBkb2VzIG5vdCBzcGVjaWZ5IGNvbnRlbnQtc2l6ZSwKCSAgc291cGh0dHBzcmMgdHJpZXMgdG8gcmVjb25uZWN0IGV2ZW4gYWZ0ZXIgcmVndWxhciBlbmQgb2Ygc3RyZWFtLgoJICBIdHRwIHNlcnZlciByZXBsaWVzICB3aXRoIFNPVVBfU1RBVFVTX1JFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEUKCSAgYnV0IHNvdXBodHRwc3JjIHN0aWxsIGVtaXRzIGVycm9yIGluc3RlYWQgb2YgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzE3CgkgIFNpZ25lZC1vZmYtYnk6IEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoyMDE0LTAyLTE5IDExOjI2OjIyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBmaXggdGhlIGRpc2FibGVkIHRlc3QKCSAgVXNlIGEgc2hhcmVkIGhlbHBlciBmb3IgYm90aCB0ZXN0cy4gSXQgdHVybnMgb3V0IHRoYXQgdGhlIHZhbGdyaW5kIHZhcmlhbnQgaXMKCSAgZmluZSAobWF5YmUgZHVlIHRvIHBpY2tpbmcgdXAgcHVsc2VzaW5rIHRob3VnaCkuCgoyMDE0LTAyLTE5IDExOjA1OjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiByZW1vdmUgY3J1ZnQgZnJvbSB0aGUgdGVzdAoJICBSZW1vdmUgdGhlIG9ic29sZXRlIHZlcnNpb24gY2hlY2sgYW5kIHVzZSB0aGUgaWdub3JlIG1hY3JvIGZvciB0aGUgZGlzYWJsZWQgdGVzdC4KCjIwMTQtMDItMTggMjI6NTQ6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGRvY3M6IHVzZSBkb2Nib29rIG1hcmt1cCBmb3IgeGk6aW5jbHVkZQoJICBJdCB0dXJucyBvdXQgdGhhdCB0aGUgY2hhbmdlIGluIGd0ay1kb2MtMS4yMCB3aGljaCB3cmFwcyB0aGUgfFtdfCBjb250ZW50IGluCgkgIENEQVRBIGJyZWFrIHhpOmlubGN1ZGUgZXhhbXBsZXMuIEFzIGluIGEgd2hvbGUgamhidWlsZCBjaGVja291dCB0aGVzZSB3aGVyZQoJICB0aGUgb25seSA0LCB3ZSdyZSBmaXhpbmcgdGhlbSBpbnN0ZWFkLgoKMjAxNC0wMi0xOCAyMjozNTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkgIGlzb21wNG11eDogZml4IGNvcHkgYW5kIHBhc3RlCgkgIFRoaXMgZml4ZXMgZG9jIHdhcm5pbmdzLgoKMjAxNC0wMi0xOCAyMTo0NDoyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBkb2NzOiB1c2UgdGhlIGd0ay1kb2Mgc3ludGF4IHRvIGxpbmsgdG8gcHJvcGVydGllcwoJICBEb24ndCB1c2UgZG9jYm9vayB1bmxlc3MgbmVlZGVkLiBBbHNvIHN0aXAgb3RoZXIgZG9jYm9vayB0YWdzIGluIHRoZSB0aGUgZmlsZXMgd2UgZml4LgoKMjAxNC0wMi0xOCAxMToyODoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY3Jhc2ggd2hlbiBnZXR0aW5nIHRoZSBjdXJyZW50LWRldmljZSBpbiBOVUxMLT5SRUFEWQoJICBUaGUgImdvdG8gdW5sb2NrIiBpcyB3cm9uZyBhcyBpbiB0aGlzIGNvZGUgcGF0aCB3ZSBoYXZlbid0IHRha2UgdGhlIGxvY2sgeWV0LgoJICBGaXhlcyAjNzI0NjE5CgoyMDE0LTAyLTE0IDIyOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VwOiBXZSBuZWVkIGxpYnNvdXAgPj0gMi40MCBmb3IgcHJvcGVyIHVzYWdlIG9mIHRoZSBjb250ZW50IGRlY29kZXIKCSAgUHJldmlvdXMgdmVyc2lvbnMgZGlkIG5vdCBjb25zaWRlciBvdXIgY2h1bmsgYWxsb2NhdG9yIGFuZCBhbGxvY2F0ZWQKCSAgbWVtb3J5IGJ5IHRoZW1zZWx2ZXMsIHdoaWNoIGNhdXNlZCBjcmFzaGVzIGFuZCBicm9rZW4gYmVoYXZpb3VyLgoKMjAxNC0wMi0xNCAxNToyNzoyMCAtMDUwMCAgV2lsbGlhbSBKb24gTWNDYW5uIDx3aWxsaWFtLmpvbi5tY2Nhbm5AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogZml4IG1pc21hdGNoZWQgcGFyYSB0YWdzCgkgIG5ld2VyIGd0a2RvYyBpcyBtb3JlIHNlbnNpdGl2ZSB0byBtaXNtYXRjaGVkIGRvY2Jvb2sgdGFncy4KCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgaW4gbWFzdGVyLgoKMjAxNC0wMi0xNCAxNTo1OTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3Igc2VyaWFsaXplZCBxdWVyaWVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODUwCgoyMDE0LTAyLTE0IDE1OjUzOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggdHlwZWNhc3QgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDE0LTAyLTE0IDEyOjAxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJveHkgY2FwcyBhbmQgYWxsb2NhdGlvbiBvbiBSVFAgcGFkcwoJICByZWN2X3J0cF9zaW5rOiBhbGxvdyBwcm94eWluZyBvZiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCSAgc2VuZF9ydHBfc2luazogYWxsb3cgcHJveHlpbmcgb2YgY2FwcyBhbmQgYWxsb2NhdGlvbi4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgcXVlcnkgY2FwcyBkb3duc3RyZWFtIGFzIHdlbGwgYXMgZ2V0IGFuIGFsbG9jYXRvciBmcm9tIGRvd25zdHJlYW0uCgkgIHNlbmRfcnRwX3NyYzogYWxsb3cgcHJveHkgb2YgY2FwcywgdGhpcyBtYWtlcyB0aGUgY2FwcyBxdWVyeSBkbwoJICB1cHN0cmVhbS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NTAKCjIwMTQtMDItMTMgMTI6Mjk6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSB0YWdzIGluIG1hYyBlbmNvZGluZwoJICBDaGVjayB0aGUgY2hhcnNldCBmcm9tIChDKSoqKiB0YWdzIGFuZCBzZXQgdGhlIGNoYXJzZXQKCSAgdG8gY29udmVydCBmcm9tIE1BQyBlbmNvZGluZyBpZiBzdWl0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzE2NgoKMjAxNC0wMi0xMyAxMjowOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgbmV3IGF1dG9tYXRpY19lb3MgQVBJIGZyb20gYmFzZXNyYwoJICBXZSB3YW50IHRvIG5vdGljZSBvdXJzZWx2ZXMgdGhhdCB3ZSdyZSBFT1MuIE90aGVyd2lzZSB3ZSB3aWxsCgkgIGFsd2F5cyBjYW5jZWwgcmVxdWVzdHMgaW4gdGhlIHZlcnkgZW5kIGFuZCBjb25mdXNlIHRoZSBzZXJ2ZXIuLi4KCSAgYW5kIGFsc28gbWFrZSBpdCBpbXBvc3NpYmxlIHRvIHVzZSBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zLgoKMjAxNC0wMi0xMyAxMToxMToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDb25zaXN0ZW50bHkgdXNlIGhhdmVfc2l6ZSBpbnN0ZWFkIG9mIGNvbnRlbnRfc2l6ZSE9MAoKMjAxNC0wMi0xMyAxMDozMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGcmVlIGV4dHJhIGhlYWRlcnMgd2hlbiBmaW5hbGl6aW5nIHRoZSBlbGVtZW50CgkgIEl0J3Mgc2V0IGFzIHByb3BlcnR5IGJ5IHRoZSBhcHBsaWNhdGlvbiwgd2Ugc2hvdWxkIG5vdCBqdXN0IHJlc2V0CgkgIHByb3BlcnRpZXMgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZLgoKMjAxNC0wMi0xMyAxMDoyODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBQcm9wZXJseSBjbG9zZSB0aGUgc2Vzc2lvbiB3aGVuIGdvaW5nIGJhY2sgdG8gTlVMTAoJICBEb24ndCB3YWl0IGZvciB0aGF0IHVudGlsIHRoZSBlbGVtZW50IGlzIGRpc3Bvc2VkLgoKMjAxMy0wMi0yOCAxMjoyMDo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgc3VwcG9ydCBmb3Iga2VlcC1hbGl2ZSBzZXNzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI2CgoyMDE0LTAyLTEyIDEzOjAwOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCAiY29tcHJlc3MiIHByb3BlcnR5IHRvIGVuYWJsZS9kaXNhYmxlIGF1dG9tYXRpYyBnemlwL2RlZmxhdGUgY29udGVudCBlbmNvZGluZyBoYW5kbGluZwoKMjAxNC0wMi0xMiAxMjozOToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBSZXRyeSBjb25uZWN0aW9uIGlmIHdlJ3JlIGZpbmlzaGVkIGJlZm9yZSB0aGUgY29udGVudCBzaXplIG9ubHkgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIGNvbnRlbnQgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTg1CgoyMDE0LTAyLTEyIDEwOjA4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmM6CgkgIHNvdXB1dGlsczogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0c291cHV0aWxzLmM6MzU6MjU6IGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IDkgd2l0aCBleHByZXNzaW9uIG9mIHR5cGUKCSAgJ1NvdXBMb2dnZXJMb2dMZXZlbCcgaXMgYWx3YXlzIGZhbHNlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5nZS1jb21wYXJlXQoKMjAxNC0wMS0wNyAyMzowMDo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5jOgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuaDoKCSAgc291cGh0dHAqOiBhZGQgYWJpbGl0eSB0byBkbyBIVFRQIHNlc3Npb24gbG9nZ2luZwoJICBUaGlzIGNoYW5nZXNldCBhZGRzIHRoZSBsb2dnaW4gaW5mcmFzdHJ1Y3R1cmUgYW5kCgkgIG1vZHMgYm90aCBzb3VwaHR0cHNyYyBhbmQgc291cGh0dGNsaWVudHNpbmsgdG8gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzY0CgoyMDE0LTAyLTA3IDE0OjAwOjE1ICswMTAwICBkaXZoYWVyZSA8ZGlyay52YW5oYWVyZW5ib3JnaEB1Z2VudC5iZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR1JBWTgsIEJHUiBhbmQgUkdCIHZpZGVvIGNvbG91cnNwYWNlcyBpbiBWX1VOQ09NUFJFU1NFRCBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODQ5CgoyMDE0LTAyLTExIDEzOjI1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFkZCBtYXBwaW5nIGZvciBOT1RfRk9VTkQgYW5kIE5PVF9BVVRIT1JJWkVEIGVycm9ycwoKMjAxNC0wMi0xMSAxMzoyNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBkdXBsaWNhdGUgc3RhdHVzX2NvZGUgdG8gR1N0cmVhbWVyIGVycm9yIG1hcHBpbmcKCjIwMTQtMDItMDkgMjM6Mzg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSAgZ29vbTogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMTQtMDItMDkgMjM6MjE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgZnVuY3Rpb25zIHVzZWQgb25seSBmcm9tIHRoZSBjb21tZW50ZWQgb3V0IHB1bGwtbW9kZSBjb2RlCgoyMDE0LTAyLTA4IDIxOjAxOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCBhbm90aGVyIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMDggMTc6NDM6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGltcGxpY2l0IGVudW0gY29udmVyc2lvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnU291cFN0YXR1cycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ1NvdXBLbm93blN0YXR1c0NvZGUnCgoyMDE0LTAyLTA4IDE3OjQxOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0CgkgIGVycm9yOiB2YXJpYWJsZSAnbWFzaycgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjI3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiB2YXJpYWJsZSAnaW1hZ2VfdHlwZScgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjI1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICBvc3M0OiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZAoJICBlcnJvcjogJ0dTVF9PU1M0X0FVRElPX0gnIGlzIHVzZWQgYXMgYSBoZWFkZXIgZ3VhcmQgaGVyZSwKCSAgZm9sbG93ZWQgYnkgI2RlZmluZSBvZiBhIGRpZmZlcmVudCBtYWNybyBbLVdlcnJvciwtV2hlYWRlci1ndWFyZF0KCjIwMTQtMDItMDggMTc6MjQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIHZhcmlhYmxlICdydHhfc3NyYycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyCgkgICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjIxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICBydHBhYzNkZXBheTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMi0wOCAxNzoxOToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJICBmbHg6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkCgkgIGVycm9yOiAnX19HU1RfRkxYX0ZNVF9fSF9fJyBpcyB1c2VkIGFzIGEgaGVhZGVyIGd1YXJkIGhlcmUsCgkgIGZvbGxvd2VkIGJ5ICNkZWZpbmUgb2YgYSBkaWZmZXJlbnQgbWFjcm8gWy1XZXJyb3IsLVdoZWFkZXItZ3VhcmRdCgoyMDE0LTAyLTA3IDEwOjA3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGhhdmVfZHRzIGZsYWcgZnJvbSBwYWRzCgkgIEl0IHdhcyB1c2VkIGluIHRoZSBwYXN0IGluIDAuMTAgd2hlbiB0aGVyZSB3YXMgbm8gZXhwbGljaXQgRFRTCgkgIGZpZWxkIGluIGJ1ZmZlcnMsIG5vdyB3ZSBoYXZlIGl0IGluIDEueCBzZXJpZXMgYW5kIHdlIGNhbgoJICBjaGVjayBpdCBkaXJlY3RseSB3aXRoIEdTVF9CVUZGRVJfRFRTX0lTX1ZBTElECgoyMDE0LTAyLTA3IDAxOjQ5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogaW1wcm92ZSBzdXBwb3J0IGZvciBzcGFyc2Ugc3RyZWFtcwoJICBEbyBub3QgdHJ5IHRvIHVzZSBzdWJzZXF1ZW50IGJ1ZmZlciB0aW1lc3RhbXBzIHRvIGNhbGN1bGF0ZQoJICBzcGFyc2Ugc3RyZWFtcyBkdXJhdGlvbnMgYmVjYXVzZSB0aGUgc3RyZWFtIGlzIHNwYXJzZSBhbmQKCSAgdGhlIGJ1ZmZlcnMgbWlnaHQgbm90IGJlICd0aW1lIGFkamFjZW50Jy4gU28gcmVseSBvbiB0aGUKCSAgZHVyYXRpb24gYW5kIGdpdmUgdGhlIG9wdGlvbiB0byB0aGUgcGFkIHRvIHByb3ZpZGUKCSAgY3VzdG9tICdlbXB0eScgYnVmZmVycyB0byByZXByZXNlbnQgdGhlIGdhcHMgaW4gdGhlCgkgIHN0cmVhbSwgdGhpcyBjYW4gdmFyeSBvbiBob3cgdGhlIGRhdGEgaXMgcmVwcmVzZW50ZWQuCgkgIFJpZ2h0IG5vdywgdGhlIG9ubHkgc3BhcnNlIHN0cmVhbSBzdXBwb3J0ZWQgaXMgdHgzZyBzdWJ0aXRsZXMuCgoyMDE0LTAyLTA2IDEyOjE1OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIHN1cHBvcnQgZm9yIHRleHQveC1yYXcgc3VidGl0bGVzCgkgIEFkZHMgaXQgdG8gbXA0bXV4LCBxdG11eCBhbmQgZ3BwbXV4LgoJICBCdWZmZXJzIG5lZWQgdG8gYmUgcHJlZml4ZWQgd2l0aCAyIGJ5dGVzIGZvciB0aGUgdGV4dCBsZW5ndGggYmVmb3JlCgkgIGJlaW5nIG11eGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAyLTA2IDEyOjA5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIHN1cHBvcnQgZm9yIHRoZSBUWDNHIGF0b21zCgkgIEFkZHMgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBhbmQgc2V0dGluZyB2YWx1ZXMgcmVsYXRlZCB0byB0aGUKCSAgdHgzZyBhdG9tIGZvciByYXcgdGV4dCBzdWJ0aXRsZSBzdXBwb3J0LgoJICBRVEZGIHNwZWMgaGFzIGluZm9ybWF0aW9uIG9uIHRob3NlIGF0b21zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDItMDUgMTA6Mjc6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIHN1YnRpdGxlIHN1cHBvcnQgdG8gcXRtdXhtYXAgc3RydWN0dXJlcwoJICBhZGRzIGJhc2ljIHN0dWJzIGZvciBzdWJ0aXRsZSBzdXBwb3J0IGFyb3VuZCB0aGUgcXRtdXggYW5kCgkgIHF0bXV4bWFwIHN0cnVjdHVyZXMuIFN0aWxsIG5vIHJlYWwgc3VidGl0bGUgaW1wbGVtZW50ZWQsIGJ1dAoJICBiYXNpYyBmdW5jdGlvbnMgaW4gcGxhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMS0yMCAxNzozMToxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBmYWN0b3Igb3V0IHJlYWQgY29udGV4dCBpbml0L3Jlc2V0CgkgIFdoaWxlIGF0IHRoaXMsIG1vdmUgX3RyYWNrX3Jlc2V0KCkgdG8gdHJhY2staWRzCgkgIHNvIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgY29tbW9uIHJlYWQgY29udGV4dAoJICByZXNldCByb3V0aW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzA1CgoyMDE0LTAyLTA2IDEyOjIxOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICBlZmZlY3R2OiBmaXggZG9jIHNlY3Rpb24gb2YgcmV2dHYgZWxlbWVudAoKMjAxNC0wMi0wNSAxMjo0Njo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW86IEZpeCBsaWJ0b29sIHVzYWdlCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAxLTE2IDExOjI2OjQxICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBkbyBub3QgdHJ5IHNldCBkZWludGVybGFjZSBtZXRob2QgaWYgcGFzc3Rocm91Z2ggaXMgZW5hYmxlZAoJICBGaXhlcyBhbiBpc3N1ZSB3aXRoIHByb2dyZXNzaXZlIGNvbnRlbnQgYW5kIHVuc3VwcG9ydGVkIHZpZGVvIGZvcm1hdHMKCSAgZm9yIHRoZSBkZWludGVybGFjZSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2MzYKCjIwMTQtMDItMDQgMjE6MjY6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9yZGVyIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzIGJ5IHByZWZlcmVuY2UKCSAgVG8gbWluaW1pc2UgcmlzayBvZiBiYWQgZml4YXRpb24sIHRob3VnaCBhdWRpb2NvbnZlcnQKCSAgYXQgbGVhc3Qgc2hvdWxkIGJlIHNtYXJ0IGVub3VnaCB0byBhdm9pZCBpdC4KCjIwMTQtMDItMDIgMDk6NTc6MDMgLTA4MDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IFJlbW92ZSBvYnNvbGV0ZSBkZWZpbml0aW9uIEdTVF9WNEwyX01JU1NJTkdfQlVGREVDTAoJICBUaGUgb25seSB1c2Ugd2FzIHJlbW92ZWQgYnkgOWVkYzBjMDM2NWY3OWFiMDdmZjJlNjU0NjFjNjY5NmUzOTMxYTNmMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgoyMDE0LTAyLTA0IDEzOjQzOjU2ICswMTAwICBSYWZhxYIgTXXFvHnFgm8gPGdhbHRnZW5kb0BvMi5wbD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBnc3Q6IERvbid0IHVzZSBlbmRpYW5uZXNzLXNwZWNpZmljIFM4IGF1ZGlvIGZvcm1hdAoJICBJdCBkb2VzIG5vdCBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzMzMQoKMjAxNC0wMS0zMSAxNDoxNzo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogYWRkIHN1cHBvcnQgZm9yIFJHQjE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyODkKCjIwMTQtMDEtMzAgMDk6NDM6NTAgKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogRml4IGNvbnN0YW50bHkgZ3Jvd2luZyB1c2VkIHVpZCBsaXN0CgkgIE1vdmVzIHRoZSB1c2VkIHVpZCBsaXN0IHRvIHRoZSBjbGFzcyB0byBhdm9pZCBoYXZpbmcgaXQgZ3JvdyBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjY5CgoyMDE0LTAxLTMwIDEwOjQ0OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNDhiZWQzIHRvIDFhMDdkYTkKCjIwMTQtMDEtMjQgMDE6NTI6MDggKzAwMDAgIE1pa2UgU2hlbGRvbiA8ZWxsZW9AZ251Lm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogSWdub3JlIEJyb2FkY2FzdCBXYXZlIEZvcm1hdCAoQldGKSB0YWdzIHdoZW4gc2VhcmNoaW5nIGZvciAnZm10JyBjaHVuawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTI1CgoyMDE0LTAxLTI5IDEwOjM3OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIGNoZWNrOiBVc2UgZmFrZXNpbmsgc3luYz1UcnVlIGluc3RlYWQgb2YgYW4gYXVkaW8gc2luawoJICBFbnN1cmVzIHRoZSB0ZXN0IGNhbiBydW4gb24gc3lzdGVtcyB3aXRob3V0IGFsc2EgKG9yIGFueSBhdWRpbyBvdXRwdXQgZm9yCgkgIHRoYXQgbWF0dGVyKSwgYW5kIHdpbGwgYXZvaWQgcGVvcGxlIHJ1bm5pbmcgYnVpbGQgc2xhdmVzIHdvbmRlcmluZyB3aGF0CgkgIHRoZSBoZWxsIHdhcyBiZWVwaW5nIGR1cmluZyB0aGUgbmlnaHQgOikKCjIwMTQtMDEtMjcgMjA6MDU6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGN1c3RvbSBnZXRfc2lua19jYXBzIGhhbmRsaW5nIGZvciBwcml2YXRlIHN0cmVhbSBjYXBzCgkgIC4uLiBub3cgdGhhdCB0aG9zZSBhcmUgdHJhbnNmb3JtZWQgcmF0aGVyIHRoYW4gcGFyc2VkLCBzb21lIHRyYW5zZm9ybWluZwoJICBvZiBjYXBzIGlzIHJlcXVpcmVkIGFzIHdlbGwgdG8gbWFrZSBhdXRvLXBsdWdnaW5nIHN1Y2NlZWQuCgoyMDE0LTAxLTI1IDAyOjA2OjAwIC0wNTAwICBSeWFuIExvcnRpZSA8ZGVzcnRAZGVzcnQuY2E+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGd1YXJkIHVzZSBvZiBFTk9EQVRBIHdpdGggI2lmZGVmCgkgIE5vdCBhbGwgc3lzdGVtcyB3aXRoIHY0bCBoYXZlIEVOT0RBVEEgZGVmaW5lZCwgc28gY2hlY2sgdGhhdCB3ZSBoYXZlIGl0CgkgIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjk1MwoKMjAxNC0wMS0yNCAxMjozNzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZXZlcnQgInJ0c3BzcmM6IFByb3h5IHJ0cGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjdiMTEyOGIxZjAwYTJiODdhMjMyZmY4OTA4Njc1NDlhYjk1YmE1LgoJICBUaGlzIHNob3VsZCBiZSBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgYmUgcnRzcHNyYyBpZiB0aGUgQVZQRiBwcm9maWxlCgkgIGlzIHVzZWQsIGFuZCBtYW51YWwgZW5hYmxpbmcgb2YgaXQgY2FuIGJlIGRvbmUgd2l0aCB0aGUgbmV3LW1hbmFnZXIKCSAgc2lnbmFsLgoKMjAxNC0wMS0yNCAxMDoyMToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIG5ldyBtYW5hZ2VyCgkgIFNvIHRoYXQgeW91IGNhbiBjb25maWd1cmUgYW5kIGNvbm5lY3QgdG8gc2lnbmFscyBvbiB0aGUgcnRwYmluLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjg2NgoKMjAxNC0wMS0yMyAxNToxNzo1OCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgcnRwaml0dGVyYnVmZmVyIGRvLXJldHJhbnNtaXNzaW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI4NjYKCjIwMTQtMDEtMjEgMTc6NTI6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaGFuZGxlIGV4cGVjdGVkIHBhY2tldCBiZWluZyBhbiBSVFggcGFja2V0CgkgIElmIHRoZSBleHBlY3RlZCBwYWNrZXQgKGRvX25leHRfc2VxbnVtIGlzIFRSVUUpIGlzIHRoZSBvbmUgd2UgcmVxdWVzdGVkCgkgIGZvciByZXRyYW5taXNzaW9uIGVhcmxpZXIsIGRvIHRoZSBsb2dpYyB0byB1cGRhdGUgdGhlIHJldHJhbnNtaXNzaW9uCgkgIHN0YXRpc3RpY3MgYXMgd2VsbCBiZWZvcmUgc2V0dGluZyB1cCB0aGUgdGltZXJzIGZvciB0aGUgbmV4dCBleHBlY3RlZAoJICBwYWNrZXQuCgkgIEFsc28gcmVzZXQgdGhlIHJldHJhbnNtaXNzaW9uIGNvdW50ZXIgaWYgdGhlIHRpbWVyIGlzIHJldXNlZCBmb3IgYW5vdGhlcgoJICBzZXFudW0uCgoyMDE0LTAxLTIxIDE1OjQ4OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBhIGNhcHMgYWNjdW11bGF0b3IgZm9yIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwKCSAgQWRkIGFuIGFjY3VtdWxhdG9yIHRoYXQgc3RvcHMgdGhlIHNpZ25hbCBlbWlzc2lvbiBhcyBzb29uIGFzIGEgY2FwcyBoYXMKCSAgYmVlbiByZXRyaWV2ZWQuIE90aGVyd2lzZSB0aGUgZGVmYXVsdCBoYW5kbGVyIHdvdWxkIGNvbnRpbnVlIGVtaXR0aW5nCgkgIHRoZSBzaWduYWwgYW5kIHBvc3NpYmx5IG92ZXJ3cml0ZSB0aGUgcmVzdWx0IHdpdGggTlVMTCBhZ2Fpbi4KCjIwMTQtMDEtMjEgMTU6MjU6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHhyZWNlaXZlOiBjb3B5IGZsYWdzIGFuZCB0aW1lc3RhbXBzIGZyb20gb3JpZ2luYWwgYnVmZmVyCgoyMDE0LTAxLTIxIDE1OjI0OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGlnbm9yZSBpbnZhbGlkIHRpbWVzdGFtcHMgaW4gcnR0IGNhbGN1bGF0aW9uCgkgIFdoZW4gdGhlIGlucHV0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLCBkb24ndCB0cnkgdG8KCSAgY2FsY3VsYXRlIHRoZSByb3VuZC10cmlwLXRpbWUuCgoyMDE0LTAxLTE2IDE0OjIzOjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBiZXR0ZXIgZGVmYXVsdCBjYXBzIHdoZW4gbm9uZSBzZXQKCSAgVXNlcyBpbmZvcm1hdGlvbiBnYXRoZXJlZCBkdXJpbmcgRUJNTCBwYXJzaW5nIHRvCgkgIGZvcmdlIGEgbW9yZSBzdWl0YWJsZSBzZXQgb2YgY2FwcyBpbnN0ZWFkIG9mIGJsaW5kbHkKCSAgYXNzdW1pbmcgZXZlcnl0aGluZyBpcyB2aWRlby94LW1hdHJvc2thLgoJICBGb3IgY29uc2lzdGVuY3ksIHN0cmVhbSB0eXBlIHJlc2V0IHdhcyBhZGRlZCB0bwoJICBtYXRyb3NrYS1kZW11eCB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTEKCjIwMTQtMDEtMTUgMTc6Mjk6MzUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb246IHJlbW92ZSB1c2VsZXNzIGNvZGUgZm9yIHRyaWdnZXJpbmcgcmV0cmFuc21pc3Npb24KCSAgVGhlcmUgaXMgbm8gbmVlZCBhbnltb3JlIHRvIHB1c2ggeWV0IGFub3RoZXIgYnVmZmVyIGluIHJ0eHNlbmQKCSAgaW4gb3JkZXIgdG8gdHJpZ2dlciB0aGUgcHJldmlvdXNseSByZXF1ZXN0ZWQgcmV0cmFuc21pc3Npb25zCgkgIHRvIGFjdHVhbGx5IGhhcHBlbi4KCjIwMTQtMDEtMTUgMTc6Mjc6MTkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb246IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAxNzoxNzo1NyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHNlbmRlcl9wYWNrZXRfcmV0ZW50aW9uOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMTE6MjY6MzMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMDk6NDc6MDMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxOiBmaXggYnVmZmVyIHJlZmNvdW50aW5nCgoyMDE0LTAxLTIxIDEzOjQyOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBlbnN1cmUgdGhhdCBubyBydHggYnVmZmVycyBhcmUgc2VudCBhZnRlciBFT1MKCSAgVG8gZG8gdGhhdCwgZW5xdWV1ZSB0aGUgRU9TIGV2ZW50IHRvIGJlIHNlbnQgZnJvbSB0aGUgc3JjcGFkIHRhc2sKCSAgdGhyZWFkIGFuZCBmbHVzaCB0aGUgcXVldWUgcmlnaHQgYWZ0ZXJ3YXJkcywgc28gdGhhdCBubyBtb3JlIHJ0eAoJICBidWZmZXJzIGNhbiBiZSBzZW50LCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIGNvbWluZyBpbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM3MAoKMjAxNC0wMS0xNSAwOTo0NjoxNCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBydW4gYSBuZXcgR3N0VGFzayBvbiB0aGUgc3JjIHBhZAoJICBUaGUgcmVhc29uIGJlaGluZCB0aGlzIGlzIHRvIG1pbmltaXplIHRoZSByZXRyYW5zbWlzc2lvbiBkZWxheS4KCSAgUHJldmlvdXNseSwgd2hlbiBhIE5BQ0sgd2FzIHJlY2VpdmVkLCBydHBydHhzZW5kIHdvdWxkIHB1dCBhCgkgIHJldHJhbnNtaXNzaW9uIHBhY2tldCBpbiBhIHF1ZXVlIGFuZCBpdCB3b3VsZCBzZW5kIGl0IGZyb20gY2hhaW4oKSwKCSAgaS5lLiBvbmx5IGFmdGVyIGEgbmV3IGJ1ZmZlciB3b3VsZCBhcnJpdmUuCgkgIFRoaXMgdW5mb3J0dW5hdGVseSB3YXMgY2F1c2luZyBiaWcgZGVsYXlzLCBpbiB0aGUgb3JkZXIgb2YgNjAtMTAwIG1zLAoJICB3aGljaCBjYW4gYmUgY3JpdGljYWwgZm9yIHRoZSByZWNlaXZlciBzaWRlLgoJICBCeSBoYXZpbmcgYSBzZXBhcmF0ZSBHc3RUYXNrIGZvciBwdXNoaW5nIGJ1ZmZlcnMgb3V0IG9mIHJ0eHNlbmQsCgkgIHdlIGNhbiBwdXNoIGJ1ZmZlcnMgb3V0IHJpZ2h0IGFmdGVyIHJlY2VpdmluZyB0aGUgZXZlbnQsIHdpdGhvdXQKCSAgd2FpdGluZyBmb3IgY2hhaW4oKSB0byBnZXQgY2FsbGVkLgoKMjAxNC0wMS0wMyAxNzo0Nzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IGVycm9yIG91dCBpZiBubyBjYXBzIHdlcmUgcmVjZWl2ZWQKCSAgSW5zdGVhZCBvZiBhc3N1bWluZyB0aGF0IGlucHV0IGlzIG9nZy4KCjIwMTQtMDEtMDMgMTc6MzA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBhY2NlcHQgYXVkaW8vd2VibSwgYXVkaW8vb2dnIGFuZCB2aWRlby9vZ2cgYXMgd2VsbAoJICBUaG9zZSBhcmUgYWR2ZXJ0aXNlZCBpbiB0aGUgdGVtcGxhdGUgY2FwcywgYnV0IHRoZQoJICBzZXRjYXBzIGhhbmRsZXIgZGlkbid0IGhhbmRsZSB0aGVtLiBCdXQgdGhlbiBvZ2dtdXgKCSAgYW5kIG9nZ3BhcnNlIGF0IGxlYXN0IGZvciBub3cgc3RpbGwgYWx3YXlzIG91dHB1dAoJICBhcHBsaWNhdGlvbi9vZ2cgYW55d2F5LCBzbyB0aGF0IHdhc24ndCBhIHJlYWwgcHJvYmxlbS4KCjIwMTQtMDEtMjAgMTA6MTI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNDE0CgoyMDE0LTAxLTE5IDE3OjQwOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJlc2V0IHNvbWUgbW9yZSBhdWRpbyBwYWQgZGF0YSB3aGVuIG5lZWRlZAoKMjAxNC0wMS0xOSAxNzozODo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiB3cml0ZSBjb3JyZWN0IGJsb2NrYWxpZ24gZm9yIHZiciBhdWRpbwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNjU5CgoyMDE0LTAxLTE2IDE3OjM2OjEyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvIG5vdCBkcm9wIHNlcmlhbGl6ZWQgZXZlbnRzIHdoZW4gbGF0ZW5jeSBpcyBzZXQKCSAgU2VyaWFsaXplZCBldmVudHMgYXJlIG5vdyBxdWV1ZWQgaW4gdGhlIGppdHRlciBidWZmZXIsIHNvIHdlIGRvbid0CgkgIHdhbnQgdG8gZHJvcCB0aGVtIGV2ZW4gbGF0ZW5jeSBpcyBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzNzIKCjIwMTMtMTItMTEgMDk6MzY6MjIgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBkb24ndCBtYWtlIHRoZSBidWZmZXIgd3JpdGFibGUgdW5sZXNzIGFic29sdXRlbHkgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTYKCjIwMTMtMDktMTIgMTY6NTY6NTYgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0IEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHdoZW4gYXBwcm9wcmlhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NAoKMjAxNC0wMS0xNyAwNzo0NjowOSArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG9uJ3QgcmVmIHRoZSBuZXdseSBjcmVhdGVkIGFsbG9jYXRvcgoJICBPdGhlcndpc2UgdGhlIGFsbG9jYXRvciB3aWxsIG5ldmVyIGJlIGRlbGV0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MTIKCjIwMTQtMDEtMTUgMjI6NDc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3Qgc2tpcCBhbGwgdmlkZW8gZnJhbWVzIHVudGlsIHRoZSBmaXJzdCBrZXlmcmFtZQoJICBJbnN0ZWFkIGRvIGl0IGxpa2UgYWxsIG90aGVyIGRlbXV4ZXJzIGFuZCBsZXQgcGFyc2VycyBhbmQgZGVjb2RlcnMKCSAgaGFuZGxlIHRoYXQuIFRoZSBrZXlmcmFtZSBpbmZvcm1hdGlvbiBpbnNpZGUgdGhlIGNvbnRhaW5lciBtaWdodAoJICBiZSBjb21wbGV0ZWx5IHdyb25nIGxpa2UgaW4gdGhlIHNhbXBsZSBmaWxlIG9mIHRoZSBidWcgcmVwb3J0LAoJICBhbmQgaWYgaXQgaXMgY29ycmVjdCBhbmQgd2UgcHVzaCBubyBrZXlmcmFtZXMsIHRoZW4gdGhlIHBhcnNlcnMKCSAgYW5kIGRlY29kZXJzIHdpbGwgaGFuZGxlIHRoYXQgcHJvcGVybHkgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMjc2CgoyMDE0LTAxLTEzIDEwOjA4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcmVtb3ZlIGVsc3Rfb2Zmc2V0IHZhcmlhYmxlcwoJICBUaGV5IGFyZSBub3QgdXNlZCBhbnltb3JlCgoyMDE0LTAxLTA2IDIxOjM2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1lbWJlciByZXZlcnNlIHBsYXliYWNrIHdoZW4gdmVyaWZ5aW5nIHRoZSBzZWdtZW50IGVuZAoJICBDaGVjayBpZiB0aGUgcmF0ZSBpcyBwb3NpdGl2ZSBvciBuZWdhdGl2ZSB0byBjb3JyZWN0bHkgY29tcGFyZSB0aGUgY3VycmVudAoJICBwb3NpdGlvbiB3aXRoIHRoZSBzZWdtZW50IHRvIG1ha2UgcmV2ZXJzZSBwbGF5YmFjayB3b3JrCgoyMDE0LTAxLTAzIDEwOjU5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZG8gbm90IGlnbm9yZSBlbXB0eSBzZWdtZW50cwoJICBNYWtlIHN1cmUgZW1wdHkgc2VnbWVudHMgYXJlIHVzZWQgYW5kIHB1c2hlZCB3aXRoIGEgZ2FwIGV2ZW50CgkgIHRvIHJlcHJlc2VudCBpdHMgZGF0YSAob3IgbGFjayBvZiBpdCkKCSAgRWFjaCBRdFNlZ21lbnQgaXMgbWFwcGVkIGludG8gYSBHc3RTZWdtZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKCSAgbWVkaWEgcmFuZ2UuIEZvciBlbXB0eSBRdFNlZ21lbnRzIGEgZ2FwIGV2ZW50IGlzIHB1c2hlZCBpbnN0ZWFkCgkgIG9mIEdzdEJ1ZmZlcnMgYW5kIGl0IGFkdmFuY2VzIHRvIHRoZSBuZXh0IFF0U2VnbWVudC4KCSAgVG8gbWFrZSB0aGlzIHdvcmsgd2l0aCBzZWVrcywgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBzdGFydGluZwoJICAnYmFzZScgdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgY29uc2lzdGVudGx5IGluY3JlYXNpbmcgd2hlbgoJICBwdXNoaW5nIG5ldyBzZWdtZW50IGV2ZW50cy4KCSAgRm9yIGV4YW1wbGU6IGlmIGEgc2VlayBtYWtlcyBxdGRlbXV4IHN0YXJ0IGZyb20gNXMsIHRoZSBmaXJzdAoJICBzZWdtZW50IHdpbGwgaGF2ZSBhIGJhc2U9MC4gV2hlbiB0aGUgbmV4dCBzZWdtZW50IGlzIGFjdGl2YXRlZCwKCSAgaXRzIGJhc2UgdGltZSB3aWxsIGJlIFF0U2VnbWVudC50aW1lIC0gcXRkZW11eC5zZWdtZW50X2Jhc2Ugc28KCSAgdGhhdCBpdCBkb2Vzbid0IGluY2x1ZGUgdGhlIGZpcnN0IDVzIHRoYXQgd2VyZW4ndCBwbGF5ZWQgYW5kCgkgIHNob3VsZG4ndCBiZSBhY2NvdW50ZWQgb24gdGhlIHJ1bm5pbmcgdGltZQoJICBUaGlzIHB1cnBvc2VkbHkgd2lsbCByZW1vdmUgdGhlIGZpeCBtYWRlIGZvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0LCBhdCB0aGlzCgkgIHBvaW50IGl0IHdhcyBkZWNpZGVkIHRvIHJlc3BlY3QgdGhlIGdhcHMsIGV2ZW4gaWYgdGhleSBjYXVzZQoJICBhIGRlbGF5IG9uIHBsYXliYWNrLCBiZWNhdXNlIHRoYXQncyB0aGUgd2F5IHRoZSBmaWxlIHdhcyBjcmFmdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1ODMwCgoyMDEzLTEyLTEyIDIzOjA1OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBSZW1vdmUgdXNhZ2Ugb2YgdGhlIHN5c3RlbSBjbG9jayBmcm9tIHRoZSBydHBydHggdGVzdAoKMjAxMy0xMi0xMiAyMzoyMjo0MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogSW5pdGlhbCBzZWdtZW50IGluIHJ0cGNvbGxpc2lvbiB0ZXN0CgoyMDE0LTAxLTE0IDE1OjU2OjQyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXMvKi1ydHBhdXg6IHNwZWNpZnkgcGF5bG9hZCB0eXBlIGFzc29jaWF0aW9uIGZvciB0aGUgYXVkaW8gc3RyZWFtLCBzbyB0aGF0IHJ0eCB3b3JrcyBhbHNvIGZvciBhdWRpbwoKMjAxNC0wMS0xNCAxMzowODoxOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHdyb25nIGNoZWNrIGZvciBwYXlsb2FkIHR5cGUgbm90IGhhdmluZyBiZWVuIHNldAoJICAxKSBwdCBjYW4gYmUgbG93ZXIgdGhhbiA5NgoJICAyKSB0aGVyZSBpcyBubyBwb2ludCBpbiBjaGVja2luZyB0aGF0IGJlY2F1c2UgcnRwcnR4c2VuZCB3aWxsIG5vdAoJICBldmVuIHN0b3JlIGJ1ZmZlcnMgZm9yIHBheWxvYWQgdHlwZXMgdGhhdCBpdCBkb2Vzbid0IGtub3cgYWJvdXQsCgkgIHNvIHRoaXMgY2FzZSB3aWxsIG5ldmVyIGJlIHJlYWNoZWQKCjIwMTQtMDEtMTQgMTM6MDE6NDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGZpeCBkYXRhIGxvY2tpbmcgd2hlbiBjcmVhdGluZyBydHggcGFja2V0cwoJICBUaGlzIHBhdGNoIG1vdmVzIHRoZSBjcmVhdGlvbiBvZiBydHggcGFja2V0cyB0byBiZSBkb25lIGVhcmx5LAoJICBpbiB0aGUgc3JjX2V2ZW50KCkgZnVuY3Rpb24sIHdoZW4gdGhleSBhcmUgcmVxdWVzdGVkLiBUaGUgcHVycG9zZQoJICBpcyB0byBydW4gZ3N0X3J0cF9ydHhfYnVmZmVyX25ldygpIHdpdGggdGhlIG9iamVjdCBsb2NrZWQgdG8KCSAgcHJvdGVjdCBpbnRlcm5hbCBkYXRhLCBiZWNhdXNlIGlmIGl0IGlzIGRvbmUgYXQgdGhlIHB1c2hpbmcgc3RhZ2UsCgkgIHdlIHdvdWxkIGhhdmUgdG8gbG9jayBhbmQgdW5sb2NrIG11bHRpcGxlIHRpbWVzIGluIGEgcm93IHdoaWxlIHdlCgkgIGFyZSBwdXNoaW5nIHRoZSBydHggYnVmZmVycy4KCSAgUHJldmlvdXNseSB0aGVyZSB3YXMgbm8gbG9ja2luZyBhdCBhbGwsIHdoaWNoIHdhcyB0ZXJyaWJseSB3cm9uZy4KCjIwMTQtMDEtMTQgMTI6NTA6MjMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGxvY2sgYWNjZXNzIHRvIGludGVybmFsIGRhdGEgaW4gc2lua19ldmVudCgpIGZ1bmN0aW9uCgoyMDE0LTAxLTE0IDEyOjQ0OjA2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0byByZXNldCgpIGZyb20gZmluYWxpemUoKQoJICAuLi5hbmQgdXNlIF9mcmVlX2Z1bGwoKSBvbiB0aGUgcGVuZGluZyBidWZmZXJzIHF1ZXVlIG5vdyB0aGF0CgkgIHJlc2V0KCkgaXMgbm90IGJlaW5nIGNhbGxlZAoKMjAxNC0wMS0xNCAxMjozODo1MSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHVudXNlZCBwYXJhbWV0ZXIgZnJvbSB0aGUgaW50ZXJuYWwgcmVzZXQoKSBtZXRob2QKCjIwMTQtMDEtMTQgMTI6MzI6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IFVzZSBnX3NsaWNlXyogZm9yIGFsbG9jYXRpbmcgaW50ZXJuYWwgc3RydWN0dXJlcwoKMjAxNC0wMS0xNCAxMjoyODowMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogcmVtb3ZlIHN0dXBpZCBtdXRleCB1bmxvY2sgaW4gdGhlIG1pZGRsZSBvZiBjaGFpbigpCgoyMDE0LTAxLTE0IDEyOjI1OjM2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiB1c2UgR1NUX0RFQlVHX09CSkVDVCAvIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mIEdTVF9ERUJVRyAvIGdfd2FybmluZwoKMjAxNC0wMS0xNCAxMjoxOTo1OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogZml4IGludGVnZXIgZm9ybWF0IHNwZWNpZmllcnMgaW4gR1NUX0RFQlVHCgkgIHNlcW51bSBpbiB0aGlzIGZ1bmN0aW9uIGlzIDMyLWJpdCwgc28gR19HVUlOVDE2X0ZPUk1BVCB3b3VsZAoJICBwcm9kdWNlIHVuZGVmaW5lZCBvdXRwdXQgb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTAxLTE0IDEyOjEzOjQ5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IGNoYW5nZSB0aGUgcnR4X3B0X21hcCBkaXJlY3RseSBpbiBzZXRfcHJvcGVydHkoKSBpbnN0ZWFkIG9mIGRlbGF5aW5nIGl0IGZvciBjaGFpbigpCgkgIFRoZSBzYW1lIGxvY2sgaXMgaGVsZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gY29tcGxpY2F0aW5nIGl0Li4uCgoyMDE0LTAxLTE0IDEyOjA3OjU4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IGNoYW5nZSB0aGUgcnR4X3B0X21hcCBkaXJlY3RseSBpbiBzZXRfcHJvcGVydHkoKSBpbnN0ZWFkIG9mIGRlbGF5aW5nIGl0IGZvciBjaGFpbigpCgkgIFRoZSBzYW1lIGxvY2sgaXMgaGVsZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gY29tcGxpY2F0aW5nIGl0Li4uCgoyMDE0LTAxLTE0IDExOjU1OjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBzaW1wbGlmeSB0aGUgY29kZSBvZiBmaW5hbGl6ZSgpCgoyMDE0LTAxLTE0IDExOjUyOjIxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IHVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZCBvZiBhIG5ldyBvbmUKCjIwMTQtMDEtMTQgMTE6NDU6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogdXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkIG9mIGEgbmV3IG9uZQoKMjAxMy0xMi0xMCAxNDoyOTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgTlYxMl82NFozMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjcKCjIwMTQtMDEtMTQgMTk6MDg6NDkgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3NoZWxwZXI6IERvbid0IGxlYWsgZmQgd2hlbiBnZXR0aW5nIGNhcmQgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTYzCgoyMDE0LTAxLTE0IDA5OjQzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogcmVsYXggdGhlIGRldGVjdGlvbiBvZiBBRFRTIgoJICBUaGlzIHdhcyBwdXNoZWQgYnkgbWlzdGFrZSBhbG9uZyB3aXRoIHRoZSBWNEwyIGZpeC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZWI0YjAzMmJlZjQ0NDM5N2M0ZDIxMWYyMDk1YzE3M2JhMTE0MTg3LgoKMjAxNC0wMS0xNCAxNTo0MjowMSArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBydHBnNzI2cGF5OiBkb24ndCBsZWFrIGVuY29kaW5nX25hbWUgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTkKCjIwMTQtMDEtMTMgMDk6MTQ6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggYnVpbGQgYnJlYWsgdXNpbmcgVjRMMl9DQVBfVklERU9fTTJNX01QTEFORQoJICBUaGlzIG1heSBub3QgYmUgZGVmaW5lZC4gU2luY2UgdGhlIHByZXZpb3VzIHZlcnNpb24gdXNlZAoJICBvbmx5IHRoZSBvdGhlciBkZWZpbmUgKFY0TDJfQ0FQX1ZJREVPX09VVFBVVF9NUExBTkUpLCBmYWxsCgkgIGJhY2sgb24gdGhpcyBvbmx5IHdoZW4gbm90IGF2YWlsYWJsZS4KCjIwMTMtMDItMjcgMDE6NDU6NTIgKzA5MDAgIEFraWhpcm8gVHN1a2FkYSA8YXRzdWthZGFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVsYXggdGhlIGRldGVjdGlvbiBvZiBBRFRTCgkgIEFjY29yZGluZyB0byBJU08vSUVDIDEzODE4LTcsICJjaGFubmVsX2NvbmZpZyIgZmllbGQgaW4gQURUUyBoZWFkZXIKCSAgbWF5IGhhdmUgdmFsdWUgb2YgMCwgYXMgaW4gdGhlIGNhc2Ugb2YgZnJhbWUgd2l0aCBQQ0UuCgkgIGdzdF9hYWNfcGFyc2VfZGV0ZWN0X3N0cmVhbXMoKSByZXR1cm5lZCBGQUxTRSBmb3IgdGhvc2UgZnJhbWVzCgkgIGFuZCBkaXNjYXJkZWQgdGhlbS4KCjIwMTQtMDEtMDcgMTE6NTg6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNoZWNrIHNldF9jb25maWcgcmV0dXJuIHZhbHVlIGluIGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDEyOjQwOjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBwYXJzZWQ9MSBmaWVsZCBmb3IgZW5jb2RlZCBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxMjozOToxNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGVtcHR5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0wOCAxNjo1MToyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG8gbm90IHN0b3AgYSBzdHJlYW0gbm90IHByZXZpb3VzbHkgc3RhcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE2OjI3OjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGVuZm9yY2UgZGltZW5zaW9uIGZpZWxkIG9uIGVuY29kZWQgZm9ybWF0cwoJICBEb24ndCBlbmZvcmNlIGhhdmluZyB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUgaW4gdGVtcGxhdGUgY2FwcyBmb3IgZW5jb2RlZAoJICBmb3JtYXRzLiBUaGVzZSBkb24ndCBhbHdheXMgbmVlZCB0byBiZSBleHBvc2VkIGFuZCBtYXkgYnJlYWsgbmVnb3RpYXRpb24gZm9yCgkgIGRlY29kZXIgYW5kIGRlY29kaW5nIHNpbmsuIElmIG5lZWRlZCwgdGhlc2UgZmllbGQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkCgkgIHdoZW4gcHJvYmVkIGNhcHMgYXJlIGtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE3OjA5OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogdW5yZWYgZG93bnN0cmVhbSBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTggMTM6Mzc6MjMgLTA1MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGFkZCBnc3RfdjRsMl9idWZmZXJfcG9vbF9mbHVzaAoJICBTVFJFQU1PRkYgc2V0IGFsbCB2NGwyYnVmZmVycyB0byBERVFVRVVFIHN0YXRlLgoJICBUaGVuIGZvciBDQVBUVVJFIHdlIGNhbGwgUUJVRiBvbiBlYWNoIGJ1ZmZlci4KCSAgRm9yIE9VVFBVVCB0aGUgYnVmZmVycyBhcmUganVzdCBwdXNoIGJhY2sgaW4gdGhlIEdzdEJ1ZmZlclBvb2wKCSAgYmFzZSBjbGFzcyAncyBxdWV1ZS4KCSAgQnV0IHRoZSBsb29wIGFjdHVhbGx5IGxvb2tzIGxpa2UgdGhlIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTYgMTc6Mjk6MzAgLTA1MDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgdnA4IHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNjo0NjowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBmb3JjZSBmcmFtZXJhdGUgZmllbGQgZm9yIE9VVFBVVAoJICBJZiB0aGVyZSBpcyBub3RoaW5nIHRoYXQgc2VlbXMgdG8gZm9yY2UgYSBjZXJ0YWluIGZyYW1lcmF0ZSBvbiBvdXRwdXQgZGV2aWNlLCBpdCBpcwoJICBwcmVmZXJhYmxlIHRvIHNpbXBseSBub3Qgc2V0IHRoYXQgZmVpbGQuIFRoaXMgYWxsb3cgbmVnb3RpYXRpb24gd2l0aCB0c2RlbXV4IGluIGEKCSAgZGVjb2RlciBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNDowNzowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IF92NGwyZm91cmNjX3RvX3N0cnVjdHVyZSgpIGNhbiBiZSBzdGF0aWMKCSAgVGhpcyBmdW5jdGlvbiBpcyBub3QgdXNlZCBhbnltb3JlIG91dHNpZGUgdjRsMm9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNDoyMjoyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgTVBFRzEvMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTI6MTg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQXNrIGZvciBhIGRlY2VudCBidWZmZXIgc2l6ZSB3aGVuIGRlYWxpbmcgd2l0aCBlbmNvZGVkIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNyAxNDowMzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE9uIHdhcm4gb24gc2l6ZSBjaGFuZ2UgaWYgbl9wbGFuZXMgPiAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMzEgMTY6Mzg6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBjaGVjayBpZiB0cmFuc2xhdGVkIGZvcm1hdCBpcyB2YWxpZAoJICBBbHNvIGFkZCBhIEZJWE1FIGluIGdzdF92NGwyX29iamVjdF9zZXR1cF9mb3JtYXQKCSAgdG8gbm90ZSB0aGF0IHRoZSB3aG9sZSBmdW5jdGlvbiBoYXMgdG8gYmUgaW1wcm92ZWQKCSAgaW4gb3JkZXIgdG8gc3VwcG9ydCBFTkNPREVEIGZvcm1hdHMuCgkgIEl0IHJlcXVpcmVzIHRvIGhhdmUgYW4gZW5jb2RlciBkZXZpY2Ugd2hpY2ggd2UgZG8gbm90CgkgIGhhdmUgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA3IDEwOjMxOjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFZhbGlkYXRlIHJldHVybmVkIGRpbWVuc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNjoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgbWF4IGlzIG5vdCBzbWFsbGVyIHRoZW4gbWluIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzY6MDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qga2VlcCB0aGUgbWF4IHBhcmFtdGVyIHdoZW4gdXNpbmcgb3VyIG93biBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzQ6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXNwZWN0IHRoZSBzdWdnZXN0ZWQgbWluIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ4OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsbG9jYXRlIHBvb2wgaWYgbmVlZGVkIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDk6MTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIFY0TDJfQ0lEX01JTl9CVUZGRVJTX0ZPUl9DQVBUVVJFIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0ODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogTW92ZSBkZWNpZGUgYWxsb2NhdGlvbiBpbnRvIHY0bDJvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxMzo1MToxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEltcGxlbWVudCBfc2V0dXBfZm9ybWF0KCkKCSAgVGhpcyBtZXRob2QgYWxsb3cgc2V0dGluZyB1cCB0aGUgb2JqZWN0IGZyb20gdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGZvcm1hdCBvbiB0aGUKCSAgZGV2aWNlLiBUaGlzIGlzIHVzZWZ1bCBmb3IgTTJNIGVsZW1lbnQgd2hlcmUgaW5wdXQgZGF0YSBkZWNpZGVzIHRoZSBmb3JtYXQgdGhhdCB3aWxsCgkgIGJlIHNldCBvbiBjYXB0dXJlIHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTAgMTQ6MzQ6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU3BsaXQgb3V0IHNhdmluZyBmb3JtYXQgZnJvbSBzZXRfZm9ybWF0KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0zMSAxNTozNzoyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBvbmx5IG9uZSBwbGFuZSBmb3IgZW5jb2RlZCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjo0OToxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIGNvZGUgYmxvY2sgd2hlcmUgaXQgYmVsb25ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjI2OjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGNoZWNrIGZvcm1hdCBzcGVjaWZpYyBpbmZvcm1hdGlvbgoJICBUaGUgbnVtYmVyIG9mIHBsYW5lLCBhbmQgdGhlIHN0cmlkZSBkb2VzIG5vdCByZXByZXNlbnQgYSBjYXBhYmlsaXR5IGNoYW5nZS4gU2FtZSBjYXBzCgkgIGNhbiBoYXZlIGRpZmZlcmVudCBzdHJpZGUgZnJvbSB0aGUgZGVmYXVsdCBHc3RWaWRlb0luZm8gYW5kIHRoZSBudW1iZXIgb2YgcGxhbmVzIHdpbGwKCSAgbmV2ZXIgY2hhbmdlIGZvciAxIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjoyMzoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIHRoZSBleHRyYXBvbGF0aW9uIG9mIHN0cmlkZSBhdCB0aGUgcmlnaHQgcGxhY2UKCSAgTm93IHRoYXQgd2UgaGF2ZSBhIHN0cmlkZSBhcnJheSwgd2Ugc2hvdWxkIGV4dHJhcG9sYXRlIG9ubHkgd2hlbgoJICBlZWRlZCAobm9uIG11bHRpLXBsYW5hciBidWZmZXIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE1OjA5OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgYmFjayBhc3NlcnRpb25zIHdoZXJlIHRoZXkgc2hvdWxkIGJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTU6MDk6MTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBtcGxhbmUgbG9naWMgaW50byBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHNfaW5mbygpCgkgIEl0IG1ha2VzIHRoZSBnc3RfdjRsMl9vYmplY3Rfc2V0X2Zvcm1hdCgpIHNsaWdodGx5IHNpbXBsaWVyIGFuZCB3aWxsIG1ha2UgdGhhdAoJICBsb2dpYyByZXVzYWJsZS4gTm90ZSB0aGF0IGdzdF92NGwyX29iamVjdF9oYXNfbXBsYW5lKCkgd2lsbCBhbHdheXMgcmV0dXJuIHRoZQoJICBzYW1lIHZhbHVlIGZvciBvbmUgZGV2aWNlLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluc3QgdGhlIGNhcHMgYXMgdGhpcwoJICBoYXMgYWxyZWFkeSBiZWVuIGRvbmUgYnkgX29wZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDMgMTg6Mjc6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBfdjRsMmZvdXJjY190b192aWRlb19mb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMiAxODowNToxMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlcXVlc3QgYnVmZmVycyBvbmx5IG9uY2UKCSAgVklESU9DX1JFUUJVRlMgYWxsb2NhdGVzIGJ1ZmZlciwgaXQgaGFzIG5vIHBsYWNlIGluc2lkZSBzZXRfY29uZmlnLiBBbHNvLCBzb21lIGRyaXZlciBkbwoJICBubyBhbGxvdyBtdWx0aXBsZSBjYWxscyB0byB0aGlzIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAyIDE1OjI2OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHZhbGlkYXRlIGRpbWVuc2lvbiBmb3IgZW5jb2RlZCBmb3JtYXQKCSAgV2Ugc2V0IHRoZSBkaW1lbnNpb25zIGp1c3QgaW4gY2FzZSBidXQgZG9uJ3QgdmFsaWRhdGUgdGhlbQoJICBhZnRlcndhcmRzLiBGb3Igc29tZSBjb2RlY3MgdGhlIGRpbWVuc2lvbnMgYXJlICpub3QqIGluIHRoZQoJICBiaXRzdHJlYW0sIElJUkMgVkMxIGluIEFTRiBtb2RlIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjEwOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogUXVpcmtzIGZvciBkZXYgd2l0aG91dCBpbml0aWFsIGZvcm1hdAoJICBNb3N0IE0yTSBoYXZlIHVuZGVmaW5lZCBiZWhhdmlvdXIgaW5pdGlhbGx5IHdoZW4gVklESU9DX0dfRk1UIGlzIGNhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzowOToyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEFkZCBnc3RfdjRsMl9vYmplY3Rfb3Blbl9zaGFyZWQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjA3OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMm9iamVjdDogSW1wbGVtZW50IGdzdF92NGwyX2R1cCgpCgkgIFRoaXMgd2lsbCBkdXBsaWNhdGVkIHRoZSBGRCBmcm9tIGFub3RoZXIgb2JqZWN0IGFuZCBjb3B5IG92ZXIgdGhlIHByb2JlZCByZXN1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTY6NTk6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBtYWtlIElPX01PREUgZW51bSBwdWJsaWMKCSAgVGhpcyBpcyB0byBhbGxvdyBhZGRpbmcgYSBzZWNvbmQgaW8tbW9kZSBwcm9wZXJ0eSBvbiBNMk0gZGV2aWNlIGxpa2UgZGVjb2RlciBzbwoJICBpbnB1dCBhbmQgb3V0cHV0IGNhbiBiZSBjb250cm9sbGVkIHNlcGFyYXRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0wNi0wNCAyMzo0MjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBiZXR0ZXIgaGFuZGxlIHF1aXJrcyBhY3RpdmF0aW9uCgkgIFRoaXMgd2F5IHdlIGNhbiBhY3RpdmF0ZSBkZWFjdGl2YXRlIHRob3NlIHF1aXJrcyBhbGwgYXQgb25jZSBhdCBvbmUKCSAgcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMDYtMDQgMjM6MzQ6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBGaXggaDI2NCBjYXBzCgkgIFY0TDJfUElYX0ZNVF9IMjY0IGlzIGRvY3VtZW50YXRlZCBhcyBieXRlLXN0cmVhbSAod2l0aCBzdGFydCBjb2RlKS4gVGhlIGVuc3VyZSBwcm9wZXIKCSAgbmVnb3RpYXRpb24gd2l0aCBlbGVtZW50IGxpa2UgaDI2NHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA2IDE0OjQ0OjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3BsaXQgY2FwcyBpbiBkaWZmZXJlbnQgY2F0ZWdvcmllcwoJICBUaGlzIGlzIG5lZWQgdG8gY29ycmVjdGx5IGV4cG9zZSBjYXBhYmlsaXRpZXMgb24gc3BlY2lhbGl6ZWQgZGV2aWNlcwoJICBsaWtlIGRlY29kZXJzIGFuZCBlbmNvZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxNDoxNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIFRPQyBjaGFwdGVyIGxpc3QKCjIwMTQtMDEtMTAgMDg6NTI6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIG9ic29sZXRlIHdyaXRlLWR1bW15LWFuZC1vdmVyd3JpdGUtb24tZW9zIGNvZGUKCSAgVGhlIG5lZWQgZm9yIHJld3JpdGluZyBhcHBhcmVudGx5IGlzIG9ic29sZXRlIDAuMTAgbGVmdG92ZXIuCgkgIFdlIG5vdyBoYXZlIGNhcHMgZm9yIHN1YnRpdGxlcyB3aGVuIHdlIGNyZWF0ZSB0aGUgaGVhZGVycywKCSAgc28gd2UgYWx3YXlzIHdyaXRlIHRoZSBjb3JyZWN0IGRhdGEgaW4gdGhlIGZpcnN0IHBsYWNlLgoKMjAxNC0wMS0wOSAyMzo1NToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IENJRCAxMTUxNjgwCgoyMDE0LTAxLTA5IDE4OjI1OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHdyaXRlIHN1YnRpdGxlIGNvZGVjIElEIGFuZCBkYXRhIGF0IHN0YXJ0IHdoZW4ga25vd24KCSAgVGhpcyBhdm9pZHMgaXNzdWVzIHdpdGggd3JpdGluZyBkdW1teSBkYXRhIGZpcnN0LCB0aGVuIGhhdmluZwoJICB0byBjb21lIGJhY2sgYW5kIHdyaXRlIGNvcnJlY3QgZGF0YSBsYXRlci4gRG9pbmcgc28gcHJldmVudHMKCSAgdGhlIG11eGVkIHN0cmVhbSBmcm9tIGJlaW5nIGFjdHVhbGx5IHN0cmVhbWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIxMzQKCjIwMTQtMDEtMDkgMTc6MzI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogSW5jbHVkZSBBdmFpbGFiaWxpdHlNYWNyb3MuaCBmb3Igb3N4dmlkZW8gY2hlY2sKCSAgT3RoZXJ3aXNlIE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIG1pZ2h0IG5vdCBiZSBkZWZpbmVkCgoyMDE0LTAxLTA5IDExOjU2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogcmVzcGVjdCB0aGUgSERMUiBib3ggc3RyaW5nIGZvcm1hdCBmb3IgbW92IGFuZCBpc29tZWRpYQoJICBNb3Ygc3BlYyBzYXlzIGl0IHVzZXMgYSBwYXNjYWwgc3R5bGUgc3RyaW5nLCB3aGlsZSBpc29tZWRpYSB1c2VzCgkgIGEgbnVsbCB0ZXJtaW5hdGVkIG9uZS4gU3RvcmUgdGhlIGN1cnJlbnQgYXRvbXMgZmxhdm9yIGludG8gdGhlIEhETFIKCSAgdG8gYmUgYWJsZSB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5ODIKCjIwMTQtMDEtMDggMTE6Mjg6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBSZXZlcnQgIm1hdHJvc2thbXV4OiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBmb3IgY29udGFpbmVyIHRpbWVzdGFtcHMsIG5vdCBidWZmZXIgdGltZXN0YW1wcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiM2FhODc1NWZlMDc2MzlmMjJlNDEwNGY0OTMyZDc2OWQ2YzkwNzVhLgoJICBXZSBhcmUgYWxyZWFkeSB1c2luZyB0aGUgcnVubmluZy10aW1lIGJlY2F1c2UgdGhleSB3ZXJlIHBsYWNlZCBvbiB0aGUKCSAgYnVmZmVycyB3aXRoIGdzdF9jb2xsZWN0X3BhZHNfY2xpcF9ydW5uaW5nX3RpbWUoKS4gQXJndWFibHkgaXQgd291bGQgYmUKCSAgYmV0dGVyIHRvIG5vdCBtb2RpZnkgdGhlIGluY29tbWluZyBidWZmZXJzIGJ1dCBjb2xsZWN0cGFkcyBzZWVtcyB0byB3YW50CgkgIHRvIHVzZSBhYnNvbHV0ZSB0aW1lc3RhbXBzIGZyb20gdGhlIGJ1ZmZlcnMgZm9yIGZpbmRpbmcgdGhlIGJlc3QgYnVmZmVyCgkgICh0aGlzIGNhbiBiZSBjaGFuZ2VkIHdpdGggYSBjdXN0b20gY29tcGFyZSBmdW5jdGlvbi4uKS4KCjIwMTQtMDEtMDggMTA6NDE6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEFDX0NPTVBJTEVfSUZFTFNFIHVzYWdlCgoyMDE0LTAxLTA4IDEwOjMxOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3h2aWRlb3Npbms6IEltcHJvdmUgY29uZmlndXJlIGNoZWNrIGZvciBPU1ggPj0gMTAuNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDE0LTAxLTA3IDEyOjEzOjUxIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSB1bnVzZWQgbGlzdCBvZiBkZWNvZGVycwoJICByZW1vdmUgbGlzdCBvZiBkZWNvZGVycywgd2hpY2ggYXJlIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgbGlzdCBvZiBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTkzOAoKMjAxNC0wMS0wOCAwOTo0Njo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEVycm9yIG91dCBpZiBBRFBDTSBjYXBzIGRvbid0IGNvbnRhaW4gdGhlIGxheW91dCBmaWVsZAoKMjAxNC0wMS0wMyAxNToyNToyMyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgZzcyNiBBRFBDTQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTk1CgoyMDE0LTAxLTA3IDE1OjA0OjAyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIG5ldyBtZXRob2QgdG8gZ2V0IG1lZGlhLXR5cGUKCSAgVXNlIHRoZSBuZXcgbWV0aG9kIHRvIGdldCB0aGUgbWVkaWEgdHlwZSBvZiBhIHRyYW5zcG9ydC4KCjIwMTQtMDEtMDYgMjE6MTI6MTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc3BsaXQgdGhlIHRlc3QKCSAgVGhpcyB3YXkgb25lIGZhaWx1cmUgd29uJ3Qgc2hhZG93IHRoZSBvdGhlciB0ZXN0IGFuZCBhbHNvIGlmIG9uZSBmYWlscyB3ZSBnZXQKCSAgYmV0dGVyIGRpc2dub3N0aWNzIHRocm91Z2ggdGhlIHRlc3QtbmFtZS4KCjIwMTQtMDEtMDYgMTQ6NTQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNiAxNDo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA2IDEzOjM2OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZW1vdmUgaWZkZWYnZWQgY29kZQoJICBXZSBkbyBoYXZlIGFkdGwgYW5kIGN1ZSBwYXJzZSBhcyBwYXJ0IG9mIHRvYyBoYW5kbGluZyBhbHJlZGF5LiBUaGUgZm10IGNvZGUgaXMgYSBsZWZ0IG92ZXIgZnJvbSA8MC4xMCB0aW1lcy4KCjIwMTQtMDEtMDYgMTM6MzI6NTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmlkZW11eCwgd2F2ZXBhcnNlOiBtb3JlIGxvZ2dpbmcgZm9yIHVuaGFuZGxlZCBjaHVua3MKCSAgQWx3YXlzIHByaW50IGEgd2FybmluZyB3aXRoIHRoZSB0YWcgYW5kIGlmIHBvc3NpYmxlIGRvIGEgbWVtZHVtcC4KCjIwMTQtMDEtMDUgMjI6NDc6NDIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBleHBvc2UgJ3N0cm4nIC0gc3RyZWFtIG5hbWUgLSBhcyB0aXRsZSB0YWcKCjIwMTQtMDEtMDUgMjI6NDE6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwYXJzZSBmdWppIHN0cmQKCSAgV2UgY2FuIGdldCBtYWtlciwgbW9kZWwgYW5kIGNhcHR1cmUgZGF0ZSBmcm9tIHRoaXMgY2h1bmsuCgkgIEZpeGVzICM2MzYxNDMKCjIwMTQtMDEtMDUgMjE6NDY6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiAuLi4gYW5kIHVzZSB0aGUgbG9jYWwgYXBpIGJvdGggdGltZXMKCjIwMTQtMDEtMDUgMjE6Mzg6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3B5IHRoZSByaWZmIGFwaSBmb3IgbmNkdCBpbnRvIHRoZSBlbGVtZW50CgkgIFRoaXMgY2h1bmsgaXMgYXZpIHNwZWNpZmljLCBubyBuZWVkIHRvIGV4cG9zZSB0aGlzIGFzIHB1YmxpYyBhcGkuCgoyMDE0LTAxLTA1IDEwOjI4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIG1pc3Npbmcgc2VtaWNvbG9uIGZyb20gbGFzdCBjb21taXQKCjIwMTQtMDEtMDUgMTA6MjI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBmb3IgY29udGFpbmVyIHRpbWVzdGFtcHMsIG5vdCBidWZmZXIgdGltZXN0YW1wcwoJICBCdWZmZXIgdGltZXN0YW1wcyBoYXZlIG5vIHJlYWwgbWVhbmluZyBoZXJlLCBhbmQgZm9yIHNlbGVjdGluZyB0aGUgbmV4dAoJICBidWZmZXIgd2UgYWxyZWFkeSB1c2UgdGhlIHJ1bm5pbmcgdGltZSBhbnl3YXkuCgoyMDE0LTAxLTA0IDIxOjM0OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHVzZSBuZXcgcmlmZiBhcGkgdG8gZXh0cmFjdCBuaWtvbiBtZXRhZGF0YQoJICBGaXhlcyAjNjM2MTQzCgoyMDEzLTExLTAxIDE2OjQxOjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgIHJ0cHJ0eHNlbmQvcnRwcnR4cmVjZWl2ZTogZ2VuZXJhdGUgZ3RrIGRvYwoKMjAxMy0xMi0wMiAxMToyNjowOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0L2NoZWNrOiBWZXJpZnkgcnRwcnR4c2VuZDo6c3NyYy1tYXAgcHJvcGVydHkgd29ya3MgYXMgZXhwZWN0ZWQKCjIwMTMtMTEtMjkgMTk6MzU6NDQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICBydHBydHhyZWNlaXZlOiBtb2RpZnkgdG8gdXNlIGEgcGF5bG9hZC10eXBlIG1hcCBsaWtlIHJ0cHJ0eHNlbmQKCjIwMTMtMTEtMjkgMTk6NTg6MjYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGRvIG5vdCBrZWVwIGhpc3Rvcnkgb2YgcGFja2V0cyB3aXRoIGFuIHVua25vd24gcGF5bG9hZCB0eXBlCgkgIFRoaXMgYWxsb3dzIHRvIGRpc2FibGUgcmV0cmFuc21pc3Npb24gcGVyIHBheWxvYWQgdHlwZSBieSBub3QgcHV0dGluZwoJICBhIGNlcnRhaW4gcGF5bG9hZCB0eXBlIGluIHRoZSBtYXAuCgoyMDE0LTAxLTAyIDE1OjE4OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBydHBydHhzZW5kOiBBbGxvdyBTU1JDLW11bHRpcGxleGluZyBhbmQgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcyBpbiB0aGUgb3JpZ2luYWwgc3RyZWFtCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYwoKMjAxMy0xMS0yNSAxNTowMDo0NSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQWRkIGFuIHJ0eC1zc3JjIHByb3BlcnR5IHRvIGFsbG93IGV4dGVybmFsIGNvbnRyb2wgb2YgdGhlIHNzcmMKCSAgVGhpcyBpcyB1c2VmdWwgd2hlbiBvbmUgbmVlZHMgdG8ga25vdyB0aGUgU1NSQyBiZWZvcmVoYW5kcywgc28gdGhhdCBpdCBjYW4KCSAgYmUgdXNlZCBmb3IgU1JUUCBmb3IgZXhhbXBsZS4KCjIwMTMtMTEtMTMgMTU6MTE6MzUgLTA1MDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBleGFtcGxlczogcnRwOiBBZGQgZW5kLXRvLWVuZCBydHBiaW4gZXhhbXBsZSB3aXRoIFJUWCBlbGVtZW50cwoJICBUaGlzIGV4YW1wbGUgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgcnRwYmluIHdpdGggcmV0cmFuc21pc3Npb24gKHJ0eCkKCSAgZWxlbWVudHMgc2V0IGluIHRoZSBwbGFjZSBvZiBydHBiaW4ncyAiYXV4IiBlbGVtZW50cyBpbiBvcmRlciB0bwoJICBlbmFibGUgUlRQIHJldHJhbnNtaXNzaW9uIGFjY29yZGluZyB0byB0aGUgcnVsZXMgb2YgUkZDNDU4OC4KCjIwMTMtMTEtMDUgMTc6MzU6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBhdXhpbGlhcnkudHh0OgoJICBkb2M6IGFkZCBkZXNpZ24tcnRwYXV4aWxpYXJ5LnR4dCB0byBkZXNjcmliZSBob3cgcnRwYmluIGRlYWxzIHdpdGggYXV4aWxpYXJ5IGVsZW1lbnRzCgoyMDE0LTAxLTAyIDE0OjQ4OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWxzbyBwdXNoIEVPUyBldmVudCB0byBSVENQIHNyY3BhZAoKMjAxNC0wMS0wMiAxNDo0NjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBwbGFjZSBTU1JDIGluIFJldHJhbnNtaXNzaW9uIGV2ZW50CgoyMDEzLTExLTAxIDE2OjU3OjE1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBhdXg6OnRlc3Rfc2ltcGxlX3J0cGJpbl9hdXgKCSAgSXQgc2hvd3MgaG93IHRvIHVzZSAic2V0LWF1eC1yZWNlaXZlIiBhbmQgInNldC1hdXgtc2VuZCIKCSAgcHJvcGVydGllcyBvZiBydHBiaW4gdG8gc2V0IHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUKCSAgQnVpbGQgMiBwaXBlbGluZXMsIG9uZSBmb3IgcnRwYmluIGFzIGEgc2VuZGVyIGFuZCBvbmUgZm9yCgkgIHJ0b2JpbiBhcyBhIHJlY2VpdmUuIFRoZW4gdHJhbnNtaXQgYW4gYXVkaW8gc3RyZWFtLgoJICBJdCBhbHNvIGRyb3BzIHNvbWUgcGFja2V0cyB0byBhY3RpdmF0ZSByZXN0cmFuc21pc3Npb24gYW5kCgkgIGNoZWNrIHRoZXkgYXJlIGFjdHVhbGx5IHJldHJhbnNtaXRlZC4KCjIwMTMtMTEtMDEgMTc6MDk6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwY29sbGlzaW9uOjp0ZXN0X3J0eF9zc3JjX2NvbGxpc2lvbiB1bml0IHRlc3QKCSAgY2hlY2sgdGhhdCBydHhydHBzZW5kIGNoYW5nZXMgaXRzIHJldHJhbnNtaXNzaW9uIHNzcmMgd2hlbgoJICBjb2xsaXNpb24gaGFwcGVucwoKMjAxMy0xMS0wNiAxMjozNDoxMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb24KCSAgVGhpcyB1bml0IHRlc3QgdmVyaWZpZXMgdGhhdCByZXRyYW5zbWl0dGVkIHJ0cCBwYWNrZXRzIGNvbWluZyBvdXQKCSAgb2YgcnRwcnR4cmVjZWl2ZSBhcmUgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsIG9uZXMuCgoyMDEzLTExLTA1IDA5OjMzOjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiB1c2UgYSByZWFsaXN0aWMgbGltaXQgZm9yIHRoZSB2YWx1ZSBvZiBtYXgtc2l6ZS1wYWNrZXRzCgkgIEdfTUFYSU5UMTYgaXMgY2hvc2VuIGJlY2F1c2UgaWYgdGhlIHF1ZXVlIGNvbnRhaW5zIG1vcmUgdGhhbgoJICBHX01BWElOVDE2IHBhY2tldHMsIHNlcW51bSBjb21wYXJpc29uIHdpbGwgbm90IHdvcmsgcHJvcGVybHkuCgoyMDEzLTExLTA0IDIwOjA1OjAzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSBhIEdTZXF1ZW5jZSB0byBpbXBsZW1lbnQgdGhlIGJ1ZmZlciBxdWV1ZQoJICBUaGlzIGhhcyB0aGUgYWR2YW50YWdlIHRoYXQgc2VhcmNoaW5nIHRoZSBxdWV1ZSB0byBmaW5kIHRoZQoJICBidWZmZXIgd2l0aCB0aGUgcmVxdWVzdGVkIHNlcW51bSBpcyBkb25lIHdpdGggYmluYXJ5IHNlYXJjaC4KCjIwMTMtMTEtMDQgMTg6Mzg6MjQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eHNlbmQ6IHJldHJhbnNtaXQgcGFja2V0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgcnR4IHJlcXVlc3RzCgoyMDEzLTExLTAyIDE5OjU2OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBBZGQgdW5pdCB0ZXN0IGZvciBydHhzZW5kJ3MgbWF4X3NpemVfdGltZSBwcm9wZXJ0eQoKMjAxMy0xMC0yOSAxODoyNzowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBIYW5kbGUgdGhlIG1heF9zaXplX3RpbWUgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiBidWZmZXJzCgkgIHRvIGtlZXAgaW4gdGhlIHJldHJhbnNtaXNzaW9uIHF1ZXVlIGV4cHJlc3NlZCBhcyB0aW1lIChtcykKCSAgaW5zdGVhZCBvZiBidWZmZXIgY291bnQgKHdoaWNoIGlzIHRoZSBtYXhfc2l6ZV9idWZmZXJzIHByb3BlcnR5KS4KCjIwMTMtMTEtMDIgMTU6MjE6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGtlZXAgaW1wb3J0YW50IGJ1ZmZlciBpbmZvcm1hdGlvbiBpbiBhIHByaXZhdGUgc3RydWN0dXJlCgkgIFRoaXMgaXMgdG8gYXZvaWQgbWFwcGluZyBhIGJ1ZmZlciBldmVyeSB0aW1lIHdlIG5lZWQgdG8gcmVhZCBhIHNlcW51bQoJICBvciBhIHRpbWVzdGFtcC4KCjIwMTMtMTEtMDEgMTE6NTg6NDcgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IEFkZCBydHBydHg6OnRlc3RfcnR4c2VuZGVyX3BhY2tldF9yZXRlbnRpb24KCSAgVGhpcyB1bml0IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgcnR4c2VuZCBlbGVtZW50IGNvcnJlY3RseSBtYWludGFpbnMKCSAgYSBidWZmZXIgb2YgYWxyZWFkeSB0cmFuc21pdHRlZCBydHAgcGFja2V0cyBhbmQgdGhhdCBpdCBjYW4KCSAgcmUtdHJhbnNtaXQgYWxsIG9mIHRoZW0gY29ycmVjdGx5IG9uIGRlbWFuZC4gSXQgYWxzbyB2ZXJpZmllcwoJICB0aGF0IHRoZSBsaW1pdCBvZiB0aGlzIGJ1ZmZlciAobWF4LXNpemUtcGFja2V0cyBwcm9wZXJ0eSkgaXMgcmVzcGVjdGVkLgoKMjAxMy0xMS0wMSAxNjoyMjoxMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfZHJvcF9tdWx0aXBsZV9zZW5kZXIgdW5pdCB0ZXN0CgkgIFNldmVyYWwgc2VuZGVycyAvIG9uZSByZWNlaXZlcgoJICBTaW1pbGFyIHRoYW4gdGVzdF9kcm9wX29uZV9zZW5kZXIgYnV0IHdpdGggbXVsdGlwbGUgc2VuZGVycwoJICBtaXhlZCB0aHJvdWdoIHRoZSBmdW5uZWwgZWxlbWVudC4KCSAgSXQgZHJvcHMgc29tZSBwYWNrZXRzIGFuZCBjaGVja3MgdGhhdCB0aGV5IGFyZSByZXRyYW5zbWl0ZWQKCSAgY29ycmVjdGx5LgoKMjAxMy0xMS0wMSAxNjoyMTowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfZHJvcF9vbmVfc2VuZGVyIHVuaXQgdGVzdAoJICBUZXN0IGZvciBvbmUgc2VuZGVyIC8gb25lIHJlY2VpdmVyCgkgIEJ1aWxkIHRoZSBwaXBlbGluZQoJICB2aWRlb3Rlc3RzcmMgISBydHB2cmF3cGF5ICEgcnRwcnR4c2VuZCAhIHJ0cHJ0eHJlY2VpdmUgISBmYWtlc2luawoJICBhbmQgZHJvcCBzb21lIGJ1ZmZlcnMgYmV0d2VlbiBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlCgkgIFRoZW4gaXQgY2hlY2tzIHRoYXQgZXZlcnkgZHJvcHBlZCBwYWNrZXQgaGFzIGJlZW4gcmUtc2VudC4KCSAgSXQgYWxzbyBjaGVja3MgdGhhdCBub3QgdG9vIG11Y2ggcmVxdWVzdHMgaGFzIGJlZW4gc2VudC4KCjIwMTMtMTEtMDEgMTY6MTc6NTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxCgkgIGFkZCBzaW1wbGUgdW5pdCB0ZXN0IHRoYXQgbWFudWFsbHkgcHVzaCBidWZmZXJzCgkgIGluIHJ0cHJ0eHNlbmQgY29ubmVjdGVkIHRvIHJ0cHJ0eHJlY2VpdmUuCgkgIERyb3BzIHNvbWUgYnVmZmVycyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIHJldHJhbnNtaXN0ZWQuCgoyMDEzLTExLTAxIDE1OjUyOjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwbWFuYWdlcjogYWRkIG5ldyBydHBydHhzZW5kIC8gcnRwcnR4cmVjZWl2ZSBlbGVtZW50cwoJICBUaGUgcHVycG9zZSBvZiB0aGUgc2VuZGVyIFJUWCBvYmplY3QgaXMgdG8ga2VlcCBhIGhpc3RvcnkKCSAgb2YgUlRQIHBhY2tldHMgdXAgdG8gYSBjb25maWd1cmFibGUgbGltaXQgKGluIHRpbWUpLiBJdCB3aWxsCgkgIGxpc3RlbiBmb3IgY3VzdG9tIHJldHJhbnNtaXNzaW9uIGV2ZW50cyBmcm9tIGRvd25zdHJlYW0uIFdoZW4KCSAgaXQgcmVjZWl2ZXMgYSByZXF1ZXN0IGZvciByZXRyYW5zbWlzc2lvbiwgaXQgd2lsbCBsb29rIHVwIHRoZQoJICByZXF1ZXN0ZWQgc2VxbnVtIGluIGl0cyBsaXN0IG9mIHN0b3JlZCBwYWNrZXRzLiBJZiB0aGUgcGFja2V0CgkgIGlzIGF2YWlsYWJsZSwgaXQgd2lsbCBjcmVhdGUgYSBSVFggcGFja2V0IGFjY29yZGluZyB0byBSRkMgNDU4OAoJICBhbmQgc2VuZCB0aGlzIGFzIGFuIGF1eGlsaWFyeSBzdHJlYW0uCgkgIFRoZSByZWNlaXZlciB3aWxsIGxpc3RlbiB0byB0aGUgY3VzdG9tIHJldHJhbnNtaXNzaW9uIGV2ZW50cwoJICBmcm9tIHRoZSBkb3duc3RyZWFtIGppdHRlcmJ1ZmZlciBhbmQgd2lsbCByZW1lbWJlciB0aGUgU1NSQzEKCSAgb2YgdGhlIHN0cmVhbSBhbmQgc2VxbnVtIHRoYXQgd2FzIHJlcXVlc3RlZC4gV2hlbiBpdCBzZWVzIGEKCSAgcGFja2V0IHdpdGggb25lIG9mIHRoZSBzdG9yZWQgc2VxbnVtLCBpdCBhc3NvY2lhdGVzIHRoZSBTU1JDMgoJICBvZiB0aGUgc3RyZWFtIHdpdGggdGhlIFNTUkMxIG9mIHRoZSBtYXN0ZXIgc3RyZWFtLiBGcm9tIHRoZW4KCSAgb24gaXQga25vd3MgdGhhdCBTU1JDMiBpcyB0aGUgcmV0cmFuc21pc3Npb24gc3RyZWFtIG9mIFNTUkMxLgoJICBUaGlzIGFsZ29yaXRobSBpcyBzdGF0ZWQgaW4gUkZDIDQ1ODguIEZvciB0aGlzIGFsZ29yaXRobSB0bwoJICB3b3JrLCBSRkM0NTg4IGFsc28gc3RhdGVzIHRoYXQgbm8gdHdvIHBlbmRpbmcgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgY2FuIGV4aXN0IGZvciB0aGUgc2FtZSBzZXFudW0gYW5kIGRpZmZlcmVudCBTU1JDcyBvcgoJICBlbHNlIGl0IHdvdWxkIGJlIGltcG9zc2libGUgdG8gYXNzb2NpYXRlIHRoZSByZXRyYW5zbWlzc2lvbiB3aXRoCgkgIHRoZSBvcmlnaW5hbCByZXF1ZXN0ZXIgU1NSQy4KCSAgV2hlbiB0aGUgUlRYIHJlY2VpdmVyIGhhcyBhc3NvY2lhdGVkIHRoZSByZXRyYW5zbWlzc2lvbiBwYWNrZXRzLAoJICBpdCBjYW4gZGVwYXlsb2FkIGFuZCBmb3J3YXJkIHRoZW0gdG8gdGhlIHNvdXJjZSBwYWQgb2YgdGhlIGVsZW1lbnQuCgkgIFJUWCBpcyBTU1JDLW11bHRpcGxleGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODQKCjIwMTMtMTEtMDUgMTY6MzY6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHByZXRyYW5zbWlzc2lvbi50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbiBmb3IgcnRwIHJldHJhbnNtaXNzaW9uCgkgIERlc2NyaWJlIGhvdyBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlIGdlbmVyYWxseSB3b3JrCgkgIGJ1dCBhbHNvIGhvdyB0aGUgYXNzb2NpYXRpb24gYWxnb3JpdGhtIGlzIGltcGxlbWVudGVkLgoKMjAxNC0wMS0wMiAyMDoyMzowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogdXNlIHN0YXR1cyBjb2RlIG1hY3JvIGluc3RlYWQgb2YgNDA3CgkgIFJlc3Qgb2YgdGhlIGNvZGUgaXMgdXNpbmcgdGhlIF9QUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRAoJICBtYWNybyB0b28uIEVhc2llciB0byB1bmRlcnN0YW5kIGlmIHlvdSBkb24ndCByZWNhbGwgSFRUUAoJICBlcnJvciBjb2RlcyBieSBoZWFydC4KCjIwMTMtMTItMzEgMjE6MzE6NDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogY2hhbmdlIGF1ZGlvX2Zvcm1hdCBmaWVsZCB0byBmb3JtYXQKCSAgVGhpcyBlbGVtZW50IGFuZCB0aGUgdW5kZXJseWluZyBsaWJzaG91dDIgbGlicmFyeQoJICBjYW4gaGFuZGxlIHZpZGVvIG1lZGlhIGZpbGVzIHRvby4gVGhlIGNvZGUgYWxyZWFkeQoJICBoYW5kbGVzIHZpZGVvL3dlYm0gc28gdGhlIG5hbWUgZ2V0cyBjb25mdXNpbmcuIEFsc28KCSAgYWRkIGFuZCB1c2UgREVGQVVMVF9GT1JNQVQgbWFjcm8gSW5zdGVhZCBvZiBoYXJkd2lyaW5nCgkgIFNIT1VUX0ZPUk1BVF9WT1JCSVMgYXQgaW5pdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTMxIDIwOjA5OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGNsYXJpZnkgbWVhbmluZyBvZiB0aGUgVVJMIHByb3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0yNyAxMjoyNzozMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogZG9jcywgYWRkIGEgc2FtcGxlIHBpcGVsaW5lCgkgIEFuZCBmaW5pc2ggYWRkaW5nIHNob3V0MnNlbmQgdG8gdGhlIGRvY3Mgd2hpbGUgYXQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0zMSAxNTowMDoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IHJlbW92ZSBzcHVyaW91cyBAc2VlX2Fsc28KCjIwMTMtMTItMDYgMTc6MDg6NTQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHN1cHBvcnQgYW55IHZpZGVvIGZvcm1hdHMgYW5kIGFueSBjYXBzIGZlYXR1cmVzIGlmIGRlaW50ZXJsYWNlIG1vZGUgYWxsb3dzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2MzYKCjIwMTMtMTItMzEgMTM6MzE6NTIgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogSGFuZGxlIHY0bDJfaW9jdGwoKSBlcnJvcnMgZXZlbiBpbiBlcnJvciBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjY4CgoyMDE0LTAxLTAxIDEyOjExOjQzIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogdW5pZmRlZiAtRFJVTl9OU19BUFBfVEhSRUFECgoyMDE0LTAxLTAxIDEyOjEwOjAxIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlbzogQXNzdW1lIFNESyBhbmQgZGVwbG95bWVudCB0YXJnZXQgYXJlIGF0IGxlYXN0IFNub3cgTGVvcGFyZAoKMjAxNC0wMS0wMSAxMjoyMzo1MCAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERpc2FibGUgb3N4dmlkZW8gb24gTGVvcGFyZCBhbmQgZWFybGllcgoJICBUaGlzIGFsc28gbW92ZXMgdGhlICJvdGhlciBwbGF0Zm9ybXMiIGNoZWNrIGluIE9TIFggdmlkZW8gdG8gYmVmb3JlIHRoZQoJICB2YXJpYWJsZSBpcyByZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTMtMTItMzEgMTQ6NTc6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgQVVYIHJlY2VpdmVyIHVuaXQgdGVzdAoKMjAxMy0xMi0zMSAxMzoyMDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGltcHJvdmUgcnRwYmluIHRlc3QKCjIwMTMtMTItMzEgMTM6MTY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHNvbWUgZG9jcyBhYm91dCBBVVggZWxlbWVudHMKCjIwMTMtMTItMzEgMTM6MDE6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgQVVYIHNlbmRlciB1bml0IHRlc3QKCjIwMTMtMTItMzEgMTI6MzE6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBBVVggc2VuZGVyIGFuZCByZWNlaXZlcgoJICBBVVggZWxlbWVudHMgYXJlIGVsZW1lbnRzIHRoYXQgY2FuIGJlIGluc2VydGVkIGludG8gdGhlIHJ0cGJpbgoJICBwaXBlbGluZSByaWdodCBiZWZvcmUgb3IgYWZ0ZXIgMSBvciBtb3JlIHNlc3Npb24gZWxlbWVudHMuCgkgIFRoZSBBVVggZWxlbWVudHMgYXJlIGVzc2VudGlhbCBmb3IgaW1wbGVtZW50aW5nIGZ1bmN0aW9uYWxpdHkgc3VjaAoJICBhcyBlcnJvciBjb3JyZWN0aW9uIChGRUMpIGFuZCByZXRyYW5zbWlzc2lvbiAoUlRYKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NwoKMjAxMy0xMi0zMSAxMjoyMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBkZWNvZGVyIHRlc3QKCjIwMTMtMTItMzAgMTc6MzY6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogbWFrZSByZXF1ZXN0X2VsZW1lbnQgbWV0aG9kIGludGVybmFsbHkKCSAgV2UgY2FuIHVzZSB0aGUgc2FtZSBtZXRob2QgdG8gY3JlYXRlIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMsIHRoZXkKCSAgYXJlIGp1c3QgaW50ZXJuYWwgZWxlbWVudHMgdGhhdCB3ZSBjcmVhdGUuCgoyMDEzLTEyLTMxIDEwOjI1OjI4ICswMTAwICBTdMOpcGhhbmUgQ2VydmVhdSA8c2NlcnZlYXVAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTa2lwIGlkMyB0YWcKCSAgU2tpcCBpZDMgdGFnIGR1cmluZyB3YXYgcGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDEKCjIwMTMtMTItMzEgMTA6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeDogTWFrZSBPU1ggdmVyc2lvbiBjaGVja3MgbW9yZSBjb25zaXN0ZW50CgkgIEFuZCBlc3BlY2lhbGx5IGFsc28gY29uc2lkZXIgdXBkYXRlIHZlcnNpb25zLCBlLmcuIDEwLjUgd2l0aCB1cGRhdGVzCgkgIHdpbGwgYmUgMTA1MSBvciBzaW1pbGFyIGFuZCB0aHVzIGJpZ2dlciB0aGFuIE1BQ19PU19YX1ZFUlNJT05fMTBfNSBidXQKCSAgc3RpbGwgd29uJ3QgaGF2ZSB0aGUgQVBJIHdlIHdhbnQgdG8gdXNlLgoKMjAxMy0xMi0zMSAxMDowNzoyMiArMDEwMCAgSmVyZW15IEh1ZGRsZXN0b24gPGplcmVteWh1QGZyZWVkZXNrdG9wLm9yZz4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQgb24gdXBkYXRlZCBPUyBYIExlb3BhcmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxMy0xMi0zMCAxNzoyMzoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIG1pc3NpbmcgYnJlYWsKCSAgSSBndWVzcyBuby1vbmUgbm90aWNlZCB3ZSBubyBsb25nZXIgY291bGQgbXV4IFdNVjMgLi4uCgkgIENPVkVSSVRZIENJRCAxMTM5NzU5CgoyMDEzLTEyLTMwIDE3OjIwOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIENPVkVSSVRZIENJRCAxMTM5NzYyCgoyMDEzLTEyLTMwIDE3OjAwOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaW50ZXJuYWwtc3NyYyBpcyBubyBsb25nZXIgZGVwcmVjYXRlZAoKMjAxMy0xMi0zMCAxNjo1OToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgU2luY2UgdGFncwoKMjAxMy0xMi0zMCAxNjo1MjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIHNpZ25hbCBmb3IgbmV3IGppdHRlcmJ1ZmZlcgoJICBFbWl0IGEgc2lnbmFsIHdoZW4gYSBuZXcgaml0dGVyYnVmZmVyIGlzIGNyZWF0ZWQgc28gdGhhdCB0aGUgYXBwIGNhbgoJICBoYXZlIGEgY2hhbmNlIHRvIGNvbmZpZ3VyZSBpdC4KCjIwMTMtMTItMzAgMTY6Mjg6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGhhbmRsZSBtdWx0aXBsZSBlbmNvZGVyIGluc3RhbmNlcwoJICBLZWVwIHRyYWNrIG9mIGVsZW1lbnRzIHRoYXQgYXJlIGFkZGVkIHRvIG11bHRpcGxlIHNlc3Npb25zIGFuZCBtYWtlIHN1cmUKCSAgd2Ugb25seSBhZGQgdGhlbSB0byB0aGUgcnRwYmluIG9uY2UgYW5kIHRoYXQgd2UgY2xlYW4gdGhlbSB3aGVuIG5vCgkgIHNlc3Npb24gcmVmZXJzIHRvIHRoZW0gYW55bW9yZS4KCjIwMTMtMTItMzAgMTU6MTY6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBlbmNvZGVyIGVsZW1lbnQKCjIwMTMtMTItMzAgMTU6MTU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IG1lbW9yeSBsZWFrcwoKMjAxMy0xMi0zMCAxNTowMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGZpeCBsZWFrCgoyMDEzLTEyLTMwIDE1OjAwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGV4cGVjdCB0aGUgcGFkcyBvbiB0aGUgZW5jb2RlcnMKCSAgRG9uJ3QgdXNlIHJlcXVlc3QgcGFkcyBmb3IgdGhlIGVuY29kZXIgZWxlbWVudHMsIHRoZSBzaWduYWwgaGFuZGxlcgoJICBzaG91bGQgcmVxdWVzdCB0aGUgcGFkcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGF2YWlsYWJsZSB3aXRoIHRoZSByaWdodAoJICBuYW1lLgoKMjAxMy0xMi0zMCAxNDo1NjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogcmVxdWVzdC1ydHAtZW5jb2RlciBhcmUgbm8gYWN0aW9uIHNpZ25hbHMKCSAgVGhlIHJlcXVlc3QtcnRwLWVuY29kZXIgc2lnbmFscyBhcmUgbm90IGFjdGlvbiBzaWduYWxzIHNvIG1hcmsgdGhlbQoJICBjb3JyZWN0bHkgYW5kIHVzZSBhbiBhY2N1bXVsYXRvciB0byBjb2xsZWN0IHRoZSByZXN1bHQgdmFsdWUuCgoyMDEzLTEyLTMwIDE0OjM2OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBlbWl0IG1pZGktYmFzZS1ub3RlIHRhZyBmcm9tIGRhdGEgaW4gJ3NtcGwnIGNodW5rCgkgIEFkZCBwYXJzaW5nIG9mIHRoZSAnc21wbCcgY2h1bmsuIFJpZ2h0IG5vdyB3ZSBvbmx5IGdyYWIgdGhlIG1pZGktYmFzZS1ub3RlIGFuZAoJICBlbWl0IGl0IGFzIGEgdGFnLgoKMjAxMy0xMi0yNiAxMjowNToxOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogc3VnZ2VzdCB1cHN0cmVhbSB0byB1c2UgdGhlIG5ldyAiaW50ZXJuYWwtc3NyYyIgYWZ0ZXIgYSBjb2xsaXNpb24KCSAgV2hlbiBhIGNvbGxpc2lvbiBpcyBmb3VuZCBvbiB0aGUgaW50ZXJuYWwgc3NyYywgd2UgaGF2ZSB0byBjaGFuZ2UgaXQuCgkgIElkZWFsbHksIHdlIHdhbnQgYWxzbyB0aGUgcGF5bG9hZGVyIHVwc3RyZWFtIHRvIGZvbGxvdyB0aGlzIGNoYW5nZSBhbmQgdXNlCgkgIHRoZSBuZXcgaW50ZXJuYWwgc3NyYy4gSWRlYWxseSB3ZSB3YW50IHRoaXMgY29uZGl0aW9uIHRvIGJlIGFsd2F5cyBtZXQ6CgkgIGlmIHRoZXJlIGlzIG9uZSBwYXlsb2FkZXIgc2VuZGluZyBvbiB0aGlzIHNlc3Npb24sIGl0cyBzc3JjIHNob3VsZCBtYXRjaCB0aGUKCSAgaW50ZXJuYWwgc3NyYy4KCjIwMTMtMTItMjYgMTE6MDQ6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsbG93IHNldHRpbmcgaW50ZXJuYWwtc3NyYyBhZ2FpbgoKMjAxMy0xMi0zMCAxMzozMTo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogUmVtb3ZlIGRlYWQgY29kZQoJICBzZXQvZ2V0IHByb3BlcnR5IGlzbid0IHVzZWQKCjIwMTMtMTItMzAgMTM6MzA6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwcWNlbHBkZXBheTogUmVtb3ZlIHVuZWVkZWQgdmFyaWFibGUKCjIwMTMtMTItMDUgMTU6NTM6NTIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRwYmluOiBhbGxvdyBkeW5hbWljIFJUUC9SVENQIGVuY29kZXJzL2RlY29kZXJzCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLltjaF06IGZvdXIgbmV3IGFjdGlvbiBzaWduYWxzIGhhdmUgYmVlbgoJICBhZGRlZCAocmVxdWVzdC1ydHAtZW5jb2RlciwgcmVxdWVzdC1ydHAtZGVjb2RlciwgcmVxdWVzdC1ydGNwLWVuY29kZXIKCSAgYW5kIHJlcXVlc3QtcnRjcC1kZWNvZGVyKS4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIHByb3ZpZGUgZW5jb2RlcnMKCSAgb3IgZGVjb2RlcnMgZHluYW1pY2FsbHkuIFRoZSBlbmNvZGVycyBtdXN0IGZvbGxvdyB0aGUgc3J0cGVuYyBBUEkgYW5kCgkgIHRoZSBkZWNvZGVycyB0aGUgc3J0cGRlYyBBUEkuIEhhdmluZyBzZXBhcmF0ZSBzaWduYWxzIGZvciBSVFAgYW5kIFJUQ1AKCSAgYWxsb3dzIHRoZSB1c2VyIHRvIHVzZSBkaWZmZXJlbnQgZW5jb2RlcnMvZGVjb2RlcnMgb3IgcHJvdmlkZSB0aGUgc2FtZQoJICBvbmUgKGUuZy4gdGhhdCB3b3VsZCBiZSB0aGUgY2FzZSBmb3Igc3J0cGVuYykuCgkgIEFsc28sIHJ0cGJpbiBub3cgYWxsb3dzIGFwcGxpY2F0aW9uL3gtc3J0cCBpbiBpdHMgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTkzOAoKMjAxMy0xMi0yNyAxNjo1MTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkeW5hbWljYWxseSByZWNhbGN1bGF0ZSBSVFggcGFyYW1ldGVycwoJICBVc2UgdGhlIHJvdW5kLXRyaXAtdGltZSBhbmQgYXZlcmFnZSBqaXR0ZXIgdG8gZHluYW1pY2FsbHkgY2FsY3VsYXRlIHRoZQoJICByZXRyYW5zbWlzc2lvbiBpbnRlcnZhbCBhbmQgZXhwZWN0ZWQgcGFja2V0IGFycml2YWwgdGltZS4KCSAgQmFzZWQgb24gcGF0Y2hlcyBmcm9tIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MTIKCjIwMTMtMTItMjcgMTY6NTA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogY2FsY3VsYXRlIGF2ZXJhZ2Ugaml0dGVyCgoyMDEzLTEyLTI3IDE2OjQ4OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBSVFQgZnJvbSB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQKCSAgUGxhY2UgdGhlIGVzdGltYXRlZCBSVFQgaW4gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50IGFuZCBsZXQgdGhlIHNlc3Npb24KCSAgbWFuYWdlciB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBoYXJkY29kZWQgdmFsdWUuCgoyMDEzLTEyLTI3IDE1OjU3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHRha2UgbW9yZSBhY2N1cmF0ZSBydW5uaW5nLXRpbWUgZm9yIE5BQ0sKCSAgRG9uJ3QgdXNlIHRoZSBjdXJyZW50IHRpbWUgY2FsY3VsYXRlZCBmcm9tIHRoZSB0bWllb3V0IGxvb3AgZm9yIHdoZW4gd2UKCSAgbGFzdCBzY2hlZHVsZWQgdGhlIE5BQ0sgYmVjYXVzZSBpdCBtaWdodCBiZSB1bnNjaGVkdWxlZCBiZWNhdXNlIG9mIGEgbWF4CgkgIHBhY2tldCBtaXNvcmRlciBhbmQgdGhlbiB3ZSBkb24ndCBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgY3VycmVudCB0aW1lLgoJICBJbnN0ZWFkLCB0YWtlIHRoZSBjdXJyZW50IGVsZW1lbnQgcnVubmluZyB0aW1lIHVzaW5nIHRoZSBjbG9jay4KCjIwMTMtMTItMzAgMTE6MDY6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IFNlbmQgYSBDQVBTIGV2ZW50IGluIHRoZSB1bml0IHRlc3QKCjIwMTMtMTItMjcgMDI6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXByb3ZlIG1zc19tb2RlL2ZyYWdtZW50ZWQgc3BlY2lhbCBoYW5kbGluZwoJICBNYWtlIGl0IGNsZWFyIHdoYXQgc2hvdWxkIGJlIGhhbmRsZWQgcHVyZWx5IGJ5IG1zcyBtb2RlOgoJICAxKSBFeHBvc2UgdGhlIHN0cmVhbXMgb24gdGhlIGZpcnN0IG1vb2YgYXMgdGhlcmUgYXJlIG5vIG1vb3YgYXRvbXMKCSAgMikgUHJvcGVybHkgY2xlYW51cCBzdHJlYW1zIG9uIGZsdXNoZXMKCSAgQWRkIGEgbm90ZSBhYm91dCB0aGUgbWVhbmluZyBvZiB1cHN0cmVhbV9uZXdzZWdtZW50IGFuZCBtc3NfbW9kZQoJICBmb3IgZnV0dXJlIHJlZmVyZW5jZS4KCSAgTWFrZSBhbGwgb3RoZXIgc3BlY2lhbCBmcmFnbWVudCBoYW5kbGluZyBzaGFyZWQgZm9yIGJvdGggZGFzaAoJICBhbmQgbXNzIHN0cmVhbXMuCgoyMDEzLTEyLTEyIDEwOjUwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkcmFpbiB0aGUgYWRhcHRlciBiZWZvcmUgcHVzaGluZyBFT1MKCSAgSW4gYSBmcmFnbWVudGVkIHNjZW5hcmlvLCBxdGRlbXV4IGlzIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUKCSAgYW5kIGl0IGdldHMgYSBmcmFnbWVudGVkIGJ1ZmZlci4gV2hpbGUgcHJvY2Vzc2luZyBpdHMgZGF0YQoJICBkb3duc3RyZWFtIGdldHMgdW5saW5rZWQgKG9yIGEgaW5wdXQtc2VsZWN0b3IgY2hhbmdlcyBpdHMKCSAgYWN0aXZlIHBhZCBhbmQgcmV0dXJucyBub3QtbGlua2VkKS4gUXRkZW11eCBzdG9wcyBwcm9jZXNzaW5nCgkgIHRoaXMgZnJhZ21lbnQgYW5kIHJldHVybnMgbm90LWxpbmtlZCB1cHN0cmVhbSwgbGVhdmluZyB0aGUKCSAgcmVtYWluaW5nIGRhdGEgaW4gaXRzIGFkYXB0ZXIuCgkgIFdoZW4gaXQgZ2V0cyBhbiBFT1MgaXQgc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IGFsbCB0aGUgZGF0YSBpdAoJICBoYWQgcmVjZWl2ZWQgaXMgcHVzaGVkIGJlZm9yZSBwdXNoaW5nIEVPUy4KCjIwMTMtMTItMjYgMjM6MjE6NDcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogZHJvcCBJUCBvbmx5IHJlcXVpcmVtZW50IGZvciBfc2V0X2hvc3QoKQoJICBsaWJzaG91dDIgKHdlIHJlcXVpcmUgPiAyLjAgYXQgY29uZmlnIHRpbWUpIHN1cHBvcnRzCgkgIGJvdGggSVAgYW5kIGhvc3RuYW1lIGZvciBfc2V0X2hvc3QoKS4gRHJvcHBlZCBhbgoJICBvdXRkYXRlZCBGSVhNRSByZWdhcmRpbmcgdGhpcyBsaW1pdGF0aW9uLCBhZGp1c3RlZAoJICBzb21lIGNvbW1lbnRzIGFuZCBjaGFuZ2VkIHRoZSBwYXJhbSBibHVyYiB0byByZWZsZWN0CgkgIHRoaXMgdG9vLgoKMjAxMy0xMi0yNiAyMTo0MzozNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBSZXRhcmdldCBGSVhNRSB0byAyLjAKCjIwMTMtMTItMjYgMTE6MjE6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgYWdncmVnYXRlIGNvbnRyb2wgZm9yIFBMQVkvUEFVU0UvVEVBUkRPV04KCSAgVXNlIHRoZSBhZ2dyZWdhdGUgY29udHJvbCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCByZXF1ZXN0IHVybCB0byBwZXJmb3JtCgkgIFBBVVNFL1BMQVkgYW5kIFRFQVJET1dOLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDAzCgoyMDEzLTEyLTI0IDE0OjQwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBQcm94eSBDQVBTLCBBTExPQ0FUSU9OLCBTQ0hFRFVMSU5HIGFuZCBzcmNwYWQgZXZlbnRzIHByb3Blcmx5CgoyMDEzLTEyLTI0IDAwOjQzOjM5ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkcGNtIG1heCBibG9jayBhbGlnbiBpcyA4MTkyCgoyMDEzLTEyLTIzIDEyOjIzOjI3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cDlkZWM6IFJlcXVpcmUgdnB4ID49IDEuMy4wIGZvciBidWlsZGluZyB2cDlkZWMgYW5kIHZwOWVuYwoJICBQcmV2aW91cyB2ZXJzaW9ucyBkaWQgbm90IGhhdmUgYSBzdGFibGUgYml0c3RyZWFtIGZvciBWUDkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA5ODYKCjIwMTMtMTItMjMgMTU6NDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgY29ycmVjdCBjb2RlYyBpZCBmb3IgQURQQ00vRFZJCgoyMDEzLTEyLTIzIDE1OjQ0OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoZWNrIGZvciB0aGUgY29ycmVjdCBzaXplIG9mIGNvZGVjX2RhdGEgaW4gdGhlIEFDTSBjYXNlCgoyMDEyLTAxLTE0IDE5OjU4OjE3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJhc2ljIGFkcGNtIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDMzOQoKMjAxMy0xMi0yMCAxMTo0NTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSAgcXRkZW11eDogRml4IGNhbGN1YXRpb24gb2YgZGVzY3JpcHRvciBsZW5ndGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDgxMwoKMjAxMy0xMi0yMiAyMjozMzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGJlZGFhMCB0byBkNDhiZWQzCgoyMDEzLTEyLTIyIDIxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBzZXQgZ2V0dGV4dCBkb21haW4gaW4gTWFrZXZhcnMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXRjaCB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTUKCjIwMTMtMTItMTkgMTY6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG9uIHJlY2VpdmUgZXJyb3Igb25seSB1bm1hcCBhbmQgdW5yZWYgYnVmZmVyIGlmIG9uZSB3YXMgYWxsb2NlZCBhbmQgbWFwcGVkCgkgIGNvdmVyaXR5IENJRCAxMTM5ODY2LgoKMjAxMy0xMi0xOSAxMjo0NzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IG1pc2xlYWRpbmcgY29tbWVudAoJICBUaG9zZSBhcmUgbm90IGFsbG9jYXRlZCBvbiB0aGUgc3RhY2suCgoyMDEzLTEyLTE3IDE4OjI4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cHg6IE1hcmsgVlA5IHN1cHBvcnQgYXMgbm9uLWV4cGVyaW1lbnRhbAoJICBUaGVyZSB3YXMgYSBsaWJ2cHggcmVsZWFzZSB3aXRoIFZQOSBzdXBwb3J0IG5vdyBhbmQgdGhlIGJpdHN0cmVhbQoJICBpcyBmcm96ZW4gdG9vLgoKMjAxMy0xMi0xNSAyMTowNDoxMSAtMDgwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgU29tZSBjb21waWxlciB3YXJuaW5nIGZpeGVzIHRvIHNhdGlzZnkgWENvZGUgY29tcGlsZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMwoKMjAxMy0xMi0xNiAxNjoxNzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBTZXQgcGljdHVyZSB0eXBlIGluIHRoZSBBUElDIGZyYW1lcwoKMjAxMy0xMi0xNiAxNjoxNDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBTZXQgaW1hZ2UtZGVzY3JpcHRpb24gZnJvbSB0aGUgaW5mbyBzdHJ1Y3QsIG5vdCB0aGUgY2FwcwoKMjAxMy0xMi0xNiAxMDowMjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHdhdnBhY2twYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MDA6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjU4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEyCgoyMDEzLTEyLTE2IDA5OjU2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQ2OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0MToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFVzZSBwYnV0aWxzIGZ1bmN0aW9uYWxpdHkgdG8gY3JlYXRlIHRoZSBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTMgMTc6MzY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBlcnJvciBtZXNzYWdlIGlmIHRoZSBhcHAgdHJpZXMgdG8gc2V0IHRoZSBpbnRlcm5hbC1zc3JjCgoyMDEzLTEyLTEzIDE2OjA4OjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IGNvdW50IG5hY2tzIHdoZW4gYSBuYWNrIHBhY2tldCBpcyByZWNlaXZlZAoJICBOb3Qgd2hlbiBhbnkgUlRDUCBmZWVkYmFjayBwYWNrZXQgaXMuCgoyMDEzLTEyLTEyIDIzOjIyOjQxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBJbml0aWFsaXplIHNlZ21lbnQgaW4gcnRwY29sbGlzaW9uIHRlc3QKCjIwMTMtMTItMTMgMTU6NTc6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFByb2Nlc3MgUFNGQiBGSVIgcmVxdWVzdHMgd2hpY2ggbGFjayB0aGUgbWVkaWEgc3NyYwoJICBBY2NvcmRpbmcgdG8gUkZDIDUxMDQgc2VjdGlvbiA0LjMuMS4yLCBSVENQIFBTRkIgRklSIG1lc3NhZ2UgU0hBTEwKCSAgaGF2ZSBhIG1lZGlhX3NzcmMgZmllbGQgc2V0IHRvIDAuIFRoZSBhY3R1YWwgbWVkaWEgc3NyYyBpcyBpbiB0aGUgRkNJLgoJICBTbyBpbiB0aGF0IGNhc2UsIHdlIGlnbm9yZSB0aGUgcmV0YWluZWQgZmVlZGJhY2sgYW5kIGp1c3QgbGV0IGl0IHRocm91Z2gKCSAgdG8gdGhlIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfZmlyKCkgZnVuY3Rpb24gd2hpY2ggd2lsbCBjaGVjayBmb3IgdGhlIGFjdHVhbAoJICBTU1JDIGluc2lkZSB0aGUgRkNJLgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgNTdjMjdlYzMKCjIwMTMtMTEtMTQgMTY6MTk6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogZml4IHJiIGJsb2NrcyBkaXNhcHBlYXJpbmcgYWZ0ZXIgdGhlIGZpcnN0IHJ0Y3AgY3ljbGUgd2l0aCBtdWx0aXBsZSBzZW5kZXJzCgkgIFByZXZpb3VzbHksIHdoZW4gdGhlIHNlc3Npb24gaGFkIG11bHRpcGxlIGludGVybmFsIHNlbmRlciBTU1JDcywgaXQgd291bGQKCSAgaXNzdWUgU1IgcmVwb3J0cyB3aXRoIFJCIGJsb2NrcyBvbmx5IG9uIHRoZSBmaXJzdCBSVENQIHRpbWVvdXQgYW5kIGFmdGVyd2FyZHMKCSAgU1IgcmVwb3J0cyB3b3VsZCBiZSBzZW50IGVtcHR5LiBUaGlzIHdhcyBiZWNhdXNlIHRoZSAiZ2VuZXJhdGlvbiIgbnVtYmVyCgkgIGluIFJUUFNvdXJjZSB3b3VsZCBpbmNyZWFzZSBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIHNhbWUgY3ljbGUgYW5kIGFmdGVyd2FyZHMKCSAgaXQgd291bGQgYWx3YXlzIGJlIGdyZWF0ZXIgdGhhbiB0aGUgc2Vzc2lvbidzIGdlbmVyYXRpb24sIHdoaWNoIHdvdWxkIGNhdXNlCgkgIGl0IHRvIGJlIHNraXBwZWQgZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBSQnMuCgkgIFRoaXMgY29tbWl0IGZpeGVzIHRoaXMgcHJvYmxlbSBieToKCSAgMSkgSW5jcmVhc2luZyB0aGUgUlRQU291cmNlIGdlbmVyYXRpb24gb25seSBhdCB0aGUgZW5kIG9mIGVhY2ggY3ljbGUsCgkgIHdoaWNoIGVzc2VudGlhbGx5IGZpeGVzIHRoZSBwcm9ibGVtIGJ1dCBvbmx5IHdoZW4gdGhlIGludGVybmFsIHNlbmRlcnMKCSAgYXJlIGxlc3MgdGhhbiBHU1RfUlRDUF9NQVhfUkJfQ09VTlQuCgkgIDIpIEtlZXBpbmcgZm9yIGVhY2ggUlRQU291cmNlIGEgc2V0IG9mIFNTUkNzIHdoaWNoIHN0b3JlcyB3aGljaCBTU1JDJ3MKCSAgU1IgdGhlIGdpdmVuIFJUUFNvdXJjZSBoYXMgYmVlbiByZXBvcnRlZCBpbiwgd2hpY2ggYWxzbyBmaXhlcyB0aGUgcHJvYmxlbQoJICB3aGVuIHRoZSBpbnRlcm5hbCBzZW5kZXJzIGFyZSBtb3JlIHRoYW4gR1NUX1JUQ1BfTUFYX1JCX0NPVU5ULiBUaGlzIGlzCgkgIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQgYW55IFJUUFNvdXJjZSBpcyBtYXJrZWQgYXMgcmVwb3J0ZWQKCSAgaW4gaXRzZWxmJ3MgU1IgYW5kIG1ha2VzIGl0IGltcG9zc2libGUgdG8ga25vdyBpZiBpdCBoYXMgYmVlbiByZXBvcnRlZAoJICBpbiBvdGhlciBTUnMgdG9vIG9yIG5vdCwgYW5kIHdoaWNoLgoKMjAxMy0xMS0xNCAxNjoyMzozNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBhbiBydHBzZXNzaW9uIHVuaXQgdGVzdCB0byB2ZXJpZnkgYWxsIFJCcyBhcmUgaW5jbHVkZWQgaW4gYWxsIFNScywgcm91bmRyb2JpbgoJICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgd2hlbiB3ZSBoYXZlIG11bHRpcGxlIGludGVybmFsIHNlbmRlciBzb3VyY2VzCgkgIGluIHJ0cHNlc3Npb24sIFNScyBjb250YWluIFJCcyBmb3IgZXZlcnkgb3RoZXIgc2VuZGVyIHNvdXJjZSwgYW5kIHRoYXQKCSAgdGhleSBhcmUgaW5jbHVkZWQgcm91bmRyb2JpbiB3aGVuIHRoZXkgZXhjZWVkIFNUX1JUQ1BfTUFYX1JCX0NPVU5ULAoJICB3aGljaCBpcyB0aGUgbWF4IG51bWJlciBvZiBSQnMgdGhhdCBjYW4gZml0IGluIGEgU1IuCgoyMDEzLTEyLTEyIDE2OjAxOjEwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJICBkb2NzOiBpbXByb3ZlIGRvY3MKCjIwMTMtMTEtMDUgMTg6MDM6NDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJICBkb2M6IGFkZCBkZXNpZ24tcnRwY29sbGlzaW9uLnR4dCB0aGF0IGV4cGxhaW5zIHdoZW4gR3N0UlRQQ29sbGlzaW9uIGlzIGNyZWF0ZWQKCSAgSXQgYWxzbyB0YWxrcyBhYm91dCAiQllFIG9ubHkgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlLCBub3QgdGhlIHdob2xlIHNlc3Npb24uIgoKMjAxMy0xMS0wNSAxMjozMTo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGltcHJvdmUgcnRwY29sbGlzaW9uOjp0ZXN0X21hc3Rlcl9zc3JjX2NvbGxpc2lvbiB0byBlbnN1cmUgdGhhdCBhIGNvbGxpc2lvbiBkb2VzIG5vdCBCWUUgdGhlIHdob2xlIHNlc3Npb24KCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYwoKMjAxMy0xMS0wMSAxNzowNzo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwY29sbGlzaW9uOjp0ZXN0X21hc3Rlcl9zc3JjX2NvbGxpc2lvbiB1bml0IHRlc3QKCSAgSXQgY2hlY2tzIHRoZSBwYXlsb2FkZXIgY2hhbmdlcyBpdHMgc3NyYyB3aGVuIGNvbGxpc2lvbiBoYXBwZW5zCgoyMDEzLTEyLTEyIDEwOjM4OjQzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGtlZXAgZXh0cmEgc3RhdHMgZm9yIHNjaGVkdWxpbmcgQllFCgkgIEtlZXAgYW4gZXh0cmEgc3RhdHMgc3RydWN0dXJlIGZvciBzY2hlZHVsaW5nIHRoZSBCWUUgcGFja2V0cy4gV2hlbiB3ZQoJICBkZWNpZGUgdG8gc2NoZWR1bGUgQllFLCBtYWtlIGEgY29weSBvZiB0aGUgY3VycmVudCBzdGF0cyBpbnRvIHRoZQoJICBieWVfc3RhdHMuIFRoZW4gd2hpbGUgd2Ugc2NoZWR1bGUgdGhlIEJZRSwgdXBkYXRlIGFuZCB1c2Ugb25seSB0aGUKCSAgYnllX3N0YXRzLiBXaGVuIHdlIGZpbmlzaGVkIHNjaGVkdWxpbmcgdGhlIEJZRSBwYWNrZXQsIHdlIHVzZSB0aGUKCSAgcmVndWxhciBzdGF0cyBhZ2Fpbi4KCjIwMTMtMTItMTIgMTA6MzQ6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHdoZW4gd2Ugc2NoZWR1bGUgQllFLCBvbmx5IGRlYWwgd2l0aCBCWUUgc291cmNlcwoJICBXaGVuIHdlIGFyZSBkb2luZyB0aGUgUlRDUCB0aW1lb3V0IHRvIHNjaGVkdWxlIEJZRSBwYWNrZXRzLCBkb24ndAoJICBnZW5lcmF0ZSBSVENQIGZvciBhbGwgc291cmNlcyBidXQgb25seSBmb3IgdGhlIHNvdXJjZXMgbWFya2VkIGFzIEJZRS4KCjIwMTMtMTItMTIgMTA6MzI6NDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlc2V0IHN0YXRlIGFmdGVyIHNjaGVkdWxpbmcgQllFCgkgIEFmdGVyIHdlIGRvIFJUQ1AsIHdlIGFyZSBub3Qgc2NoZWR1bGluZyBieWUgYW55bW9yZS4KCjIwMTMtMTItMTIgMTA6MzE6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsc28gY291bnQgTkFDS1Mgd2hlbiBubyBzaWduYWwgd2FzIHBlbmRpbmcKCjIwMTMtMTItMTIgMTA6MDk6MjUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGlnbm9yZSBSVENQIHBhY2tldHMgZm9yIHRoZSBCWUUgc291cmNlcwoJICBXaGVuIHdlIGFyZSBzY2hlZHVsaW5nIEJZRSBwYWNrZXRzLCBpZ25vcmUgYWxsIFJUQ1AgZm9yIHRoZSBzb3VyY2VzIHRoYXQKCSAgYXJlIHNjaGVkdWxpbmcgYSBCWUUgcGFja2V0LiBPdGhlciBzb3VyY2VzIHRoYXQgYXJlIG5vdCBzY2hlZHVsaW5nIEJZRQoJICBzaG91bGQgY29udGludWUgcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyBhcyB1c3VhbC4KCjIwMTMtMTEtMDQgMTE6NDg6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGRldGVybWluZSBpZiB0aGUgc2Vzc2lvbiBpcyBkb2luZyBwb2ludC10by1wb2ludAoJICBJbiB0aGlzIGNhc2UgVF9kaXRoZXJfbWF4IGlzIHNldCB0byAwIGFjY29yZGluZyB0byBSRkMgNDU4NQoKMjAxMy0xMi0xMCAxMTo1NzozNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2VyaWFsaXplIGV2ZW50cyBpbiB0aGUgYnVmZmVyCgkgIFNlcmlhbGl6ZSBldmVudHMgaW50byB0aGUgaml0dGVyYnVmZmVyIGJ5IGluc2VydGluZyB0aGVtIHdpdGggYSAtMQoJICBzZXFudW0uCgkgIFVwZGF0ZSB1bml0IHRlc3QgdG8gZXhwZWN0IGV2ZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyOTg2CgoyMDEzLTEyLTEwIDExOjA0OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRldGVjdCAtMSBzZXFudW0KCSAgS2VlcCB0aGUgc2VxbnVtIGFzIGEgZnVsbCBndWludCBzbyB0aGF0IHdlIGNhbiBjaGVjayBmb3IgLTEgZW50cmllcyBhbmQKCSAgZGVhbCB3aXRoIHRoZW0gY29ycmVjdGx5LgoJICBJbW1lZGlhdGVseSB0cnkgdG8gcHVzaCAtMSBzZXFudW0uCgoyMDEzLTEyLTEwIDExOjAxOjAzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlb3JnYW5pemUgaml0dGVyYnVmZmVyIGl0ZW1zCgkgIEtlZXAgdGhlIG9sZGVzdCBpdGVtIGF0IHRoZSBoZWFkIGFuZCB0aGUgbmV3ZXN0IGl0ZW1zIG9uIHRoZSB0YWlsLiBUaGlzCgkgIG1ha2VzIGl0IGVhc2llciB0byBkZWFsIHdpdGggLTEgc2VxbnVtcy4KCjIwMTMtMTItMDkgMjM6MzQ6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGNvcnJlY3RseSBjaGVjayBmb3IgaW52YWxpZCB2YWx1ZXMKCSAgQ2hlY2sgZm9yIC0xIG9uIHRoZSBndWludCBmcm9tIHRoZSBidWZmZXIgaXRlbSBpbnN0ZWFkIG9mIG9uIHRoZSBndWludDE2CgkgIG9yIGd1aW50MzIuCgkgIEFsc28gaW5zZXJ0IC0xIHNlcW51bSBhdCB0aGUgaGVhZCBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0xMi0wOCAxNjo0OTo1NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCB3aGVuIGRlYWxpbmcgd2l0aCBwYWRkZWQgZnJhbWVzCgkgIEZpeGVzIGNyYXNoZXMgd2l0aCB2dGRlYyAhIG9zeHZpZGVvc2luayB3aGVyZSBWaWRlb1Rvb2xib3ggb3V0cHV0cyBwYWRkZWQgVVlWWQoKMjAxMy0xMi0wNSAxMjoxNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIG11bGF3ZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxMzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjEzOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTE6NDI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHg6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNCAxNjoyMzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIGRldmljZV9pbmZvIGluIGFjY2VwdHMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODExCgoyMDEzLTEyLTA0IDIxOjU3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBEb24ndCBzZW5kIGhlYWRlcnMgdHdpY2UgaWYgd2UgZ290IHRoZW0gZnJvbSB0aGUgY2FwcyBhbHJlYWR5CgoyMDEzLTEyLTA0IDIxOjU3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBEb24ndCBsZWFrIGNvbmZpZyBkYXRhIHdoZW4gcmVjZWl2aW5nIGEgc2Vjb25kIENBUFMgZXZlbnQKCjIwMTMtMTItMDQgMjE6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IERvbid0IHNlbmQgaGVhZGVycyB0d2ljZSBpZiB3ZSBnb3QgdGhlbSBmcm9tIHRoZSBjYXBzIGFscmVhZHkKCjIwMTMtMTItMDQgMjE6NTQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IERvbid0IGxlYWsgY29uZmlnIGRhdGEgd2hlbiByZWNlaXZpbmcgYSBzZWNvbmQgQ0FQUyBldmVudAoKMjAxMy0xMi0wNCAyMToxNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5oOgoJICBydHBzdHJlYW1kZXBheTogQWRkIFJGQzQ1NzEgUlRQIHN0cmVhbSBkZXBheWxvYWRpbmcgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODI5CgoyMDEzLTEyLTA0IDEwOjEyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuaDoKCSAgcnRwc3RyZWFtcGF5OiBBZGQgUkZDNDU3MSBSVFAgc3RyZWFtIHBheWxvYWRpbmcgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODI5CgoyMDEzLTEyLTAzIDE1OjA4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wcm92ZSBmcmFnbWVudC1zdGFydCB0cmFja2luZwoJICBTb21lIGJ1ZmZlcnMgY2FuIGhhdmUgbXVsdGlwbGUgbW9vdiBhdG9tcyBpbnNpZGUgYW5kIHRoZSBzdHJhdGVneQoJICBvZiB1c2luZyB0aGUgZ3N0X2FkYXB0ZXJfcHJldl9wdHMgdGltZXN0YW1wIHRvIGdldCB0aGUgYmFzZSB0aW1lc3RhbXAKCSAgZm9yIHRoZSBtZWRpYSBvZiB0aGUgZnJhZ21lbnQgd291bGQgZmFpbCBhcyBpdCB3b3VsZCByZXVzZSB0aGUgc2FtZQoJICBiYXNlIHRpbWVzdGFtcCBmb3IgYWxsIG1vb2ZzIGluIHRoZSBidWZmZXIgaW5zdGVhZCBvZiBhY2N1bXVsYXRpbmcKCSAgdGhlIGR1cmF0aW9ucyBmb3IgYWxsIG9mIHRoZW0uCgkgIEhlcmVzIGEgYmV0dGVyIGV4cGxhbmF0aW9uIG9mIHRoZSBpc3N1ZToKCSAgcXRkZW11eCByZWNlaXZlcyBhIGJ1ZmZlciB3aGVyZSBQVFMoYnVmKSA9IFgKCSAgYnVmIC0+IG1vb2ZBIHwgbW9vZkIgfCBtb29mQwoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCBQVFMoYnVmKSB3YXMgdXNlZCBhcyB0aGUgYmFzZSB0aW1lc3RhbXAgZm9yCgkgIGFsbCAzIG1vb2ZzLCBjYXVzaW5nIGFsbCBidWZmZXJzIHRvIGJlIFggYmFzZWQuIEluIHRoaXMgY2FzZSB3ZSB3YW50CgkgIG9ubHkgbW9vZkEgdG8gYmUgWCBiYXNlZCBhcyBpdCBpcyB3aGF0IHRoZSBQVFMgb24gYnVmIG1lYW5zLCBhbmQgdGhlCgkgIG90aGVyIG1vb2ZCIGFuZCBtb29mQyBqdXN0IHVzZSB0aGUgYWNjdW11bGF0ZWQgdGltZXN0YW1wIGZyb20gdGhlCgkgIHByZXZpb3VzIG1vb2ZzIGR1cmF0aW9ucy4KCSAgVG8gc29sdmUgdGhpcywgdGhpcyBwYXRjaCB1c2VzIGdzdF9hZGFwdGVyX3ByZXZfcHRzIGRpc3RhbmNlCgkgIHJlc3VsdCwgdGhpcyBhbGxvd3MgcXRkZW11eCB0byBjYWxjdWxhdGUgaWYgaXQgc2hvdWxkIHVzZSB0aGUKCSAgcmVzdWx0aW5nIHB0cyBvciBqdXN0IGFjY3VtdWxhdGUgdGhlIHNhbXBsZXMgYXMgaXQgY2FuIGlkZW50aWZ5CgkgIGlmIHRoZSBtb29mcyBiZWxvbmcgdG8gdGhlIHNhbWUgdXBzdHJlYW0gYnVmZmVyIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc4MwoKMjAxMy0xMS0yMSAxMjoyOToyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogYWRkIHN1cHBvcnQgZm9yIG11bHRpLXBsYW5hciBWNGwyIEFQSSBpbiBETUFCVUYgbW9kZQoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0xOSAxNzoxNjoyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiByZWZhY3RvciBieSBlbXVsYXRpbmcgb25lIHY0bDJfcGxhbmUgaW4gbm9uLU1QTEFORSBtb2RlCgkgIHNvIHRoYXQgdGhlIGJ1ZmZlciBpbmZvcm1hdGlvbnMgY2FuIGJlIHJldHJpZXZlZCB0aGUgc2FtZSB3YXkKCSAgaW4gYm90aCBNUExBTkUgYW5kIG5vbi1NUExBTkUgbW9kZS4KCSAgSGVyZSAiZW11bGF0aW5nIiBtZWFucyAibWFudWFsbHkgZmlsbCBpbiB0aGUgcGxhbmUiLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0xMyAxMjowNTo0MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGktcGxhbmFyIFY0TDIgQVBJCgkgIFRoaXMgYXBpIGlzIGluIGxpbnV4IGtlcm5lbCBzaW5jZSB2ZXJzaW9uIDIuNi4zOSwKCSAgYW5kIHByZXNlbnQgaW4gYWxsIHZlcnNpb24gMy4KCSAgVGhlIGNvbW1pdCB0aGF0IGFkZHMgdGhlIEFQSSBpbiBtYXN0ZXIgYnJhbmNoIG9mIHRoZQoJICBsaW51eCBrZXJuZWwgc291cmNlIGlzOgoJICBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0L2Y4ZjM5MTRjZjkyMmY1ZjllMWQ2MGU5ZTEwZjZmYjkyNzQyOTA3YWQKCSAgdjRsMiBkb2M6ICJTb21lIGRldmljZXMgcmVxdWlyZSBkYXRhIGZvciBlYWNoIGlucHV0CgkgIG9yIG91dHB1dCB2aWRlbyBmcmFtZSB0byBiZSBwbGFjZWQgaW4gZGlzY29udGlndW91cwoJICBtZW1vcnkgYnVmZmVycyIKCSAgVGhlcmUgYXJlIG5ld2VyIHN0cnVjdHVyZXMgJ3N0cnVjdCB2NGwyX3BpeF9mb3JtYXRfbXBsYW5lJwoJICBhbmQgJ3N0cnVjdCB2NGwyX3BsYW5lJy4KCSAgU28gdGhlIHBpeGVsIGZvcm1hdCBpcyBub3Qgc2V0dXAgd2l0aCB0aGUgc2FtZSBBUEkgd2hlbiB1c2luZwoJICBtdWx0aS1wbGFuYXIuCgkgIEFsc28gZm9yIGdzdC12NGwyLCBvbmUgb2YgdGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBpbiBHc3RWNGwyTWV0YQoJICB0aGVyZSBhcmUgbm93IG9uZSBtZW0gcG9pbnRlciBmb3IgZWFjaCBtYXBlZCBwbGFuZS4KCSAgV2hlbiBub3QgdXNpbmcgbXVsdGktcGxhbmFyLCB0aGlzIGNvbW1pdCB0YWtlcyBjYXJlIG9mIGtlZXBpbmcKCSAgdGhlIHNhbWUgY29kZSBwYXRoIHRoYW4gcHJldmlvdXNseS4gU28gdGhhdCB0aGUgMiBjYXNlcyBhcmUKCSAgaW4gdHdvIGRpZmZlcmVudCBibG9ja3MgdHJpZ2dlcmVkIGZyb20gVjRMMl9UWVBFX0lTX01VTFRJUExBTkFSLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMi0wNCAwOToxMjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTMtMTItMDMgMjE6NDE6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2UgQUNDRVBUX0lOVEVSU0VDVCBmbGFnCgkgIFRoZSBwYXJzZXIgY2FuIGFjY2VwdCBpbnB1dCB0aGF0IGlzIG5vdCBjb21wbGV0ZWx5IHNwZWNpZmllZC4gVXNlIHRoZQoJICBBQ0NFUFRfSU5URVJTRUNUIGZsYWcgb24gdGhlIHNpbmtwYWQgdG8gdHdlYWsgdGhlIGFjY2VwdGNhcHMgZnVuY3Rpb24gdG8KCSAgY2hlY2sgZm9yIGludGVyc2VjdGlvbiBvbmx5LiBUaGlzIGFsbG93cyB1cyB0byBwcm94eSBkb3duc3RyZWFtCgkgIGNvbnN0cmFpbnRzIHdoaWxlIHN0aWxsIGFsbG93aW5nIG5vbi1zdWJzZXQgY2FwcyBhcyBpbnB1dC4KCSAgV2UgY2FuIHRoZW4gYWxzbyByZW1vdmUgdGhlIGFwcGVuZGVkIHRlbXBsYXRlIGNhcHMgd29ya2Fyb3VuZC4KCSAgTWFrZSBhIHVuaXQtdGVzdCB0byBjaGVjayB0aGUgbmV3IGZlYXR1cmUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjYwNDBlZTM4Y2I5ZTdjNDJmM2Q5YTAyODJiM2U1Y2FjZTdjYTQyZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDI0CgoyMDEzLTEyLTAzIDIxOjM2OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSBmaWVsZHMgZnJvbSBmaWx0ZXIKCSAgV2UgbmVlZCB0byByZW1vdmUgdGhlIGZpZWxkcyBmcm9tIHRoZSBmaWx0ZXIgd2hlbiB3ZSBjYW4gY29udmVydAoJICBiZXR3ZWVuIHRoZW0uCgoyMDEzLTEyLTAzIDIxOjI5OjEzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmFjdG9yIGNvZGUgdG8gcmVtb3ZlIGNhcHMgZmllbGRzCgoyMDEzLTEyLTAyIDAwOjEwOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgc29tZSB1bm5lY2Vzc2FyeSBHVmFsdWUgY29waWVzCgoyMDEzLTEyLTAxIDIzOjMyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggb2ZmLWJ5LW9uZSBjcmFzaCB3aGVuIGRvd25zdHJlYW0gY2FwcyBjb250YWluIGEgbGlzdCBvZiBmcmFtZXJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NDQKCjIwMTMtMTEtMjkgMTE6MjY6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgdGltZXN0YW1wIG9mIHRoZSBtb29mIGFzIHRoZSBiYXNlIGZyYWdtZW50IHN0YXJ0CgkgIEluIFNtb290aFN0cmVhbWluZyBmcmFnbWVudGVkIHNjZW5hcmlvLCB0aGUgdGltZXN0YW1wcyBhcmUgY2FsY3VsYXRlZAoJICBzdGFydGluZyBmcm9tIHRoZSBmcmFnbWVudCBidWZmZXIgdGltZXN0YW1wLiBXaGVuIHRoZXJlIGlzIGEgbm90LWxpbmtlZAoJICByZXR1cm4gZnJvbSBkb3duc3RyZWFtLCBxdGRlbXV4IHdpbGwgcmV0dXJuIHVwc3RyZWFtIGFuZCB3aWxsIGtlZXAgdGhlCgkgIG5vbi1wdXNoZWQgZGF0YSBpbnRvIGl0cyBhZGFwdGVyLgoJICBPbiBhIG5ldyBmcmFnbWVudCBidWZmZXIgcHVzaGVkIHRvIHF0ZGVtdXgsIHRoZSBuZXcgYnVmZmVyIHRpbWVzdGFtcAoJICB3b3VsZCBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIG9uZSB0aGF0IHNob3VsZCBiZSB1c2VkIG9uIHRoZSBzdGlsbAoJICB0byBiZSBwdXNoZWQgYnVmZmVycy4gQmVjYXVzZSBvZiB0aGlzLCB0aGlzIHBhdGNoIHdpbGwgYWxzbwoJICB1cGRhdGUgdGhlIGZyYWdtZW50X3N0YXJ0IHRpbWVzdGFtcCBmcm9tIHRoZSBhZGFwdGVyIGxhc3QgcHRzCgkgIHRvIG1ha2Ugc3VyZSB0aGUgbW9vZiBhbmQgdGltZXN0YW1wcyBhcmUgaW4gc3luYyBhbmQgd2lsbCByZXN1bHQKCSAgaW4gY29ycmVjdCB0aW1lc3RhbXBzIGZvciBhbGwgZnJhZ21lbnRzLgoKMjAxMy0xMS0xNSAwODo1NDowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGF2b2lkIHJlLXJlYWRpbmcgdGhlIHNhbWUgbW9vdiBhbmQgZW50ZXJpbmcgaW50byBsb29wCgkgIEluIHRoZSBzY2VuYXJpbyBvZiAibWRhdCB8IG1vb3YgKHdpdGggZnJhZ21lbnRlZCBhcnRpZmFjdHMpIiBxdGRlbXV4CgkgIGNvdWxkIHJlYWQgdGhlIG1vb3YgYWdhaW4gYWZ0ZXIgdGhlIG1kYXQgYmVjYXVzZSBpdCB3YXMgY29uc2lkZXJpbmcgdGhlCgkgIG1lZGlhIGFzIGEgZnJhZ21lbnRlZCBvbmUuCgkgIFRvIGF2b2lkIHRoaXMgbG9vcCB0aGlzIHBhdGNoIG1ha2VzIGl0IHN0b3JlCgkgIHRoZSBsYXN0IHByb2Nlc3NlZCBtb292X29mZnNldCB0byBhdm9pZCBwYXJzaW5nIGl0IGFnYWluLgoJICBBbmQgaXQgYWxzbyBjaGVja3MgaWYgdGhlcmUgYXJlIGFueSBzYW1wbGVzIHRvIHBsYXkgYmVmb3JlCgkgIHJlc3R1cm5pbmcgdG8gdGhlIG1kYXQsIHNvIHRoYXQgaXQga25vd3MgdGhlcmUgaXMgbmV3IGRhdGEgdG8gYmUgcGxheWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTExLTE1IDAwOjUyOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgZnJlZSBzdHJlYW1zIGlmIHRoZXkgd2VyZSBub3QgY3JlYXRlZCBsb2NhbGx5CgkgIFdoZW4gcGFyc2luZyBhIHRyYWsgb25seSBmcmVlIHN0cmVhbXMgb24gZmFpbHVyZXMgaWYgdGhvc2Ugc3RyZWFtcwoJICB3ZXJlIGNyZWF0ZWQgbG9jYWxseS4gVGhleSBjb3VsZCBoYXZlIGJlZW4gY3JlYXRlZCBmcm9tIGEgcHJldmlvdXMKCSAgZnJhZ21lbnQsIGluIHRoaXMgY2FzZSB3ZSB0aGV5IGhhdmUgdmFsaWQgaW5mbyBmcm9tIHRoZSBvdGhlciBmcmFnbWVudC4KCSAgSW5jbHVkaW5nIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMTEtMjkgMTk6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBTaW1wbGlmeSBOVjEyLzIxIGJsZW5kaW5nIGNvZGUgbWFjcm9zCgoyMDEzLTExLTI5IDE5OjUwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IHNlZ2ZhdWx0IHdoZW4gZmlsbGluZyB0aGUgYmFja2dyb3VuZCBvZiBhIFVZVlkgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjQwMQoKMjAxMy0xMS0yOSAwOToyMTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsYXRpb24gd2l0aCBnc3QgZGVidWdpbmcgZGlzYWJsZWQKCSAgcXRkZW11eC5jOjk0NTI6MTogZXJyb3I6IGxhYmVsIGF0IGVuZCBvZiBjb21wb3VuZCBzdGF0ZW1lbnQKCjIwMTMtMTEtMjcgMTc6MDI6MDAgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IE1hcCBpbmJ1ZmZlciBvbmNlIG9ubHkKCSAgRG8gbm90IGNhbGwgZ3N0X2J1ZmZlcl9leHRyYWN0KCkgdHdpY2Ugc2luY2UgZWFjaCBjYWxsIHdpbGwgbWFwIGFuZAoJICB1bm1hcCB0aGUgYmlmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDM0CgoyMDEzLTExLTI4IDExOjU4OjQyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZsaXA6IEFkZCB1bml0IHRlc3QgZm9yIHRoZSAnYXV0b21hdGljJyBtZXRob2QKCSAgVGhlc2UgbmV3IHRlc3RzIHNlbmQgYSB0YWcgZXZlbnQgYmVmb3JlIHNlZGluZyB0aGUgYnVmZmVyLiBUZXN0ZWQgY2FzZSBhcmUgYW4KCSAgZW1wdHkgdGFnIGxpc3QsIGEgdGFnIGxpc3Qgd2l0aCBvcmllbnRhdGlvbi0xODAgc2V0IGFuZCBhbiBpbnZhbGlkIG9yaWVudGF0aW9uIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDk3CgoyMDEzLTExLTI4IDE2OjA5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGRvbid0IGNyYXNoIG9uIHRhZyBldmVudHMgd2l0aG91dCBvcmllbnRhdGlvbiB0YWcKCSAgV291bGQgY3Jhc2ggaW4gZ19mcmVlKCkgdHJ5aW5nIHRvIGZyZWUgYW4gdW5pbml0aWFsaXNlZCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDk3CgoyMDEzLTExLTI4IDE2OjUwOjQyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgdW5yZWYgYnVmZmVyIHR3aWNlCgkgIENsZWFuaW5nIHRoZSBwYWNrZXQgaW5mbyB3aWxsIGFscmVhZHkgdW5yZWYgdGhlIGJ1ZmZlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTA3OAoKMjAxMy0xMS0yOCAyMjozNTowMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIEh5ZHJvZ2VuQXVkaW8gUmVwbGF5R2FpbiB0YWdzCgkgIElkZW50aWNhbCB0byB0aGUgaXR1bmVzICh0bSkgdmVyc2lvbiwgYnV0IGxhYmVsbGVkIHdpdGgKCSAgb3JnLmh5ZHJvZ2VuYXVkaW8ucmVwbGF5Z2FpbiBhcyB0aGUgcHJvZHVjZXIuCgoyMDEzLTExLTI3IDE2OjE1OjEyICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGV4cGxpY2l0bHkgZmFpbCB3aGVuIGFscGhhIGluZm9ybWF0aW9uIHdvdWxkIGhhdmUgYmVlbiBsb3N0LgoKMjAxMy0wNS0yOSAxNjowNjowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IFVwZGF0ZWQgdG8gaWdub3JlICouc3dwIGFuZCAuZGlyc3RhbXAKCjIwMTMtMTEtMjYgMTE6MTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEFsbG93IGEgYml0IG1vcmUgdmFyaWF0aW9uIHdoZW4gZGV0ZWN0aW5nIGNvbW1vbiBmcmFtZXJhdGVzCgkgIEluc3RlYWQgb2YgKy8tIDFucyB3ZSBhbGxvdyAybnMgbm93LiBEdWUgdG8gcm91bmRpbmcgZXJyb3JzIHRoZXJlIGFyZQoJICBzb21lIE1hdHJvc2thIGZpbGVzIG91dCB0aGVyZSB3aXRoIDMzLjMzMzMzMW1zIHBlciBmcmFtZSBmb3IgMzBmcHMuCgoyMDEzLTExLTI2IDEwOjIwOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBVc2UgZ3N0X3V0aWxfZG91YmxlX3RvX2ZyYWN0aW9uKCkgaW5zdGVhZCBvZiBHVmFsdWUgbWFnaWMKCjIwMTMtMTEtMjUgMTQ6MDM6MjEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBTZXQgZGVmYXVsdCBtZXRob2QgYXQgY29udHJ1Y3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMzMwoKMjAxMy0wNS0yOSAxNTo1NzowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBzcGFjZSBpbnN0ZWFkIG9mIHRhYnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0wNS0yOSAxNTo0NDozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEZpeCBoZWFkZXIgaW5kZW50YXRpb24gc28gaXQncyByZWFkYWJsZSBhZ2FpbgoJICBJdCdzIHVuZm9ydHVuYXRlIHRvIGhhdmUgdG8gZG8gdGhpcywgYnV0IHdpdGggdGhlIG1peCBvZiB0YWJzIGFuZCBzcGFjZSwgcGx1cyBhbGwgdGhlIHJhbmRvbQoJICBpbmRlbnRhdGlvbiB0aGlzIGhlYWRlciBoYXMgYmVjb21lIHZlcnkgaGFyZCB0byByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTI1IDE3OjM4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogZml4IGppdHRlcmJ1ZmZlciBjaGVjawoJICBEb24ndCBhZHZhbmNlIHRoZSBjbG9jayB0byAyNDBtcyB0b28gZWFybHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAwMTMKCjIwMTMtMTEtMjUgMTE6NDU6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkZXByZWNhdGUgbWF4LWVycm9ycwoJICBUaGUgcHJvcGVydHkgd2Fzbid0IHVzZSBpbnRlcm5hbGx5LCBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIHRoZQoJICBudW1iZXIgb2YgZXJyb3JzIHRvIHRvbGVyYXRlLgoKMjAxMy0xMS0yNSAxNTo0OTowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBjbGVhci1wdC1tYXAgaGFuZGxpbmcKCSAgRG9uJ3QgcmVzZXQgdGhlIGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiBjbGVhcmluZyB0aGUgcHQgbWFwIGJlY2F1c2UgdGhpcwoJICBjb3VsZCBzdGFsbCB0aGUgaml0dGVyYnVmZmVyIGZvcmV2ZXIuCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgdGhpcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTgwMAoKMjAxMy0xMC0yOCAyMTozMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGxldCB0aGUgYmFzZSBjbGFzcyBkZWNpZGUgd2hlbiB0byByZXR1cm4gYW4gZXJyb3IKCSAgVGhlIGJhc2UgdmlkZW9kZWNvZGVyIGNsYXNzIGhhcyBhbiBlcnJvciBjb3VudGluZyBmZWF0dXJlIHRvIHRvbGVyYXRlCgkgIGEgZmV3IGVycm9ycyBiZWZvcmUgcG9zdGluZyBhbiBlcnJvciBtZXNzYWdlLiBTbyBkb24ndCBmb3JjZSB0aGUKCSAgZXJyb3IgYW5kIGxldCB0aGUgYmFzZSBjbGFzcyBkZWNpZGUgd2hlbiBpdCBzaG91bGQgaGFwcGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NjIKCjIwMTMtMTAtMjggMjE6Mjg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBZGQgZGF0YSBza2lwcGluZyBvbiBpbnB1dAoJICBBZGQgbWlzc2luZyBieXRlcyBza2lwcGluZyB3aGVuIGJhZCBpbnB1dCBpcyByZWNlaXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc2MgoKMjAxMy0xMS0yNSAxMjoxMzo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGlzY2FyZCAyIGJ5dGUgc3VicGljdHVyZSBwYWNrZXRzCgkgIEFzIGZvciB0ZXh0IHN1YnRpdGxlcyBhbmQgYXMgc3VnZ2VzdGVkIGluICM3MTI2NDMsIHRocm93CgkgIGF3YXkgdGhlIDIgYnl0ZSB0ZXJtaW5hdG9yIHBhY2tldHMgdGhhdCBzb21lIGVuY29kZXJzIGluc2VydC4KCSAgVGhpcyB3aWxsIG1ha2UgdGhpbmdzIGJldHRlciB3aGVuIHJlbXV4aW5nIGFuZCBjYXVzZXMgZ2VuZXJhdGlvbgoJICBvZiBnYXAgZXZlbnRzLgoKMjAxMy0xMS0yNSAwMDozNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB3YWtlLXVwIHdoZW4gbmV3IGJ1ZmZlcnMgY29tZSBpbiBhZnRlciBydW5uaW5nIGVtcHR5CgkgIFNwb3R0ZWQgYnkgJ2dyYXRpYXMnIG9uIElSQy4gUHJvYmFibHkgaW50cm9kdWNlZCBpbiByZWNlbnQgcmVmYWN0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUwMzkKCjIwMTMtMTEtMjMgMTI6MTU6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGNvcnJlY3RseSBoYW5kbGUgbmVnYXRpdmUgcmVsYXRpdmUgdGltZXN0YW1wcwoJICAuLi4gcmF0aGVyIHRoYW4gc2NhbGluZyB0aGVzZSBhcyB1bnNpZ25lZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc0NAoJICBCYXNlZCBvbiBwYXRjaCBieSBLcnp5c3p0b2YgS290bGVuZ2EgPHBvY2VrQHVzZXJzLnNmLm5ldD4KCjIwMTMtMDktMTQgMDM6Mjc6MDkgKzAyMDAgIE1hdGhpZXVEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IE1lcmdlIHRhZyBldmVudHMgdG8gc2VuZCB0aGVtIGluIGNvbGxlY3RlZC4KCSAgT3RoZXJ3aXNlIHRoZXJlIHdlcmUgcmFjZSBjb25kaXRpb25zIHdoZXJlIHdlIHdvdWxkIHNlbmQgdGFncwoJICBvbiBhIGZsdXNoaW5nIHNyY3BhZC4KCSAgV2UgaGF2ZSBhIHRlc3QgZm9yIHRoYXQgaW4gR0VTLCBidXQgdGhpcyBzaG91bGQgYmUgdGVzdGVkCgkgIHN5c3RlbWF0aWNhbGx5IHdpdGggaGFybmVzcyBpbiB0aGUgZnV0dXJlIGFzIEkgYmVsaWV2ZSBpdAoJICBpcyB1c2VmdWwgZm9yIGV4YWN0bHkgdGhhdCBraW5kIG9mIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTY1CgoyMDEzLTExLTE0IDE3OjI5OjUwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIEdzdFZpZGVvSW5mbyBoZWxwZXIgdG8gY3JlYXRlIGNhcHMgZm9yIHJhdyB2aWRlbwoJICBUaGlzIHdheSB3ZSBkbyBub3QgbWlzcyBtYW5kYXRvcnkgZmllbGRzIGluIGNhcHMuCgkgIEF0IHRoZSBzYW1lIHRpbWUgdXNlIHRoZSBnc3RfcGJfdXRpbHNfZ2V0X2NvZGVjX2Rlc2NyaXB0aW9uCgkgIGhlbHBlciB0byBnZXQgY29kZWMgZGVzY3JpcHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMzUKCjIwMTMtMTEtMTQgMTY6MTE6MzggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBHc3RWaWRlb0luZm8gaGVscGVyIHRvIGNyZWF0ZSBjYXBzIGZvciByYXcgdmlkZW8KCSAgVGhpcyB3YXkgd2UgZG8gbm90IG1pc3MgbWFuZGF0b3J5IGZpZWxkcyBpbiBjYXBzLgoJICBBdCB0aGUgc2FtZSB0aW1lIHVzZSB0aGUgZ3N0X3BiX3V0aWxzX2dldF9jb2RlY19kZXNjcmlwdGlvbiBoZWxwZXIgdG8KCSAgZ2V0IGNvZGVjIGRlc2NyaXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzI4CgoyMDEzLTExLTEzIDIwOjE4OjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGVzcmM6IEltcGxlbWVudCBzZWVraW5nIGluIGNhc2Ugb2YgbXVsdGlwbGUgaW1hZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyNTQKCjIwMTMtMTEtMjIgMTI6MjY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcGFzcyBkb3duc3RyZWFtIGZsb3dyZXR1cm4gdG8gdXBzdHJlYW0KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjcyMgoKMjAxMy0xMS0xOCAxNDoyNzo0OCArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGNsZWFyIGNhY2hlZCBjYXBzIG9uIGNsb3NlCgkgIEEgZGlmZmVyZW50IGRldmljZSB3aXRoIGRpZmZlcmVudCBjYXBzIG1heSBiZSB1c2VkIGZvciB0aGUgbmV4dCBvcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjExCgoyMDEzLTExLTIxIDE1OjMwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkCgkgIEp1c3QgdXNlIHBsYWluIG1lbW1vdmUoKSwgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZCBpbgoJICByZWNlbnQgR0xpYiB2ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgxMQoKMjAxMy0xMS0yMSAxMTozMjoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBoYW5kbGUgcGFja2V0cyA+IDB4ZmZmZgoJICBIYW5kbGUgaW5wdXQgcGFja2V0IHNpemVzIGxhcmdlciB0aGFuIDE2IGJpdHMgaW4gdGhlIGRlcGF5bG9hZGVyLgoJICBSZW1vdmUgc2l6ZSByZXN0cmljdGlvbnMgb24gdGhlIHBheWxvYWRlci4KCjIwMTMtMTEtMjEgMTE6MzA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogaGFuZGxlIHBhY2tldHMgPiAweGZmZmYKCSAgUmVvcmdhbml6ZSBzb21lIHRoaW5ncyBpbiB0aGUgZGVwYXlsb2FkZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIHBhY2tldHMgbGFyZ2VyCgkgIHRoYW4gMTYgYml0cy4KCSAgUmVtb3ZlIHRoZSBzaXplIHJlc3RyaWN0aW9uIG9uIHRoZSBwYXlsb2FkZXIuCgoyMDEzLTExLTIxIDAyOjI4OjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBIYW5kbGUgbXA0cyBzdWJwaWN0dXJlIHN0cmVhbXMgYmV0dGVyLgoJICBDbGVhbiB1cCB0aGUgaGFuZGxpbmcgb2YgbXA0cyBzdHJlYW1zLiBVc2UgdGhlIGdlbmVyaWMgZXNkcwoJICBkZXNjcmlwdG9yIGZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIHBhbGV0dGUsIGluc3RlYWQgb2YgaGFyZCBjb2RpbmcKCSAgYSB3cm9uZyBtYWdpYyBvZmZzZXQuCgkgIEFkZCBzb21lIG1vcmUgc2l6ZSBzYWZldHkgY2hlY2tzIHdoZW4gcGFyc2luZyBFUyBkZXNjcmlwdG9ycywgYW5kCgkgIHJlcGxhY2UgbWFnaWMgbnVtYmVycyB3aXRoIHRoZSBkZXNjcmlwdGl2ZSBjb25zdGFudHMgdGhhdCBhcmUgYWxyZWFkeQoJICBkZWZpbmVkLgoJICBFbmhhbmNlIGR1bXAgb3V0cHV0IGZvciBzdHNkIGF0b21zLgoJICBTdHJlYW1zIGZyb20gYm90aCBidWcgNzEyNjQzIGFuZCBoaXN0b3JpYyBidWcgNTY4Mjc4IG5vdyBib3RoIHdvcmsKCSAgY29ycmVjdGx5LgoJICBGaXhlczogIzcxMjY0MwoKMjAxMy0xMS0yMCAyMjowODoyNSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRkZW11eDogU29ydCBmb3VyY2MgZGVjbGFyYXRpb25zIGFuZCByZW1vdmUgZHVwbGljYXRlcwoKMjAxMy0xMS0yMCAyMTo0MTo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBNZXJnZSBhbGwgdGhlIGZvdXJjYyBoZWFkZXJzIGludG8gb25lCgkgIFJlbW92ZSBxdGRlbXV4X2ZvdXJjYy5oIGFuZCBmdHlwY2MuaCBhbmQgcHV0IGl0IGFsbCBpbiBmb3VyY2MuaAoKMjAxMy0xMS0xOSAxMDoxMDo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGF2b2lkIG1hcHBpbmcgdGhlIGJ1ZmZlcgoJICBSZXVzZSB0aGUgcGFyc2VkIHN0cnVjdHVyZSB0byBnZXQgdGhlIHRpbWVzdGFtcHMuCgoyMDEzLTExLTE4IDE3OjEzOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggJ21ha2UgY2hlY2snCgkgIEZpeCBnZW5lcmljL3N0YXRlcyBjaGVjay4gQWxzbywgZ19yZXR1cm5faWZfZmFpbCgpIGlzCgkgIG5vdCBmb3IgaW50ZXJuYWwgc3RhdGUgY2hlY2tpbmcuCgoyMDEzLTExLTE4IDE0OjQ0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBkb2NzOiBnZXQgcmlkIG9mICdTaW5jZTogMC4xMC54JyBtYXJrZXJzCgkgIEFuZCBzb21lIGd0ay1kb2MgbWFya3VwIGZpeGVzLgoKMjAxMy0xMS0xNiAxMjoxNToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZml4IFNpbmNlIG1hcmtlcnMKCSAgU2hvdWxkIGJlIG5leHQgc3RhYmxlIHJlbGVhc2Ugc2VyaWVzIHZlcnNpb24KCjIwMTMtMTEtMTUgMTM6NDg6MDcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHN0YXRzIHByb3BlcnR5IGZpZWxkIG5hbWVzIGFuZCBkb2N1bWVudGF0aW9uCgoyMDEzLTExLTE1IDE1OjIwOjE0ICswMTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIGdzdHJ0cHNlc3Npb246IEltcGxlbWVudCBhIG51bWJlciBvZiBmZWVkYmFjayBwYWNrZXQgc3RhdGlzdGljcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjkzCgoyMDEzLTExLTEzIDE3OjExOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbWF0aCBvcGVyYXRpb24gZnJvbSBsb29wCgkgIFRoZSBlbHN0X29mZnNldCBkb2Vzbid0IGNoYW5nZSBpbnNpZGUgdGhlIGxvb3AsIHNvIGNvbXB1dGUgaXQKCSAgb3V0c2lkZQoKMjAxMy0xMS0xNCAyMDo1NDozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdG11eDogZml4IHBsYXliYWNrIHJlZ3Jlc3Npb24KCSAgSW4gYWUxMTUwZTg1Y2Y5OWQ3NDgyOTMzYWE2ZjdlNGYwMTJmZTQ1YTNlYyBmbGlwcGluZyBhIGNvbmRpdGlvbiBtaXNhbGlnbmVkIHRoZQoJICBlbHNlIGJyYW5jaCwgd2hlcmUgZm9yIHRoZXJlIGNvbmRpdGlvbiB0aGF0IHdhcyBjaGFuZ2UgdGhlcmUgaXMgbm9uZS4KCSAgRml4ZXMgIzcxMjMwMwoKMjAxMy0xMS0xNCAwOToyMDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlbmFtZSBwcm9wZXJ0eSB0byAnc3RhdHMnCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCB3b3JrLgoJICBXZSBjYW4gbGF0ZXIgYWxzbyBhZGQgbW9yZSBzdGF0cywgbm90IHNwZWNpZmljIHRvIHJldHJhbnNtaXNzaW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDExCgoyMDEzLTExLTEyIDExOjE5OjI1IC0wNTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcGxlbWVudCBydHggc3RhdGlzdGljcwoKMjAxMy0xMS0xMyAxMDo0MjoyMSArMDAwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcHJpbnQgRk9VUkNDX0ZPUk1BVCB3aGVuIGVudW1lcmF0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMDYKCjIwMTMtMTEtMDYgMTI6NDA6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZHZhbmNlIGV4cGVjdGVkIHNlcW51bSBhZnRlciBkcm9wcGluZwoJICBBZnRlciBkcm9wcGluZyBhIGJ1ZmZlciwgbW92ZSBvdXIgZXhwZWN0ZWQgc2VxbnVtCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmMKCjIwMTMtMTEtMDQgMTU6NDY6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IG9ubHkgc2VuZCBvbmUgY2FwcwoJICBPbmx5IHNlbmQgb25lIGNhcHMgaW4gYSBwYWNrZXQuIFR3byBjYXBzIGNhbiBoYXBwZW4gd2hlbiBzZXRjYXBzIGlzIGNhbGxlZCBhbmQKCSAgdGhlIGNvbmZpZy1pbnRlcnZhbCBleHBpcmVzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDEzLTExLTEzIDEwOjIzOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVzZSB0aGUgc3luY2VkIGJ1ZmZlciBtb2RlIGluIGF1dG8gbW9kZSBpZiBhIGNsb2NrIHByb3ZpZGVyIGlzIGluIHRoZSBTRFAKCjIwMTMtMTEtMDggMTE6MDk6MjEgKzAwMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbml0IHY0bDJfYnVmZmVyIHRvIDB4MCBiZWZvcmUgaW9jdGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjEzNwoKMjAxMy0xMS0xMSAxNToyNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGNvbGxpc2lvbiByZWNvbmZpZ3VyZSBldmVudAoJICBSZW1vdmUgYm9ndXMgcmVjb25maWd1cmUgZXZlbnQgb24gY29sbGlzaW9uLCB3ZSBkb24ndCB3YW50IHRvIHNlbmQgdGhlIGV2ZW50IG9uCgkgIHRoZSByZWNlaXZpbmcgUlRQIHBhZCBhbmQgdGhlIGNvbGxpc2lvbiBldmVudCBpcyBub3cgaGFuZGxpbmcgdGhpcwoJICBjYXNlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTU2MAoKMjAxMy0xMS0wMSAxNzowNDoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IHNlbmQgY3VzdG9tIHVwc3RyZWFtIGV2ZW50ICJHc3RSVFBDb2xsaXNpb24iIG9uIHNlbmRfcnRwX3NpbmsgcGFkCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTYwCgoyMDEzLTExLTExIDE0OjI1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgY2hlY2s6IGFkZCBydHBzZXNzaW9uIHRlc3QKCSAgQWRkIGEgYmFzaWMgcnRwc2Vzc2lvbiB0ZXN0IHRvIGVuc3VyZSB0aGF0IFJSIGJsb2NrcyBhcmUgZ2VuZXJhdGVkIHdoZW4KCSAgbXVsdGlwbGUgU1NSQyBzZW5kZXJzIGFyZSBhY3RpdmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyNzAKCjIwMTMtMTEtMTEgMTM6MTc6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGNvcnJlY3RseSBoYW5kbGUgdGltZXN0YW1wcyB3aGVuIHBhcnNpbmcgeC1wcml2YXRlMS1hYzMKCSAgLi4uIHRoZSB3YXkgaXQgaGFzIGFsd2F5cyB3b3JrZWQgZmluZSBpbiBhNTJkZWMuCgoyMDEzLTExLTA1IDEwOjQ4OjMzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNyYXNoIHdoZW4gZG8tcmV0cmFuc21pc3Npb249dHJ1ZSBhbmQgYSBsb3Qgb2YgYnVmZmVycyBhcmUgbG9zdAoJICBUaGUgcHJvYmxlbSBoZXJlIHdhcyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgbG9jayB3YXMgdW5sb2NrZWQgdG8gcHVzaAoJICB0aGUgZXZlbnQsIGJ1dCB0aGF0IGNhdXNlZCBhbm90aGVyIHRocmVhZCB0byByZW1vdmUgdGhlIHRpbWVyIGN1cnJlbnRseQoJICBiZWluZyBwcm9jZXNzZWQsIHByb2JhYmx5IGJlY2F1c2UgdGhlIGFtb3VudCBvZiBydHggZXZlbnRzCgkgIChhbmQgdGhlcmVmb3JlIHRpbWVycykgd2FzIGdldHRpbmcgdG9vIGhpZ2guIFRoZSBzb2x1dGlvbiBpcyB0bwoJICB1bmxvY2sgYW5kIHB1c2ggdGhlIGV2ZW50IG9ubHkgYWZ0ZXIgdGltZXIgcHJvY2Vzc2luZyBoYXMgZmluaXNoZWQuCgkgIGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExMzEKCjIwMTMtMTAtMjQgMTM6MTY6NDIgKzAyMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBkaXZpc2lvbiBieSB6ZXJvIGFzc2VydCBpbiBnc3RfbWF0cm9za2FfZGVtdXhfc2VhcmNoX3BvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODI5CgoyMDEzLTExLTA4IDE3OjU5OjI0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBnZW5lcmF0ZSBhIG5vbi1lbXB0eSBkYXRhIGhlYWRlcgoJICBSZXN0b3JlIHRoZSBiZWhhdmlvciBvZiB0aGUgZWxlbWVudCB0byB0aGUgc3RhdGUgYmVmb3JlIGNvbW1pdAoJICBkYjI5NTIyYTQzMGU0NDQ1MDQxNWNhMzY3NmFiZDFiNzdlZTkyM2Q5LiBBIG5vbi1lbXB0eSBoZWFkZXIgaXMKCSAgZ2VuZXJhdGVkIGFuZCB3aGVuIHRoZSBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgdGhlIGhlYWRlciBpcyBnZW5lcmF0ZWQKCSAgYWdhaW4sIHRoaXMgdGltZSB3aXRoIHRoZSBjb3JyZWN0IHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2OTkKCjIwMTMtMTEtMDcgMTY6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVwZGF0ZSByZWNlaXZlciBzdGF0cyBmb3Igc2VuZGVyCgkgIEFuIGludGVybmFsIHNlbmRlciBpbiBhIHNlc3Npb24gaXMgYWxzbyBhIHJlY2VpdmVyIG9mIGl0cyBvd24gcGFja2V0cyBzbyB1cGRhdGUKCSAgdGhlIHJlY2VpdmVyIHN0YXRzLiBPdGhlciBzZW5kZXJzIGluIHRoZSBzZXNzaW9uIHdpbGwgdXNlIHRoaXMgaW5mbyB0byBnZW5lcmF0ZQoJICBjb3JyZWN0IFJCIGJsb2NrcyBpbiB0aGVpciBTUiByZXBvcnRzLgoKMjAxMy0xMS0wNyAxNjoxMzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHJlZmFjdG9yIHJlY2VpdmVyIHN0YXRzIHVwZGF0ZQoKMjAxMy0xMC0yNSAxODoyMjowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGZyYWdtZW50ZWQgZmlsZXMgd2l0aCBtZGF0IGJlZm9yZSBtb29mcwoJICBBc3N1bWUgYSBmaWxlIHdpdGggYXRvbXMgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjogbW9vdiwgbWRhdCwgbW9vZiwKCSAgbWRhdCwgbW9vZiAuLi4KCSAgVGhlIGZpcnN0IG1vb3YgdXN1YWxseSBkb2Vzbid0IGNvbnRhaW4gYW55IHNhbXBsZSBlbnRyaWVzIGF0b21zIChvcgoJICB0aGV5IGFyZSBhbGwgc2V0IHRvIDAgbGVuZ3RoKSwgYmVjYXVzZSB0aGUgcmVhbCBzYW1wbGVzIGFyZSBzaWduYWxlZAoJICBhdCB0aGUgbW9vZnMuIEluIHB1c2ggbW9kZSwgcXRkZW11eCBwYXJzZXMgdGhlIG1vb3YgYW5kIHRoZW4gZmluZHMgdGhlIG1kYXQsCgkgIGJ1dCB0aGVuIGl0IGhhcyAwIGVudHJpZXMgYW5kIGFzc3VtZXMgaXQgaXMgRU9TLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNvbnRpbnVlIHBhcnNpbmcgaW4gY2FzZSBpdCBpcyBhIGZyYWdtZW50ZWQgZmlsZSBzbyB0aGF0CgkgIGl0IG1pZ2h0IGZpbmQgdGhlIG1vb2ZzIGFuZCBwbGF5IHRoZSBtZWRpYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDYyMwoKMjAxMy0xMC0yNSAxMTo0MjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFdoZW4gdXNpbmcgYSBidWZmZXJlZCBtZGF0LCBzdG9yZSBhbGwgcmVjZWl2ZWQgZGF0YSBmb3IgbGF0ZXIgdXNlCgkgIEluIHB1c2ggbW9kZSwgd2hlbiBxdGRlbXV4IGNhbid0IHVzZSBhIHNlZWsgdG8gc2tpcCB0aGUgbWRhdCBidWZmZXIgaXQgaGFzCgkgIHRvIGJ1ZmZlciBpdCBmb3IgbGF0ZXIgdXNlLgoJICBUaGUgaXNzdWUgaXMgdGhhdCBhZnRlciBwYXJzaW5nIHRoZSBuZXh0IG1vb3YvbW9vZiwgdGhlcmUgbWlnaHQgYmUgc29tZQoJICB0cmFpbGluZyBieXRlcyBmcm9tIHRoZSBuZXh0IGF0b20gaW4gdGhlIGZpbGUuIFRoaXMgZGF0YSB3YXMgYmVpbmcgZGlzY2FyZGVkCgkgIGFsb25nIHdpdGggdGhlIGFscmVhZHkgcGFyc2VkIG1vb3YvbW9vZiBhbmQgcGxheWJhY2sgd291bGQgZmFpbCB0byBjb250aW51ZQoJICBhZnRlciB0aGUgY29udGVudHMgb2YgdGhpcyBtb292L21vb2YgYXJlIHBsYXllZC4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgYmFkIG9uIGZyYWdtZW50ZWQgZmlsZXMgdGhhdCBoYXZlIHRoZSBtZGF0IGJlZm9yZSB0aGUKCSAgY29ycmVzcG9uZGluZyBtb29mLiBTbyB5b3UnZCBnZXQ6CgkgIG1kYXR8bW9vZnxtZGF0fG1vb2YgLi4uCgkgIFdoZW4gYSBtb29mIHdhcyByZWNlaXZlZCwgaXQgdXN1YWxseSBjYW1lIHdpdGggc29tZSBleHRyYSBieXRlcyB0aGF0IHdvdWxkCgkgIGJlbG9uZyB0byB0aGUgbmV4dCBtZGF0IChiZWNhdXNlIHVwc3RyZWFtIGRvZXNuJ3QgY2FyZSBhYm91dCBhdG9tcyBhbGlnbm1lbnQpLgoJICBTbyB0aG9zZSBieXRlcyB3ZXJlIGJlaW5nIGRpc2NhcmRlZCBhbmQgcGxheWJhY2sgd291bGQgZmFpbC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHN0b3JlIHRob3NlIGV4dHJhIGJ5dGVzIHRvIHJldXNlIHRoZW0gbGF0ZXIgYWZ0ZXIgdGhlCgkgIG1kYXQgaXMgZW1wdGllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDYyMwoKMjAxMy0xMS0wNyAwOTo0OTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQWxzbyB1c2UgdGhlIGJpbmQtcG9ydCBwcm9wZXJ0eSBpZiBubyBiaW5kLWFkZHJlc3Mgd2FzIGdpdmVuCgoyMDEzLTExLTA3IDAwOjUxOjEyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpb3Npbms6IGZpeCBzZWdmYXVsdCB3aGVuIHdlIGNhbid0IGdldCB0aGUgY2hhbm5lbHMgbGF5b3V0CgoyMDEzLTExLTA1IDE3OjI2OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBNYWtlIFBpY3R1cmUgSUQgbW9kZSBjb25maWd1cmFibGUgYW5kIGRlZmF1bHQgdG8gbm8gcGljdHVyZSBJRAoJICBTb21lIGltcGxlbWVudGF0aW9ucyAobGlucGhvbmUpIG9ubHkgc3VwcG9ydCBubyBwaWN0dXJlIGF0IGFsbCBpbiB0aGUKCSAgc3RyZWFtIGFuZCB3aWxsIGZhaWwgaWYgb25lIGlzIHByb3ZpZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDk3CgoyMDEzLTExLTA1IDExOjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NjVhYTIwIHRvIGRiZWRhYTAKCjIwMTMtMDEtMjkgMTA6NTE6MDcgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBBZGQgY2FsbCB0byBnc3RfcnRwX2gyNjRfcGF5X2NsZWFyX3Nwc19wcHMoKSB3aGVuIHJlY2VpdmluZyBhIFNUUkVBTV9TVEFSVCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg3CgoyMDEzLTExLTAyIDIyOjUwOjQ3ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwOiBBZGQgbWlzc2luZyBnaW8tMi4wIGRlcHMgYW5kIGluY2x1ZGVzCgoyMDEzLTExLTAxIDE4OjMxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBpbml0aWFsaXphdGlvbiBjb2VmZmljaWVudCBoYW5kbGluZwoJICBCcm9rZSB1bml0IHRlc3QuCgoyMDEzLTEwLTMxIDE0OjA1OjQzIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFsbG93IHNldHRpbmcgdGxzIGNlcnRpZmljYXRlIHZhbGlkYXRpb24gZmxhZ3MKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgInRscy12YWxpZGF0aW9uLWZsYWdzIi4gSWYgdGhlIHVybCB0cmFuc3BvcnQgaXMKCSAgVExTLCB0aGUgdmFsaWRhdGlvbiBmbGFncyB3aWxsIGJlIHNldCB0byB0aGUgcnRzcCBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjMwCgoyMDEzLTEwLTMxIDIyOjQzOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IERvbid0IGNyYXNoIGlmIG5vIGZpbHRlciBjb2VmZmljaWVudHMgYXJlIHByb3ZpZGVkCgkgIC4uLmFuZCBieSBkZWZhdWx0IHVzZSBhIGlkZW50aXR5IGZpbHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDIxNQoKMjAxMy0xMC0zMSAxOToxNToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogRml4IHdyaXRpbmcgb2YgTUQ1IHN1bXMgYW5kIG90aGVyIG1ldGFkYXRhIGJsb2NrcwoJICBUaGVzZSBkb24ndCBoYXZlIHRoZSBGSU5BTF9CTE9DSyBmbGFnIHNldC4KCjIwMTMtMTAtMzEgMTM6MDI6MTEgLTAyMDAgIERqYWxtYSBMw7pjaW8gU29hcmVzIGRhIFNpbHZhIDxkbHVjaW9AaW1wYS5icj4KCgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgaGR2MTM5NHNyYzogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgYSBjYW1lcmEgYnkgaXRzIEdVSUQKCSAgVGhlIHNvdXJjZSBoZHYxMzk0c3JjIGhhcyB0aGUgZ3VpZCBwcm9wZXJ0eSB0aGF0IHBlcm1pdHMgc2VsZWN0IGEgY2FtZXJhCgkgIGNvbm5lY3RlZCBmcm9tIGl0cyBHVUlEIG51bWJlci4KCSAgSG93ZXZlciB3aGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0dGVkIHRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGNoYW5nZWQuCgkgIFRoZSBzb3VyY2UgY29udGludWVzIHVzaW5nIHRoZSBkZWZhdWx0IGNhbWVyYS4KCSAgVGhpcyBwcm9ibGVtIHdhcyBzb2x2ZWQgdXNpbmcgdGhlIGZ1bmN0aW9uIGllYzYxODgzX2NtcF9jb25uZWN0LgoJICBUaGUgcmVmZXJlbmNlIGZvciB0aGUgZnVuY3Rpb24gY291bGQgYmUgZm91bmQgaGVyZToKCSAgaHR0cDovL3d3dy5kZW5uZWR5Lm9yZy9saWJpZWM2MTg4My9BUEktaWVjNjE4ODMtY21wLWNvbm5lY3QuaHRtbAoJICBUaGUgc29sdXRpb24gY2FtZSBmcm9tIGR2Z3JhYiBzb3VyY2UgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQxNQoKMjAxMy0xMC0zMSAxMzoyMDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGFkZCBleHBsaWNpdCBjYXN0IHRvIHNpbGVuY2Ugd2FybmluZwoJICBTaWxlbmNpbmcgdGhpcyB3YXJuaW5nOgoJICBlbGVtZW50cy9zb3VwaHR0cHNyYy5jOjUzMzoxNDogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiDigJhTb3VwS25vd25TdGF0dXNDb2Rl4oCZIGFuZCDigJhlbnVtIDxhbm9ueW1vdXM+4oCZIFstV2Vycm9yPWVudW0tY29tcGFyZV0KCSAgaWYgKHN0YXR1cyAhPSBTT1VQX1NUQVRVU19PSyAmJiAhc2VuZF9lcnJvcl9kb2MpCgkgIFdpdGggZ2NjIDQuOC4yIChkZWJpYW4pCgoyMDEzLTEwLTMxIDEwOjM4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJveHkgbmV3IGJ1ZmZlciBtb2RlCgoyMDEzLTEwLTMwIDE2OjQ5OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBuZXcgdGltZXN0YW1wIG1vZGUKCSAgQWRkIGEgbmV3IHRpbWVzdGFtcCBtb2RlIHRoYXQgYXNzdW1lcyB0aGUgbG9jYWwgYW5kIHJlbW90ZSBjbG9jayBhcmUKCSAgc3luY2hyb25pemVkLiBJdCB0YWtlcyB0aGUgZmlyc3QgdGltZXN0YW1wIGFzIGEgYmFzZSB0aW1lIGFuZCB0aGVuIHVzZXMgdGhlIFJUUAoJICB0aW1lc3RhbXBzIGZvciB0aGUgb3V0cHV0IFBUUy4KCjIwMTMtMTAtMzAgMjI6MTI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIG1hdHJvc2thLWRlbXV4LmM6IEluIGZ1bmN0aW9uICdnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSc6CgkgIG1hdHJvc2thLWRlbXV4LmM6MTM3OTo3OiBlcnJvcjogZm9ybWF0ICcldScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ3VpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgIiUwM3UiLCBjb250ZXh0LT51aWQpOwoJICBeCgoyMDEzLTEwLTI4IDEzOjIxOjE1ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IHJlbW92ZSB1bm5lZWRlZCBndWludCBjb21wYXJhaXNvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDEwCgoyMDEzLTEwLTI4IDE0OjEzOjEyICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBtaXNzaW5nIHNlbGVjdG9yIG5hbWUgd2FybmluZ3MKCSAgVGhlIHNwYWNlcyBtYXR0ZXIgaW4gT2JqQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDEzCgoyMDEzLTEwLTI4IDEzOjMxOjM0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTEKCjIwMTMtMTAtMjUgMTE6MzA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGlmIHRoZSBlbmRfdGltZSBpcyBkZWZpbmVkIGJlZm9yZSB1c2luZyBpdAoJICBBdm9pZHMgc2VuZGluZyBFT1MgdG9vIHNvb24gYmVjYXVzZSBvZiBvdmVyZmxvdy4gQ2FuIGhhcHBlbiBvbgoJICBmcmFnbWVudGVkIG1wNCBwbGF5YmFjay4KCjIwMTMtMTAtMjMgMTM6Mzg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uCgkgIEV2ZW50cyBhcmVuJ3QgR3N0T2JqZWN0cywgYnV0IEdzdE1pbmlPYmplY3RzCgoyMDEzLTEwLTE1IDA4OjE2OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbmFtZSBjaHVua3NfYXJlX2NodW5rcyB0byBjaHVua3NfYXJlX3NhbXBsZXMgYW5kIGZsaXAgdGhlIGxvZ2ljCgkgIEFzIHRoZSB2YXJpYWJsZSBuYW1lIHN1Z2dlc3RzLCBzb21ldGltZXMgY2h1bmtzIGFyZSBjaHVua3MuIFJlbmFtZSB0aGUgdmFyaWFibGUKCSAgdG8gdGVsbCB3aGF0IHRoZXkgYXJlIHdoZW4gdGhleSBhcmUgbm90IGNodW5rcy4KCjIwMTMtMTAtMDkgMDg6MDQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHR5cG9zIGFuZCBhZGQgbW9yZSBsb2dnaW5nIGZvciB1bmhhbmRsZWQgcGFydHMKCjIwMTMtMTAtMTQgMTY6MjM6MjUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEZpeCBtZW1vcnkgbGVhawoJICBVbm1hcCBhbGwgR3N0TWVtb3J5IG9mIHRoZSBjdXJyZW50IGJ1ZmZlciB3aGVuIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMTEwCgoyMDEzLTEwLTEyIDIwOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggYnJva2VuIHNhbXBsZSBwaXBlbGluZQoJICB3aGljaCB3YXMgbXV4aW5nIHJhdyBhdWRpbyBhbmQgdmlkZW8gaW50byBmbHZtdXgsIHdoaWNoIHdvbid0IHdvcmssCgkgIGV2ZW4gaWYgdGhlcmUgd2VyZSBjb252ZXJ0ZXJzLgoKMjAxMy0xMC0xMiAyMDozNzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcmVxdWlyZSBzdHJlYW0tZm9ybWF0PXJhdyBmb3IgbXBlZy0yIHRvbywgYnV0IGRvbid0IHJlcXVpcmUgZnJhbWVkIGZpZWxkCgkgIHJhdyBpbXBsaWVzIHRoYXQgaXQncyBmcmFtZWQgYWxyZWFkeS4gRml4ZXMgLi4gISBmYWFjICEgZmx2bXV4CgoyMDEzLTEwLTA3IDE0OjI3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZW1pdCBFT1Mgd2hlbiBjb25uZWN0aW9uIGRyb3BzCgkgIElmIHRoZSBwaXBlbGluZSBpcyBzdGFsbGVkIGZvciB0b28gbG9uZywgc291cGh0dHBzcmMgd2lsbCBibG9jayBhbmQKCSAgc3RvcCBmZXRjaGluZyBkYXRhIGZyb20gdGhlIG5ldHdvcmsuIFRoaXMgY2FuIGNhdXNlIHRoZSBjb25uZWN0aW9uIHRvCgkgIGRyb3AgYW5kIHNvdXBodHRwc3JjIHdvdWxkIGhhbmRsZSBpdCBhcyBhbiBFT1MuIFRoaXMgcGF0Y2ggbWFrZXMgaXQKCSAgcGVyc2lzdCBhbmQgdHJ5IHRvIGZldGNoIG1vcmUgZGF0YSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGxlbmd0aAoJICBvciB1bnRpbCByZWNlaXZpbmcgYW4gZXJyb3IgdGhhdCBpdCBpcyBiZXlvbmcgbGltaXRzIGluIGNhc2UgdGhlIGNvbnRlbnQKCSAgaXMgdW5rbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzUzNgoKMjAxMy0xMC0xMCAxMzo1MjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogRG9uJ3Qgc2VuZCBzZWdtZW50IGV2ZW50IGJlZm9yZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MjgKCjIwMTMtMTAtMDkgMTc6NDY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCBzZWdtZW50IGV2ZW50cyBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTcyOAoKMjAxMy0xMC0wOCAxMToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBLUxhdyBhbmQgTXUtTGF3IGRvbid0IGhhdmUgd2lkdGgvZGVwdGgvc2lnbmVkIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk2MTQKCjIwMTMtMTAtMDcgMTI6NTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogRml4IGhhbmRsaW5nIG9mIHBsYW5hciB2aWRlbyBmb3JtYXRzIGluIGdyZWVkeWggbWV0aG9kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1MDcKCjIwMTMtMTAtMDYgMTA6MDE6MjYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogVHJpdmlhbCBncmFtbWFyIGZpeCBvbiBkZWJ1ZyBtc2cKCjIwMTMtMTAtMDYgMDk6MTc6MDAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIGNvbnRleHQgZmxhZyBmb3IgV2ViTQoJICBXZWJNIGhhcyBhIGNvdXBsZSBvZiBzcGVjaWZpYyByZXF1aXJlbWVudHMgd2UgbmVlZCB0byBoYW5kbGUuCgkgIElkZWEgaXMgdG8gc2V0IHRoaXMgZmxhZyBvbmNlIGFuZCBqdXN0IHJlbHkgb24gbXV4LT5pc193ZWJtCgkgIGF0IHJ1biB0aW1lIGluc3RlYWQgb2YgcmVwZWF0ZWRseSBmaWd1cmluZyB0aGlzIG91dCBmcm9tCgkgIEdTVF9NQVRST1NLQV9ET0NUWVBFX1dFQk0gKHdoaWNoIHJlcXVpcmVzIGEgc3RyY21wKCkpLgoKMjAxMy0xMC0wNCAxNDo0Mjo1OSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBEbyBub3Qgd3JpdGUgU2VnbWVudFVJRCBmb3IgV2ViTSBtdXgKCSAgV2ViTSBzcGVjIHN0YXRlcyBTZWdtZW50VUlEIGlzIFVuc3VwcG9ydGVkLiBGaWxlcyBwcm9kdWNlZAoJICB3aXRoIGdzdHJlYW1lciB3aXRob3V0IHRoaXMgY2hhbmdlIHdpbGwgc3BpdCBhbiBlcnJvciBsaWtlCgkgIHRoaXMgd2hlbiBwYXNzZWQgdG8gbWt2YWxpZGF0b3I6CgkgIEVSUjIwMTogSW52YWxpZCAnU2VnbWVudFVJRCcgZm9yIHByb2ZpbGUgJ3dlYm0nIGluIEluZm8gYXQgMTkyCgoyMDEzLTEwLTA1IDAwOjAwOjAzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2UgZHZkIHBhbGV0dGUgY2hhbmdlIGV2ZW50IHN0aWNreQoJICBTbyB0aGV5IGRvbid0IGdldCBsb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDU0CgoyMDEzLTEwLTAzIDE2OjM5OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBBZGQgYXV0b21hdGljIGZsaXAgbW9kZSBkcml2ZW4gYnkgaW1hZ2Utb3JpZW50YXRpb24gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzMTIKCjIwMTMtMTAtMDQgMTM6MzQ6MDkgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8cGV0ZXJAa29yc2dhYXJkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBPX0NMT0VYRUMgbmVlZHMgX0dOVV9TT1VSQ0UKCSAgT24gc29tZSBzeXN0ZW1zIChFLkcuIHVDbGliYyBhbmQgb2xkZXIgR2xpYmMgdmVyc2lvbnMpLCBPX0NMT0VYRUMgaXMgb25seQoJICBkZWZpbmVkIHdoZW4gX0dOVV9TT1VSQ0UgaXMgc3BlY2lmaWVkLCBzbyBkbyBzby4KCSAgX0dOVV9TT1VSQ0UgbmVlZHMgdG8gYmUgZGVmaW5lZCBiZWZvcmUgYW55IHN5c3RlbSBoZWFkZXJzIGFyZSBpbmNsdWRlZCwKCSAgc28gbW92ZSB0aGUgZmNudGwuaCBzZWN0aW9uIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDIzCgoyMDEzLTEwLTA0IDEyOjExOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHJhY2UgaW4gZmx1c2gtc3RhcnQvZmx1c2gtc3RvcAoJICBXaGVuIGZsdXNoLXN0b3AgYXJyaXZlcyBiZWZvcmUgd2UgcHJvY2VzcyB0aGUgcmVzdWx0IG9mIHRoZSBfcHVzaCgpIGluIHRoZQoJICBsb29wIGZ1bmN0aW9uLCB3ZSBtaWdodCBwYXVzZSBldmVuIHRob3VnaCB3ZSBhcmUgbm90IGZsdXNoaW5nIGFueW1vcmUuIEZpeCB0aGlzCgkgIHJhY2UgYnkgd2FpdGluZyBmb3IgdGhlIHNyY3BhZCBsb29wIGZ1bmN0aW9uIHRvIGNvbXBsZXRlbHkgcGF1c2UgYWZ0ZXIgZG9pbmcgdGhlCgkgIGZsdXNoLXN0YXJ0LgoKMjAxMy0xMC0wMyAyMjozODo0MyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogVXBkYXRlIHZpZGVvY29udmVydCBjb3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzOTAKCjIwMTMtMTAtMDMgMjE6MzY6MzQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ2hlY2sgaWYgdGhlIHBhZCBuZWVkcyByZWNvbmZpZ3VyYXRpb24gaW4gY29sbGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzODQKCjIwMTMtMTAtMDMgMTQ6Mzk6MzUgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbGF4IHNpbmsgY2FwcwoJICBTaW5jZSBqcGVnZGVjIGFscmVhZHkgcGFyc2UgdGhlIGpwZWcgc3RyZWFtLCB0aGUgc2luayBjYXBzIGNvdWxkIGJlCgkgIHJlbGF4ZWQuIFRoaXMgd2lsbCBhbGxvdyBqcGVnZGVjIHRvIGJlIHNlbGVjdGVkIGluIG1vcmUgY2FzZSBhbmQgaW4KCSAgcGFydGljdWxhciB3aGVuIHRoZSBqcGVnIHR5cGVmaW5kZXIgZG9lcyBub3QgZmluZCB0aGUgd2lkdGggYW5kIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM1MgoKMjAxMy0xMC0wMyAxODozMzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogcHJpbnQgcHJvYmVkIGNhcHMgYXMgY2FwcyBhZ2FpbiBpbiBkZWJ1ZyBsb2cKCSAgVGhpcyBnb3QgbG9zdCBkdXJpbmcgcmVmYWN0b3JpbmcuCgoyMDEzLTEwLTAzIDExOjU5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSBtcDJ2IGZvdXJjYyBmb3IgTVBFRy0yIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNzAKCjIwMTMtMTAtMDIgMTU6NTY6NTMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNjYKCjIwMTMtMDktMzAgMTI6MzE6NDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgSEVWQyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwOTMKCjIwMTMtMDktMzAgMTI6MjQ6MzIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpeCBtZW1vcnkgbGVhawoJICBXZSB3ZXJlIGxlYWtpbmcgdGhlIEdMaXN0IG5vZGVzIG9mIHRoZSBwZW5kaW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwNzkKCjIwMTMtMDktMzAgMTI6MzE6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHJhY2Ugd2hlbiB1cGRhdGluZyB0aGUgbmV4dF9zZXFudW0KCSAgSWYgd2Ugd2VyZSBub3Qgd2FpdGluZyBmb3IgdGhlIG1pc3Npbmcgc2VxbnVtIHdoZW4gd2UgaW5zZXJ0IHRoZSBsb3N0IHBhY2tldAoJICBldmVudCBpbiB0aGUgaml0dGVyYnVmZmVyLCB3ZSBlbmQgdXAgbm90IHVwZGF0aW5nIHRoZSBuZXh0X3NlcW51bSBhbmQgd2FpdAoJICBmb3JldmVyIGZvciB0aGUgbG9zdCBwYWNrZXRzIHRvIGFycml2ZS4gSW5zdGVhZCwga2VlcCB0cmFjayBvZiB0aGUgYW1vdW50IG9mCgkgIHBhY2tldHMgY29udGFpbmVkIGJ5IHRoZSBqaXR0ZXJidWZmZXIgaXRlbSBhbmQgdXBkYXRlIHRoZSBuZXh0IGV4cGVjdGVkCgkgIHNlcW51bSBvbmx5IGFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlci9ldmVudC4gVGhpcyBtYWtlcyBzdXJlIHdlIGNvcnJlY3RseSBoYW5kbGUKCSAgR0FQUyBpbiB0aGUgc2VxdWVuY2UgbnVtYmVycy4KCjIwMTMtMDktMzAgMTI6MzA6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzbWFsbCBkZWJ1ZyBpbXByb3ZlbWVudAoKMjAxMy0wOS0zMCAxMTo1MzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlc2V0IHNrZXcgZG9lcyBub3QgcmVzZXQgY2xvY2stcmF0ZQoJICBEb24ndCByZXNldCB0aGUgY2xvY2stcmF0ZSB3aGVuIHdlIHJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gYWxnb3JpdGhtLgoJICBSZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIGFsZ29yaXRobSB3aGVuIHdlIGNoYW5nZSB0aGUgY2xvY2stcmF0ZS4KCjIwMTMtMDktMzAgMTE6MTY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwYXVzZSB0aW1lciB3aGVuIFBBVVNFRAoJICBBbHNvIHBhdXNlIHRoZSB0aW1lciB3aGVuIHdlIGdvIHRvIHRoZSBQQVVTRUQgc3RhdGUuIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UKCSAgZG9uJ3QgaGF2ZSBhIGNsb2NrIG9yIGJhc2UtdGltZSBpbiBQQVVTRUQgdG8gcGVyZm9ybSB0aGUgdGltZW91dHMuCgoyMDEzLTA5LTMwIDExOjE1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0yNiAyMDo0MToyNiArMDIwMCAgSGFucyBNw6Vuc3NvbiA8aGFuc21AYXhpcy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogRG8gbm90IHJlcXVpcmUgZnJhbWVyYXRlIGluIHBlZXIgdmlkZW8gY2FwcwoJICBSZW1vdmUgdGhlIGZyYW1lcmF0ZSByZXN0cmljdGlvbiBvbiB0aGUgY2Fwcy4KCSAgUmVmZXJlbmNlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODY0CgoyMDEzLTA5LTI3IDE1OjA1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gYWZ0ZXIgY29ubmVjdAoJICBXaGVuIHdlIGhhdmUgb3BlbmVkIHRoZSBzdHJlYW0sIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4KCSAgcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIHRoZSBzZXJ2ZXIuCgoyMDEzLTA5LTI3IDEyOjUzOjA2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1vdmUgdGhlIGNoZWNrIGZvciBzdWJ0aXRsZSBidWZmZXIgYmVpbmcgbnVsbCB0ZXJtaW5hdGVkIGJlZm9yZSB2YWxpZGF0aW5nIFVURi04CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMjYgMTY6MjA6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBjYWxjdWxhdGUgc2tldyB3aXRob3V0IHJ0cHRpbWUKCSAgU2tpcCB0cnlpbmcgdG8gY2FsY3VsYXRlIHRoZSBza2V3IHdoZW4gd2UgZG9uJ3QgaGF2ZSBhbiBydHB0aW1lLgoJICBJdCBjYXVzZXMgcHJvYmxlbXMgd2hlbiBsb3N0IHBhY2tldCBldmVudHMgYXJlIHBsYWNlZCBpbiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0wOS0yNSAyMzo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBnZXQgcmlkIG9mIEFTX1NDUlVCX0lOQ0xVREUKCSAgU2hvdWxkIG5vdCBiZSBuZWVkZWQgYW55IG1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2NTgKCjIwMTMtMDktMjUgMTc6NDI6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRpc2FibGUgY2hlY2tzIHdoZW4gbGlua2luZyBwYWRzCgkgIFdlIGtub3cgdGhlIHBhZCBsaW5rcyB3aWxsIHdvcmsgKGFuZCB3ZSBkb24ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlCgkgIGFueXdheSkuCgoyMDEzLTA5LTI1IDE3OjM2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYXZvaWQgc29tZSBwYWQgbGluayBjaGVja3MKCSAgTGluayBwYWRzIHdpdGhvdXQgY2hlY2tzLCB3ZSBrbm93IGl0IHdpbGwgd29yay4KCjIwMTMtMDktMjUgMTI6NTU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGVycm9yIG91dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZSBmb3Igbm9uLWZyYWdtZW50ZWQgdmFyaWFudHMKCSAgRG9pbmcgc28gd291bGQgYmUgYSByZWdyZXNzaW9uIG92ZXIgMS4wIGFuZCBicmVha3MgdGhlIHVuaXQgdGVzdC4KCSAgSG93ZXZlciB0aGUgcmVzdWx0IHdpbGwgYmUgbW9zdCBsaWtlbHkgdW51c2FibGUsIHNvIGxldCdzIHBvc3QKCSAgYSB3YXJuaW5nIG1lc3NhZ2Ugb24gdGhlIGJ1cy4KCjIwMTMtMDktMjQgMDQ6MDI6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjYWxjdWxhdGUgc29tZSBzdGF0cwoKMjAxMy0wOS0yMyAxNzowNTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgc2VuZF9sb3N0X2V2ZW50IGZ1bmN0aW9uCgkgIE1vdmUgdGhlIHNlbmRfbG9zdF9ldmVudCBmdW5jdGlvbiB0byB0aGUgZG9fbG9zdF9ldmVudCBoYW5kbGluZywgdGhlcmUgaXMgbm8KCSAgbmVlZCB0byBoYXZlIGEgc2VwYXJhdGUgZnVuY3Rpb24uCgoyMDEzLTA5LTE2IDExOjIwOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGNvZGUgdG8gcGFyc2UgY3JlYXRpb24gdGltZSBlYXJsaWVyIHRoYW4gMTk3MAoJICBVc2UgZ19kYXRlX3RpbWUgc2Vjb25kcyBtYW5pcHVsYXRpb24gdG8gYWxsb3cgdG8gY292ZXIgdGhlIHF1aWNrdGltZQoJICBzcGVjIGZvciBjcmVhdGlvbl90aW1lLiBJdCB1c2VzIHNlY29uZHMgc2luY2UgMTkwNC4KCSAgQm90aCBwYXRocyBjb3VsZCBiZSBkb25lIHVzaW5nIHRoZSBnZW5lcmljIGFwcHJvYWNoIG9mIHNlY29uZHMgc2luY2UKCSAgMTkwNCB3aXRoIEdEYXRlVGltZSBoYW5kbGluZywgYnV0IHRoZSBmaXJzdCBwYXRoIHVzaW5nIHNlY29uZHMgZnJvbQoJICAxOTcwIHNob3VsZCBiZSBtb3JlIGNvbW1vbmx5IGZvdW5kIGFuZCBhdm9pZHMgYSBmZXcgb2JqZWN0cyBjcmVhdGlvbiBhbmQKCSAgcmVmL3VucmVmLCBzbyBrZWVwIGl0IHRoZXJlIGZvciBwZXJmb3JtYW5jZS4KCSAgQWRkaXRpb25hbGx5LCB0aGUgY29kZSBmb3IgaGFuZGxpbmcgc2Vjb25kcyBzaW5jZSAxOTcwIGNoYW5nZWQgZnJvbSA+CgkgIHRvID49IGJlY2F1c2UgaGF2aW5nIDAgc2Vjb25kcyBzaW5jZSAxOTcwIGlzIGFsc28gYSB2YWxpZCBjYXNlIGZvciB0aGF0CgkgIHBhdGggdG8gaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTc1CgoyMDEzLTA5LTIxIDAwOjU1OjI2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHVwZGF0ZSBzdHJlYW0tPnBvcyB3aGVuIHNlbmRpbmcgYnVmZmVycyBzbyB0aGF0IGdhcCBldmVudHMgYXJlIG5vdCBzZW50IHVubmVjZXNzYXJpbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUwNQoKMjAxMy0wOS0yNCAxODozMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YjAzYmE3IHRvIDg2NWFhMjAKCjIwMTMtMDktMjQgMTU6MDU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBY3R1YWxseSB1c2UgMS4zLjAuMSBhcyB2ZXJzaW9uIHRvIG1ha2UgY29uZmlndXJlIGhhcHB5CgoyMDEzLTA5LTI0IDE1OjAwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMi4wID09PQoKMjAxMy0wOS0yNCAxNDoyMTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMi4wCgoyMDEzLTA5LTI0IDE0OjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMjAgMTk6NDM6MjEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IHJlbGVhc2luZyB0aGUgc2luawoJICBzaG93X2ZyYW1lIGlzIGRlZmVycmVkIHRvIHRoZSBtYWluIHRocmVhZCBhbmQgY2FuIGJlIGNhbGxlZAoJICB3aGVuIHRoZSBzaW5rIGhhcyBiZWVuIHJlbGVhc2VkLCBzbyB3ZSBuZWVkIHRvIGtlZXAgYW4gZXh0cmEgcmVmCgkgIG9uIE9iamVjdGl2ZUMgb2JqZWN0IGhlbHBlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUwMQoKMjAxMy0wOS0xOSAxNzoxMTozNCAtMDQwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXN0b3JlIG9yaWdpbmFsIEdzdE1lbW9yeSBpbiBidWZmZXIgaWYgaXQgaGFzIGJlZW4gY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDgzCgoyMDEzLTA5LTIzIDE2OjM0OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogdXBkYXRlIGRvY3MKCjIwMTMtMDktMjMgMTU6MzY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZG9jczogdXBkYXRlIGRvY3Mgd2l0aCAxLjAgZWxlbWVudCBuYW1lcwoKMjAxMy0wOS0yMyAxNDoxMzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHJldHJhbnNtaXNzaW9uIGJlY2F1c2Ugb2YgcmVvcmRlcmluZwoKMjAxMy0wOS0yMyAxNDoxMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFsd2F5cyBzdG9yZSBsb3N0IGV2ZW50IGluIGppdHRlcmJ1ZmZlcgoJICBBbHdheXMgcHJlcGFyZSBhIGxvc3QgZXZlbnQgaW4gdGhlIGppdHRlcmJ1ZmZlciwgaXQgaXMgdG8gd2FrZSB1cCBhbmQgbWFrZSB0aGUKCSAgcHVzaGluZyB0aHJlYWQgY29udGludWUuIFdlIGRyb3AgdGhlIGV2ZW50IHdoZW4gd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBwdXNoIGxvc3QKCSAgZXZlbnRzIGRvd25zdHJlYW0uCgoyMDEzLTA5LTIzIDExOjE4OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2NoZWR1bGUgbG9zdCBldmVudCBkaWZmZXJlbnRseQoJICBTY2hlZHVsZSB0aGUgbG9zdCBldmVudCBieSBwbGFjaW5nIGl0IGluc2lkZSB0aGUgaml0dGVyYnVmZmVyIHdpdGggdGhlIHNlcW51bQoJICB0aGF0IHdhcyBsb3N0IHNvIHRoYXQgdGhlIHB1c2hpbmcgdGhyZWFkIGNhbiBpbnRlcmxlYXZlIGFuZCBwdXNoIGl0IHByb3Blcmx5LgoKMjAxMy0wOS0yMyAxMToxNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcmVtb3ZlIHRpbWVvdXRzIGZyb20gY2hlY2sKCSAgVGltZW91dHMgbWFrZSB0aGUgdGVzdCB1bnJlbGlhYmxlIGFuZCBhcmUgbm90IG5lZWRlZC4KCjIwMTMtMDktMjMgMTE6MTU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW1vdmUgbGlzdCBkZWJ1ZwoKMjAxMy0wOS0yMyAxMToxNDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgdHlwZSB0byB0aGUgaXRlbQoJICBTbyB0aGF0IHRoZSB1cHBlciBsYXllciBjYW4ga25vdyB3aGF0IGRhdGEgaXMgY29udGFpbmVkIGluIHRoZSBpdGVtLgoKMjAxMy0wOS0yMyAwOTo1ODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGZsdXNoCgkgIFBhc3MgZnVuY3Rpb24gdG8gZmx1c2ggdG8gcHJvcGVybHkgZnJlZSB0aGUgcXVldWUgaXRlbXMuCgoyMDEzLTA5LTIxIDAwOjA4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXBwZW5kIHNlcW51bSAtMSBwYWNrZXRzCgoyMDEzLTA5LTIwIDIzOjQ4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiB1c2Ugc3RydWN0dXJlIHRvIGhvbGQgcGFja2V0IGluZm9ybWF0aW9uCgkgIE1ha2UgdGhlIGppdHRlcmJ1ZmZlciBvcGVyYXRlIG9uIGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYWxsIHRoZSBwYWNrZXQKCSAgaW5mb3JtYXRpb24uIFRoaXMgYXZvaWRzIG1hcHBpbmcgdGhlIGJ1ZmZlciBtdWx0aXBsZSB0aW1lcyBqdXN0IHRvIGdldCB0aGUgUlRQCgkgIGluZm9ybWF0aW9uLiBJdCB3aWxsIGFsc28gbWFrZSBpdCBwb3NzaWJsZSB0byBzdG9yZSBvdGhlciBtaW5pb2JqZWN0cyBzdWNoIGFzCgkgIGV2ZW50cyBsYXRlci4KCjIwMTMtMDktMjAgMTc6NDg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1cGRhdGUgZXhwZWN0ZWQgdGltZXIgd2hlbiBwb3NzaWJsZQoJICBXaGVuIHdlIHJlY2VpdmUgYSBwYWNrZXQgYW5kIHdlIGhhdmUgc29tZSBtaXNzaW5nIHBhY2tldHMsIHdlIGNhbiB1cGRhdGUgdGhlaXIKCSAgZXN0aW1hdGVkIGFycml2YWwgdGltZXMgYmFzZWQgb24gdGhlIHRpbWVzdGFtcCBkaWZmZXJlbmNlLgoKMjAxMy0wOS0yMCAxNzoxODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBvcmRlciBvZiB0aW1lb3V0IGV2ZW50cwoJICBJbXByb3ZlIHRoZSBvcmRlciBvZiB0aGUgdGltZW91dCBldmVudHMsIGlmIHRoZXJlIGFyZSB0aW1lcnMgd2l0aCB0aGUgc2FtZQoJICB0aW1lb3V0LCB3ZSB3YW50IHRvIHRyaWdnZXIgdGhlIGxvd2VzdCBzZXFudW0gZmlyc3QuIEZvciB0aGlzIHdlIG5lZWQgdG8gbG9vcAoJICBvdmVyIHRoZSBjb21wbGV0ZSBhcnJheSBvZiB0aW1lcnMgdG8gZmluZCB0aGUgYmVzdCBvbmUgYmVmb3JlIHRyaWdnZXJpbmcgdGhlCgkgIHRpbWVvdXQuCgoyMDEzLTA5LTIwIDE2OjU4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2VuZCBsb3N0IGV2ZW50IGJlZm9yZSBzaWduYWxpbmcgbmV4dCBidWZmZXIKCSAgRmlyc3Qgc2VuZCB0aGUgbG9zdCBldmVudCwgdGhlbiB1cGRhdGUgdGhlIG5leHRfc2VxbnVtIGNvdW50ZXIgYW5kIHRoZW4KCSAgc2VuZCB0aGUgc2lnbmFsIHRvIHRoZSBwdXNoaW5nIHRocmVhZCB0aGF0IGl0IGNhbiByZXRyeSB0byBwdXNoIGEgYnVmZmVyLiBUaGlzCgkgIGF2b2lkcyBwdXNoaW5nIG91dCBidWZmZXJzIGJlZm9yZSB0aGUgbG9zdCBldmVudCBpcyBwdXNoZWQuCgoyMDEzLTA5LTIwIDE1OjM1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBjb25maWd1cmUgY2xvY2stcmF0ZSBvbiBqaXR0ZXJidWZmZXIKCSAgQWRkIGEgZ2V0IGFuZCBzZXR0ZXIgdG8gY29uZmlndXJlIHRoZSBjbG9jay1yYXRlIGluIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZgoJICBwYXNzaW5nIGl0IGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBpbnNlcnQgbWV0aG9kLgoKMjAxMy0wOS0yMCAxMjoyOTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHBhY2tldCBkZWxheSBhbmQgcmV0cmFuc21pc3Npb24KCjIwMTMtMDktMjAgMTI6Mjc6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgb3B0aW9uIHRvIHJlc2V0IHJldHJhbnNtaXNzaW9uIHRpbWVycwoKMjAxMy0wOS0yMCAxMjoyNTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHN0b3AgdGhlIHRpbWVyIHRocmVhZAoJICBUaGUgdGltZW91dCBjb2RlIGNvdWxkIHJlbGVhc2UgdGhlIGxvY2sgc28gd2UgbmVlZCB0byBjaGVjayBpZiB3ZSBhcmUgYWxsb3dlZCB0bwoJICB3YWl0IGZvciB0aGUgY2xvY2sgc29tZSBtb3JlLgoKMjAxMy0wOS0yMCAxMjoyNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVubG9jayBvbmx5IG9uY2UKCjIwMTMtMDktMjAgMTE6MzA6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGNoZWNrIGJvdGggUFRTIGFuZCBEVFMKCjIwMTMtMDktMjAgMTA6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB1bml0LXRlc3QgZm9yIG11bHRpcGxlIG1pc3NpbmcgcGFja2V0cwoJICBDaGVjayBpZiBtdWx0aXBsZSBtaXNzaW5nIHBhY2tldHMgZ2VuZXJhdGUgcmV0cmFuc21pc3Npb24gZXZlbnRzIGFuZCB0aGF0IHRoZQoJICByZXRyYW5taXNzaW9uIHJlcXVlc3RzIGFyZSBjYW5jZWxlZCB3aGVuIHRoZSBtaXNzaW5nIHBhY2tldCBhcnJpdmVzLgoKMjAxMy0wOS0yMCAxMDo1MzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZmx1c2ggYW5kIHNodXRkb3duCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gdW5zY2hlZHVsZSB0aGUgdGltZXIgaW4gZmx1c2gtc3RhcnQsIGZsdXNoLXN0b3Agd2lsbCByZW1vdmUKCSAgdGhlIHRpbWVycyBhbmQgdW5zY2hlZHVsZS4KCSAgVW5zY2hlZHVsZSB0aGUgY3VycmVudCB0aW1lciBiZWZvcmUgYXR0ZW1wdGluZyB0byBqb2luIHRoZSB0aW1lciB0aHJlYWQuCgoyMDEzLTA5LTIwIDEwOjQzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTIwIDEwOjQyOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2V0IGNvcnJlY3QgZXhwZWN0ZWQgdGltZQoJICBXaGVuIHdlIGFscmVhZHkgaGF2ZSBhIHRpbWVyIGZvciBhIHBhY2tldCwgc2tpcCBpdCBidXQgZG9uJ3QgZm9yZ2V0IHRvIGFkanVzdAoJICB0aGUgZHRzIHRvIHRoZSBleHBlY3RlZCBkdHMgb2YgdGhlIG5leHQgcGFja2V0LgoKMjAxMy0wOS0yMCAxMDo0MTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMTkgMTY6NTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IHVzZSBQT0ZGU0VUIGluc3RlYWQgb2YgT0ZGU0VUCgkgIFVzZSB0aGUgbW9yZSBjb3JyZWN0IFBPRkZTRVQgbWFjcm8gdG8gZ2V0IHRoZSBvZmZzZXQgb2YgYSBjb21wb25lbnQgaW4gaXRzCgkgIHBsYW5lLiBUaGUgb2Zmc2V0IG1hY3JvIGdpdmVzIHRoZSBvZmZzZXQgb2YgdGhlIGNvbXBvbmVudCByZWxhdGl2ZSB0byB0aGUgc3RhcnQKCSAgb2YgdGhlIGZyYW1lLgoKMjAxMy0wOS0yMSAxODo0NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20vbW14Lmg6CgkgIGdvb206IEZpeCBNTVggYXNzZW1ibHkgY29tcGlsYXRpb24gd2l0aCBjbGFuZwoJICBjbGFuZyBkb2VzIG5vdCB3YW50IG9yIG5lZWQgYSBjbG9iYmVyIGxpc3QgZm9yIGVtbXM6CgkgIGVycm9yOiBjbG9iYmVycyBtdXN0IGJlIGxhc3Qgb24gdGhlIHg4NyBzdGFjawoJICBQYXRjaCB0YWtlbiBmcm9tIHRoZSBGcmVlQlNEIHBvcnRzLCBwcm92aWRlZCBieQoJICBEYW4gTWNHcmVnb3IgPGRhbi5tY2dyZWdvckB1c2Fzay5jYT4KCjIwMTMtMDktMjAgMTY6MTY6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjEzNjYxIHRvIDZiMDNiYTcKCjIwMTMtMDktMjAgMTA6MTk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogTWFrZSBzdXJlIHRoYXQgc3VidGl0bGUgYnVmZmVycyBhcmUgXDAtdGVybWluYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTE3IDEyOjE3OjU0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIGlzc3VlcyBjb3JyZWN0bHkgd2hlbiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBUaGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBvbmx5IG1ha2Ugc2Vuc2UgZm9yIGZyYWdtZW50ZWQgZm9ybWF0cy4KCSAgRm9yIHJlZ3VsYXIgTVA0LCB3aGVuIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlIHdlIGNhbid0IHJld3JpdGUKCSAgdGhlIGhlYWRlcnMsIHNvIHF0bXV4IGNhbiBvbmx5IHdvcmsgd2l0aCBmYXN0LXN0YXJ0PVRSVUUsIHdoZXJlCgkgIHRoZSBoZWFkZXJzIGFyZSB3cml0dGVuIGZpbmlzaGluZyB0aGUgZmlsZS4KCSAgRm9yIGZyYWdtZW50ZWQgTVA0LCB3aGVuIHN0cmVhbWFibGUgaXMgbm90IHNlZWthYmxlIGFuZCB0aGUgc3RyZWFtYWJsZQoJICBwcm9wZXJ0eSBpcyBGQUxTRSwgd2UgbXVzdCBlbmZvcmNlIHN0cmVhbWFibGU9VFJVRSB3YXJuaW5nIHRoZSB1c2VyCgkgIGFib3V0IHRoaXMgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTcgMTI6MDY6MDYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlICJzdHJlYW1hYmxlIiBUUlVFIGFzIGRlZmF1bHQKCSAgVGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlIGZvciBmcmFnbWVudGVkIE1QNCAoRGFzaCBhbmQgU21vb3RoIFN0cmVhbWluZykKCSAgaXMgcHJvZHVjaW5nIHN0cmVhbWFibGUgY29udGVudCAoZXZlbiBmb3IgVk9EKS4gc3RyZWFtYWJsZT1GQUxTRSB3b3VsZCBvbmx5CgkgIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZnJhZ21lbnRlZCBNUDQgd2l0aCBhbmQgaW5kZXggb2YgTU9PRidzIHRoYXQgY291bGQKCSAgYmUgcmVwcm9kdWNlZCB3aXRob3V0IGEgcGxheWxpc3QvbWFuaWZlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xNyAxMjowMTozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlcHJlY2F0ZSB0aGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBmb3Igbm9uLWZyYWdtZW50ZWQgTVA0CgkgIFRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IG9ubHkgbWFrZXMgc2Vuc2UgZm9yIGZyYWdtZW50ZWQgTVA0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE5IDE3OjA4OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogUmVtb3ZlIGNvbW1lbnRlZCBvdXQgbGluZQoKMjAxMy0wOS0xOSAxODo0MzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzRhNjg1NyB0byBiNjEzNjYxCgoyMDEzLTA5LTE5IDE3OjM1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDc0YTY4NTcKCjIwMTMtMDktMTkgMTY6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGRvbid0IGFzc3VtZSBwbGFuYXIgZm9ybWF0cyBoYXZlIGp1c3QgMSBibG9jawoJICBEb24ndCBhc3N1bWUgcGxhbmFyIGZvcm1hdHMgaGF2ZSBqdXN0IG9uZSBtZW1vcnkgYmxvY2sgd2l0aCB0aGUgZGF0YSBidXQgdXNlIHRoZQoJICBtYWNyb3MgdG8gYWNjZXNzIHRoZSByaWdodCBtZW1vcnkgYmxvY2sgd2hlcmUgYSBjb21wb25lbnQgY2FuIGJlIGZvdW5kLgoKMjAxMy0wOS0xOSAxNDoxNDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHJldHJhbnNtaXNzaW9uIGppdHRlcmJ1ZmZlciB0ZXN0CgkgIFN0b3JlIGJvdGggRFRTIGFuZCBQVFMgb24gYnVmZmVycy4KCSAgTWFrZSBhIHF1ZXVlIGZvciBzcmNwYWQgZXZlbnRzLgoJICBBY3RpdmF0ZSBwYWRzIGFmdGVyIGxpbmtpbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgUkVDT05GSUdVUkUgZXZlbnRzLgoJICBBZGQgdGVzdCBmb3IgcmV0cmFuc21pc3Npb24uCgoyMDEzLTA5LTE5IDE0OjEyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjoga2VlcCBkZWxheSBhcyBhIHNlcGFyYXRlIHZhcmlhYmxlIGluIHRpbWVyCgkgIEtlZXAgYSBzZXBhcmF0ZSBkZWxheSBpbiB0aGUgdGltZXIgc28gdGhhdCB3ZSBzdGlsbCBrbm93IHRoZSBvcmlnaW5hbCB0aW1lc3RhbXAKCSAgb2YgdGhlIHBhY2tldCB0aGF0IHRoaXMgdGltZXIgcmVmZXJzIHRvLiBXZSBjYW4gdGhlbiBwbGFjZSB0aGUgY29ycmVjdAoJICBydW5uaW5nLXRpbWUgaW4gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50LgoKMjAxMy0wOS0xOSAxNDowODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB3cml0YWJpbGl0eSBvZiBwcm9wZXJ0aWVzCgoyMDEzLTA5LTE5IDExOjM0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS45MCA9PT0KCjIwMTMtMDktMTkgMTA6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuOTAKCjIwMTMtMDktMTkgMTA6MjE6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0xOSAwOTo0NToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vY3MucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOS0xMSAxNDoyNzowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkbWFidWYgaXMgbm90IGEgc2luZ2xldG9uIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzc5MwoKMjAxMy0wOS0xNiAxMzo1Mzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBkbyBodHRwIHJlcXVlc3RzIGluIFJFQURZCgkgIEhFQUQgcmVxdWVzdHMgdG8gZGlzY292ZXIgaWYgdGhlIHNlcnZlciBpcyBzZWVrYWJsZSBzaG91bGRuJ3QgYmUgZG9uZSBpbgoJICBSRUFEWSBhcyBpdCBtaWdodCBsb2NrIHRoZSBtYWluIHRocmVhZCB0aGF0IGlzIGRvaW5nIHRoZSBzdGF0ZSBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNzEKCjIwMTMtMDktMTggMTY6MzI6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWV2YWx1YXRlIHRoZSBjdXJyZW50IHRpbWVyIGFmdGVyIHRpbWVvdXQKCSAgV2hlbiB3ZSB0cmlnZ2VyIHRoZSB0aW1lb3V0IGxvZ2ljIG9mIGEgdGltZXIsIHJlZXZhbHVhdGUgaXQgYmVjYXVzZSBpdCBpcwoJICBwb3NzaWJsZSB0aGF0IGl0IHN0aWxsIGhhcyB0aGUgbG93ZXN0IHRpbWVvdXQuCgoyMDEzLTA5LTE4IDE2OjMxOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgdXBkYXRlIHRpbWUgd2hlbiB1bnNjaGVkdWxlZAoJICBEb24ndCB0cnkgdG8gZXN0aW1hdGUgdGhlIGN1cnJlbnQgdGltZSB3aGVuIHdlIGdvdCB1bnNjaGVkdWxlZC4KCjIwMTMtMDktMTggMTY6Mjk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbml0IHBhY2tldCBzcGFjaW5nIG9uIGZpcnN0IGJ1ZmZlcgoJICBBbHJlYWR5IGluaXQgdGhlIHBhY2tldCBzcGFjaW5nIHZhcmlhYmxlcyBvbiB0aGUgZmlyc3QgYnVmZmVyIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgc3BhY2luZyBvbiB0aGUgc2Vjb25kIGJ1ZmZlciBhbHJlYWR5LgoKMjAxMy0wOS0xOCAxNTowODo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGNvbW1lbnRzCgoyMDEzLTA5LTE4IDE0OjU3OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcHVzaCB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSB0aW1lciB0aHJlYWQKCSAgSW5zdGVhZCBvZiBwdXNoaW5nIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCBzY2hlZHVsZSBhIHRpbWVvdXQKCSAgdGhhdCB3aWxsIHB1c2ggdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgdGltZXIgdGhyZWFkLiBUaGlzIGF2b2lkIGJsb2NraW5nIHRoZQoJICB1cHN0cmVhbSB0aHJlYWQgd2hpbGUgd2UgcHVzaCBhbmQgc3luYyB0aGUgZXZlbnQuCgoyMDEzLTA5LTE4IDE0OjIzOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIGFub3RoZXIgdGVzdAoJICBUaGUgdGVzdCBpcyBtb2RpZmllZCBzbGlnaHRseSBiZWNhdXNlIHRoZSBsYXRlIGxvc3QgcGFja2V0cyBhcmUgb25seQoJICBnZW5lcmF0ZWQgbm93IHdoZW4gYSBsYXJnZSBnYXAgaXMgcmVjZWl2ZWQuCgoyMDEzLTA5LTE4IDE0OjEyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJvdW5kIGdhcCBkdXJhdGlvbiB0byBtdWx0aXBsZSBvZiBkdXJhdGlvbgoJICBNYWtlIHN1cmUgdGhlIGdhcCBkdXJhdGlvbiBpbiB0aGUgbG9zdCBldmVudCBpcyBhIG11bHRpcGxlIG9mIHRoZSBwYWNrZXQKCSAgZHVyYXRpb24uCgkgIEVuYWJsZSBhbm90aGVyIHRlc3QuCgoyMDEzLTA5LTE4IDEyOjI5OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGR1cmF0aW9uCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGVzdGltYXRlZCBkdXJhdGlvbiBvZiBtaXNzaW5nIHBhY2tldHMgYW5kIHVzZSBpdCBpbiB0aGUgbG9zdAoJICBldmVudC4KCSAgRW5hYmxlIGFub3RoZXIgdW5pdCB0ZXN0CgoyMDEzLTA5LTE4IDExOjU5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGhhbmRsZSBsYXJnZSBnYXBzIHdpdGggb25lIGxvc3QgZXZlbnQKCSAgV2hlbiB3ZSBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIG1pc3NpbmcgcGFja2V0cywgZ2VuZXJhdGUgb25lIGxvc3QgZXZlbnQgZm9yIGFsbAoJICB0aGUgcGFja2V0cyB0aGF0IGhhdmUgbm8gY2hhbmNlIG9mIGJlaW5nIHB1c2hlZCBvdXQgaW4gdGltZS4KCSAgRml4IGFuZCBhY3RpdmF0ZSB1bml0IHRlc3QgZm9yIGxhcmdlIGdhcHMuCgoyMDEzLTA5LTE4IDExOjU2OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgbG9zdCBldmVudCBzZW5kaW5nCgkgIEFsc28gbWFrZSBzdXJlIHdlIG9ubHkgaW5jcmVtZW50IHRoZSBleHBlY3RlZCBzZXFudW0gYW5kIGxhc3QKCSAgb3V0cHV0IHRpbWVzdGFtcC4KCjIwMTMtMDktMTcgMjM6MjE6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciB0aW1lb3V0IHRyaWdnZXJzCgoyMDEzLTA5LTE3IDIzOjAzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2ltcGxpZnkgdGhlIHRpbWVvdXQgY29kZQoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHRpbWUgaW4gdGhlIHRpbWVvdXQgbG9vcC4KCSAgTG9vcCBvdmVyIGFsbCB0aW1lcnMgYW5kIHRyaWdnZXIgYWxsIHRoZSBleHBpcmVkIG9uZXMsIHdlIGNhbiBkbyB0aGlzIGluIHRoZQoJICBzYW1lIGxvb3AgdGhhdCBzZWxlY3RzIHRoZSBuZXcgYmVzdCB0aW1lci4KCjIwMTMtMDktMTcgMjM6MDE6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWFycmFuZ2UgdGltZXIgdXBkYXRlIGNvZGUKCSAgQWxzbyB1cGRhdGUgdGhlIHRpbWVycyB3aGVuIHJldHJhbnNtaXNzaW9uIGlzIGRpc2FibGVkLiBXZSBuZWVkIHRvCgkgIGRvIHRoaXMgYmVjYXVzZSB3aGVuIHdlIGFkZGVkIExPU1QgdGltZXJzIHdoZW4gd2UgZGV0ZWN0ZWQgbWlzc2luZyBwYWNrZXRzIGFuZAoJICB3ZSBuZWVkIHRvIHJlbW92ZSB0aG9zZSB0aW1lcnMgd2hlbiB0aGUgcGFja2V0IGZpbmFsbHkgYXJyaXZlcy4KCjIwMTMtMDktMTcgMjI6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogbGluayB0byBsaWJtIGZvciBtYXRocyBzdHVmZgoJICBGaXhlcyB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byByaW50IGFuZCBwb3cgb24gdWJ1bnR1CgkgIGJ1aWxkIGJvdC4KCjIwMTMtMDktMTcgMTU6MTk6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgb24gc2h1dGRvd24KCjIwMTMtMDktMTcgMTU6MTE6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGNoYW5nZSBmb3IgdmlkZW9taXhlciByZW5hbWVkIG9yYyBmaWxlCgoyMDEzLTA5LTE0IDE2OjAzOjIwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIE1BWF9UT0xFUkFURURfTEFURU5FU1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzQxMQoKMjAxMy0wOS0xNiAxNTo1NDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1ydHguc2g6CgkgIGV4YW1wbGVzOiB3ZSBkb24ndCBuZWVkIHRoZSBxdWV1ZSBhbnltb3JlCgoyMDEzLTA5LTE2IDE1OjUzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXNlIHNlcGFyYXRlIHRocmVhZCBmb3IgdGltZW91dHMKCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkIGZvciBzY2hlZHVsaW5nIHRoZSB0aW1lb3V0cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBkb3duc3RyZWFtIHN0cmVhbWluZyB0aHJlYWQgdGhhdCBtaWdodCBibG9jayBhdCBhbnkgdGltZS4KCjIwMTMtMDktMTQgMTU6NTY6MDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZmlyc3RfdHMgdG8gRFRTIGZvciBzdHJlYW1zIHRoYXQgaGF2ZSBEVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNCAxNTo1NToyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2Ugc3VyZSBkdXJhdGlvbiBpcyBhIHZhbGlkIG51bWJlciBmb3IgbGFzdCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNCAxNTo1NDoyOSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBzZWdtZW50LnN0YXJ0IG9yIGxhc3QgYnVmZmVyIGVuZCB0aW1lIGluIGNhc2Ugb2YgbWlzc2luZyBEVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0wMyAxODoxNDowNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgUmV2ZXJ0IHF0bXV4OiBVc2UgYnVmZmVyIFBUUyBpZiBEVFMgaXMgbm90IHNldCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmNzJjM2NmNzFmZGU2MjIwNjdmNDFmMzFhNTM5NzhiYTRjOTQ0NjlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE2IDExOjAzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBvcmMgZ2VuZXJhdGVkIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxMzEKCjIwMTMtMDktMTMgMTY6MjU6NDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBEZW11eCBSVENQIGJ1ZmZlcnMgZnJvbSB0aGUgUlRQIHN0cmVhbQoJICBJZiB0aGVyZSBhcmUgUlRDUCBidWZmZXJzIGluIHRoZSBSVFAgc3RyZWFtLCBwcm9jZXNzIHRoZW0gYXMKCSAgUlRDUC4gVGhpcyB3YXksIHdlIHdhbnQgcmVjZWl2ZSBzdHJlYW1zIGZvbGxvd2luZyBSRkMgNTc2MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NjU3CgoyMDEzLTA5LTEzIDIzOjI2OjIxICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGJvZ3VzIGV4dHJhIGNhcHMgZnJvbSBMMjQgdGVtcGxhdGUuCgkgIFRoZSBleHRyYSBjYXBzIGVudHJ5IGluIHRoZSB0ZW1wbGF0ZSB3YXMgbWFraW5nIGl0IHNvbWV0aW1lcwoJICBnZXQgcGx1Z2dlZCBmb3IgYW55IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBwYXlsb2FkIHR5cGUuCgoyMDEzLTA5LTEzIDEyOjQwOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogdXNlIFBhY2tldEluZm8gZm9yIHRoZSBzZW5kZXIKCSAgQXZvaWQgbWFwcGluZyB0aGUgcGFja2V0IG11bHRpcGxlIHRpbWVzIHdoZW4gc2VuZGluZyBSVFAuCgoyMDEzLTA5LTEzIDEyOjIyOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogc3RvcmUgbW9yZSBpbiB0aGUgUGFja2V0SW5mbwoJICBTdG9yZSBhbGwgaW5mbyBpbiB0aGUgUGFja2V0SW5mbyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYXBwaW5nIHRoZSBwYWNrZXQKCSAgbXVsdGlwbGUgdGltZXMuCgoyMDEzLTA5LTEzIDExOjMyOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBzZXNzaW9uOiBzdG9yZSBtb3JlIGluIHRoZSBQYWNrZXRJbmZvIHN0cnVjdHVyZQoKMjAxMy0wOS0xMyAxMTowODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IFJUUEFycml2YWxTdGF0cyAtPiBSVFBQYWNrZXRJbmZvCgkgIFJlbmFtZSBhIHN0cnVjdHVyZSBiZWNhdXNlIHdlIGFyZSBhbHNvIGdvaW5nIHRvIHVzZSB0aGlzIGZvciB0aGUgc2VuZGVyCgkgIGJpdHMuCgoyMDEzLTA5LTEzIDEwOjU1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzb3VyY2U6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA5LTEyIDEzOjMxOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSB1cGRhdGUgc3RvcCBwb3NpdGlvbiBpZiBzZWVrIHJlcXVlc3RzIGl0CgkgIENoZWNrIGZvciBHU1RfU0VFS19UWVBFX05PTkUgZm9yIHN0b3AgcG9pc3Rpb24gYW5kIG9ubHkgdXBkYXRlCgkgIHRoZSBzdG9wIHRpbWUgaWYgaXQgaXMgcmVxdWVzdGVkLiBPdGhlcndpc2UganVzdCBtYWludGFpbiB3aGF0ZXZlcgoJICB3YXMgc3RvcmVkIGF0IHRoZSBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDktMTMgMDg6NTM6MjUgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogQWRkIG1pc3NpbmcgaGVhZGVycyB0cCBmaXggbWFrZSBkaXN0CgkgIEluIGFkZGl0aW9uIHRvIGE5NTZhNmNlYjJkZWI4N2NjMTM2MWFlZTFkNjYyNjQ0OWY0NmRhYjIKCjIwMTMtMDktMTIgMTU6MDc6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogTWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcmVhZCBpbWFnZSB0YWdzCgkgIFRoYW5rcyB0byBpcHV0aW5laSBmb3IgcmVwb3J0aW5nIHRoaXMgb24gSVJDLgoKMjAxMy0wOS0xMiAxNTowMTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBzZWdtZW50cyB3aXRoIG5vbi0wIHN0YXJ0CgkgIFdlIGtlZXAgdGhlIERUUyBhbmQgUFRTIGluIHJ1bm5pbmctdGltZSBpbnNpZGUgdGhlIGppdHRlcmJ1ZmZlci4gTWFrZSBzdXJlIHRvCgkgIHRyYW5zZm9ybSBpdCBiYWNrIHRvIGEgYnVmZmVyIHRpbWVzdGFtcCBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIGJ1ZmZlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMQoKMjAxMy0wOS0xMSAxMzoxMTo1OCAtMDYwMCAgU2XDoW4gZGUgQsO6cmNhIDxsZWZ0bW9zdGNhdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG9mZi1ieS1vbmUgaW4gdmFsaWRhdGlvbiBvZiBVVEYtOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTExIDE0OjMyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3QgY2hlY2sgaWYgY2FwcyBhcmUgZW1wdHkgd2hlbiB0aGV5IGFyZSBOVUxMCgkgIEluIHRoZSBjYXNlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSBOVUxMLCB3ZSBzaG91bGQganVzdCBjb25jaWRlciBpdCB0aGUKCSAgc2FtZSB3YXkgYXMgZW1wdHkgY2FwcyBpbiB0aGF0IGNhc2UuCgoyMDEzLTA5LTEwIDE2OjQ0OjUzIC0wNjAwICBTZcOhbiBkZSBCw7pyY2EgPGxlZnRtb3N0Y2F0QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogZml4IGJ1aWxkIGlmIG9yYyBpcyBub3QgaW5zdGFsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc4ODYKCjIwMTMtMDktMTAgMTc6NTc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBQcmVzZXJ2ZSBzZXFudW0gd2hlbiBwdXNoaW5nIHNlZWsgdXBzdHJlYW0KCSAgQWZ0ZXIgY29udmVydGluZyBhIHNlZWsgZnJvbSB0aW1lIHRvIGJ5dGVzLCB1c2UgdGhlIHNhbWUgc2VxbnVtCgkgIG9uIHRoZSBldmVudCB0aGF0IGdvZXMgdXBzdHJlYW0KCjIwMTMtMDktMDUgMDA6MTc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0cmFjayBzdHJlYW1zIHRoYXQgYXJlIEVPUyBvbiBwdXNoIG1vZGUgdG8gZmluaXNoIGVhcmxpZXIKCSAgV2hlbiB0aGUgc2VnbWVudCBoYXMgYSBkZWZpbmVkIHN0b3AgcG9zaXRpb24sIHF0ZGVtdXggc2hvdWxkIGNoZWNrCgkgIHdoZW4gc3RyZWFtcyByZWFjaCB0aGlzIHBvc2l0aW9uIGFuZCBtYXJrIHRob3NlIGFzIEVPUy4gV2hlbiBhbGwKCSAgc3RyZWFtcyBhcmUgRU9TIGl0IHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VPUyB0byB1cHN0cmVhbSB0byBhbGxvdwoJICB0aGUgcGlwZWxpbmUgdG8gZmluaXNoIGluc3RlYWQgb2YgY29udGludW91c2x5IGNvbnN1bWUgYnVmZmVycwoJICBmcm9tIHVwc3RyZWFtIHRoYXQgYXJlIG5vdCB1c2VmdWwgZm9yIHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA5LTA0IDE1OjM0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHByZXNlcnZlIHN0b3Agb2Ygc2VnbWVudCB3aGVuIGRvaW5nIHNlZWtzIGluIHB1c2ggbW9kZQoJICBXaGVuIGhhbmRsaW5nIHNlZWtzIGluIHB1c2ggbW9kZSwgcXRkZW11eCBjb252ZXJ0cyB0aGUgc2VlayB0byBieXRlcwoJICBhbmQgcHVzaGVzIHVwc3RyZWFtLiBJdCBuZWVkcyB0byBrZWVwIHRyYWNrIG9mIHRoZSBzZWVrIGFuZCB0aGUKCSAgc3Vic2VxdWVudCBzZWdtZW50IHRvIGJlIGFibGUgdG8gbWFwIHRoZW0gYmFjayB0byB0aGUgcmVxdWVzdGVkCgkgIHNlZWsgdGltZSBhbmQgcHJvcGVybHkgcHJlc2VydmUgdGhlIHNlZ21lbnQgc3RvcCBvZiB0aGUgc2Vlay4KCSAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIHRoZSBzdGFydCBvZmZzZXQgaW4gYnl0ZXMgb2YgdGhlIHNlZWssCgkgIHRoYXQgc2hvdWxkIGJlIHRoZSBzYW1lIG9mIHRoZSBzZWdtZW50IGZyb20gdXBzdHJlYW0uIEFuZCB0aGlzCgkgIGlzIGFsc28gYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCB3aGF0IHF0ZGVtdXggYWxyZWFkeSB3YXMgdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDctMjYgMTk6NDA6NTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wOC0wNiAxNTozODozOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3Qgc2VuZCByZWNvbmZpZ3VyZSBldmVudCB3aGVuIGZvcm1hdHMgb3IgUEFSIGFyZSBkaWZmZXJlbnQKCSAgSXQgaXMgcmFjeSB3aXRoIG11bHRpcGxlIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDctMjUgMTM6NDk6NTcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQnVuZGxlIHByaXZhdGUgY29waWVzIG9mIHZpZGVvY29udmVydCBjb2RlCgkgIElkZWFsbHksIHRoaXMgd291bGQgYmUgcGFydCBvZiBsaWJnc3R2aWRlby4KCSAgUHJlZml4ZXMgdmlkZW9jb252ZXJ0IHN5bWJvbHMgd2l0aCB2aWRlb21peGVyXy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk1MAoKMjAxMy0wOC0yMiAwMDowMzo0OCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogVXNlIG5ld2x5ICNkZWZpbmVkIG1ldGFkYXRhIG5hbWVzLgoKMjAxMy0wOS0wOSAxNToxMTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSB3YWl0IGlmIHdlIGZsdXNoZWQKCSAgT25seSB3YWl0IGZvciB0aGUgU1RSRUFNX0xPQ0sgd2hlbiB3ZSBmbHVzaGVkIHNvbWV0aGluZyB3aGVuIHNlbmRpbmcKCSAgYSBjb21tYW5kIGZvciBQQVVTRUQgb3IgUExBWUlORy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzYxMQoKMjAxMy0wOS0wOSAxNTowOTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmV0dXJuIHdoZW4gYSBmbHVzaCB3YXMgaXNzdWVkCgkgIE1ha2UgZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCgpIHJldHVybiBUUlVFIHdoZW4gdGhlIGN1cnJlbnQKCSAgYWN0aW9uIGhhcyBiZWVuIGZsdXNoZWQKCjIwMTMtMDktMDkgMTE6MTY6NDAgKzAyMDAgIERhdmlkIEhvbHJveWQgPGRhdmVAYmFkZ2Vycy1pbi1mb2lsLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogYWRkIEwyNCBwYXkgYW5kIGRlcGF5bG9hZGVyCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3MzQKCjIwMTMtMDktMDkgMTQ6NDY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggbWlzc2luZyBjb25kaXRpb24gaW4gcHJldmlvdXMgY29tbWl0CgoyMDEzLTA5LTA5IDE0OjQ0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWxzbyBmaXggc3RyaWRlcyBmb3Igb3RoZXIgc2VtaS1wbGFuYXIgdmlkZW8gZm9ybWF0cwoKMjAxMy0wOS0wOSAxNDo0MTo0MiArMDIwMCAgQW5kcmVlYSBGdWxnZXIgPGFuZHJlZWEuZnVsZ2VyQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IHN0cmlkZSBmb3IgTlYxMi9OVjIxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc3NTgKCjIwMTMtMDktMDcgMTY6Mzc6MDMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGxlYWtpbmcgYnVmZmVyIGFuZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2ODgKCjIwMTMtMDktMDUgMTk6NDY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBidWlsZCBvbiB3aW4zMgoJICBnc3R1ZHBzcmMuYzo4NTU6MTU6IGVycm9yOiAjaWYgd2l0aCBubyBleHByZXNzaW9uCgoyMDEzLTA5LTA0IDE1OjUwOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaGFuZGxlIHVuc2Vla2FibGUgc3RyZWFtcwoJICBIYW5kbGUgc3RyZWFtcyB0aGF0IHdlIGNhbid0IHNlZWsgaW4gYW5kIGlnbm9yZSB0aGVtIGluIHRoZQoJICBzZWVrIGxvZ2ljLgoKMjAxMy0wOS0wNCAxNToyNTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG9ubHkgY2hlY2sgdmlkZW8gY29tcHJlc3Npb24gZm9yIHZpZGVvIHN0cmVhbXMKCSAgT3IgZWxzZSB3ZSBtaWdodCBkZXJlZiBhIHN0cmVhbSB3aXRoIGEgTlVMTCBzdHJmLnZpZHMgYW5kIHNlZ2ZhdWx0CgoyMDEzLTA2LTE4IDEzOjI3OjIwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgYXZjMyBzYW1wbGUgZW50cnkgZm9ybWF0IG9mIHRoZSBBVkMgZmlsZSBmb3JtYXQKCSAgQW1lbmRtZW50IDIgb2YgSVNPL0lFQyAxNDQ5Ni0xNSAoQVZDIGZpbGUgZm9ybWF0KSBpcyBkZWZpbmluZyBhIG5ldwoJICBzdHJ1Y3R1cmUgZm9yIGZyYWdtZW50ZWQgTVA0IGNhbGxlZCAiYXZjMyIuIFRoZSBwcmluY2lwYWwgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIEFWQzEgYW5kIEFWQzMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlYyBpbml0aWFsaXNhdGlvbgoJICBkYXRhIChlLmcuIFNQUywgUFBTKS4gSW4gQVZDMSB0aGlzIGRhdGEgaXMgcGxhY2VkIGluIHRoZSBpbml0aWFsCgkgIE1PT1YgYm94IChtb292LnRyYWsubWRpYS5taW5mLnN0Ymwuc3RzZC5hdmMxKSBidXQgaW4gQVZDMyB0aGlzIGRhdGEKCSAgZ29lcyBpbiB0aGUgZmlyc3Qgc2FtcGxlIG9mIGV2ZXJ5IGZyYWdtZW50IChpLmUuIHRoZSBmaXJzdCBzYW1wbGUgaW4KCSAgZWFjaCBtZGF0IGJveCkuICBUaGUgcHJpbmNpcGFsIHJlYXNvbiBmb3IgYXZjMyBpcyB0byBtYWtlIGl0IGVhc2llcgoJICBmb3IgY2xpZW50IGltcGxlbWVudGF0aW9ucywgYmVjYXVzZSBpdCByZW1vdmVzIHRoZSByZXF1aXJlbWVudCB0bwoJICBpbnNlcnQgdGhlIFNQUytQUFMgaW4gdG8gdGhlIGRlY29kZXIgcGlwZWxpbmUgZXZlcnkgdGltZSB0aGVyZSBpcyBhCgkgIHJlcHJlc2VudGF0aW9uIGNoYW5nZS4KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciB0aGUgImF2YzMiIGF0b20sIHdoaWNoIGlzIGFsbW9zdCBpZGVudGljYWwKCSAgdG8gdGhlICJhdmMxIiBhdG9tLCBleGNlcHQgaXQgZG9lcyBub3QgY29udGFpbiBhbnkgU1BTIG9yIFBQUyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDA0CgoyMDEzLTA5LTA0IDAwOjI3OjUwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBzZXQgRU9TIHRvIEZBTFNFIHdoZW4gdGhlIGNvbGxlY3RwYWQgKmlzKiBFT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIzOAoKMjAxMy0wOS0wMyAxNzozMjo0MSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogY2xlYW51cCBvbiBlcnJvciBhZnRlciBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzIyOQoKMjAxMy0wOS0wMyAxMToyMzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBCaW5kIHRvIG11bHRpY2FzdCBhZGRyZXNzZXMgb24gbm9uLVdpbmRvd3Mgc3lzdGVtcwoJICBPbiBXaW5kb3dzIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGJpbmQgdG8gYSBtdWx0aWNhc3QgYWRkcmVzcwoJICBidXQgdGhlIE9TIHdpbGwgbWFrZSBzdXJlIHRvIGZpbHRlciBvdXQgYWxsIHBhY2tldHMgdGhhdAoJICBhcnJpdmUgbm90IGZvciB0aGUgbXVsdGljYXN0IGFkZHJlc3MgdGhlIHNvY2tldCBqb2luZWQuCgkgIE9uIExpbnV4IGFuZCBvdGhlcnMgaXQgaXMgbmVjZXNzYXJ5IHRvIGJpbmQgdG8gYSBtdWx0aWNhc3QKCSAgYWRkcmVzcyB0byBsZXQgdGhlIE9TIGZpbHRlciBvdXQgYWxsIHBhY2tldHMgdGhhdCBhcmUgcmVjZWl2ZWQKCSAgb24gdGhlIHNhbWUgcG9ydCBidXQgZm9yIGRpZmZlcmVudCBhZGRyZXNzZXMgdGhhbiB0aGUgbXVsdGljYXN0CgkgIGFkZHJlc3MKCSAgQW5kIGRlcHJlY2F0ZSB0aGUgbXVsdGljYXN0LWdyb3VwIHByb3BlcnR5IGFuZCByZXBsYWNlIGl0IHdpdGggdGhlCgkgIGFkZHJlc3MgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcwNDIKCjIwMTMtMDktMDMgMTA6MTA6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZyZWUgR3N0QmFzZVBhcnNlRnJhbWUgaWYgcHVzaGluZyBhIGhlYWRlciBmYWlsZWQKCjIwMTMtMDktMDIgMTY6MDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogUmVmYWN0b3IgYWRkcmVzcyByZXNvbHZhbCBpbnRvIGl0cyBvd24gZnVuY3Rpb24KCjIwMTMtMDktMDIgMjM6MDA6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheWdhaW46IGZpeCB0YWdsaXN0IGxlYWsgaW4gcmdhbmFseXNpcwoJICBBbmQgYWRkIHNvbWUgRklYTUVzLgoKMjAxMy0wOS0wMiAyMjo1MDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJnYW5hbHlzaXM6IHJlbmFtZSBmdW5jdGlvbiBmb3IgY2xhcml0eQoKMjAxMy0wMy0xOCAxNDozMjowNyArMDEwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggc2tpcHBlZCByZ2FuYWx5c2lzIHRlc3RzCgkgIEluIDAuMTAgZWxlbWVudHMgd291bGQgcG9zdCB0YWcgbWVzc2FnZXMgb24gdGhlIGJ1cwoJICBkaXJlY3RseSwgYW5kIHJnYW5hbHlzaXMgd291bGQgb25seSBwb3N0IGEgdGFnIG1lc3NhZ2UKCSAgd2hlbiBpdCBjaGFuZ2VkIHRhZ3MuIEluIDEuMCwgb25seSBzaW5rcyBwb3N0IHRhZwoJICBtZXNzYWdlcyB3aGVuIHRoZXkgcmVjZWl2ZSB0aGUgc2VyaWFsaXNlZCB0YWcgZXZlbnQuCgkgIFRoaXMgbWVhbnMgdGhhdCB3ZSBnZXQgYW4gYWRkaXRpb25hbCB0YWcgbWVzc2FnZSBvbgoJICB0aGUgYnVzIG5vdyB3aGVyZSB3ZSBkaWRuJ3QgZXhwZWN0IG9uZSBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTUwOTAKCjIwMTMtMDktMDIgMTE6NDY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHJvcGVybHkgcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm5zIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMjkKCjIwMTMtMDktMDEgMjE6MTg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICBEb24ndCB1c2Ugc2V0bG9jYWxlIGluIHBsdWdpbnMoKQoJICBPbmx5IGFwcHMgc2hvdWxkIGNhbGwgc2V0bG9jYWxlKCksIG5vdCBsaWJyYXJpZXMuCgoyMDEzLTA4LTI5IDEzOjE1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBGaXggUlRQIGJ1ZmZlciBhbGxvY2F0aW9uIGluIHJ0cG1wdnBheQoJICBSVFAgYnVmZmVyIGFsbG9jYXRpb24gc2hvdWxkIG5vdCBiZSBkb25lIHdpdGggcGFkZGluZyBmb3IgdGhlIHNwZWNpZmljIE1QRUcyCgkgIGhlYWRlciBhcyB0aGUgcGFkZGluZyBpcyBkb25lIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBhbmQgdGhlIGxhc3QgYnl0ZSBpcwoJICB0aGUgc2l6ZSBvZiB0aGUgcGFkZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk3MAoKMjAxMy0wOC0yOCAxMDo1MTozMiArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBhdXRvdmlkZW9zaW5rOiBhZGQgc3luYyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTU1CgoyMDEzLTA4LTI4IDA3OjE1OjAwICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgIGF1dG9hdWRpb3Npbms6IGludHJvZHVjZSBzeW5jIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NTUKCjIwMTMtMDgtMjcgMTc6MzM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwdXNoIGJ1ZmZlcnMgYWZ0ZXIgc2VnbWVudCBzdG9wIHVudGlsIHJlYWNoaW5nIGEga2V5ZnJhbWUKCSAgVGhpcyBzaG91bGQgbWFrZSBkZWNvZGVycyBhYmxlIHRvIHByZWNpc2VseSBwdXNoIGJ1ZmZlcnMgdW50aWwgdGhlIHN0b3AKCSAgdGltZSBpbiBjYXNlIHRoZXkgbmVlZCB0aGUgbmV4dCBrZXlmcmFtZSB0byBkbyBpdC4KCSAgQWxzbywgYWNjb3JkaW5nIHRvIGdzdF9zZWdtZW50X2NsaXAsIGl0IHNob3VsZCBvbmx5IHB1c2ggYSBidWZmZXIgdGhhdAoJICB0aGUgc3RhcnRpbmcgdHMgaXMgc3RyaWN0bHkgc21hbGxlciB0aGFuIHRoZSBzZWdtZW50IHN0b3AsIHNvIHdlIGNoYW5nZQoJICB0aGUgbWluIDwgY29tcGFyaXNvbiBmb3IgPD0KCjIwMTMtMDgtMjggMTM6MjY6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4IDEyOjUyOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS40CgoyMDEzLTA4LTI4IDEyOjUyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDgtMjggMTI6MzI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL3B0X0JSLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOC0yNyAxNToyNToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiByZW1vdmUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uCgkgIFJlbW92ZSB0aGUgZnJhbWVyYXRlIHJlc3RyaWN0aW9uIG9uIHRoZSBjYXBzLgoKMjAxMy0wOC0yNyAwOTozODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogb25seSB1cGRhdGUgbmV4dCBjaGVjayB0aW1lIHdoZW4gcmVjb25zaWRlcmluZwoJICBEb24ndCB1cGRhdGUgdGhlIG5leHQgUlRDUCBjaGVjayB0aW1lIGluIGFsbCBjYXNlcyBidXQgb25seSB3aGVuIHdlCgkgIHJlY29uc2lkZXJlZC4gVGhpcyBhdm9pZHMgZGVsYXlpbmcgc2VuZGluZyBhIGZ1bGwgUlRDUCBwYWNrZXQgd2hlbiB3ZQoJICBhcmUgZG9pbmcgZWFybHkgZmVlZGJhY2suCgoyMDEzLTA4LTI3IDA5OjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yNyAwOTozNDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHR5cGVzIG9mIHRoZSByZXRyYW5zbWlzc2lvbiBldmVudAoKMjAxMy0wOC0yNyAwOTozMzowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9ubHkgdGltZW91dCBFWFBFQ1RFRCB0aW1lcnMgb24gZ2FwCgkgIE9ubHkgdGltZW91dCB0aGUgRVhQRUNURUQgdGltZXJzIHdoZW4gd2UgZGV0ZWN0IGEgbGFyZ2Ugc2VxbnVtIGdhcC4KCjIwMTMtMDgtMjYgMTM6NDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBzZXQgQloyX0xJQlMgaWYgYnoyIGlzIG5vdCBmb3VuZAoKMjAxMy0wOC0yNiAxMTo1MDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRzZXNzaW9uOiBmaXggbG9ja2luZwoJICBXZSBuZWVkIHRvIHRha2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGdldHRpbmcgYW5kIG1hbmlwdWxhdGluZyB0aGUKCSAgc291cmNlLgoKMjAxMy0wOC0yNiAxMTo1MDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHNvbWUgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0yMCAyMjoxMjowMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogZG9uJ3Qgc2VuZCBmbHVzaF9zdG9wIHR3aWNlLgoJICBJZiB3ZSBnZXQgZmx1c2ggc3RhcnQgYW5kIGEgc2VlayB3ZSBuZWVkIHRvIG9ubHkgc2VuZCBmbHVzaF9zdG9wIG9uY2UuCgkgIE1vcmUgaW5mbyBhdCAjNzA2NDQxCgoyMDEzLTA4LTIzIDE1OjU2OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBwcm9wYWdhdGUgZGlzY29udAoKMjAxMy0wOC0yMyAxNTo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHJlbW92ZSBkeW5hbWljIHNvdXJjcGFkcyB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZCgoyMDEzLTA4LTIzIDE1OjI5OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiB0aW1lc3RhbXAgb3V0cHV0IGJ1ZmZlcnMgYmFzZWQgb24gZmlyc3QgaW5wdXQgYnVmZmVyIHRoYXQgcHJvdmlkZWQgYnl0ZXMgbm90IGxhc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzc1NAoKMjAxMy0wOC0yMyAxNTo0NzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBhZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHF1ZXVlIHNpemUKCjIwMTMtMDgtMjMgMTI6MDc6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtcnR4LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjY0LXJ0eC5zaDoKCSAgdGVzdHM6IGFkZCByZXRyYW5zbWlzc2lvbiBleGFtcGxlCgoyMDEzLTA4LTIzIDExOjU1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHByb3h5IGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eQoKMjAxMy0wOC0yMyAxMToxNzo0NSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVubWFwIHRoZSBjb3JyZWN0IGJ1ZmZlcgoJICBUaGUgYXVkaW8gYnVmZmVyIHdhcyBtYXBwZWQgc28gdW5tYXAgaXQgYW5kIG5vdCB0aGUgdmlkZW8gYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY2NDIKCjIwMTMtMDgtMTggMjM6MzI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBBZGQgcHJvcGVydHkgdG8gZmluZCBvdXQgdGhlIGRldmljZSBjdXJyZW50bHkgaW4gdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzE6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRGUtZHVwbGljYXRlIGNvZGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNpbmsgaW5wdXQgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIyOjI3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBjaGFuZ2luZyB0aGUgZGV2aWNlIHdoaWxlIHBsYXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEFkZCBwcm9wZXJ0eSB0byBmaW5kIG91dCB0aGUgZGV2aWNlIGN1cnJlbnRseSBpbiB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMzozMToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRGUtZHVwbGljYXRlIGNvZGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNvdXJjZSBvdXRwdXQgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIyOjI3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBJbXBsZW1lbnQgY2hhbmdpbmcgdGhlIGRldmljZSB3aGlsZSBwbGF5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMjIgMTQ6NTU6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggYnoyIGNvbmZpZ3VyZSBjaGVjayBmb3IgV2luZG93cwoJICBEdWUgdG8gZnVuY3Rpb24gZGVjb3JhdGlvbnMgb24gV2luZG93cyBBQ19DSEVDS19MSUIgY2FuJ3QgYmUgdXNlZCB0byBjaGVjayBmb3IgYnoyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY1OTI0CgoyMDEzLTAyLTIyIDIwOjU3OjAwICswOTAwICBBa2loaXJvIFRzdWthZGEgPGF0c3VrYWRhQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VzaW5rOiBBZGQgc3VwcG9ydCBmb3IgQUFDIHBhc3MtdGhyb3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0NDQ1CgoyMDEzLTA2LTI0IDE3OjI5OjM3ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogY3Jhc2hlcyBpZiBhbnkgcHJvcGVydHkgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2sgd2hlbiBsb2NhdGlvbiBwcm9wZXJ0eSBpcyBub3Qgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI5ODgKCjIwMTMtMDgtMjEgMTQ6NTQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IFNoYXJlIHN0YXRpYyBjYXBzIGRlZmluaXRpb24gYmV0d2VlbiBzcmMgYW5kIHNpbmsKCSAgVGhlIHNyYyB3YXMgYWxzbyBtaXNzaW5nIDI0LWJpdCBzYW1wbGUgZm9ybWF0cwoKMjAxMy0wOC0yMSAxNjo1Mzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eDogdmFyaW91cyBpbXByb3ZlbWVudHMKCSAgVXNlIGxvY2tpbmcKCSAgRG9uJ3QgcHVzaCBmcm9tIHRoZSBldmVudCBoYW5kbGVyLCBjb2xsZWN0ZWQgcGFja2V0cyBpbiBhIHF1ZXVlIGFuZCBwdXNoIGZyb20KCSAgdGhlIGNoYWluIGZ1bmN0aW9uLgoJICBDbGVhciBxdWV1ZXMgb24gc2h1dGRvd24uCgoyMDEzLTA4LTIxIDE2OjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZW5lcmF0ZSBldmVudHMgY29ycmVjdGx5CgkgIERvIGNvcnJlY3Qgc2hpZnRpbmcgb2YgdGhlIGJpdG1hc2sgZm9yIGxvc3QgcGFja2V0cy4KCjIwMTMtMDgtMjEgMTY6NDc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cDogcmVnaXN0ZXIgcnR4IGVsZW1lbnQgYmV0dGVyCgoyMDEzLTA4LTIxIDE2OjMyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogV0FWRUZPUk1BVEVYIGlzIHVuc2lnbmVkIGZvciA4IGJpdCBpbnRlZ2VycywgYW5kIHNpZ25lZCBmb3Igb3RoZXJzCgkgIFByb2JhYmx5IGZpeGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NzcKCjIwMTMtMDgtMjEgMTM6MDM6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgZnJvbSBfZmluaXNoX2ZyYW1lKCkKCSAgZ3N0X3ZpZGVvX2VuY29kZXJfZmluaXNoX2ZyYW1lKCkgd2lsbCByZXR1cm4gRkxPV19PSyBoZXJlIGlmCgkgIHRoZXJlJ3Mgbm8gb3V0cHV0IGJ1ZmZlci4KCjIwMTMtMDgtMjEgMTI6NTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBqcGVnZGVwYXk6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDgtMjEgMTI6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSAgcnRwZ3N0ZGVwYXk6IG9ubHkgcHVzaCBldmVudHMgd2hlbiB0aGV5IGNoYW5nZWQKCSAgS2VlcCB0cmFjayBvZiB0aGUgU1RSRUFNX1NUQVJUIGFuZCBUQUcgZXZlbnRzIGFuZCBvbmx5IHB1c2ggdGhlbQoJICB3aGVuIHRoZXkgY2hhbmdlZC4KCjIwMTMtMDgtMjEgMTA6NTI6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHRhZ2xpc3RzIHNob3VsZCBub3QgYmUgbWVyZ2VkIGluIDEuMAoKMjAxMy0wOC0yMSAxMDoyODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgcnRwZ3N0ZGVwYXk6IGZsdXNoIG9uIEZMVVNIX1NUT1AgZXZlbnQKCjIwMTMtMDgtMjEgMTA6MDM6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlc2V0IG9uIHN0YXRlIGNoYW5nZQoJICBEbyBmdWxsIHJlc2V0IG9uIHN0YXRlIGNoYW5nZSB0byBSRUFEWQoKMjAxMy0wOC0yMSAwOTo1NToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcmVzZXQgb24gRkxVU0hfU1RPUAoJICBDbGVhciB0aGUgYWRhcHRlciBhbmQgcGVuZGluZyBidWZmZXIgbGlzdCBvbiBGTFVTSF9TVE9QLgoKMjAxMy0wOC0yMSAwOTozOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZG9uJ3QgdXNlIGNsb2NrIGZvciBjb25maWcgaW50ZXJ2YWwKCSAgV2UgY2FuJ3QgdXNlIHRoZSBjbG9jayB0byB0aW1lIG91ciBjb25maWctaW50ZXJ2YWwgYmVjYXVzZSB3ZSBhcmUgbm90CgkgIGxpdmUgKG9yIHRoZXJlIG1pZ2h0IG5vdCBiZSBhIGNsb2NrIG9yIHRoZSBjbG9jayBtaWdodCBub3QgYmUgcnVubmluZykuCgkgIEluc3RlYWQganVzdCBzaW1wbHkgdGFrZSB0aGUgdGltZXN0YW1wIGRpZmYuCgoyMDEzLTA4LTIxIDA5OjMzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0YXk6IGRvbid0IHVzZSAvLyBjb21tZW50cwoKMjAxMy0wOC0wOCAxMTo1NToyMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHJlc3BvbnNlIGFyZ3VtZW50IGluIGhhbmRsZS1yZXF1ZXN0IHNpZ25hbAoKMjAxMy0wOC0wOCAxMTo1NDo0MSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgc2RlcyBwcm9wZXJ0eSBhbmQgcHJveHkgaXQgdG8gcnRwYmluCgoyMDEzLTA4LTA3IDA5OjQ3OjM1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgU2VuZCBhIHN0cmVhbS1zdGFydCB3aGVuZXZlciB3ZSBzZW5kIHRhZ3MgVGhpcyBpcyB0byBtYWtlIHN1cmUgdGFncyBhcmUgY2xlYXJlZCBvbiB0aGUgY2xpZW50IGlmIHRoZSBzdHJlYW0tc3RhcnQgd2FzIHByZXZpb3VzbHkgbG9zdCwgb3RoZXJ3aXNlLCB0aGUgY2xpZW50IG1heSBlbmQgdXAgd2l0aCBhIG1lcmdlZCB0YWdsaXN0IG9mIG11bHRpcGxlIHNvbmdzCgoyMDEzLTA3LTI1IDIxOjEyOjA1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgcnRwZ3N0cGF5OiBBZGQgYSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gcmVzZW5kIHRoZSBjYXBzL3RhZ3MgYXQgYSByZWd1bGFyIGludGVydmFsIFRoaXMgaXMgdXNlZnVsIGluIGNhc2UgdGhlIHBhY2tldCBjb250YWluaW5nIHRoZSBpbmxpbmVkIGNhcHMgd2FzIGxvc3Qgb3IgaWYgbmV3IGNsaWVudCBqb2lucyBhbiBhbHJlYWR5IHJ1bm5pbmcgUlRQIHN0cmVhbSBhbmQgdGhleSBtaXNzZWQgdGhlIHByZXZpb3VzIHRhZyBldmVudHMuIFRoaXMgYWxzbyBtYWtlcyB0aGUgcGF5bG9hZGVyIGtlZXAgYSBsaXN0IG9mIG1lcmdlZCB0YWdzIHNvIHRoZSByZXRyYW5zbWl0dGVkIHRhZyBldmVudCBjb250YWlucyBhbGwgcHJldmlvdXNseSByZWNlaXZlZC4gQSBTVFJFQU1fU1RBUlQgZXZlbnQgd2lsbCBmbHVzaCB0aGUgbGlzdCBvZiB0YWdzLgoKMjAxMy0wNy0yNSAyMToxMDoxMCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogUmVmYWN0b3IgdGhlIHNldGNhcHMgYW5kIHVzZSBuZXcgbWV0aG9kIHRvIHNlbmQgYXJiaXRyYXJ5IGNhcHMgYXQgYW55IHRpbWUKCjIwMTMtMDctMjUgMjE6MDM6MzQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IERvIG5vdCBmbHVzaCBldmVudHMgZm9yIHN0cmVhbS1zdGFydCBhbmQgYXZvaWQgY29uZmxpY3QgYmV0d2VlbiBldmVudCBhbmQgcGVuZGluZyBpbmxpbmUgY2FwcwoKMjAxMy0wNy0yNSAyMDo1NDo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogQWRkIGEgY3JlYXRlX2Zyb21fYWRhcHRlciBBUEkgYW5kIHVzZSBhIGxpc3Qgb2YgR3N0QnVmZmVyTGlzdCBUaGlzIGlzIG5lY2Vzc2FyeSB0byBmaXggZXZlbnQvY2FwcyBzZW5kaW5nLiBJZiB3ZSBzZW5kIGEgU1RSRUFNX1NUQVJUIHBhY2tldCwgaXQgd2lsbCBjYXVzZSBhbiBlcnJvciBiZWNhdXNlIHRoZSBzdHJlYW0gZGlkbid0IHJlY2VpdmUgaXRzIGNhcHMgYW5kIG5ldy1zZWdtZW50IGV2ZW50cywgc28gd2UgbXVzdCB3YWl0IGZvciB0aGUgZmlyc3QgYnVmZmVyIGJlZm9yZSBzZW5kaW5nIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQgYnVmZmVyLiBIb3dldmVyLCB0aGUgY2FwcyB3aWxsIGJlIHNlbnQgYXQgdGhlIHNhbWUgdGltZSBhbmQgc28gdGhlICdpbmxpbmUgY2Fwcycgd2lsbCBiZSBzZXQgZm9yIHRoZSBldmVudC4gV2UgbmVlZCB0byBiZSBhYmxlIHRvIHBheWxvYWQgaW5kaXZpZHVhbCBwYWNrZXRzIChkYXRhLCBjYXBzIG9yIGV2ZW50cykgYW5kIG9ubHkgc2VuZCB0aGVtIHdoZW4gd2UgY2FsbCBmbHVzaC4KCjIwMTMtMDctMjUgMTc6NTY6MzggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogQWRkIGV0eXBlPTQgZm9yIHBheWxvYWRpbmcgR1NUX0VWRU5UX1NUUkVBTV9TVEFSVAoKMjAxMy0wNy0yNSAxNzo1MjoxNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogRml4IHR5cG8sIEdTVF9FVkVOVF9DVVNUT01fQk9USCBoYXMgZXR5cGUgb2YgMwoKMjAxMy0wOC0yMCAxNDozNjo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBFT1MKCSAgV2hlbiB0aGUgcXVldWUgaXMgZW1wdHksIGFuZCB3ZSByZWNlaXZlZCBFT1MsIHBhdXNlIGFuZCBwdXNoIGFuIEVPUwoJICBldmVudCBkb3duc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mzg3CgoyMDEzLTA4LTIwIDEwOjI2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIGRvY3MKCjIwMTMtMDgtMjAgMTA6MjU6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgYWxsIHRpbWVycwoJICBLZWVwIGxvb3Bpbmcgb3ZlciBhbGwgcmVnaXN0ZXJlZCB0aW1lcnMgc28gdGhhdCB3ZSBjYW4gbWFyayB0aGVtIGxvc3QgaW5zdGVhZCBvZgoJICBzdG9wcGluZyBhcyBzb29uIGFzIHdlIGZpbmQgdGhlIHRpbWVyIGZvciB0aGUgY3VycmVudCBzZXFudW0uCgoyMDEzLTA4LTIwIDA4OjU1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTMtMDgtMTkgMjE6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW9yZ2FuaXplIHRpbWVyIGhhbmRsaW5nCgkgIFJlc3RydWN0dXJlIGhhbmRsaW5nIG9mIGluY29tbWluZyBwYWNrZXQgYW5kIHRoZSBnYXAgd2l0aCB0aGUgZXhwZWN0ZWQgc2VxbnVtCgkgIGFuZCByZWdpc3RlciBhbGwgdGltZXJzIGZyb20gdGhlIF9jaGFpbiBmdW5jdGlvbi4KCSAgQ29udmVydCBhIHRpbWVyIHRvIGEgTE9TVCBwYWNrZXQgdGltZXIgd2hlbiB0aGUgbWF4IGFtb3VudCBvZiByZXRyYW5zbWlzc2lvbgoJICByZXF1ZXN0cyBoYXMgYmVlbiByZWFjaGVkLgoKMjAxMy0wOC0xOSAyMTozNzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHBhY2tldCBzcGFjaW5nIGNhbGN1bGF0aW9uCgoyMDEzLTA4LTE5IDIxOjM0OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBsYXN0IHNlcW51bSBhbmQgZHRzCgoyMDEzLTA4LTE5IDIxOjI5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cHMKCjIwMTMtMDgtMTkgMjE6MjE6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCByZXRyYW5zbWlzc2lvbiB0aW1lcnMgaW4gYWRkL3Jlc2NoZWR1bGUKCSAgUmVzZXQgdGhlIHJldHJhbnNtaXNzaW9uIHRpbWVycyB3aGVuIGFkZGluZyBhbmQgcmVzY2hlZHVsaW5nIGEgdGltZXIuCgoyMDEzLTA4LTE5IDIxOjEyOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIHZhcmlhYmxlcyBmb3IgcGFja2V0IHNwYWNpbmcKCjIwMTMtMDgtMTkgMTQ6NTg6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW1vdmUgbG9zdCB0aW1lciB3aGVuIHdlIGdldCB0aGUgcGFja2V0CgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHBhY2tldCwgYWxzbyByZW1vdmUgdGhlIExPU1QgdGltZXIgZm9yIGl0LgoKMjAxMy0wOC0xOSAxNDo1Njo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGV4cGVjdGVkIHNlcW51bSBtdXN0IGluY3JlYXNlCgkgIE9ubHkgdXBkYXRlIHRoZSBleHBlY3RlZCBzZXFudW0gd2hlbiBpdCBpcyBiaWdnZXIgdGhhbiB0aGUgcHJldmlvdXMgZXhwZWN0ZWQKCSAgc2VxbnVtLgoKMjAxMy0wOC0xOSAxNDo1NTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTA4LTEyIDE2OjE1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cXVldWUuaDoKCSAgcnR4cXVldWU6IGFkZCByZXRyYW5zbWlzc2lvbiBxdWV1ZSBlbGVtZW50CgoyMDEzLTA4LTEyIDE0OjUzOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBhZGQgc29tZSBkb2NzCgoyMDEzLTA4LTA2IDE2OjI5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogaGFuZGxlIE5BQ0sgZmVlZGJhY2sgYW5kIGdlbmVyYXRlIGV2ZW50cwoJICBIYW5kbGUgYW5kIHBhcnNlIHRoZSBmZWVkYmFjayBOQUNLIHBhY2tldHMgYW5kIGdlbmVyYXRlIGEgUmV0cmFuc21pc3Npb24KCSAgZXZlbnQgZm9yIGVhY2ggTkFDS2VkIHBhY2tldAoKMjAxMy0wOC0xOSAxMzoxOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogQWRkIGZvcndhcmQgZGVjbGFyYXRpb24gZm9yIGdzdF92NGwyX29iamVjdF9nZXRfZm9ybWF0X2xpc3QKCjIwMTItMTAtMjIgMTc6NTg6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IERlLWR1cGxpY2F0ZSBjYXBzIHByb2JpbmcgYmV0d2VlbiBzcmMgYW5kIHNpbmsKCjIwMTMtMDgtMTMgMTc6MzI6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlOiBSZW1vdmUgdW51c2VkIEdzdFB1bHNlUHJvYmUKCjIwMTMtMDgtMTkgMTI6NDY6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJICB2NGwyOiBVc2UgR19ERUZJTkVfIG1hY3JvcyBmb3IgYWRkZWQgdGhyZWFkIHNhZmV0eQoKMjAxMy0wOC0xNyAxMToyODoxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogRG8gbm90IHNlbmQgZmx1c2hfc3RvcCBvdXJzZWxmIGFmdGVyIGEgZmx1c2hfc3RhcnQKCSAgV2hlbiB3ZSByZWNlaXZlIGEgZmx1c2hfc3RhcnQsIHdlIHNob3VsZCB3YWl0IGZvciB0aGUgbmV4dCBmbHVzaF9zdG9wCgkgIGFuZCBmb3dhcmQgaXQsIG5vdCBjcmVhdGUgYSBmbHVzaF9zdG9wIG91cnNlbGYuCgoyMDEzLTA4LTE2IDE3OjEwOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBpbml0IGRlYnVnIGNhdGVnb3J5IGVhcmx5CgkgIEluaXQgdGhlIGRlYnVnIHZhcmlhYmxlIHdoZW4gd2UgcmVnaXN0ZXIgdGhlIGVsZW1lbnQgYmVjYXVzZSBpdCBpcyBhbHNvIHVzZWQgYnkKCSAgdGhlIHBheWxvYWRlciBlbGVtZW50IHdoZW4gaXQgY2FsbHMgdGhlIGFkZF9zcHNfcHBzIG1ldGhvZC4KCjIwMTMtMDgtMTYgMTM6MjY6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgc2V0IGhlYWRlcnMgdmlhIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQgb2YganVzdCBwdXNoaW5nIHRoZW0gZG93bnN0cmVhbQoJICBQcmV2ZW50cyBidWZmZXJzIGZyb20gYmVpbmcgc2VuZCBiZWZvcmUgdGhlIGNhcHMgYW5kIHNlZ21lbnQgZXZlbnRzLgoKMjAxMy0wOC0xNSAxMDo1OToxMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGRlbm9taW5hdG9yIGlzbid0IHplcm8gYmVmb3JlIHNjYWxpbmcgZHVyYXRpb24uCgkgIFdoZW4gZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3N0cmVhbSBzZXRzIGZwc19kLCBjaGVjayB0aGF0IG5fc2FtcGxlcyBpcwoJICBub24temVybyBiZWZvcmUgdXNpbmcgaXQgYXMgYSBkZW5vbWluYXRvciB0byBzY2FsZSB0aGUgc3RyZWFtIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDc2CgoyMDEzLTA4LTE1IDE1OjA4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgZXh0OiBVc2UgbmV3IGZsdXNoIHZmdW5jIG9mIHZpZGVvIGNvZGVjIGJhc2UgY2xhc3NlcyBhbmQgcmVtb3ZlIHJlc2V0IGltcGxlbWVudGF0aW9ucwoKMjAxMy0wOC0xNCAxNjoxOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZvcndhcmQgZmx1c2ggYmVmb3JlIHN0b3BwaW5nIGRhdGFmbG93CgkgIEZpcnN0IGZvcndhcmQgdGhlIGZsdXNoIGV2ZW50IGFuZCB0aGVuIHN0b3Agb3VyIGxvb3AgZnVuY3Rpb24uCgoyMDEzLTA4LTE0IDEzOjEwOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlic291cCA+PSAyLjM4CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBmb3IgbmV3ZXIgQVBJIHVzZWQsIGxpa2UgaGVhZGVyc19nZXRfb25lKCkuCgkgIDIuMzggaXMgZnJvbSBlYXJseSAyMDEyIGFuZCBpcyBpbiBsaW5lbiB3aXRoIG91ciBHTGliIHJlcXVpcmVtZW50LgoKMjAxMy0wOC0xNCAxMTo1NDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGRvbid0IHVzZSBkZXByZWNhdGVkIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldCgpIEFQSQoKMjAxMy0wOC0xMyAxNzo0NDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgZmlsZXMgZnJvbSBhdXRvbWFrZSB0ZXN0LWRyaXZlcgoKMjAxMy0wOC0xMiAxNToyODozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogVXNlIHRoZSBTUFMvUFBTIGhhbmRsaW5nIGZ1bmN0aW9uIGZyb20gdGhlIGRlcGF5bG9hZGVyCgkgIFJlbW92ZSBkdXBsaWNhdGVkIGNvcGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUzCgoyMDEzLTA4LTEyIDE1OjI2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIHRoZSBTUFMvUFBTIGRlZHVwbGljYXRpb24gZnVuY3Rpb24gZ2VuZXJpYwoJICBNYWtlIGl0IG5vdCB0b3VjaCBhbnkgaW50ZXJuYWxzIG9mIHRoZSBkZXBheWxvYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTUzCgoyMDEzLTA4LTEzIDE0OjA5OjIwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBjb252ZXJzaW9uIGZyb20gcmF3IEFBQyB0byBBRFRTCgkgIFRoaXMgcGF0Y2ggd2lsbCBwcmVwZW5kIEFEVFMgaGVhZGVycyB0byByYXcgQUFDIGF1ZGlvIGZyYW1lcywgYWxsb3dpbmcKCSAgdXBzdHJlYW0gZWxlbWVudHMgdG8gbGluayB0byBkZWNvZGVycyB0aGF0IG9ubHkgc3VwcG9ydCBBQUMgaW4gQURUUyBmb3JtYXQuCgkgIE5vdGUgdGhhdCBubyBlcnJvciBjb3JyZWN0aW9uIGJpdHMgYXJlIGFkZGVkIHRvIEFEVFMgZnJhbWVzIGluIHRoaXMgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTc0MAoKMjAxMy0wOC0xMyAxMjo0NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGZyZWUgR0NoZWNrU3VtIGFmdGVyIGl0cyBsYXN0IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU3NjAKCjIwMTMtMDgtMTMgMTI6MDI6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IGNyaXRpY2FsIHNldHRpbmcgYSBOVUxMIHVyaSByZWRpcmVjdGlvbgoKMjAxMy0wNy0xMyAwMTo1MDo1NiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgcmVkaXJlY3Rpb24gdG8gdGhlIFVSSSBxdWVyeQoKMjAxMy0wNy0zMSAxMDo0MjowNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlbHN0IHNob3VsZCBvZmZzZXQgc2FtcGxlcyBpbnN0ZWFkIG9mIGJ1ZmZlcnMKCSAgVGhlIGN1cnJlbnQgYXBwcm9hY2ggd2hlcmUgYnVmZmVycyBhcmUgb2Zmc2V0IGlzIG5vdCBpZGVhbCwgYXMgZHVyaW5nIHNlZWsKCSAgYW5kIGxvb3AgY3VycmVudCB0aW1lIGlzIGNvbXBhcmVkIHRvIHNhbXBsZSB0aW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI2NAoKMjAxMy0wOC0wNyAxOTozMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBTZW5kIEVPUyBpZiBidWZfZW5kID49IHNlZ21lbnQuc3RvcAoJICBUaGF0IG1lYW5zIHRoZSB3aG9sZSBzZWdtZW50IGlzIGFscmVhZHkgcGxheWVkLCBhbmQgd2UgYXJlIHN1cmUgd2UKCSAgYXJlIEVPUyBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGhhbmRsZSBzZWdtZW50IHNlZWtzLCBhbmQgZG8gbm90IHNlbmQgRU9TIGluIHRoYXQgY2FzZS4KCjIwMTMtMDgtMDQgMTQ6NDA6MzggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzZW5kIHByb3BlciBzdHJlYW1fc3RhcnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MDU0NDkKCjIwMTMtMDgtMDggMTE6NTE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHByaW50IHdhcm5pbmdzIGR1cmluZyBmbHVzaGluZyBhbmQgc3RvcCBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDQyCgoyMDEzLTA4LTA3IDExOjE0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogbWFyayBrZXkgZnJhbWVzIGFuZCBkZWx0YSBmcmFtZXMgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MAoKMjAxMy0wOC0wNSAyMzoyMzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIE5BQ0sgZmVlZGJhY2sgaW4gUlRDUAoKMjAxMy0wOC0wNSAyMzoyMjoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBhZGQgbWV0aG9kcyB0byByZWdpc3RlciBOQUNLCgkgIEFkZCBhIG1ldGhvZCB0byByZWdpc3RlciBhIG1pc3NpbmcgcGFja2V0IGZvciBhbiBzc3JjIGFsb25nIHdpdGgKCSAgbWV0aG9kcyB0byBnZXQgdGhlIG1pc3NpbmcgcGFja2V0cyBhbmQgY2xlYXIgdGhlbS4KCjIwMTMtMDgtMDQgMjM6MDU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBoYW5kbGUgUmV0cmFuc21pc3Npb24gZXZlbnQgYW5kIHNjaGVkdWxlIE5BQ0sKCSAgSGFuZGxlIHRoZSByZXRyYW5zbWlzc2lvbiBldmVudCBmcm9tIGRvd25zdHJlYW0gYW5kIHVzZSBpdCB0byBzY2hlZHVsZSBhIE5BQ0sKCSAgcmVxdWVzdC4KCjIwMTMtMDgtMDUgMjM6MjA6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHBhc3MgZGF0YSB0byByZW1vdmUgZnVuYwoJICBQYXNzIHRoZSBkYXRhIHRvIHRoZSByZW1vdmUgZnVuY3Rpb24gYmVjYXVzZSB3ZSBhcmUgZ29pbmcgdG8gZGVyZWYgaXQgd2hlbiB0aGVyZQoJICBpcyBwbGkgb3IgZmlyLgoKMjAxMy0wOC0wNiAxNToyODo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0wOC0wNiAxNToxNzo0NCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJhdyBidWZmZXIgRFRTIHNob3VsZCBhbHdheXMgYmUgQ0xPQ0tfVElNRV9OT05FCgoyMDEzLTA4LTA2IDExOjU4OjM4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBNYWtlIHN1cmUgdG8gc2VuZCBFT1MgaWYgdGhlIGJ1ZmZlciBlbmQgdGltZSBlcXVhbHMgdGhlIHNlZ21lbnQgZW5kIHRpbWUKCSAgT3RoZXJ3aXplIEVPUyBuZXZlciBnZXRzIHNlbnQgaW4gdGhhdCBwYXJ0aWN1bGFyIGNhc2UuCgoyMDEzLTA4LTA1IDA4OjQ5OjUwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRW5zdXJlIHNyYyBjYXBzIGFyZSB3cml0YWJsZQoJICBJbiBzb21lIGNhc2VzIHRoZSBzcmMgY2FwcyBkZXRlcm1pbmVkIGJ5IGdvb20gd2VyZW4ndCB3cml0YWJsZSwgY2F1c2luZwoJICBhIGJ1bmNoIG9mIGFzc2VydGlvbiBmYWlsdXJlcyBhbmQgZmFpbGVkIGNhcHMuIEZpeGVkIGJ5IGFsd2F5cwoJICBleHBsaWNpdGVseSBtYWtpbmcgdGhlIGNhcHMgd3JpdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ3NQoKMjAxMy0wOC0wNCAyMzoxODoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHVzZSBjb21tb24gc2VuZF9ydGNwIG1ldGhvZAoJICBSZXVzZSB0aGUgc2VuZF9ydGNwIG1ldGhvZCB0aGF0IGFscmVhZHkgYXNrcyBmb3IgdGhlIGN1cnJlbnQgdGltZSB3aGVuCgkgIHJlcXVlc3RpbmcgYSBrZXlmcmFtZS4KCjIwMTMtMDgtMDQgMjM6MTI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogRG9uJ3QgdXNlIENsb2NrVGltZURpZmYgZm9yIHVuc2lnbmVkIGRlbGF5cwoKMjAxMy0wOC0wNCAxNjo1MjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgYnVmZmVyIFBUUyBpZiBEVFMgaXMgbm90IHNldAoJICBBdm9pZHMgZW5kaW5nIHVwIHdpdGggY29tcGxldGVseSBib2d1cyBzY2FsZWQgZHVyYXRpb24vcHRzIHdoZW4gbmV3CgkgIGJ1ZmZlcnMgaGF2ZSBpbnZhbGlkIERUUy4KCjIwMTMtMDgtMDQgMTQ6MzI6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc2tpcCBodHRwcyB0ZXN0IGlmIHRoZXJlJ3Mgbm8gVExTIHN1cHBvcnQgaW4gc291cC9nbGliCgoyMDEzLTA4LTA0IDExOjIwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHJ0cGRlYzogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAxMDo1MjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItbWFyc2hhbC5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGVudW10eXBlcyBhbmQgdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAxMDo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdWRwLy5naXRpZ25vcmU6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuaDoKCSAgdWRwOiByZW1vdmUgdW51c2VkIG1hcnNoYWwgYW5kIGVudW10eXBlcyBmaWxlcwoKMjAxMy0wOC0wNCAwOTozODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci8uZ2l0aWdub3JlOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgcnRwbWFuYWdlcjogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMy0wOC0wNCAwMDoxMzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNlbmQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uCgoyMDEzLTA4LTAyIDE3OjM4OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjcmVhdGUvcmVtb3ZlIG9yYyBkaXJlY3RvcnkgYXQgcHJvcGVyIHRpbWUKCSAgQmVmb3JlIGF1dG9tYWtlIGNyZWF0ZXMgLmRlcHMgZGlyZWN0b3JpZXMsIGFuZCBkdXJpbmcgZGlzdGNsZWFuLgoKMjAxMy0wOC0wMyAwMDoyNTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIEZJUiBhbmQgUExJIGxpa2Ugb3RoZXIgUlRDUCBwYWNrZXRzCgkgIEFkZCB0aGUgRklSIGFuZCBQTEkgcGFja2V0cyBsaWtlIHRoZSBvdGhlciBSVENQIHBhY2tldCBpbnN0ZWFkIG9mIGZyb20gdGhlCgkgIG9uLXNlbmRpbmctcnRjcCBkZWZhdWx0IHNpZ25hbCBoYW5kbGVyLgoKMjAxMy0wOC0wMiAxNzoyMjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCBwcm9wZXJ0eSByYW5nZXMKCjIwMTMtMDgtMDIgMTY6NDI6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwdXNoIHJldHJhbnNtaXNzaW9uIGV2ZW50cwoKMjAxMy0wOC0wMiAxNDoxMjoxNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYWRkIHN1YmRpci1vYmplY3RzIHRvIEFNX0lOSVRfQVVUT01BS0UKCSAgRml4ZXMgd2FybmluZ3Mgd2l0aCBhdXRvbWFrZSAxLjE0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDIgMTQ6NTQ6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3IgcmV0cmFuc21pc3Npb24gcmV0cnkKCSAgV2hlbiB3ZSBkaWRuJ3QgcmVjZWl2ZSBhIHBhY2tldCBhZnRlciByZXF1ZXN0aW5nIHJldHJhbnNtaXNzaW9uLCByZXRyeQoJICBhc2tpbmcgZm9yIHJldHJhbnNtaXNzaW9uIGZvciBhIGNlcnRhaW4gcGVyaW9kLgoKMjAxMy0wOC0wMiAxNDoxOTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBwcm9wZXJ0aWVzCgkgIEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgcmV0cmFuc21pc3Npb24gcGFyYW1ldGVycwoKMjAxMy0wOC0wMiAxMjo0NDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVzZSBjb3JyZWN0ZWQgdGltZW91dCB3aGVuIHJlc2NoZWR1bGluZwoJICBXaGVuIHdlIHJlY2FsY3VsYXRlIHRoZSB0aW1lb3V0LCB1c2UgdGhlIGNvcnJlY3RlZCB0aW1lb3V0IHZhbHVlIGRlcGVuZGluZyBvbgoJICB0aGUgdGltZXIgdHlwZS4KCjIwMTMtMDgtMDIgMTI6NDM6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1cGRhdGUgdGltZXJzIGFmdGVyIHF1ZXVlaW5nCgkgIEVsc2Ugd2UgbWlnaHQgdXBkYXRlIHRoZSB0aW1lciBuZWVkbGVzc2x5IGZvciBkdXBsaWNhdGVzLgoKMjAxMy0wOC0wMiAxMjo0MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vdmUgbWV0aG9kIHVwCgoyMDEzLTA4LTAyIDA2OjI4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc21hbGwgY2xlYW51cAoKMjAxMy0wOC0wMSAyMzoyNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVuc2NoZWR1bGUgb2xkIGV4cGVjdGVkIHBhY2tldHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBhY2tldCwgdW5zY2hlZHVsZSBvbGQgb3V0c3RhbmRpbmcgcGFja2V0cyB3aGVuIHRoZWlyCgkgIHNlcW51bSBpcyB0b28gZmFyIGF3YXkuCgoyMDEzLTA4LTAxIDIzOjI5OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgdGltZXIgdXBkYXRlCgoyMDEzLTA4LTAxIDIzOjI0OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIHRpbWVycyB3aGVuIHJlbW92aW5nCgkgIFVwZGF0ZSB0aGUgdGltZXJzIHdoZW4gd2UgcmVtb3ZlIGEgdGltZXIuCgkgIEhhbmRsZSBjYW5jZWxlZCB0aW1lcnMsIG1ha2UgdGhlbSB1bnNjaGVkdWxlIHRoZSBjdXJyZW50IHRpbWVyIGFuZAoJICB0cmlnZ2VyIHRoZSB0aW1lb3V0IGNvZGUuCgoyMDEzLTA4LTAxIDIzOjIyOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHR5cG8KCjIwMTMtMDgtMDEgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHRpbWVvdXQgbWFuYWdlbWVudAoJICBJZiB3ZSBjaGFuZ2UgdGhlIHNlcW51bSBvZiBhbiBleGlzdGluZyB0aW1lciBhbmQgd2Ugd2VyZSB3YWl0aW5nIGZvcgoJICB0aGF0IHRpbWVyLCB1bnNjaGVkdWxlIGl0LiBJZiB3ZSBjaGFuZ2UgdGhlIHRpbWVvdXQgb2YgYW4gZXhpc3RpbmcgdGltZXIgYW5kIHdlCgkgIHdlcmUgd2FpdGluZyBvbiBpdCwgb25seSB1bnNjaGVkdWxlIHdoZW4gdGhlIG5ldyB0aW1lIGlzIHNtYWxsZXIuCgoyMDEzLTA4LTAxIDE1OjA1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW5zdGFsbCB0aW1lciBmb3IgZXhwZWN0ZWQgYXJyaXZhbAoJICBJbnN0YWxsIGEgdGltZXIgdGhhdCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgZXhwZWN0ZWQgYXJyaXZhbCB0aW1lIG9mIGEgcGFja2V0CgkgIGV4cGlyZWQuCgoyMDEzLTA4LTAxIDE0OjU2OjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSB1bnNjaGVkdWxlIG9mIHRpbWVycwoJICBDb25mbGljdHM6CgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jCgoyMDEzLTA4LTAxIDEyOjIxOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW92ZSBjb2RlIGFyb3VuZAoKMjAxMy0wOC0wMSAxMjowNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGVzdGltYXRlIGludGVyIHBhY2tldCBzcGFjaW5nCgkgIFdoZW4gd2Ugc2VlIHR3byBwYWNrZXRzIHdpdGggY29uc2VjdXRpdmUgc2VxbnVtcyBhbmQgYSBkaWZmZXJlbnQgUlRQIHRpbWUsIHVzZQoJICB0aGUgRFRTIGRpZmZlcmVuY2UgYXMgdGhlIGludGVyIHBhY2tldCBzcGFjaW5nIGVzdGltYXRlLgoKMjAxMy0wOC0wMSAxMjowMToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgY3VycmVudCB0aW1lb3V0CgoyMDEzLTA4LTAxIDExOjQ5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2xlYW51cCB0aW1lciBoYW5kbGluZwoKMjAxMy0wOC0wMSAxMTo0MDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IGlzIG9ubHkgcG9zc2libGUgd2l0aCBhIEdBUAoKMjAxMy0wOC0wMSAxMToyOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvcGVyYXRlIG9uIERUUwoJICBNYWtlIHRoZSBqaXR0ZXJidWZmZXIgc2NoZWR1bGUgdGhlIHRpbWVvdXRzIGJhc2VkIG9uIHRoZSBEVFMgaW5zdGVhZAoJICBvZiB0aGUgUFRTLiBUaGlzIG1ha2VzIGl0IGFsbCBzbW9vdGhlciB3aXRoIHJlb3JkZXJlZCBmcmFtZXMgYW5kIGdpdmVzCgkgIHRoZSBkZWNvZGVyIHRpbWUgdG8gcmVvcmRlciB0aGUgZnJhbWVzIGluIHRpbWUuCgoyMDEzLTA4LTAxIDExOjE0OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVuYW1lIHRpbW91dCB2YXJpYWJsZQoKMjAxMy0wNy0zMSAxNzowODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDctMzEgMTY6NTk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBibG9jayBvdXRwdXQgaW4gcGF1c2VkIG9yIGJ1ZmZlcmluZwoKMjAxMy0wNy0zMSAxNjo1OTowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHN0b3JlIHB0cyBpbiB0aW1lcgoJICBPbmx5IHN0b3JlIHRoZSBwdHMgaW4gdGhlIHRpbWVyIHNvIHRoYXQgd2UgY2FuIGJvdGggZG8gdGltZW91dHMgd2l0aCB0aW1pbmdzIG9uCgkgIHRoZSBpbnB1dCBhbmQgb3V0cHV0IG9mIHRoZSBqaXR0ZXJidWZmZXIuCgoyMDEzLTA3LTMwIDIzOjE0OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3Igaml0dGVyYnVmZmVyCgkgIFJlZmFjdG9yIHRoZSBqaXR0ZXJidWZmZXIgY29kZS4gTWFrZSBzZXBhcmF0ZSBmdW5jdGlvbiBmb3IgcGVla2luZyBhIGJ1ZmZlciwKCSAgcHVzaGluZyB0aGUgbmV4dCBidWZmZXIsIHdhaXRpbmcgZm9yIHRpbWVvdXRzIGFuZCBoYW5kbGluZyB0aGUgdGltZW91dHMuCgkgIFRoZSBtYWluIGxvb3Agbm93IHRyaWVzIHRvIHB1c2ggYXMgbWFueSBidWZmZXJzIGFzIGl0IGNhbiB1bnRpbCBpdCBydW5zIG91dCBvZgoJICBidWZmZXJzIG9yIHdoZW4gaXQgZGV0ZWN0cyBhIHNlcW51bSBkaXNjb250LiBUaGVuIGl0IHdpbGwgd2FpdCBmb3Igc29tZSBldmVudCB0bwoJICBoYXBwZW4gYmVmb3JlIGF0dGVtcHRpbmcgdG8gcHVzaCBtb3JlIGJ1ZmZlcnMuCgkgIE1ha2UgbWV0aG9kcyB0byByZWdpc3RlciB0aW1lb3V0cyBpbiBhbiBhcnJheS4gVGhlc2UgdGltZW91dHMgYXJlIHJlZ2lzdGVyZWQKCSAgd2hlbiB3ZSBkZXRlY3QgYSBtaXNzaW5nIHBhY2tldCwgc3luYyBmb3IgdGhlIGZpcnN0IHBhY2tldCBvciB3aGVuIHdlIGZpbmQgYW4KCSAgZXN0aW1hdGlvbiBmb3IgdGhlIGVuZC1vZi1zdHJlYW0uCgkgIFRoaXMgZ3JlYXRseSBzaW1wbGlmaWVzIGFuZCBjbGFyaWZpZXMgdGhlIGNvZGUgYW5kIGFsc28gbWFrZXMgaXQgcG9zc2libGUgdG8KCSAgcmVnaXN0ZXIgbW9yZSBjb21wbGljYXRlZCB0aW1lb3V0IHNjaGVtZXMgbGF0ZXIuCgoyMDEzLTA3LTMwIDE4OjUyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogdXNlIE5VTEwgdG8gaWdub3JlIHBlcmNlbnQKCSAgSWYgd2UgcGFzcyBOVUxMIHRvIHBvcCBhbmQgcHVzaCB3ZSBpZ25vcmUgdGhlIHBlcmNlbnQgcmVzdWx0LgoKMjAxMy0wNy0zMCAwNzowMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yCgkgIE1vdmUgZW9zIGVzdGltYXRpb24gaW50byBzZXBhcmF0ZSBmdW5jdGlvbgoKMjAxMy0wNy0zMCAxNDoyODoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGRvbid0IGxlYWsgc3RyZWFtX2lkIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTQyCgoyMDEzLTA3LTI5IDE5OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA3LTI5IDE5OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgdGVzdCBiaW5hcmllcwoKMjAxMy0wNy0yOSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMyA9PT0KCjIwMTMtMDctMjkgMTM6NDI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMwoKMjAxMy0wNy0yOSAxMzo0MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMjkgMTI6MTI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdDogRG9uJ3Qgc3dhcCBzdGFydC9zdG9wIGZvciBuZWdhdGl2ZSByYXRlcyBpbiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMToxODo0MCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3IgZGF0YSBzaXplIHdoZW4gcGFyc2luZyBoMjY0IGNvZGVjIGRhdGEgZnJvbSBzdHJmIGF0b20KCjIwMTMtMDctMjkgMTA6NTM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMDo1Mzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTA6NTA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI3IDE4OjEwOjIyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogU3VwcG9ydCBIMjY0IGZvdXJjYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTk2CgoyMDEzLTA3LTI4IDE4OjA5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IEZpeCBoYW5kbGluZyBvZiBpbWFnZSB0YWdzCgkgIFRoZSBjYXBzIHNob3VsZCBiZSB1c2VkIHRvIGdldCB0aGUgbWltZXR5cGUgYW5kIHRoZXJlIGlzCgkgIG9ubHkgYW4gaW5mbyBzdHJ1Y3R1cmUgZm9yIHRoZSBHc3RTYW1wbGUgaWYgdGhlIGltYWdlLXR5cGUKCSAgaXMgbm90IE5PTkUuCgoyMDEzLTA3LTI4IDE4OjA0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IGNyYXNoIGlmIHRoZXJlIGlzIG5vIGltYWdlIHRhZyBpbmZvcm1hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDE4CgoyMDEzLTA3LTI4IDE3OjM4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggZHVyYXRpb24gcmVwb3J0aW5nIGluIHB1c2ggbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTMzCgoyMDEzLTA3LTI4IDE3OjMyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBEb24ndCBmb3JnZXQgdW5tYXBwaW5nIGFuZCB1bnJlZmZpbmcgYnVmZmVyCgoyMDEzLTA3LTI2IDIxOjA2OjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTEKCjIwMTMtMDctMjYgMjI6MzE6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGRvbid0IG1ha2UgYnVmZmVyIHdyaXRhYmxlIHByZW1hdHVyZWx5CgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBtYWtlIHRoZSBTUiBidWZmZXIgd3JpdGFibGUgYXQgdGhpcyBwb2ludC4gVGhpcyBpcyBiZXR0ZXIKCSAgZGVsYXllZCB1bnRpbCBuZWVkZWQuCgoyMDEzLTA3LTI2IDIyOjI1OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpZ25vcmUgUlRDUCBmb3IgaW5hY3RpdmUgc291cmNlcwoKMjAxMy0wNy0yNiAyMjoyNToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogc21hbGwgY2xlYW51cAoKMjAxMy0wNy0yNiAxNzoxNzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogaGFuZGxlIHBhcnRpYWwgUlRDUCByZXBvcnQgYmxvY2tzCgkgIFdoZW4gd2UgaGF2ZSBtb3JlIFNTUkNzIHRvIHJlcG9ydCB0aGFuIHdoYXQgZml0IGluIGFuIFJUQ1AgcGFja2V0LCB1c2UgYQoJICBnZW5lcmF0aW9uIGNvdW50ZXIgdG8gbWFrZSBzdXJlIGFsbCBvZiB0aGVtIGVuZCB1cCBpbiBhIHBhY2tldCBldmVudHVhbGx5LgoKMjAxMy0wNy0yNiAxNzoyMzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogY3JlYXRlIFNTUkMgYmVmb3JlIGRvaW5nIHNlc3Npb24gY2xlYW51cAoJICBNYWtlIHRoZSBpbnRlcm5hbCBzb3VyY2UgYmVmb3JlIHdlIGRvIHNlc3Npb24gY2xlYW51cAoKMjAxMy0wNy0yNiAxNzoyMTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVvcmdhbml6ZSB0aGUgcmVwb3J0IGJsb2NrIGNvZGUKCjIwMTMtMDctMjYgMTY6MDI6MDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGNoZWNrX3N1YnRpdGxlX2J1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTIxCgoyMDEzLTA3LTI2IDE0OjIxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZWZhY3RvciBhY3RpdmUgYW5kIHNlbmRlciBjaGVja3MKCjIwMTMtMDctMjYgMTI6MDY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlbW92ZSBpbnRlcm5hbCBzb3VyY2VzIG9uIHRpbWVvdXQKCSAgV2hlbiBhbiBpbnRlcm5hbCBzb3VyY2UgdGltZXMgb3V0IGFuZCBiZWNvbWVzIGEgcmVjZWl2ZXIsIHJlbW92ZSBpdC4KCjIwMTMtMDctMjYgMTE6NDc6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGNyZWF0ZSBhbiBpbnRlcm5hbCBzb3VyY2UgZm9yIFJUQ1AKCSAgV2hlbiB3ZSBuZWVkIHRvIGRvIFJUQ1AgYW5kIHdlIGRvbid0IGhhdmUgYW4gaW50ZXJuYWwgc291cmNlIHlldCwKCSAgbWFrZSBvbmUuCgoyMDEzLTA3LTI2IDEwOjQ3OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzZXNzaW9uOiByZW1vdmUgb2xkIGNvZGUgdG8gY2hhbmdlIFNTUkMKCSAgUmVtb3ZlIGNvZGUgdXNlZCB0byBjaGFuZ2UgdGhlIFNTUkMgYWZ0ZXIgYSBjb2xsaXNpb24uIFdlIG5vdyBzZW5kCgkgIGEgUkVDT05GSUdVUkUgZXZlbnQgdXBzdHJlYW0gdG8gbWFrZSB0aGUgdXBzdHJlYW0gZWxlbWVudCBjaGFuZ2UgdGhlIFNTUkMuCgoyMDEzLTA3LTI2IDEwOjQyOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogZG9uJ3QgdXBkYXRlIHBhY2tldCBTU1JDCgkgIFJlbW92ZSB0aGUgY29kZSB0byB1cGRhdGUgdGhlIFNTUkMgaW4gcGFja2V0cywgaXQgY2FuIG5ldmVyIGJlIGNhbGxlZCBub3cgdGhhdAoJICB3ZSBhbHdheXMgdXNlIGEgc291cmNlIHdpdGggbWF0Y2hpbmcgcGFja2V0IFNTUkMuCgoyMDEzLTA3LTI2IDEwOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGRlbGF5IGFsbG9jYXRpb24gb2YgaW50ZXJuYWwgc291cmNlCgkgIEFsbG9jYXRlIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB3ZSByZWNlaXZlIGEgY2FwcyB3aXRoIHRoZSBTU1JDIG9yIHdoZW4gd2Ugc2VlCgkgIGEgYnVmZmVyIHdpdGggdGhlIFNTUkMuCgoyMDEzLTA3LTI2IDEwOjAwOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdlbmVyYXRlIHJlY29uZmlndXJlIG9uIGNvbGxpc2lvbgoJICBXaGVuIHdlIGRldGVjdCBhIGNvbGxpc2lvbiwgY2hhbmdlIHRoZSBTU1JDIHRoYXQgd2Ugc3VnZ2VzdCB1cHN0cmVhbQoJICBhbmQgdHJpZ2dlciBSRUNPTkZJR1VSRS4gVGhpcyBzaG91bGQgbWFrZSB1cHN0cmVhbSBzZWxlY3QgYSBuZXcgU1NSQy4KCjIwMTMtMDctMjYgMDk6Mzc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcHJvZHVjZSBSVENQIGZvciBhbGwgaW50ZXJuYWwgc291cmNlcwoJICBMb29wIG92ZXIgYWxsIHRoZSBpbnRlcm5hbCBzb3VyY2VzIGFuZCBwcm9kdWNlIFJUQ1AuIFdlIGFsc28gbmVlZAoJICB0byBxdWV1ZSB0aGUgUlRDUCBwYWNrZXRzIGFuZCBzZW5kIHRoZW0gd2hlbiB3ZSBhcmUgZmluaXNoZWQuCgoyMDEzLTA3LTI2IDAxOjQwOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGRlcHJlY2F0ZSBpbnRlcm5hbCBzb3VyY2UgYW5kIHNzcmMgcHJvcGVydGllcwoJICBEZXByZWNhdGUgdGhlIGludGVybmFsIHNvdXJjZSBhbmQgaW50ZXJuYWwgc3NyYyBwcm9wZXJ0aWVzLiBUaGVyZSBtaWdodAoJICBiZSBtb3JlIHRoYW4gb25lIGludGVybmFsIHNvdXJjZS4KCjIwMTMtMDctMjYgMDE6Mjk6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGludGVybmFsIHNvdXJjZXMgZG9uJ3QgdXNlIHByb2JhdGlvbgoKMjAxMy0wNy0yNiAwMToyNDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnaXZlIGNhcHMgdG8gc2Vzc2lvbgoJICBMZXQgdGhlIHNlc3Npb24gcGFyc2UgdGhlIGNhcHMgYW5kIHVwZGF0ZSBpdHMgU1NSQyB3aGVuIG5lZWRlZC4KCjIwMTMtMDctMjYgMDE6MTQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBtYWtlIG1ldGhvZCB0byBzdWdnZXN0IGF2YWlsYWJsZSBTU1JDCgkgIE1ha2UgYSBtZXRob2QgdG8gc3VnZ2VzdCB0aGUgYmVzdCBhdmFpbGFibGUgU1NSQy4gVGhpcyBpcyB0aGUgU1NSQyBvZiB0aGUgbGFzdAoJICBjcmVhdGVkIGludGVybmFsIHNvdXJjZSBhbmQgaXMgdXNlZCB0byBpbnN0cnVjdCB1cHN0cmVhbSB0byBwcm9kdWNlIHRoaXMKCSAgU1NSQy4KCjIwMTMtMDctMjYgMDE6MDE6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjoga2VlcCBTREVTIGFuZCBzZXQgb24gbmV3IGludGVybmFsIHNvdXJjZXMKCSAgS2VlcCB0cmFjayBvZiB0aGUgU0RFUyBvdXJzZWx2ZXMgYW5kIHNldCBpdCBvbiBhbGwgbmV3bHkgY3JlYXRlZAoJICBpbnRlcm5hbCBzb3VyY2VzLgoKMjAxMy0wNy0yNiAwMDo0ODoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbWFrZSBtZXRob2QgdG8gbWFrZSBpbnRlcm5hbCBzb3VyY2VzCgkgIEFkZCBhIG1ldGhvZCB0byBvYnRhaW4gYW4gaW50ZXJuYWwgc291cmNlIGFuZCB1c2UgaXQgdG8gY3JlYXRlCgkgIG91ciBpbnRlcm5hbCBzb3VyY2UKCjIwMTMtMDctMjYgMDA6Mjk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHNlc3Npb246IGNvdW50IGludGVybmFsIHNvdXJjZXMgYW5kIGhvdyBtYW55IGFyZSBzZW5kZXJzCgoyMDEzLTA3LTI2IDAwOjE0OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogc2VwYXJhdGUgQllFIG1hcmtpbmcgYW5kIHNjaGVkdWxpbmcKCSAgRmlyc3QgbWFyayBzb3VyY2VzIHdpdGggQllFIGFuZCB0aGVuIHNjaGVkdWxlIHRoZSBCWUUgUlRDUCBtZXNzYWdlLgoKMjAxMy0wNy0yNSAyMzo1Njo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2V0IFNTUkMgZnJvbSBSVENQIHBhY2tldCBpdHNlbGYKCSAgR2V0IHRoZSBTU1JDIGZyb20gdGhlIFJUQ1AgcGFja2V0IGluc3RlYWQuCgoyMDEzLTA3LTI1IDIzOjUxOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBmaXggYmFuZHdpZHRoIGNhbGN1bGF0aW9uCgkgIFdlIGl0ZXJhdGUgb3ZlciBhbGwgc291cmNlcyBhbmQgdGhlIGludGVybmFsIG9uZSBpcyBhbHNvIGluIHRoZQoJICBoYXNodGFibGUgc28gYXZvaWQgYWRkaW5nIGl0IHR3aWNlLgoKMjAxMy0wNy0yNSAyMzozODowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIHNvbWUgZG9jcwoKMjAxMy0wNy0yNSAyMzoxMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogUmVhcnJhbmdlIFJUQ1AgcmVwb3J0aW5nIGEgbGl0dGxlCgkgIE1ha2UgYSBmdW5jdGlvbiB0byBnZW5lcmF0ZSBhbiBSVENQIHBhY2tldCBmb3IgYSBzb3VyY2UsIHBhc3MgdGhlIHNvdXJjZSBhcyBhCgkgIHBhcmFtZXRlci4KCSAgTW92ZSB0aW1lb3V0IG9mIGNvbGxpc2lvbnMgdG8gc2Vzc2lvbiBjbGVhbnVwIHBoYXNlLgoKMjAxMy0wNy0yNSAyMjozOTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogbW92ZSBjaGVjayBmb3IgaXNfZWFybHkgYXJvdW5kCgkgIE1vdmUgdGhlIGNoZWNrIGZvciB0aGUgZWFybHkgUlRDUCB0byB3aGVyZSBpdCBpcyBuZWVkZWQgYW5kIHVzZWQuCgoyMDEzLTA3LTI1IDE3OjM1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBwYXJzZSBwYWNrZXQgb3V0c2lkZSBvZiB0aGUgc2Vzc2lvbiBsb2NrCgoyMDEzLTA3LTI1IDE3OjM0OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBkbyBuaWNlciBjaGVja3MgZm9yIGludGVybmFsIHNvdXJjZXMKCjIwMTMtMDctMjUgMTc6MTU6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBsZXQgc291cmNlIGtlZXAgdHJhY2sgaWYgaXQgc2VudCBCWUUKCjIwMTMtMDctMjUgMTc6MDY6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc291cmNlOiByZXNldCBtb3JlCgoyMDEzLTA3LTI1IDE2OjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc291cmNlOiBhbHNvIHVzZSB0aGUgc291cmNlIGZvciBieWVfcmVhc29uCgkgIFN0b3JlIHRoZSBCWUUgcmVhc29uIGluIG91ciBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0LiBSZW5hbWUgdGhlIG1ldGhvZHMgb24gdGhlCgkgIHNvdXJjZSBvYmplY3QgYSBsaXR0bGUgYmVjYXVzZSBub3cgdGhlIEJZRSBjYW4gYmUgcmVjZWl2ZWQgaW4gUlRDUCBvcgoJICBzZXQgd2hlbiB0aGUgc2Vzc2lvbiB3YW50cyB0byBzZW5kIEJZRS4KCjIwMTMtMDctMjUgMTY6MjQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzZXNzaW9uOiBjb25maWd1cmUgc2RlcyB3aXRoIHN0cnVjdHVyZSBvbmx5CgkgIFJlbW92ZSBjb2RlIHRvIGNvbmZpZ3VyZSB0aGUgU0RFUyB3aXRoIG1ldGhvZHMgYW5kIHR5cGVzLCBvbmx5CgkgIGFsbG93IGNvbmZpZ3VyYXRpb24gd2l0aCBHc3RTdHJ1Y3R1cmUKCjIwMTMtMDctMjUgMTU6NTY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlZmFjdG9yIGFkZCBhbmQgZmluZCBzb3VyY2UKCSAgTWFrZSBmdW5jdGlvbnMgdG8gZmluZCBhbmQgYWRkIGEgc291cmNlIHRvIHRoZSBoYXNodGFibGUuCgoyMDEzLTA3LTI1IDE1OjQzOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogcmVtb3ZlIHNvdXJjZSBmcm9tIHN5bmNfcnRjcAoJICBXZSBkb24ndCBuZWVkIHRvIGtub3cgdGhlIHNlbmRlciBzb3VyY2Ugb2YgdGhlIHNlc3Npb24gaW4gdGhlCgkgIGNhbGxiYWNrLCB0aGUgU1IgcGFja2V0IGlzIGZvciBhbGwgcGFydGljaXBhbnRzIGluIHRoZSBzZXNzaW9uLgoKMjAxMy0wNy0yNCAxNDoxODoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDctMTUgMTc6MTE6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBhbGxvdyBjb252ZXJzaW9uIGZyb20gQURUUyB0byByYXcgQUFDCgkgIFNvbWUgbXV4ZXJzIChlZywgcXRtdXgpIG9ubHkgc3VwcG9ydCByYXcgQUFDLCBzbyB0aGlzIGFsbG93cyBsaW5raW5nCgkgIGFuIGVuY29kZXIgdGhhdCBvdXRwdXRzIEFEVFMgb25seSB0byB0aG9zZSBtdXhlcnMuCgkgIFRoZSBjb252ZXJzaW9uIGlzIHNpbXBsZSAob21pdCB0aGUgZmlyc3QgNyBvciA5IGJ5dGVzIG9mIHRoZSBmcmFtZSksCgkgIGJ1dCBoYXMgdG8gYmUgZG9uZSBpbiBwcmVfcHVzaCBpbnN0ZWFkIG9mIGhhbmRsZV9mcmFtZSBhcyAxLjAgZG9lcwoJICBub3Qgc2VlbSB0byBhbGxvdyBza2lwcGluZyBieXRlcyB0aGVyZSBhcyAwLjEwIHVzZWQgdG8uCgkgIE90aGVyIGNvbnZlcnNpb25zIGFyZSBub3Qgc3VwcG9ydGVkICh5ZXQpLgoKMjAxMy0wNy0xNSAxNzoxNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggb2JqZWN0X3R5cGUgcGFyc2luZyBvZmYtYnktb25lIGluIEFEVFMgZnJhbWUKCSAgQWNjb3JkaW5nIHRvIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFEVFMsCgkgIHRoZSB2YWx1ZSBzdG9yZWQgaW4gQURUUyBoZWFkZXJzIGlzIG9uZSBsZXNzIHRoYW4gdGhlIG9iamVjdAoJICB0eXBlIG9mIHRoZSBBQUMgc3RyZWFtLgoJICBBIGxvb2sgYXQgZmZtcGVnIHNob3dzIGl0IGFsc28gYWRkcyAxIHRvIHRoZSB2YWx1ZSByZWFkIG9mZgoJICB0aGUgQURUUyBoZWFkZXIuCgkgIE5vdGUgdGhhdCB0aGlzIG1pZ2h0IGJyZWFrIG90aGVyIHRoaW5ncyB0aGF0IGhhcHBlbiB0byBoYXZlCgkgIGFuIGludmVyc2Ugb2ZmIGJ5IG9uZSB0byBtYXRjaCB0aGUgZXhpc3RpbmcgY29kZS4KCjIwMTMtMDctMjUgMTE6MTM6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBzZXFudW0gaGFuZGxpbmcgZm9yIHNlZWtzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZm9yIGZsdXNoZXMvc2VnbWVudHMgdGhhdCBhcmUKCSAgY2F1c2VkIGJ5IHRoZSBzZWVrLiBBbHNvIGRvIHRoZSBzYW1lIGZvciBzZWdtZW50IGV2ZW50cwoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTI1IDAxOjM5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzZXFudW0gaGFuZGxpbmcgZm9yIHNlZWtzCgkgIFVzZSB0aGUgc2FtZSBzZXFudW0gYXMgdGhlIHNlZWsgZm9yIGZsdXNoZXMvc2VnbWVudHMgdGhhdCBhcmUKCSAgY2F1c2VkIGJ5IHRoZSBzZWVrLiBBbHNvIGRvIHRoZSBzYW1lIGZvciBzZWdtZW50IGV2ZW50cwoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTI1IDAxOjExOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29ycmVjdGx5IGhhbmRsZSBzZXFudW0gZm9yIHNlZWtzIGFuZCBzZWdtZW50cwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIG9uIG1lc3NhZ2VzIGFuZCBldmVudHMgZm9yIGRlcml2ZWQgZXZlbnRzLgoJICBGaXhlZCBmb3IgZmx1c2hlcyAvIHN0cmVhbS1zdGFydCAvIHNlZ21lbnQgYWZ0ZXIgYSBzZWVrLCBhbmQgc2VnbWVudAoJICBhZnRlciBhIHNlZ21lbnQuCgkgIEZpeGVzICM2NzYyNDIKCjIwMTMtMDctMTIgMjA6MDE6NDIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGFsd2F5cyBpZ25vcmUgSEVBRCBlcnJvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0MQoKMjAxMy0wNy0yNSAxNDoyNjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBDbGVhbiB1cCByZXNldC9zdGFydC9zdG9wIGhhbmRsaW5nCgoyMDEzLTA3LTI1IDE0OjEzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogVXNlIGJhc2UgY2xhc3MgZXJyb3IgaGFuZGxpbmcgZnVuY3Rpb24gaW5zdGVhZCBvZiByZXBsaWNhdGluZyBpdCBoZXJlCgoyMDEzLTA3LTI1IDE0OjEyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IENsZWFuIHVwIGhhbmRsaW5nIG9mIHJlc2V0L3N0YXJ0L3N0b3AKCjIwMTMtMDctMjUgMTA6NDE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0xLnRhZzoKCSogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0yLnRhZzoKCSogdGVzdHMvZmlsZXMvaWQzLTQ0NzAwMC13Y29wLnRhZzoKCSAgdGVzdHM6IGZpeCB0ZXN0IElEMyB0YWdzIHVwIG5vdCB0byByZWx5IG9uIGRvZGd5IHR5cGVmaW5kaW5nIGNvZGUKCSAgQ2hhbmdlIDB4ZmYgMHhmYiAnbXAzJyBtYXJrZXIgdG8gJ2ZMYUMnIG1hcmtlciwgc28gd2UgY2FuIGZpeAoJICB0aGUgdHlwZWZpbmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM2OAoKMjAxMy0wNy0yNSAwODoyMjo0NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogaW50ZXJzZWN0IHRoZSBwcm9iZWQgY2FwcyB3aXRoIHRoZSBmaWx0ZXIgcGFzc2VkIHRvIGdldF9jYXBzKCkKCjIwMTMtMDctMjQgMTQ6MTc6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgYmluOiBmaXggY29tcGlsYXRpb24KCjIwMTMtMDctMjQgMTI6NDI6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBVWVZQIGZvcm1hdAoKMjAxMy0wNy0yNCAxMjo0MTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiBmaXggVVlWUCBmb3JtYXQKCjIwMTMtMDctMjQgMTI6NDE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogZml4IGNhcHMKCjIwMTMtMDctMjQgMTA6NDk6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggbG9ja2luZwoJICBUYWtlIHRoZSBsb2NrIGVhcmxpZXIgc28gdGhhdCB3ZSBkbyB0aGluZ3MgdGhhdCBmb2xsb3cgd2l0aCB0aGUgcmlnaHQKCSAgbG9ja2luZy4KCjIwMTMtMDctMjMgMTc6NDA6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IHVzZSBpbnZhbGlkIHRpbWVzIGluIFJUQ1AgdGltZW91dHMKCSAgQW4gaW52YWxpZCB0aW1lb3V0IGNhbiBiZSBjYWxjdWxhdGVkIHdoZW4gd2UgZGlzYWJsZWQgUlRDUCBieSBzZXR0aW5nIHRoZQoJICBiYW5kd2lkdGggdG8gMC4gTWFrZSBzdXJlIGFsbCBjb2RlIGNhbiBoYW5kbGUgdGhpcyBjYXNlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NjI2CgoyMDEzLTA3LTIzIDE3OjM4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBsb2NrIHNlc3Npb24gd2hlbiBjaGFuZ2luZyBiYW5kd2lkdGgKCSAgVGFrZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2hhbmdpbmcgdGhlIGJhbmR3aWR0aCBwcm9wZXJ0aWVzIHNvIHRoYXQgd2UgZG9uJ3QKCSAgZW5kIHVwIHdpdGggaW5jb25zaXN0ZW50IGJlaGF2aW91ci4KCjIwMTMtMDctMjMgMTc6Mzc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlc2V0IHNvbWUgUlRDUCB2YXJpYWJsZXMKCSAgVGhlIGVhcmx5X3NlbmQgdGltZSB3YXMgc2V0IHRvIDAgYW5kIGFsd2F5cyB0cmlnZ2VyaW5nIGFuIGVhcmx5IFJUQ1AgcGFja2V0LgoKMjAxMy0wNy0yMyAxNTowMzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGFsbCB0aGUgbXBlZyBYRENBTSB2YXJpYW50cwoJICBUaGlzIHNob3VsZCBjb3ZlciBhbGwga25vd24gWERDQU0gdmFyaWFudHMgKHdoaWNoIGFyZSBhbGwgbXBlZzIgdmlkZW8pCgkgIEZpeGVzICM2NzIyMjcKCjIwMTMtMDctMDMgMTg6NDE6NDIgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGRlZCBjdXN0b20gZG93bnN0cmVhbSBzeW5jIGV2ZW50CgkgIHJ0cGJpbiBjYW4gbm93IHNlbmQgYSBjdXN0b20gaW4tYmFuZCBkb3duc3RyZWFtIGV2ZW50IHdoaWNoIGluZm9ybXMKCSAgZG93bnN0cmVhbSB0aGF0IHRoZSBiaW4gaGFzIHJlY2VpdmVkIGFuIFJUQ1AgU1IgcGFja2V0LiBUaGlzIGlzIHVzZWZ1bAoJICBmb3IgYXBwbGljYXRpb25zIHdoaWNoIHdhbnQgdG8gZHJvcCB0aGUgaW5pdGlhbCB1bnN5bmNocm9uaXplZCByZWNlaXZlZAoJICBSVFAgcGFja2V0cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzU2MAoJICBTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoyMDEzLTA3LTIyIDE4OjAwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IG9uLXRoZS1mbHkgY2hhbmdpbmcgb2YgIm1vZGUiIGFuZCAiZmllbGRzIiBwcm9wZXJ0aWVzCgkgIFdlIGNhbGwgc2V0Y2FwcygpIHRvIHJlY29uZmlndXJlIG91cnNlbHZlcywgYnV0IHdlIG5lZWQgdG8gcGFzcwoJICB0aGUgY3VycmVudCAqc2luayogY2Fwcywgbm90IHRoZSBzb3VyY2UgY2FwcyB0aGVuLiBBbHNvIGZpeCBhCgkgIGNhcHMgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTU5OQoKMjAxMy0wNy0yMiAxNToyMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMiAxNToyMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMTkgMjI6NTk6MTUgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGUqX3JvdW5kLgoJICBUaGVyZSBjb3VsZCBiZSBhIGNhc2Ugd2hlcmU6CgkgIDEpIHlvdSBkbyBhIG5ldyBzZXRfY2FwcyBhZnRlciBidWZmZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQuCgkgIDIpIHRzX29mZnNldCBnZXRzIHNldCB0byBhIGRpZmZlcmVudCB2YWx1ZSwgZWcgMC4wMzMzMzMzMzMKCSAgMykgeW91ciBwYWRzIGdldCBFT1MsIGJ1dCB0aGUgY2hlY2sgZG9yIHRoYXQgZG9lc24ndCB3b3JrCgkgIGJlY2F1c2UgeW91IHVzZSB0c19vZmZzZXQgKyBhIHRydW5jYXRlZCB2YWx1ZSA8IHNlZ21lbnQuc3RvcAoJICA0KSBzbyBpbiB0aGUgbmV4dCBjb2xsZWN0ZWQsIHlvdSBlbmQgdXAgY29tcGFyaW5nIGZvciBleGFtcGxlOgoJICAwLjk5OTk5OTk5OTkgPiAxLiwgd2hpY2ggaXMgZmFsc2UgYW5kIG1lYW5zIHlvdSBkb24ndCBzZW5kIEVPUy4KCSAgQWxzbyBhZGRzIHNjYWxlX3JvdW5kIGluIHR3byBvdGhlciBwbGFjZXMgd2hlcmUgaXQgcG90ZW50aWFsbHkgY291bGQKCSAgaGF2ZSBjYXVzZWQgcHJvYmxlbXMuCgoyMDEzLTA3LTE1IDE3OjU1OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWRkIFdSTEUgc3VwcG9ydAoKMjAxMy0wNy0xOSAxOTozNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBtYWtlIGZpbGVzIGZyb20gVml2b3RlayBjYW1lcmEgcGxheQoJICBTa2lwIHRyYWNrcyBvZiAndml2bycgc3VidHlwZSB3aXRoIGVtcHR5IHN0c2QgaW5zdGVhZCBvZgoJICBlcnJvcmluZyBvdXQgc2F5aW5nIHRoYXQgdGhlIGZpbGUgaXMgYnJva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkxCgoyMDEzLTA3LTE5IDE3OjE0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHdoZW4gc3RyZWFtaW5nIGRvbid0IHRyeSB0byBzZWVrIHdoZW4gc3RvcHBpbmcKCSAgSXQgbWlnaHQgY2F1c2UgZXJyb3JzIGluIHNpbmtzIHRoYXQgYXJlIG5vdCBzZWVrYWJsZSBhbmQKCSAgaGF2ZSByZXBvcnRlZCB0aGlzIChsaWtlIGUuZy4gZmRzaW5rKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjI4CgoyMDEzLTA3LTE5IDE3OjI2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHNvbWUgaGVscGVycwoJICBTb21lIGhlbHBlciBmdW5jdGlvbnMgYXJlIG5vdCBuZWVkZWQgYW55bW9yZSBvciBjYW4gYmUgc2ltcGxpZmllZC4KCjIwMTMtMDctMTkgMTc6MTI6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9yIG5vbi1yYXcgdmlkZW8sIG1vdmUgcGFsZXR0ZSBpbiBjYXBzCgkgIFdlIG9ubHkgbmVlZCB0byBhcHBlbmQgdGhlIHBhbGV0dGUgdG8gcmF3IHZpZGVvIGJ1ZmZlcnMsIG5vbi1yYXcgdmlkZW8gaGFzIHRoZQoJICBwYWxldHRlIGluIHRoZSBjYXBzIHN0aWxsLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjkyCgoyMDEzLTA3LTE5IDAxOjQ5OjIwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBuaXRwaWNraW5nIGluIGVzZHMgcGFyc2luZwoKMjAxMy0wNy0xOSAwMTo0OTowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHByb3BlciBjYXBzIGZvciBtcGVnLTEgYXVkaW8KCSAgUmVtb3ZlIEFBQyBzcGVjaWZpYyBmaWVsZHMgZnJvbSBtcGVnLTEgYXVkaW8gY2FwcywgcmVtb3ZlIGFzc3VtcHRpb24KCSAgdGhhdCB0aGUgbXBlZzEgYXVkaW8gbGF5ZXIgaXMgMywgYW5kIHNldCBgcGFyc2VkJyBmaWVsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDU0OAoKMjAxMy0wNi0xNyAyMToyNzozNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJICB2cHg6IGZpeCBjb21waWxhdGlvbiB3aGVuIGVuY29kZXIgb3IgZGVjb2RlciBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NDcKCjIwMTMtMDctMTYgMjA6NDE6MTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEZpeCB1bml0IGZvciBHUkFZMTYgZm9ybWF0cwoKMjAxMy0wNy0xNiAyMjoxNzoxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGNoYXB0ZXIgc3RyZWFtCgkgIFJlbW92ZSBhbGwgc3RyZWFtcyB0aGF0IGFyZSBhY3R1YWxseSB0YWJsZSBvZiBjb250ZW50cywgc2luY2Ugd2Ugd2lsbAoJICBuZXZlciBuZWVkIHRoZSBkYXRhIGFmdGVyIHBhcnNpbmcgdGhlbS4KCjIwMTMtMDctMTYgMjE6NTk6MzcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgZ2FwIGV2ZW50IGZvciBzcGFyc2Ugc3RyZWFtcyBpbiBwdXNoIG1vZGUKCSAgVGhpcyBhbGxvd3MgdG8gcHJlLXJvbGwgYXQgbGVhc3QgaWYgdGhlIG5leHQgc3VidGl0bGUgYnVmZmVyCgkgIGlzIGZhciBhd2F5LgoKMjAxMy0wNy0xNiAyMTo1NjowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHVzZSBpbmRleGVzIGZyb20gc3BhcnNlIHN0cmVhbSB3aGVuIHNlZWtpbmcgaW4gcHVzaCBtb2RlCgkgIFRoaXMgbWFrZXMgc2Vla2luZyBtb3JlIGFjY3VyYXRlIGluIHB1c2ggbW9kZSwgc2luY2UgdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lIG9uIGEgc3BhcnNlIHN0cmVhbSBtaWdodCBiZSBmYXIgYXdheS4KCjIwMTMtMDctMTYgMjE6MDQ6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkdmVydGlzZSBzdWJ0aXRsZSBzdHJlYW1zIGFzIHNwYXJzZQoKMjAxMy0wNy0xNyAxNzoxMTo0NCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWFzdHJva2FkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgVW5zZXQgdGhlIGRpc2NvbnQgZmxhZyBpbnN0ZWFkIG9mIHBvc3NzaWJseSBwdXNoaW5nIGEgYnVmZmVyIHdpdGgKCSAgYSBmbGFnIHRoYXQncyBzdGlsbCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDctMTcgMTU6MTA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCB0aGUgcGFsZXR0ZSBmcm9tIHN0c2QKCSAgU29tZXRpbWVzIGEgcGFsZXR0ZSBpcyBpbnNpZGUgdGhlIHN0c2QsIGV4dHJhY3QgaXQgaW5zdGVhZCBvZiBhbHdheXMgdXNpbmcKCSAgdGhlIGRlZmF1bHQgb25lCgoyMDEzLTA3LTE3IDE0OjMwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IEZpeCBldmVudCBoYW5kbGluZyBhbmQgbmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUKCjIwMTMtMDctMTcgMTQ6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogRml4IGV2ZW50IGhhbmRsaW5nIGFuZCBuZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZQoKMjAxMy0wNy0xMSAxOTo0NToxNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiB3YXJuIGFib3V0IHRoZSBmdXR1cmUgZGVwcmVjYXRpb24gb2YgdGhlICJlbWJlZCIgcHJvcGVydHkKCjIwMTMtMDctMTcgMDk6NTY6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIFdSQVcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xNyAwOTo1NDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYWxldHRlIGlzIGFwcGVuZGVkIHRvIGJ1ZmZlcnMsIG5vdCBpbiBjYXBzCgkgIEZpeCB0aGUgcGFsZXR0ZSBoYW5kbGluZywgaW4gMS4wIHdlIGFwcGVuZCB0aGUgcGFsZXR0ZSB0byB0aGUgYnVmZmVyIGluc3RlYWQgb2YKCSAgcGxhY2luZyBpdCBvbiB0aGUgY2Fwcy4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xNiAxNTozNzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cDogVXNlIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyX2Zhc3QoKSB3aGVyZSBwb3NzaWJsZSBpbiBSVFAgcGF5bG9hZGVycwoKMjAxMy0wNy0xNSAxNjoyNDowNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgc2VnbWVudCBvbiBmbHVzaCBzdG9wCgkgIGNjYTJmNTU1ZDE0IGludHJvZHVjZXMgYSByZWdyZXNzaW9uLCB3aGVyZSB0aGUgZGVtdXggc2VnbWVudCBpcyBub3QKCSAgcmVzZXQgb24gZmx1c2ggc3RvcCwgc28gdGhlIG5leHQgdXBzdHJlYW0gc2VnbWVudCBldmVudCB3aWxsIGNhbGN1bGF0ZQoJICBhbiBpbnZhbGlkIGJhc2UgdGltZSBvbiB0aGUgbmV3IHNlZ21lbnQgdG8gYmUgc2VudCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjU1CgoyMDEzLTA3LTA2IDE3OjIwOjQ5ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBvZmZzZXQgc2FtcGxlcyBhY2NvcmRpbmcgdG8gZWRpdCBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQKCjIwMTMtMDctMTQgMTI6NTA6MTMgKzEyMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BoYWxvLmdlbi5uej4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgbGV2ZWw6IEZpeCB0aGUgc3BlY3RydW0gZXhhbXBsZSBmb3IgMS4wCgkgIFRoZSAibWVzc2FnZSIgcHJvcGVydHkgaGFzIGJlZW4gcmVwbGFjZWQgYnkgInBvc3QtbWVzc2FnZXMiLgoJICBQcmUtcGF0Y2ggb3V0cHV0OgoJICAodGVzdF9zcGVjdHJ1bToyMzEwMSk6IEdMaWItR09iamVjdC1XQVJOSU5HICoqOiBnX29iamVjdF9zZXRfdmFsaXN0OgoJICBvYmplY3QgY2xhc3MgYEdzdFNwZWN0cnVtJyBoYXMgbm8gcHJvcGVydHkgbmFtZWQgYG1lc3NhZ2UnCgkgIE5ldyBzcGVjdHJ1bSBtZXNzYWdlLCBlbmR0aW1lIDA6MDA6MDAuMTAwMDAwMDAwCgkgICh0ZXN0X3NwZWN0cnVtOjIzMTAxKTogR1N0cmVhbWVyLUNSSVRJQ0FMICoqOgoJICBnc3RfdmFsdWVfbGlzdF9nZXRfdmFsdWU6IGFzc2VydGlvbiBgR1NUX1ZBTFVFX0hPTERTX0xJU1QgKHZhbHVlKScgZmFpbGVkCgkgIFsuLi5dCgkgIFBvc3QtcGF0Y2g6CgkgIE5ldyBzcGVjdHJ1bSBtZXNzYWdlLCBlbmR0aW1lIDA6MDA6MDAuMTAwMDAwMDAwCgkgIGJhbmQgMCAoZnJlcSA0MDApOiBtYWduaXR1ZGUgLTY1Ljk4ODc3NyBkQiBwaGFzZSAxLjUzMzM5NwoJICBiYW5kIDEgKGZyZXEgMTIwMCk6IG1hZ25pdHVkZSAtNjUuNTQ1NTYzIGRCIHBoYXNlIC0wLjc4MDkwMAoJICBiYW5kIDIgKGZyZXEgMjAwMCk6IG1hZ25pdHVkZSAtNjQuNzkxOTQ2IGRCIHBoYXNlIC0wLjc5OTYxMQoJICBiYW5kIDMgKGZyZXEgMjgwMCk6IG1hZ25pdHVkZSAtNjQuNTU2MTc1IGRCIHBoYXNlIC0wLjA2MzYxNQoJICBbLi4uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MTc5CgoyMDEzLTA3LTEzIDIwOjU2OjI2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYmUgbGVzcyB2ZXJib3NlIHdoZW4gcGFyc2luZyBMT0FTIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDE2MgoKMjAxMy0wNy0xMiAxMjozMTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgc2luazogYWxhdy9tdWxhdyBjYXBzIGRvbid0IGhhdmUgYSBsYXlvdXQgcHJvcGVydHkKCjIwMTMtMDctMTIgMTI6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiByZWxheCBtdWxhdyBhbmQgYWxhdyBmb3JtYXQgY2hlY2tzCgkgIFRoZSBhdWRpbyBsaWJyYXJ5IGNvbnNpZGVycyB0aGVtIGFzIGVuY29kZWQgZm9ybWF0cyBhbmQgZG9lcyBub3QgZmlsbCBpbiB0aGUKCSAgc2FtcGxlIHdpZHRoLiBUaGUgYXVkaW8gcmluZ2J1ZmZlcnMgaWRlbnRpZmllcyB0aGUgZm9ybWF0IGFzIGFsYXcvbXVsYXcgYW5kIHRoYXQKCSAgaXMgYWx3YXlzIDggYml0cy4KCjIwMTMtMDctMTEgMTY6MTM6MDUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHVuc2VsZWN0IGluc3RlYWQgb2YgaWdub3JpbmcgZGlzYWJsZWQgdHJhY2ssIGRldGVjdCBjaGFwdGVyIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQwMDcKCjIwMTMtMDctMTEgMjA6NDE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBpZ25vcmUgZXJyb3JzIGZyb20gSEVBRCByZXF1ZXN0CgkgIEhFQUQgcmVxdWVzdHMgYXJlIHVzZWQgdG8gY2hlY2sgdGhlIHNlcnZlciBoZWFkZXJzIHRvIHNlZSBpZiBpdAoJICBzZWVrYWJsZS4gSWdub3JlIGVycm9ycyBmcm9tIHRob3NlIHJlcXVlc3RzIGFzIHRoZXkgc2hvdWxkbid0IGJlCgkgIGNyaXRpY2FsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDUzCgoyMDEzLTA3LTEyIDAzOjI0OjA4ICswODAwICBLeW9zdWtlIE5la29tdXJhIDxzdXBlcmNhdGV4cGVydEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBGaXggaGFuZGxpbmcgb2YgZGVsYXkgcHJvcGVydHkgaW4gUExBWUlORy9QQVVTRUQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzkwMQoKMjAxMy0wNy0wOSAxNzo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEVuYWJsZSBwcm94eSBjYXBzIG9uIHRoZSBzcmMgcGFkcwoKMjAxMy0wNy0xMSAxNjo1NzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMiA9PT0KCjIwMTMtMDctMTEgMTU6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMgoKMjAxMy0wNy0xMSAxNTo1ODoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMDkgMTU6MzQ6MDQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkZWZlciB0aGUgd2luZG93IGhhbmRsZSBzZXR1cCB0byB0aGUgbWFpbiB0aHJlYWQKCjIwMTMtMDctMDkgMTU6MzM6MTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmYXVsdCB0byB0aGUgbWFpbiBpbiBjYXNlIHdlIGFyZSBub3Qgc2V0dXAgeWV0CgoyMDEzLTA3LTA3IDIyOjE2OjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGNsb3NlIHRoZSBpbnRlcm5hbCB3aW5kb3cgY29ycmVjdGx5CgoyMDEzLTA3LTA3IDIxOjE0OjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogb25seSBjcmVhdGUgdGhlIE5TIGFwcCB0aHJlYWQgZm9yIENvY29hIG9uY2UKCSAgVGhlIGhlbHBlciB0aHJlYWQgZm9yIENvY29hLCBpbiBjYXNlIG5vIE5TIHJ1biBsb29wIGlzIHJ1bm5pbmcsCgkgIHNob3VsZCBiZSBzdGFydGVkIG9ubHkgb25jZSBhbmQgc2hhcmVkIGFjcm9zcyBhbGwgdGhlIGluc3RhbmNlcwoJICBydW5uaW5nCgoyMDEzLTA3LTA5IDE5OjEwOjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvcnJlY3QgYXJndW1lbnQgb3JkZXIgaW4gZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzUwCgoyMDEzLTA3LTA5IDE3OjQyOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogS2VlcCBjYXBzIG9yZGVyIGZyb20gdGhlIHBlZXIgb3IgdGhlIGZpbHRlcgoKMjAxMy0wNy0wOSAxMjo0MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGhhbmRsaW5nIG9mIGJ1ZmZlcnMgd2l0aG91dCBhIGR1cmF0aW9uCgkgIFdlJ2xsIGhhdmUgdG8gcG9wIGJ1ZmZlciBmcm9tIGNvbGxlY3RwYWRzIGFuZCBzdG9yZSBpdAoJICBpbnRlcm5hbGx5IG9ubHkgdG8gZ2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5leHQgYnVmZmVyLgoJICBJZiB3ZSBjb250aW51ZSB0byBrZWVwIGl0IGluIGNvbGxlY3RwYWRzLCBubyBuZXcgYnVmZmVyCgkgIHRvIGNhbGN1bGF0ZSB0aGUgZW5kIHRpbWUgd2lsbCBldmVyIGFycml2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc0MwoKMjAxMy0wNy0wOSAxMTo1MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IG5lZ290aWF0aW9uIHdpdGggMC8xIGZyYW1lcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc0MwoKMjAxMy0wNy0wOSAxMToxNzo1OSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5sb2NrIHN0cmVhbSBsb2NrIGFmdGVyIHVzZQoJICBTdHJlYW0gbG9jayBvZiBzaW5rIHBhZCB3YXMgbm90IHVubG9ja2VkIGFmdGVyIG5vbi11cGRhdGluZyBzZWVrLgoKMjAxMy0wNi0yNyAxMzoyNjozMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogUmUtc2V0IG5lZWRfc2VnbWVudCBmbGFnIGFmdGVyIEZMVVNIX1NUT1AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE4MgoKMjAxMy0wNy0wNSAxMTo1MTowNCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiBkb24ndCBmb3JnZXQgdG8gcmVsZWFzZSBidWZmZXIgb24gZXJyb3IKCSAgSWYgdGhlIHBvb2wgaXMgc3RvcHBlZCB3aGlsZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9kcWJ1ZigpIHdhaXRzIGZvciBhCgkgIGJ1ZmZlciB0aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgR1NUX0ZMT1dfRkxVU0hJTkcuIEluIHRoaXMgY2FzZSB0aGUgYnVmZmVyCgkgIHRvIHF1ZXVlIG11c3QgYWxzbyBiZSByZWxlYXNlZC4gT3RoZXJ3aXNlIGlzIHdpbGwgbmV2ZXIgYmUgZGVsZXRlZCBvcgoJICByZXR1cm5lZCB0byBpdHMgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzc2NAoKMjAxMy0wNy0wOCAxNDoxNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBGYWlsIHBheWxvYWRpbmcgdW5pdCB0ZXN0IGlmIGFuIGVycm9yIG1lc3NhZ2UgaXMgcmVjZWl2ZWQKCjIwMTMtMDctMDggMTQ6MDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IERvbid0IHBhc3MgdXBzdHJlYW0gZmlsdGVyIGNhcHMgdG8gZG93bnN0cmVhbQoJICBEb3duc3RyZWFtIHVzdWFsbHkgY2FuJ3QgYWNjZXB0IHZpZGVvL3gtaDI2MyBidXQgb25seSBhcHBsaWNhdGlvbi94LXJ0cCwKCSAgc28gd2Ugd291bGQgYWx3YXlzIGdldCBhbiBlbXB0eSBpbnRlcnNlY3Rpb24gaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYzMgoKMjAxMy0wNy0wNSAyMjowMDozNyArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjg1CgoyMDEzLTA3LTAyIDExOjEzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzb21lIHN0cmR1cAoKMjAxMy0wNy0wMiAxMDozNzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNlbGVjdC1zdHJlYW0gc2lnbmFsCgkgIEFkZCBhIHNpZ25hbCB0byBsZXQgdGhlIGFwcCBzZWxlY3Qgd2hhdCBzdHJlYW1zIHdpbGwgYmUgc2VsZWN0ZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0NDE5CgoyMDEzLTA3LTAyIDEwOjM3OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzdHJkdXAKCjIwMTMtMDctMDIgMTA6MTI6MTcgKzAyMDAgIEouIFJpY2sgUmFtc3RldHRlciA8cmljay5yYW1zdGV0dGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwOiBGaXggZG9jdW1lbnRhdGlvbiBhbmQgY29tbWVudHMgdG8gdXNlIHJ0cGJpbiBpbnN0ZWFkIG9mIG9sZCBnc3RydHBiaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQyNgoKMjAxMy0wNy0wMSAxNjo1NTowMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGV4dHJhY3QgZGF0YSBmcm9tIGNhcHMgdHdpY2UKCSAgZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCkgYWx3YXlzIGV4dHJhY3Qgd2lkdGgsIGhlaWdodCwgaW50ZXJsYWNlIG1vZGUgYW5kCgkgIGZyYW1lcmF0ZSBub3cuIEl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8gZG8gaXQgYWdhaW4gZm9yIGVuY29kZWQKCSAgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM5OQoKMjAxMy0wNi0yMCAwOTo0MTo0OCAtMDMwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbHNvIGNvbnNpZGVyIHN0b3AgcG9zaXRpb25zIGluIHNlZWtzCgkgIFVzZSBzZWVrIHN0b3AgcG9zaXRpb24gYXMgcmFuZ2UgZW5kIGZvciByZXF1ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA2LTE5IDE0OjA2OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWxsb3cgc2Vla3MgaW4gcmVhZHkKCSAgT24gaXNfc2Vla2FibGUsIGNoZWNrIGlmIHRoZSBzZXJ2ZXIncyBoZWFkZXJzIGhhdmUgYWxyZWFkeSBiZWVuCgkgIHJlY2VpdmVkLiBJZiBub3QsIGRvIGEgSEVBRCByZXF1ZXN0IHRvIGdldCB0aGVtIGJlZm9yZSByZXNwb25kaW5nCgkgIHRvIGJhc2VzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDctMDEgMTc6Mjg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHRoZSBTRFAKCSAgVGhpcyB3YXksIHRoZSBhcHAgY2FuIGxvb2sgYW5kIG1vZGlmeSB0aGUgU0RQLgoKMjAxMy0wNi0yMSAxODoxMDoyOCArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IEFsbG93IG5lZ2F0aXZlIG9mZnNldHMgdG8gc3BlY2lmeSBvZmZzZXQgZnJvbSBib3R0b20vcmlnaHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgyNgoKMjAxMy0wNi0zMCAyMTowMToyMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb21wdXRlIGZyYW1lcmF0ZSBmcm9tIGF2ZXJhZ2Ugc2FtcGxlIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNTAKCjIwMTMtMDYtMjUgMjE6MTY6MzggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQWRkIGZsdnZlcnNpb24gMSB0byB0aGUgZmxhc2gtdmlkZW8gY2FwcwoJICBUaGlzIGFsbG93cyB1c2luZyBhdmRlY19mbHYgd2hpY2ggcmVxdWlyZXMgdGhpcyBmaWVsZCB0byBiZQoJICBwcmVzZW50IGluIHRoZSBjYXBzLiBGTFYgb25seSBzdXBwb3J0cyBmbGFzaC12aWRlbyB2ZXJzaW9uIDEKCSAgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMDc2CgoyMDEzLTA3LTAxIDExOjM3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBEb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxlIHNlbmRpbmcgZXZlbnRzIGRvd25zdHJlYW0KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzExNAoKMjAxMy0wNy0wMSAxMDo1OTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBNUEVHNCB2aWRlbyBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzCgoyMDEzLTA3LTAxIDEwOjU2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWRkIEFBQyBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzMTIKCjIwMTMtMDYtMjggMTU6MjE6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICB2b3JiaXNwYXk6IGFkZCBzdXBwb3J0IGZvciBjb25maWctaW50ZXJ2YWwKCSAgQWxpZ24gY29kZSB3aXRoIHRoZSB0aGVvcmEgcGF5bG9hZGVyIGFuZCBhZGQgc3VwcG9ydCBmb3IgdGhlIGNvbmZpZy1pbnRlcnZhbCB0bwoJICBwZXJpb2RpY2FsbHkgc2VuZCBvdXQgdGhlIGNvbmZpZyBoZWFkZXJzLgoKMjAxMy0wNi0yOCAxNToyMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogc21hbGwgY2xlYW51cHMKCjIwMTMtMDYtMjggMTI6MDg6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGhhbmRsZSBzdHJlYW1oZWFkZXJzIGFzIHdlbGwKCjIwMTMtMDYtMjggMTI6MDY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGFsd2F5cyBjb2xsZWN0IGhlYWRlcnMgb24gZGF0YQoJICBXaGVuIHdlIHNlZSBhIGRhdGEgcGFja2V0LCBhbHdheXMgY2hlY2sgaWYgd2UgbmVlZCB0byBjb2xsZWN0IGFueSBwcmV2aW91cwoJICBoZWFkZXJzLgoKMjAxMy0wNi0yOCAxMTo0MzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHZvcmJpc3BheTogaGFuZGxlIHN0cmVhbWhlYWRlciBhcyB3ZWxsCgkgIFRha2UgY29uZmlnIHN0cmluZ3MgZnJvbSB0aGUgc3RyZWFtaGVhZGVyIHdoZW4gd2UgY2FuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQzMTIKCjIwMTMtMDYtMjcgMDc6NDA6MjkgKzAyMDAgIERhdmlkIFN2ZW5zc29uIEZvcnMgPGRhdmlkc2ZAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgZG91YmxlIGJ1ZmZlciB1bm1hcCBvbiBlcnJvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMTcxCgoyMDEzLTA2LTI3IDE3OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldC1zeW5jIGJlZm9yZSBwbGF5CgkgIENhbGwgcmVzZXQtc3luYyBvbiB0aGUgcnRwYmluIGJlZm9yZSB3ZSBnbyB0byBwbGF5aW5nLiBUaGlzIG1ha2VzIHVzIHJlcXVpcmUgU1IKCSAgcGFja2V0cyBmb3IgYWxsIHN0cmVhbXMgYWdhaW4gYmVmb3JlIHdlIGF0dGVtcHQgdG8gc3luYyB0aGVtLiBJZiB3ZSBkb24ndCByZXNldCwKCSAgaXQgbWlnaHQgYmUgdGhhdCB3ZSBjb21iaW5lIFNSIHBhY2tldHMgZnJvbSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBQQVVTRS9QTEFZSU5HCgkgIHN0YXRlIGNoYW5nZSBhbmQgZW5kIHVwIHdpdGggaHVnZSBib2d1cyBvZmZzZXRzLgoKMjAxMy0wNi0yNyAxNjoyMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgc3luYyBvbiBmaXJzdCBwYWNrZXRzCgkgIERvbid0IHRocm93IGF3YXkgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IGlmIGl0IGFycml2ZXMgYmVmb3JlIHRoZSBmaXJzdAoJICBSVFAgcGFja2V0IGJ1dCByZW1lbWJlciBhbmQgdXNlIGl0IHRvIHNpZ25hbCBzeW5jIG9uY2Ugd2UgZ2V0IHRoZQoJICBSVFAgcGFja2V0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQwMAoKMjAxMy0wNi0yNyAxNjoxNTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG9ubHkgc2lnbmFsIGxvb3Agd2hlbiBhY3RpdmUKCSAgT25seSBzaWduYWwgdGhlIGxvb3AgZnVuY3Rpb24gd2hlbiBpdCBpcyBhY3RpdmUuCgoyMDEzLTA2LTI3IDE2OjEzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2lnbmFsIHRpbWVzdGFtcCBkaXNjb250CgkgIFdlIGNhbiBub3cgdXNlIHRoZSBSRVNZTkMgYnVmZmVyIGZsYWcgdG8gbWFyayBhIHRpbWVzdGFtcCBkaXNjb250IHdoZW4gd2UgdXBkYXRlCgkgIHRoZSB0cy1vZmZzZXQgcHJvcGVydHkuCgoyMDEzLTA2LTI2IDIwOjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGpwZWdwYXk6IHR1cm4gc29tZSBlcnJvcnMgaW50byB3YXJuaW5ncwoJICBUdXJuIHNvbWUgZXJyb3JzIGludG8gd2FybmluZ3MsIHdlIGNhbiBjb250aW51ZSBwcm9jZXNzaW5nIHNvIHRoaXMgc2hvdWxkCgkgIG5vdCBiZSBmYXRhbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA3OQoKMjAxMy0wNi0yNiAxNDo1ODo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhdm9pZCBzb21lIGZsdXNoZXMKCjIwMTMtMDYtMjYgMTQ6NDE6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBkYXRhIG1lc3NhZ2Ugd2hlbiB3YWl0aW5nIGZvciByZXBseQoJICBXaGVuIHdlIGFyZSB3YWl0aW5nIGZvciBhIHNlcnZlciByZXBseSwgaGFuZGxlIGRhdGEgbWVzc2FnZXMgaW5zdGVhZCBvZgoJICBpZ25vcmluZyB0aGVtLgoKMjAxMy0wNi0yNiAxNDoyNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIGRhdGEgbWVzc2FnZXMgaW4gc2VwYXJhdGUgbWV0aG9kCgkgIFJlZmFjdG9yIGFuZCBtYWtlIGEgbWV0aG9kIHRvIGhhbmRsZSBhIGRhdGEgbWVzc2FnZS4KCjIwMTMtMDYtMjUgMjA6MzY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIG1vcmUgZG9jcyB0byBoYW5kbGUtcmVxdWVzdCBzaWduYWwKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMTAgMTc6MjA6MzAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFNlbmQgYSBjbG9ja19wcm92aWRlIG1lc3NhZ2Ugb24gdGhlIGJ1cyB3aGVuIHdlIGdldCBhIG5ldGNsb2NrCgoyMDEzLTA2LTEwIDE3OjIwOjE0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEV4cG9zZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCjIwMTMtMDYtMjQgMTc6MTE6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBiaW5kIHRvIHRoZSBnaXZlbiBpbnRlcmZhY2UKCSAgQWN0dWFsbHkgY2FsbCBCSU5EVE9ERVZJQ0UgdG8gYmluZCB0byB0aGUgaW50ZXJmYWNlIGFzIGdpdmVuIGJ5IHRoZQoJICBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjgxOQoKMjAxMy0wNi0yMiAxMDo1OToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBFcnJvciBvdXQgZ3JhY2VmdWxseSBpZiB3ZSBnZXQgYW4gdW5zdXBwb3J0ZWQgY29sb3IgZm9ybWF0CgkgIEluIHRoZW9yeSB3ZSBjYW4gb25seSBnZXQgSTQyMCB0aG91Z2gsIGp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS4KCjIwMTMtMDYtMjIgMTA6NTc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOTogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIFk0MkIgYW5kIFk0NDQgY29sb3IgZm9ybWF0cwoJICBUaGUgZW5jb2RlciBkb2VzIG5vdCB3b3JrIHdpdGggWTQyQiBhbmQgWTQ0NCB5ZXQgaXQgc2VlbXMuCgoyMDEzLTA2LTIyIDEwOjI2OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cDlkZWM6IFVwZGF0ZSBkZWZhdWx0IHBvc3Rwcm9jIHNldHRpbmdzIGZyb20gdnA5X2R4X2lmYWNlLmMKCjIwMTMtMDYtMjEgMTM6MTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiBBZGQgaW5pdGlhbCBWUDkgc3VwcG9ydAoKMjAxMy0wNi0yMSAxMzowNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJICB2cHg6IEFkZCBpbml0aWFsLCBleHBlcmltZW50YWwgVlA5IHN1cHBvcnQKCjIwMTMtMDYtMjEgMTA6MzI6MzAgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGdvIGJhY2sgaW50byB0aGUgbG9vcCBhZnRlciBkb2luZyBwYXVzZQoJICBBZnRlciB3ZSBkbyBhIHBhdXNlIHJlcXVlc3QsIGdvIGJhY2sgdG8gbG9vcCBtb2RlIHNvIHRoYXQgd2UgY2FuIGxpc3RlbgoJICBmb3Igc2VydmVyIG1lc3NhZ2VzIGFnYWluLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0yMCAyMzoxNjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogV2FpdCBhZnRlciB0aGUgY2FwcyB0byBmb3J3YXJkIHRoZSBvdGhlciBldmVudHMKCSAgRmlyc3QgZm9yd2FyZCB0aGUgc3RyZWFtLXN0YXJ0LCB0aGVuIHRoZSBjYXBzLCB0aGVuIHRoZSByZXN0CgoyMDEzLTA2LTIxIDAwOjQyOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBjbGVhciBkdHMgb24gYnVmZmVyIGFjcXVpcmVkIGZyb20gcG9vbAoJICBXaGVuIHNldHRpbmcgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBidWZmZXJzLCBjbGVhciB0aGUKCSAgZHRzIGV4cGxpY2l0bHksIG90aGVyd2lzZSBpdCBtYXkgZW5kIHVwIGJlaW5nIHNldCB0byBhCgkgIGJvZ3VzIHZhbHVlIGZyb20gbGFzdCB0aW1lIGl0IHdhcyB1c2VkLiBBdm9pZHMgZXZlcnkKCSAgc2Vjb25kIG9yIHNvIGJ1ZmZlcidzIGR0cyBiZWluZyBzZXQgdG8gMC4gTm90IHRoYXQgaXQKCSAgc2hvdWxkIG1hdHRlciBmb3IgcmF3IHZpZGVvLgoKMjAxMy0wNi0yMCAxNTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogZG9uJ3QgcmVkZWZpbmUgdGhlIFBFUkZPUk1BTkNFIGRlYnVnIHZhcmlhYmxlCgkgIEl0IGlzIGFscmVhZHkgZGVmaW5lZCBpbiBjb3JlLgoJICBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzMyCgoyMDEzLTA2LTIwIDE0OjQzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggcmFjZSBpbiBzdGF0ZSBjaGFuZ2UgdG8gcGF1c2VkCgkgIFdoZW4gd2UgZ28gdG8gcGF1c2VkLCB3ZSBmaXJzdCBmbHVzaCB0aGUgY29ubmVjdGlvbiBhbmQgdGhlbiBzZW5kIHRoZSBwYXVzZQoJICBjb21tYW5kLiBBcyBhIHJlc3VsdCBvZiB0aGUgZmx1c2hpbmcsIHRoZSBzY2hlZHVsZWQgcGF1c2VkIGNvbW1hbmQgY2FuIGdldAoJICBsb3N0LiBXYWl0IHVudGlsIHRoZSBjb25uZWN0aW9uIGlzIGNvbXBsZXRlbHkgZmx1c2hlZCBhbmQgdGhlIHJ0c3AgdGFzayBpcwoJICB3YWl0aW5nIGJlZm9yZSBpc3N1aW5nIHRoZSBwYXVzZWQgb3IgcGxheWluZyByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTIwIDExOjMxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA2LTE5IDEyOjM3OjMxICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogT3B0aW1pemUgbmVnb3RpYXRpb24gYnkgcmVtb3ZpbmcgdGhlIHF1ZXJ5IGZpbHRlcgoJICBBcyBjYW1lcmFzIHRlbmQgdG8gaGF2ZSBhIHF1aXRlIHNwZWNpZmljIHNldCBvZiBjYXBhYmlsaXRpZXMgKHNwZWNpZmljCgkgIGZyYW1lcmF0ZXMgZm9yIGVhY2ggcmVzb2x1dGlvbiksIGdldHRpbmcgdGhlIHBlZXIgY2FwcyBmaWx0ZXJlZCBieSBvdXIKCSAgcHJvYmVkIGNhcHMgY2FuIGNhdXNlIGEgYmlnIGluY3JlYXNlIGluIHRoZSBjYXBzIHNpemUgd2hpY2ggc2xvd3MgZG93bgoJICB0aGluZ3MgcXVpcmUgYSBiaXQuCgkgIEFzIGZvciBuZWdvdGlhdGlvbiB2NGwyIGl0ZXJhdGVzIHRocm91Z2ggdGhlIGNhcHMgb2YgdGhlIHBlZXIgdG8gZmluZCB0aGUKCSAgZmlyc3QgaW50ZXJzZWN0aW9uIHdpdGggdGhlIHByb2JlZCBjYXBzLCBnZXR0aW5nIHRoZSBmdWxseSBleHBhbmRlZAoJICBpbnRlcnNlY3Rpb24gb2YgY2FwYWJpbGl0aWVzIGlzIG5vdCB1c2VmdWwuCgkgIFVzaW5nIHRoZSBzYW1lIHRlc3RjYXNlIGFzIGZvciBidWcgIzcwMjYzMiwgYWRkaW5nIHRoaXMgcGF0Y2ggb24gdG9wIG9mCgkgIHRoZSBwYXRjaGVzIHN1Z2dlc3RlZCB0aGVyZSBzcGVlZHMgdXAgZ2V0dGluZyB0aGUgaW5pdGFsIGZyYW1lIGZyb20KCSAgYXJvdW5kIH4xNC0xNSBzZWNvbmRzIHRvIGFyb3VuZCB+My00IHNlY29uZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzgKCjIwMTMtMDYtMTkgMTA6MzA6NTYgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZHVyYXRpb24gcXVlcnkgcmV0dXJucyB6ZXJvIGZvciBEViB2aWRlbyBpbiBhdmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjYyNQoKMjAxMy0wNi0xOSAxMTowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERpc2FibGUgdXNhZ2Ugb2YgYWxsb2NhdGlvbiBxdWVyaWVzCgkgIFRoaXMgY2FuIG9ubHkgcmVsaWFibHkgd29yayBpZiBkZW11eGVycyBoYXZlIGEKCSAgc2VwYXJhdGUgc3RyZWFtaW5nIHRocmVhZCBwZXIgc3JjcGFkLiBUaGlzIHNob3VsZCBiZQoJICBkb25lIGluIGEgZGVtdXhlciBiYXNlIGNsYXNzLCB3aGljaCBpbnRlZ3JhdGVzIHBhcnRzCgkgIG9mIG11bHRpcXVldWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTg1NgoKMjAxMy0wNi0xMSAxNTowMjoyMSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIEF2b2lkIHNraXBwaW5nIG1vb3YgYXRvbXMgZm9yIGZyYWdtZW50ZWQgTVA0IGZpbGVzLgoJICBidWcgIzcwMDUwNQoJICBGb2xsb3dpbmcgYSByZXByZXNlbnRhdGlvbiBjaGFuZ2UgdGhhdCBjYXVzZXMgYSByZXNvbHV0aW9uIGNoYW5nZSwKCSAgdGhlIHZpZGVvIGRlY29kZXIgZmFpbHMgdG8gZGVjb2RlIGNvcnJlY3RseS4gRGFzaGRlbXV4IGRldGVjdHMgdGhlCgkgIHJlcHJlc2VudGF0aW9uIGNoYW5nZSBhbmQgcHVzaGVzIGEgbmV3IGNhcHMgZXZlbnQgYW5kIGFuCgkgIGluaXRpYWxpemF0aW9uIHNlZ21lbnQgKGEgbmV3IG1vb3YgYXRvbSkgdG8gdGhlIGRvd25zdHJlYW0gcXRkZW11eCwKCSAgYnV0IGl0IGRvZXNuJ3QgaGFuZGxlIHRoaXMgbmV3IG1vb3YgeWV0LCBpdCB3aWxsIG9ubHkgcGFyc2UgdGhlCgkgIGZpcnN0IG9uZSBpdCByZWNlaXZlcy4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyBxdGRlbXV4IHRvIGFjY2VwdCBhIG5ldyBtb292IGluIGEgZGFzaCBiaXRzdHJlYW0KCSAgc3dpdGNoaW5nIHNjZW5hcmlvLgoKMjAxMy0wNi0xOSAwMDo0Mjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IG9ubHkgb25jZSBmb3IgZWFjaCBzdHJlYW0KCSAgRG8gbm90IHNlbmQgc3RyZWFtIHN0YXJ0IGFnYWluIHdoZW4gcmVjb25maWd1cmluZyBhIHBhZCBmb3IgbmV3IGNhcHMuCgkgIFRoYXQgaXMgY29tbW9uIGZvciBhZGFwdGl2ZSBzdHJlYW1zCgoyMDEzLTA2LTA1IDE3OjAyOjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc3VwcG9ydCBpbiBWTSdzIHdpdGhvdXQgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgoyMDEzLTA2LTE1IDEyOjI5OjMxICswMjAwICBKZW5zIEdlb3JnIDxtYWlsQGplbnNnZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IGFjY2VwdCBtaXNsYWJlbGxlZCBzdHJlYW1zIGZyb20gR1N0cmVhbWVyIDAuMTAgYXMgd2VsbAoJICBUaGUgbXAydCBwYXlsb2FkZXIgaW4gMC4xMCBtaXNsYWJlbGxlZCB0aGUgc3RyZWFtcyBhcyBNUDJULUVTCgkgIGluc3RlYWQgb2YgTVAyVCwgc28gYWNjZXB0IHRoYXQgYXMgd2VsbCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDU3CgoyMDEzLTA2LTE2IDA1OjQwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYW5hZ2UgZWxlbWVudCBzdGF0ZSBvdXJzZWx2ZXMKCSAgTG9jayB0aGUgc3RhdGUgb2YgdGhlIGFsbCBvdXIgZWxlbWVudHMgYW5kIG1hbmFnZSB0aGVpciBzdGF0ZXMKCSAgb3V0c2VsdmVzLiBCZWNhdXNlIHdlIGFyZSB3b3JraW5nIGFzeW5jLCB3ZSBjYW4ndCByZWx5IG9uIHRoZSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24gdG8gc2V0IHRoZSBzdGF0ZSBhdCB0aGUgcmlnaHQgdGltZSBvciB0byByZXR1cm4gdGhlCgkgIHJpZ2h0IHJldHVybiB2YWx1ZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwNDYKCjIwMTMtMDYtMTQgMTQ6MDk6NTAgKzAyMDAgIEJydW5vIEdvbnphbGV6IDxzdGVueWFrQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1bmxvY2sgc3RyZWFtIGxvY2sgd2l0aG91dCBsb2NraW5nIGl0IGZpcnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNjcKCjIwMTMtMDYtMTMgMTY6MDA6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogVXNlIHRoZSByaWdodCBoYXNodGFibGUgdG8gY2FsY3VsYXRlIGJhbmR3aWR0aAoJICBEb24ndCB1c2UgYW4gdW51c2VkIGhhc2h0YWJsZSB0byBpdGVyYXRlIHNvdXJjZSB0byBjYWxjdWxhdGUgYmFuZHdpZHRoLgoJICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDEzLTA2LTEyIDE2OjI3OjI0IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBwdWxzZXNpbms6IFJlcXVpcmUgUHVsc2VBdWRpbyA+PSAyLjAKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIHBhX2Zvcm1hdF9pbmZvX2dldF9wcm9wXyogZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTEzIDE0OjIzOjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiBNYWtlIDIuMCBkZXBlbmRlbmN5IG9wdGlvbmFsIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAxNDU3MDI3ZTBkMzg0YWNhM2U1NTFhZTY4NGUwYWEwNzRlZTU0OTguCgkgIFdlJ2xsIGp1c3QgZGVwZW5kIG9uIFB1bHNlQXVkaW8gMi4wIG9yIGFib3ZlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBidWcKCSAgcGFydGlhbGx5IGZpeGVkIGJhc2VkIG9uIHRoZSBpbnN0YWxsZWQgbGlicHVsc2UgdmVyc2lvbi4KCjIwMTMtMDYtMTMgMTI6NDA6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIDIuMCBkZXBlbmRlbmN5IG9wdGlvbmFsCgkgIFRoZSBnZXRjYXBzIGZ1bmN0aW9uIHdlIGFkZGVkIHVzZXMgc29tZSBwYV9mb3JtYXRfaW5mb19nZXRfcHJvcC4uLgoJICBhY2Nlc3NvciBmdW5jdGlvbnMgdGhhdCB3ZXJlIG9ubHkgYWRkZWQgaW4gMi4wLCBzbyB3ZSBvbmx5IGhhdmUgb3VyCgkgIGdldGNhcHMgaW1wbGVtZW50YXRpb24gZXhpc3QgaWYgd2UncmUgY29tcGlsaW5nIGFnYWluc3QgbGlicHVsc2UgMi4wIG9yCgkgIGFib3ZlLgoJICBFdmVudHVhbGx5LCB3ZSBjb3VsZCBidW1wIHRoZSBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuMCBvciBhYm92ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0xMiAxODoyMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgUmV2ZXJ0ICJ2aWRlb21peGVyOiBXaGVuIGFsbCBzaW5rcGFkcyBhcmUgZW9zLCB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCBhbmQgZm9yd2FyZCBpdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZDM5MTBmYzc5MDFiNWYyOWUxNmMwZmRkNGU5MDY3YTZkN2Y2NmZlLgoJICBJdCdzIG5vdCBzb2x2aW5nIGFueSBwcm9ibGVtIGFuZCBpbnN0ZWFkIGNhdXNlcyBjb2RlIHRvIGZhbGwgYXBhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1MTkKCjIwMTMtMDEtMDkgMDk6Mzk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWFyayBzdWJ0aXRsZSBzdHJlYW1zIGFzIHNwYXJzZSBpbiBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgQW5kIGFsc28gbWFyayB0aGUgc3RyZWFtcyB0aGF0IHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0IGlmCgkgIG1hcmtlZCBzbyBpbiB0aGUgaGVhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDY0OAoKMjAxMy0wNi0xMSAyMjoxMjo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMtZGlzdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuaDoKCSAgYXVkaW9wYW5vcmFtYTogYWRkIHByZWJ1aWx0IGZpbGVzCgoyMDEzLTA2LTExIDIwOjI3OjUxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBjbGVhbnVwIGFuZCBleHBhbmQgdGhlIHRlc3RzCgkgIFNwbGl0IG91dCB0d28gbW9yZSB0ZXN0cy4gRXh0cmFjdCBtb3JlIGNvbW1vbiBjb2RlIGludG8gaGVscGVycy4gQWRkIGNvdmVyYWdlIGZvciBmbG9hdC4KCjIwMTMtMDYtMTAgMjE6MTU6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGNsZWFudXAgb2YgdHJhbnNmb3JtKCkKCSAgT25seSBtYXAgaW5wdXQgaWYgd2UgYXJlIHJlYWRpbmcgaXQuIENsZWFudXAgdGhlIGxvZ2dpbmcgYW5kIHRoZSBjb21tZW50cyBhIGJpdC4KCjIwMTMtMDYtMDkgMjA6MzU6MTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWFvcmMub3JjOgoJICBhdWRpb3Bhbm9yYW1hOiB1c2Ugb3JjIHRvIHNwZWVkdXAgcHJvY2Vzc2luZwoJICBVc2Ugc3BlY2lhbCB2YXJpYW50cyBmb3IgdGhlIGNhc2Ugd2hlbiB3ZSBkb24ndCBjaGFuZ2UgdGhlIHBhbm9yYW1hIChwYW49MC4wKS4KCSAgU2ltcGxpZnkgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGJ5IHBhc3NpbmcgdGhlIHBhbm9yYW1hIHZhbHVlIGRpcmVjdHkgaW5zdGVhZAoJICBvZiB0aGUgaW5zdGFuY2UuIFVzZSBvcmMgZm9yIGNsZWFyaW5nIGJ1ZmZlcnMgdG9vLgoKMjAxMy0wNi0xMSAxOToyNDo0OSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2hlY2sgbGFzdCBlbmRfdGltZSBhZnRlciBjb252ZXJzaW9uIHRvIHJ1bm5pbmcgc2VnbWVudAoJICBUaGUgbGFzdCBlbmRfdGltZSB3YXMgc2F2ZWQgYWZ0ZXIgY29udmVyc2lvbiwgc28gdGhlIGNvbXBhcmlzb24KCSAgaGFkIHRvIGJlIG1hZGUgYWZ0ZXIgY29udmVyc2lvbiBmb3IgaXQgdG8gbWFrZSBzZW5zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM4NQoKMjAxMy0wNi0xMSAxOToyMjoyMCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYWRkIG1peC0+c2VnbWVudC5zdGFydCB0byBvdXRwdXRfZW5kX3RpbWUKCSAgV2hlbiB0aGUgc2VnbWVudCBzdGFydCBpcyBub3QgMCwgdGhpcyBjcmVhdGVkIGEgc2l0dWF0aW9uIHdoZXJlCgkgIHRoZSBvdXRwdXRfZW5kX3RpbWUgaXMgaW5mZXJpb3IgdG8gb3V0cHV0X3N0YXJ0X3RpbWUsIGFuZCB0aGUgZHVyYXRpb24KCSAgb2YgdGhlIG5leHQgYnVmZmVyIGVuZGVkIHVwIHVuZGVyZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM4NQoKMjAxMy0wNi0xMSAxMzo1NDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNlbmQgc3RyZWFtIGhlYWRlcnMgYWZ0ZXIgdGhlIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc5OQoKMjAxMy0wNi0xMSAxMjoyNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIGFsbG9jYXRpb24gcXVlcnkgYWZ0ZXIgZXhwb3NpbmcgYWxsIHBhZHMgYW5kIG5vLW1vcmUtcGFkcwoJICBBbHNvIGNvbmZpZ3VyZSB2aWRlbyBzdHJlYW1zIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJICBSZWxhdGVkIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE4NTYKCSAgYnV0IG5vdCBmaXhpbmcgdGhhdC4KCjIwMTMtMDYtMTEgMTI6MjU6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGZvcndhcmQgQ0FQUyBldmVudHMgZnJvbSB1cHN0cmVhbQoJICBKdXN0IHVzZSB0aGUgZGVmYXVsdCBwYWQgZXZlbnQgaGFuZGxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk3NgoKMjAxMy0wNS0yNiAwODoxODowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQ2FjaGUgdGhlIGdldGNhcHMvYWNjZXB0Y2FwcyBwcm9iZSBzdHJlYW0KCSAgZ2V0Y2FwcyBpcyBjYWxsZWQgZnJlcXVlbnRseSBkdXJpbmcgc3RyZWFtIHNldHVwLCBhbmQgY3JlYXRpbmcgYSBuZXcKCSAgc3RyZWFtIGVhY2ggdGltZSBpcyB2ZXJ5IGluZWZmaWNpZW50LiBUaGVyZSdzIHNvbWUgbW9yZSByb29tIGZvcgoJICBvcHRpbWlzYXRpb24gYnkgY2FjaGluZyB0aGUgcXVlcmllZCBzaW5rIGZvcm1hdHMgYXMgd2VsbCwgYnV0IHRoaXMgbmVlZHMKCSAgc29tZSBtb3JlIGNoYW5nZXMgdG8gbGlzdGVuIGZvciBmb3JtYXQgY2hhbmdlcyBvbiB0aGUgc2luayAoZm9yIHdoZW4KCSAgc3VwcG9ydGVkIGZvcm1hdHMgY2hhbmdlIGJldHdlZW4gcHJvYmUgc3RyZWFtIGNyZWF0aW9uIGFuZCBzaW5rCgkgIHF1ZXJ5aW5nKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNS0yMyAyMTozOTowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogQWRkIGEgZ2V0Y2FwcyBmdW5jdGlvbgoJICBUaGlzIGFsbG93cyB1cyB0byBoYXZlIG1vcmUgZmluZS10dW5lZCBjYXBzIGluIFJFQURZIG9yIGFib3ZlLiBIb3dldmVyLAoJICB0aGlzIGlzIF9yZWFsbHlfIGluZWZmaWNpZW50IHNpbmNlIHdlIGNyZWF0ZSBhIG5ldyBzdHJlYW0gYW5kIHF1ZXJ5IHNpbmsKCSAgZm9yIGV2ZXJ5IGdldGNhcHMgaW4gUkVBRFksIHdoaWNoIG9uIGEgc2ltcGxlIGdzdC1sYXVuY2ggbGluZSBoYXBwZW5zCgkgIGFib3V0IDM1IHRpbWVzLiBUaGUgbmV4dCBzdGVwIGlzIHRvIGNhY2hlIGdldGNhcHMgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNS0xMCAxMTozMjo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVGFrZSBhIGxvY2sgb24gdGhlIHJpbmdidWZmZXIgaW4gYWNjZXB0Y2FwcwoJICBUaGlzIGlzIG5lZWRlZCBhcyBhIGNvbmN1cnJlbnQgc3RhdGUgY2hhbmdlIGNvdWxkIHB1bGwgdGhlIGNvbnRleHQgb3IKCSAgc3RyZWFtIG91dCBmcm9tIHVuZGVyIG91ciBmZWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTA5IDIwOjI5OjA5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIGF1ZGlvcGFub3JhbWE6IG1vdmUgdGhlIGVudW0gdG8gdGhlIGhlYWRlciBhbmQgdXNlIGluc3RlYWQgb2YgZ2ludAoJICBNb3ZlIHRoZSBlbnVtIGZvciB0aGUgcHJvY2Vzc2luZyBtZXRob2QgdG8gdGhlIGhlYWRlciBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlCgkgIHR5cGUgZm9yIHRoZSBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDEzLTA2LTA5IDIwOjMyOjIyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IHJld29yayB0aGUgdGVzdHMgdG8gY292ZXIgb3RoZXIgZm9ybWF0cyB0b28KCjIwMTMtMDYtMDUgMTY6MzI6MzAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogbWFrZSBzdXJlIHRoZSBlbGVtZW50IGlzIG5vdCBkZWxldGVkIGJlZm9yZSB0aGUgcG9vbAoJICBUaGUgcG9vbCBhY2Nlc3NlcyBkYXRhIGZyb20gdGhlIHY0bDJvYmplY3Qgc28gaXQgbXVzdCBleGlzdCBhdCBsZWFzdAoJICBhcyBsb25nIGFzIHRoZSBwb29sLiBSZWZjb3VudCB0aGUgZWxlbWVudCB3aGljaCBjb250cm9scyB0aGUgb2JqZWN0CgkgIGxpdmUtdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTY1MAoKMjAxMy0wNi0wNyAxNTozODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBwbmc6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlUmVhZGVyIGFuZCBHc3RBZGFwdGVyCgoyMDEzLTA2LTA3IDE1OjE1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgIHdhdmVuYzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEJ5dGVXcml0ZXIKCjIwMTMtMDYtMDcgMTM6MjY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBpbiBwdWxsIG1vZGUgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMTAgMTI6MDk6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogR2V0IHJpZCBvZiBhY2NlcHRjYXBzIHNpZGUtZWZmZWN0cwoJICBUaGUgc2luayBpbmZvIGNhbGxiYWNrIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMgb24gdGhlIEdzdFB1bHNlU2luawoJICBvYmplY3Qgc2luY2Ugd2UgYXJlIHNvbWV0aW1lcyB1c2luZyB3aXRoIGEgZHVtbXkgc3RyZWFtIGluIGFjY2VwdGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMDUgMTg6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMSA9PT0KCjIwMTMtMDYtMDUgMTc6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4xCgoyMDEzLTA2LTA1IDE2OjM1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA2LTA1IDE1OjUwOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IHRhZ2xpc3QgcmVmIGhhbmRsaW5nIHRoYXQgbWFkZSB0aGUgdW5pdCB0ZXN0IGZhaWwKCjIwMTMtMDYtMDUgMTU6MTQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDk4YzBkNyB0byAwMWE3YTQ2CgoyMDEzLTA2LTAzIDA5OjE3OjQzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogaXRlcmF0ZSBjb250cm9scyB3aXRoIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBpZiBwb3NzaWJsZQoJICBJbiB2Mi42LjE4IGNvbnRyb2wgY2xhc3NlcyB3aGVyZSBhZGRlZCB0byB0aGUgdjRsMiBBUEkuCgkgIEl0ZXJhdGluZyBvdmVyIENJRHMgc3RhcnRpbmcgd2l0aCBWNEwyX0NJRF9CQVNFIHdpbGwgb25seSBmaW5kIGNvbnRyb2xzIGZvcgoJICB0aGUgZmlyc3QgY29udHJvbCBjbGFzcy4KCSAgQnkgaXRlcmF0aW5nIHdpdGggVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGFsbCBjb250cm9scyBhcmUgZm91bmQuCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIG1ha2UgY29udHJvbHMgZnJvbSBvdGhlciBjb250cm9sIGNsYXNzZXMgYXZhaWxhYmxlIGluCgkgIHRoZSBleHRyYS1jb250cm9scyBwcm9wZXJ0eS4KCSAgSWYgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMIGlzIG5vdCBkZWZpbmVkIGF0IGNvbXBpbGUgdGltZSBvciBub3Qgc3VwcG9ydGVkCgkgIGF0IHJ1bnRpbWUgdGhlbiB0aGUgb2xkIG1lY2hhbmlzbSBmb3IgaXRlcmF0aW5nIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1NDAKCjIwMTMtMDYtMDUgMTI6MTI6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgdWRwc2luazogYXZvaWQgbGVha2luZyB0aGUgaG9zdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTg2CgoyMDEzLTA2LTA0IDA4OjI2OjMzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBpbXByb3ZlIHBpeGVsIGFzcGVjdCByYXRpbyBoYW5kbGluZwoJICBJbnN0ZWFkIG9mIGp1c3QgYXNzdW1pbmcgYSBhc3BlY3QgcmF0aW8gb2YgMS8xIHVzZSBWSURJT0NfQ1JPUENBUCB0byBhc2sKCSAgdGhlIGRldmljZS4KCSAgVGhpcyBhbHNvIGFkZCBhIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBvdmVyd3JpdGUgdGhlIHZhbHVlIGZyb20gdGhlCgkgIGRyaXZlciBhbmQgYSBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gaWdub3JlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjg1CgoyMDEzLTA2LTA0IDE3OjA0OjExICswMjAwICBTdGlybGluZyBXZXN0cnVwIDxzd2VzdHJ1cEBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGtlcm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU5NQoKMjAxMy0wNi0wMyAxNzowNzoxMCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjYWxsIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGluIHBvb2xfZmluYWxpemUKCSAgV2l0aG91dCB0aGlzIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2UgZmFpbHM6CgkgIC0gc2V0X2NhcHMoKQoJICAtIG9iamVjdF9zdG9wKCkgKGRvZXMgbm90aGluZykKCSAgLSBzZXRfZm9ybWF0KCkgLT4gVklESU9DX1NfRk1UCgkgIC0gc2V0X2NvbmZpZygpIC0+IFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSBOCgkgIC0gc2V0X2NhcHMoKQoJICAtIG9iamVjdF9zdG9wKCkKCSAgLSBwb29sX2ZpbmFsaXplKCkKCSAgLSBzZXRfZm9ybWF0KCkgLT4gVklESU9DX1NfRk1UID0+IEVCVVNZCgkgIFVzdWFsbHkgdGhlIHBvb2wgaXMgc3RhcnRlZCBhZnRlciBzZXRfY29uZmlnKCksIGluIHdoaWNoIGNhc2Ugb2JqZWN0X3N0b3AoKQoJICB3aWxsIHJlc3VsdCBpbiBhIHBvb2xfc3RvcCBhbmQgdGhlcmVmb3JlIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGJ1dAoJICB0aGF0IGlzIG5vdCBndWFyYW50ZWVkLgoJICBBbHNvIGNhbGxpbmcgVklESU9DX1JFUUJVRlMgd2l0aCBjb3VudCA9IDAgaW4gcG9vbF9maW5hbGl6ZSgpIGlmIG5lY2Vzc2FyeQoJICBmaXhlcyB0aGlzIHByb2JsZW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1NDMKCjIwMTMtMDUtMjggMTk6MTQ6MTUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmV3b3JrIHNpbmsgYnVmZmVyIHJlZmNvdW50aW5nCgkgIFRoaXMgaXMgYSBmb2xsb3d1cCBwYXRjaCBmb3IgIzcwMDc4MSwgd2hpY2ggaXMgbm90IHF1aXRlIGNvcnJlY3QuCgkgIFRoZSBidWZmZXIgaGFuZGxpbmcgaXMgcXVpdGUgY29tcGxpY2F0ZWQgaGVyZS4KCSAgVGhlIG9yaWdpbmFsIGNvZGUgaW50ZW5kZWQgdG8gdGhlIHRoZSBmb2xsb3dpbmc6CgkgIC0gZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcHJvY2VzcygpIGNhbGxzIFFCVUYgYW5kIGFkZHMgdGhlIGJ1ZmZlciB0byB0aGUKCSAgbG9jYWwgbGlzdC4KCSAgLSBUaGUgc2luayBjYWxscyBnc3RfYnVmZmVyX3VucmVmKCkgd2hpY2ggcmV0dXJucyB0aGUgYnVmZmVyIHRvIHRoZSBwb29sCgkgIGJ1dCBub3QgdGhlICdmcmVlIGxpc3QnLgoJICAtIFNvbWUgdGltZSBsYXRlciBEUUJVRiByZXR1cm5zIHRoZSBidWZmZXIgYW5kCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgcHV0cyBpbiBvbiB0aGUgJ2ZyZWUgbGlzdCcuCgkgIElmIHRoZSBidWZmZXIgbXVzdCBiZSBjb3BpZWQgdGhlbiAocGFyZW50X2NsYXNzKS0+YWNxdWlyZV9idWZmZXIoKSBpcwoJICBjYWxsZWQgZGlyZWN0bHkgdG8ga2VlcCB0aGUgYnVmZmVyIGluIHRoZSBwb29sLgoJICBUaGlzIGhhcyB0d28gcHJvYmxlbXM6CgkgIDEuIElmIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgaXMgY2FsbGVkIGJlZm9yZSB0aGUgYnVmZmVyIGlzCgkgIHJldHVybmVkIHRvIHRoZSBwb29sLCB0aGVuIHRoZSBidWZmZXIgaXMgcHV0IG9uIHRoZSAnZnJlZSBsaXN0JyB0d2ljZS4KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIGEgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgaXMga2VwdCBvdXRzaWRlIHRoZSBzaW5rLAoJICBvZiBpZiBEUUJVRiByZXR1cm5zIHRoZSBidWZmZXIsIHRoYXQgd2FzIGp1c3QgcXVldWVkIHdpdGggUUJVRi4KCSAgMi4gSWYgYnVmZmVycyBhcmUgY29waWVkLCB0aGVuIGFsbCBidWZmZXJzIGFyZSBpbiB0aGUgcG9vbCBhdCBhbGwgdGltZXMuIEFzCgkgIGEgcmVzdWx0IGdzdF92NGwyX2J1ZmZlcl9wb29sX3N0b3AoKSBhbmQgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZHFidWYoKQoJICBjYW4gYWNjZXNzIHBvb2wtPmJ1ZmZlcnMgYXQgdGhlIHNhbWUgdGltZSwgd2hpY2ggY2FuIGxlYWQgdG8gbWVtb3J5CgkgIGNvcnJ1cHRpb24uCgkgIFRoZSBwYXRjaCBmb3IgIzcwMDc4MSBmaXhlcyB0aG9zZSBwcm9ibGVtcywgYnV0IHdpdGggdGhlIHNpZGUgZWZmZWN0IHRoYXQKCSAgdGhlcmUgYXJlIGFsd2F5cyBidWZmZXJzIG91dHNpZGUgdGhlIHBvb2wgKGJlY2F1c2UgdGhleSBhcmUgcXVldWVkKSBhbmQKCSAgdGhlIHBvb2wgaXMgbmV2ZXIgc3RvcHBlZC4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IHJlbGVhc2luZyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIKCSAgaGFuZGxpbmcgaXQgKHRvIGF2b2lkIHByb2JsZW0gMi4pIHNvIGl0IGNhbiBiZSByZXR1cm5lZCB0byB0aGUgcG9vbC4KCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSBpcyBvbmx5IGNhbGxlZCBpZiB0aGUgYnVmZmVyIGlzCgkgIGFscmVhZHkgaW4gdGhlIHBvb2wgKHRvIGF2b2lkIHByb2JsZW0gMS4pLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMzc1CgoyMDEzLTA2LTAyIDE1OjI0OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFrZSBzdXJlIHRhZ2xpc3QgaXMgd3JpdGFibGUgYmVmb3JlIGFkZGluZyB0YWdzCgkgIEF2b2lkcyBhc3NlcnRpb25zCgoyMDEzLTA1LTMwIDE5OjI0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWZmZWN0aXZlbHkgc2tpcCB0cmFja3MgdGhhdCB3ZXJlbid0IGxpc3RlZCBvbiB0aGUgMXN0IG1vb3YKCSAgV2l0aG91dCB0aGlzLCBzdHJlYW0gaXMgTlVMTCBhbmQgdGhlIGNvZGUgd2lsbCB0cnkgdG8gYWNjZXNzIGl0LCBsZWFkaW5nCgkgIHRvIHNlZ2ZhdWx0cy4KCjIwMTMtMDUtMzAgMTk6MjM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBza2lwIHJlZHVuZGFudCBjaGVjawoJICAhZ290X21vb3YgaXMgYWxyZWFkeSBjaGVja2VkIHRoZSBsaW5lIGFib3ZlCgoyMDEzLTA2LTAyIDEzOjAzOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGNsZWFudXAgbGV2ZWwgdGVzdHMKCSAgU3BsaXQgb3V0IGEgZmV3IG1vcmUgdGVzdHMgdG8gYXZvaWQgY2hlY2tpbmcgdGhlIHNhbWUgc3R1ZmYgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTMtMDYtMDEgMjE6MzM6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIGluc3RhbmNlIHN0cnVjdAoKMjAxMy0wNS0zMSAxODoxMzowMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBhZGQgYSB0ZXN0IGZvciBjb250aW5vdXMgdGltZXN0YW1wcwoJICBBIHRlc3QgdGhhdCBjaGVja3MgdGhhdCBtc2dbbl0udHMgKyBtc2dbbl0uZHVyID09IG1zZ1tuKzFdLnRzLgoKMjAxMy0wNC0xMiAxNjowMjo0NCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgdGFncyAmIHRvYyBzdXBwb3J0CgkgIFdyaXRlIHRhZ3MgYXMgTElTVCBJTkZPIGNodW5rLiBGb3JtYXQgdGhlIHRvYyBhcyBjdWUgKyBMSVNUIGFkdGwgY2h1bmsuIFJlbW92ZQoJICBvbGQgI2lmZGVmJ2VkIGNvZGUuCgoyMDEzLTA1LTMxIDE1OjEyOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIFJldmVydCAicnRwaDI2NHBheTogUmVzdHJ1Y3R1cmluZyB0byBhbGxvdyBmb3IgYWRkaW5nIG9wdGlvbmFsIGNhcHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjE2NjY4OThjZmU4OWExYjIxZDNlNjg1MGFiNDRmNWIxNjMzZWQ3OS4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB3aGF0IHRoZSBzZXRfc3BzX3BwcygpIGZ1bmN0aW9uIGRvZXMsIG5vdCBpdCBkb2Vzbid0CgkgIHNldCBjYXBzIGFueW1vcmUgKGFuZCBzaG91bGQgaGF2ZSBiZWVuIHJlbmFtZWQpLiBUaGUgbWFpbiBwcm9ibGVtIGlzIHRoYXQKCSAgbm90IGFsbCBjYWxsIHNpdGVzIGFyZSB1cGRhdGVkIGFuZCB0aHVzIGxlYWsgdGhlIHN0cmluZy4KCjIwMTMtMDUtMzEgMTU6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5L2RlcGF5OiBBZGQgZnJhbWUgZGltZW5zaW9ucyBhIHBheWxvYWRlZCBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNkY2E3NTZhNWRiYTU1MjY2MjU2ZjIzOWUzZTEyYTNkMDU4ZTE4NWEuCgkgIFRoZSBIMjY0IFJUUCBzcGVjIGhhcyBubyBhdHRyaWJ1dGVzIGZvciB3aWR0aCBhbmQgaGVpZ2h0LgoKMjAxMy0wNS0zMSAxNTowOTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkODgyNWUyYTVjMGJmYjg4M2ZmODhlMmM5ZGE0OTljODAwZWJjYTBhLgoJICBUaGVyZSBpcyBubyBmcmFtZXJhdGUgYXR0cmlidXRlIGluIHRoZSBoMjY0IFJUUCBzcGVjLgoKMjAxMy0wNS0zMSAxNTowODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBSZXZlcnQgInJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVzaXplIGNhcHMgd2l0aCB3aWR0aC9oZWlnaHQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDA3NWQxMTFiNDc1Y2EyNzg5NWVlOTQ3NjE1NDI2MGI2OTAyOTQwYi4KCSAgRXh0cmEgYXBwbGljYXRpb24veC1ydHAgYXJlIFNEUCBmaWVsZHMsIHdoaWNoIGFyZSBzdHJpbmdzLgoKMjAxMy0wNS0zMSAxNTowNTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBSZXZlcnQgInJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVyYXRlIGNhcHMgZmllbGQgd2l0aCBmcmFjdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZmQyNWE4MTBiODU5ZTBlYzIwNTE3NjU3ODczNTEwMGQ4M2RlNGFmLgoJICBXZSBkZWFsIHdpdGggc2RwIGF0dHJpYnV0ZXMgaW4gYXBwbGljYXRpb24vc2RwLCB3aGljaCBhcmUgYWx3YXlzIHN0cmluZ3MuCgoyMDEzLTA1LTMxIDEyOjMzOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgZXh0cmEgVExTIHVybCBwcm90b2NvbHMKCSAgV2UgYWxzbyBzdXBwb3J0IFRMUyBwcm90b2NvbHMgbm93LgoKMjAxMy0wNS0zMCAxNDo0ODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgdGhlIERVUkFUSU9OIHF1ZXJ5IGZyb20gYWRkZXIKCSAgQ3VycmVudGx5IHRoZSBjb2RlIGp1c3QgdGFrZXMgd2l0aCBtYXhpbXVtIHVwc3RyZWFtIGR1cmF0aW9uLCB3aGljaAoJICBpcyB3cm9uZy4gSXQgc2hvdWxkIGJlIHRoZSBtYXhpbXVtIHVwc3RyZWFtIGR1cmF0aW9uIGluIHJ1bm5pbmcgdGltZS4KCjIwMTMtMDUtMzAgMjE6MjA6NTkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFNldCBhIHJlZmVyZW5jZSB0byBtaXgtPmN1cnJlbnRfY2FwcyBhcyB0aGUgUVVFUllfQ0FQUyByZXN1bHQuCgoyMDEzLTA1LTMwIDE3OjM3OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBtaXNjIGNsZWFudXBzCgkgIEZpeCBzb21lIG91ZGF0ZWQgY29tbWVudHMuIFNvcnQgb3V0IHNvbWUgY29uZnVzaW9uIG9mIGludGVydmFsX2ZyYW1lcyBhbmQgbnVtX2ZyYW1lcy4KCjIwMTMtMDUtMjkgMjA6MzU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBPbmx5IGNvbmRpdGlvbmFsbHkgdXNlIFY0TDJfQ1RSTF9UWVBFX0lOVEVHRVJfTUVOVSwgaXQncyBub3QgYXZhaWxhYmxlIGluIG9sZGVyIHZlcnNpb25zCgoyMDEzLTA1LTIwIDE2OjQ1OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogYWRkIGEgcHJvcGVydHkgZm9yIGFyYml0cmFyeSB2NGwyIGNvbnRyb2xzCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc2V0IGFueSBjb250cm9scyB0aGF0IGNhbiBiZSBzZXQgd2l0aAoJICBWSURJT0NfU19DVFJMLgoJICBUaGUgY29udHJvbHMgYXJlIHNldCB3aGVuIHRoZSBwcm9wZXJ0eSBpcyBzZXQgKGlmIHRoZSBkZXZpY2UgaXMgb3BlbikKCSAgYW5kIHdoZW4gdGhlIGRldmljZSBpcyBvcGVuZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MzcKCjIwMTMtMDUtMjggMTg6MzE6MDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGZpeCBkaXNjb250aW51aXRpZXMgaW4gdGltZXN0YW1wcwoKMjAxMy0wNS0yOCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJICBnZGtwaXhidWZkZWM6IEtlZXAgc2VyaWFsaXplZCBldmVudHMgaW4gb3JkZXIsIGFuZCBkb24ndCBzZW5kIFNFR01FTlQgYmVmb3JlIENBUFMKCjIwMTMtMDUtMjggMTU6NDU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgcHVzaCBzdHJlYW0tc3RhcnQgaW4gVENQIG1vZGUKCjIwMTMtMDUtMjggMTU6MTA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSBzb21lIG9ic29sZXRlIGNvZGUKCSAgSXQgaXMgbm90IG5lZWRlZCB0byBkbyBhIHN0YXRlIGNoYW5nZSBmcm9tIHRoZSBfcGxheSgpIGZ1bmN0aW9uIG9uCgkgIG91cnNlbHZlcy4gVGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbHJlYWR5IGRpZCB0aGF0IGFuZCB3ZSBkb24ndCB3YW50IHRvCgkgIGludGVyZmVyZSB3aXRoIHRoYXQgKG9yIHVzZSBoYWNrcyB0byBhdm9pZCBpbnRlcmZlcmVuY2UpLgoKMjAxMy0wNS0yOCAxMjoyNDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFJUQ1AgY2FwcyBvbiB0aGUgUlRDUCBwYWRzCgoyMDEzLTA1LTI4IDEyOjIzOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzZW5kIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMKCSAgQWxzbyBzZW5kIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudCBvbiB0aGUgUlRDUCBwYWQuCgkgIFdlIGRvbid0IG5lZWQgdG8gc2VuZCBhbnl0aGluZyBvbiB0aGUgc3luY19zcmMgcGFkIGJlY2F1c2Ugd2UKCSAgYWxyZWFkeSBmb3J3YXJkZWQgYWxsIGluY29tbWluZyBldmVudHMuCgoyMDEzLTA0LTI1IDE1OjI1OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIGhhbmRsZSBzZXJ2ZXIgcmVxdWVzdHMKCSAgQWRkIGEgc2lnbmFsIHRvIGJlIG5vdGlmaWVkIG9mIGEgc2VydmVyIHJlcXVlc3QuIFRoZSBzaWduYWwgaGFuZGxlciBjYW4gdGhlbgoJICBjb25zdHJ1Y3QgdGhlIHJlc3BvbnNlIG1lc3NhZ2UgZm9yIHRoZSBzZXJ2ZXIuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjA3CgoyMDEzLTA1LTI3IDIyOjQzOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IE1haW50YWluIHotb3JkZXIgd2hlbiBuZXcgcGFkIGFyZSBhZGRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTA5CgoyMDEzLTAzLTA2IDEzOjE3OjU0ICswMDAwICBUb20gR3JlZW53b29kIDx0Y2RncmVlbndvb2RAaG90bWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBwcm9wZXJ0eSB0byBtYW51YWxseSBzcGVjaWZ5IHRoZSB0aW1lYmFzZSBvZiB0aGUgZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NzA5CgoyMDEzLTA1LTI1IDEyOjE3OjQwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBbHdheXMgaGFuZGxlIGZsdXNoX3N0b3BfcGVuZGluZyBhdG9taWNhbGx5CgkgIEl0IGlzIG5vdCBwcm90ZWN0ZWQgd2l0aCB0aGUgQ09MTEVDVF9QQURTX1NUUkVBTV9MT0NLIGFueW1vcmUKCjIwMTMtMDUtMjMgMTg6MTQ6MTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHRlc3RzOiB2aWRlb21peGVyOiBBZGQgYSB0ZXN0c3VpdGUgZm9yIHZpZGVvbWl4ZXIKCSAgVGhpcyBpcyBtb3N0bHkgY29weSBwYXN0ZWQgZnJvbSAtYmFzZS90ZXN0cy9jaGVjay9lbGVtZW50cy9hZGRlci5jCgoyMDEzLTA1LTI1IDEwOjU3OjAyIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3QgdGFrZSBDT0xMRUNUX1BBRFNfU1RSRUFNX0xPQ0sgd2hlbiB1bm5lY2Vzc2FyeQoJICBDb2xsZWN0cGFkIHRha2VzIHRoZSBsb2NrIGl0c2VsZiB3aGVuIHJlY2VpdmluZyBzZXJpYWxpemVkIGV2ZW50cwoJICBhbmQgd2Ugc2hvdWxkIG5vdCB0YWtlIGl0IGZvciBub3Qgc2VyaWFsaXplZCBvbmVzCgoyMDEzLTA1LTI0IDE5OjM0OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IFByb3Blcmx5IHNraXAgbm9uLWZyYW1lIGNodW5rcwoKMjAxMy0wNS0yNCAxOTozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBGbHVzaCBkYXRhIGZyb20gYWRhcHRlciBhZnRlciByZWFkaW5nIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyBpbiBhbiBpbmZpbml0ZSBsb29wLCByZWFkaW5nIHRoZSBzYW1lIGRhdGEKCSAgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTMtMDQtMjQgMTU6Mzk6NTQgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgZ29vbTJrMTogZml4IG1vcmUgZHVwbGljYXRlZCBzeW1ib2xzCgoyMDEzLTA1LTIyIDAyOjQwOjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdpdGggZnJhY3Rpb24KCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGhhZCB0aGUgZm9ybWF0dGluZyBvZiBTRFAgYXR0cmlidXRlcyBoYXBwZW4KCSAgaW4gZWFjaCBSVFAgcGF5bG9hZGVyLCBub3cgaW5zdGVhZCB0aGUgY29uc3RpdHVlbnQgdmFsdWVzIGFyZSBwcm9wYWdhdGVkCgkgIGFzIGNhcHMgZmllbGRzLiBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGRvIFNEUCBvZmZlci9hbnN3ZXIKCSAgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMiAwMTo1ODo1NyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXNpemUgY2FwcyB3aXRoIHdpZHRoL2hlaWdodAoJICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gaGFkIHRoZSBmb3JtYXR0aW5nIG9mIFNEUCBhdHRyaWJ1dGVzIGhhcHBlbgoJICBpbiBlYWNoIFJUUCBwYXlsb2FkZXIsIG5vdyBpbnN0ZWFkIHRoZSBjb25zdGl0dWVudCB2YWx1ZXMgYXJlIHByb3BhZ2F0ZWQKCSAgYXMgY2FwcyBmaWVsZHMuIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZG8gU0RQIG9mZmVyL2Fuc3dlcgoJICBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBLZWVwIHBhcnNpbmcgYS1mcmFtZXJhdGUsIHgtZnJhbWVyYXRlIGFuZCB4LWRpbWVuc2lvbnMgaW4gcnRwanBlZ2RlcGF5CgkgIHRvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggcHJldmlvdXMgcGF5bG9hZGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMiAwMzoxODowNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheS9kZXBheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZm9ybWF0IFNEUCBhdHRyaWJ1dGVzIGFuZCBzdGlsbCBkbyBTRFAKCSAgb2ZmZXIvYW5zd2VyIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjIgMDM6MDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBmcmFtZSBkaW1lbnNpb25zIGEgcGF5bG9hZGVkIGNhcHMKCSAgVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBmb3JtYXQgU0RQIGF0dHJpYnV0ZXMgYW5kIHN0aWxsIGRvIFNEUAoJICBvZmZlci9hbnN3ZXIgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMCAyMjoxNDo0NCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogUmVzdHJ1Y3R1cmluZyB0byBhbGxvdyBmb3IgYWRkaW5nIG9wdGlvbmFsIGNhcHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OQoKMjAxMy0wNS0yMyAxODo0MjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAoZHlufG11bHRpKXVkcHNpbms6IEFkZCBwcm9wZXJ0aWVzIHRvIHNwZWNpZnkgdGhlIGJpbmQgYWRkcmVzcyBhbmQgcG9ydAoJICBCeSBkZWZhdWx0IHdlIHVzZSB0aGUgYW55IGFkZHJlc3NlcyBhbmQgYSByYW5kb20gcG9ydCBmb3IgYmluZGluZyB0aGUgc29ja2V0LgoKMjAxMy0wNS0yMyAxODowNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChkeW58bXVsdGkpdWRwc2luazogQmluZCBzb2NrZXQgYmVmb3JlIHVzaW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NzgKCjIwMTMtMDUtMjMgMTc6MjU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIChtdWx0aSl1ZHBzaW5rOiBBZGQgbWlzc2luZyBnZXR0ZXJzIGZvciBzb2NrZXQtdjYgYW5kIHVzZWQtc29ja2V0LXY2IHByb3BlcnRpZXMKCjIwMTMtMDUtMjIgMjE6MDE6NDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3QgaG9sZCBzdHJlYW0tbG9jayB3aGlsZSBwdXNoaW5nIG5vbi1zZXJpYWxpemVkIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODY4CgoyMDEzLTA1LTIyIDIxOjAwOjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGhvbGQgb2JqZWN0IGxvY2sgd2hpbGUgc2VuZGluZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg2OAoKMjAxMy0wNS0yMiAxNzozMjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBUaGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfc2V0X2NhcHMoKSBpcyBub3QgcmVsZXZhbnQgYW55bW9yZQoJICBDYXBzIGNhbiBmYWlsIHRvIGJlIHNldCBiZWNhdXNlIHRoZSBwYWQgaXMgbm90IGxpbmtlZCB5ZXQgZm9yIGV4YW1wbGUuCgoyMDEzLTA1LTE1IDE2OjM5OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgZXJyb3IgaWYgZmlsZSBoYXMgcGxheXJlYWR5IGRybQoKMjAxMy0wNS0xOCAxNTowNjo0OSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBhIHJlY29uZmlndXJlIGV2ZW50IHVwc3RyZWFtIGlmIHNpbmtwYWQgY2FwcyBhcmUgbm90IHVzYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTIxIDEyOjAyOjUxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGtlZXAgYSByZWZlcmVuY2UgdG8gYWxsIHF1ZXVlZCBidWZmZXJzCgkgIFdpdGhvdXQgdGhpcywgYSBxdWV1ZWQgYnVmZmVyIG1heSBiZSByZXF1aXJlZCwgZmlsbGVkIGFuZCBxdWV1ZWQgYmVmb3JlIGl0CgkgIGlzIGRlcXVldWVkLgoJICBDYWxsaW5nIGdzdF9idWZmZXJfcG9vbF9hY3F1aXJlX2J1ZmZlcigpIGVuc3VyZXMgdGhhdCB0aGUgYnVmZmVyIGlzIHNldCB1cAoJICBjb3JyZWN0bHkgYW5kIGdzdF9idWZmZXJfdW5yZWYoKSBjYWxscyBidWZmZXJfcmVsZWFzZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzgxCgoyMDEzLTA1LTIxIDEzOjMzOjU5ICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBtdWxhd2RlYzogSGFuZGxlIE5VTEwgYnVmZmVycyBpbiBoYW5kbGVfZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg5NAoKMjAxMy0wNS0yMCAyMTo0NDoxMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogQWRkIGZyYW1lc2l6ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoZSBmb3JtYXQgb2YgdGhlIHZhbHVlIGFkaGVyZXMgdG8gUkZDNjA2NCBhbmQgaXQgaXMgbWVhbnQgdG8gYmUgcGFyc2VkCgkgIGFuZCBpbmNsdWRlZCBpbiB0aGUgU0RQIHNlbnQgYnkgZ3N0LXJ0c3Atc2VydmVyIHRvIGl0cyBjbGllbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIwIDIxOjM0OjEzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAKCSAgVGhlIGZvcm1hdCBvZiB0aGUgdmFsdWUgYWRoZXJlcyB0byBSRkM0NTY2IGFuZCBpdCBpcyBtZWFudCB0byBiZSBwYXJzZWQKCSAgYW5kIGluY2x1ZGVkIGluIHRoZSBTRFAgc2VudCBieSBnc3QtcnRzcC1zZXJ2ZXIgdG8gaXRzIGNsaWVudHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjAgMTk6NTk6MTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFdoZW4gYWxsIHNpbmtwYWRzIGFyZSBlb3MsIHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIGFuZCBmb3J3YXJkIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMjAgMTk6NTE6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHJlc2V0IHRoZSBvdXRwdXQgc2VnbWVudCBvbiBmbHVzaCBzdG9wCgkgIE9ubHkgaW5pdCBpdCB3aGVuIGdldHRpbmcgZnJvbSBSRUFEWSB0byBQQVVTRUQsIGFuZCBjaGFuZ2UgaXQgb24gc2VlayBldmVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3OTMKCjIwMTMtMDUtMTcgMTA6MTY6NDggKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogRG9uJ3Qgc3RvcCBzdHJlYW1pbmcgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQgd2l0aCB1bmNoYW5nZWQgY2FwcwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgb3RoZXIgcGFydHMgb2YgdGhlIHBpcGVsaW5lIGFyZSByZWNvbmZpZ3VyZWQuCgkgIFN0b3Agc3RyZWFtaW5nIGV2ZW4gZm9yIGEgc2hvcnQgYW1vdW50IG9mIHRpbWUgY2FuIGJlIHF1aXRlIHZpc2libGUsIHNvIGl0CgkgIHNob3VsZCBiZSBhdm9pZGVkIGlmIHBvc3NpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNTAzCgoyMDEzLTA1LTE4IDE1OjM5OjM2IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogUmUtZW5hYmxlIHZpZGVvbWl4ZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTE4IDE0OjM2OjM5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBTZW5kIGNhcHMgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBUaGlzIHdheSB3ZSBhdm9pZCByYWNlcyBpbiBjYXBzIG5lZ290aWF0aW9uIGFuZCB3ZSBtYWtlIHN1cmUKCSAgdGhhdCB0aGUgY2FwcyBhcmUgc2VudCBhZnRlciBzdHJlYW0tc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMDUgMjA6MjU6MjAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBzZW5kIGZsdXNoX3N0b3Agd2hlbiByZWNlaXZpbmcgYSBzZWVrCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBzZW5kIGEgZmx1c2gtc3RvcCB3aGVuIHJlY2VpdmluZyBhIHNlZWsgZXZlbnQuCgkgIEluIHRoZSBjYXNlIG9mIGEgZmx1c2hpbmcgc2Vlaywgd2UgY291bGQgZXZlbnR1YWxseSB3YW50IHRvLCBidXQgaW4KCSAgdGhlIGNvZGUgcGF0aCB3ZXJlIHdlIGNoZWNrIGlmIHRoZSBzZWVrIGlzICJmbHVzaGluZyIsIHdlIGhhdmUgdGhlCgkgIGZvbGxvd2luZyBjb21tZW50IHRoYXQgbWFrZXMgc2Vuc2U6CgkgICJ3ZSBjYW4ndCBzZW5kIEZMVVNIX1NUT1AgaGVyZSBzaW5jZSB1cHN0cmVhbSBjb3VsZCBzdGFydCBwdXNoaW5nIGRhdGEKCSAgYWZ0ZXIgd2UgdW5sb2NrIG1peC0+Y29sbGVjdC4KCSAgV2Ugc2V0IGZsdXNoX3N0b3BfcGVuZGluZyB0byBUUlVFIGluc3RlYWQgYW5kIHNlbmQgRkxVU0hfU1RPUCBhZnRlcgoJICBmb3J3YXJkaW5nIHRoZSBzZWVrIHVwc3RyZWFtIG9yIGZyb20gZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkLAoJICB3aGljaGV2ZXIgaGFwcGVucyBmaXJzdC4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMDUgMjA6MjQ6NDkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBQcm90ZWN0IGZsdXNoX3N0b3BfcGVuZGluZyB3aXRoIHRoZSBjb2xsZWN0cGFkIHN0cmVhbSBsb2NrCgkgIEFuZCBtYWtlIHN1cmUgdG8gZXhwZWN0IGEgZmx1c2gtc3RvcCBhZnRlciBhIGZsdXNoLXN0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTMtMDUtMTcgMTI6Mzc6NTkgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IGNsZWFyIGNvbmZpZyBidWZmZXIgYmVmb3JlIHVzaW5nIGl0CgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgcGFydHMgb2YgdGhlIG1lbW9yeSBhcmUgb25seSBtb2RpZmllZCB3aXRoICJ8PSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUxNAoKMjAxMy0wNS0xNCAxNzozMDowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvIG5vdCBleHBlY3QgRU9TIGFmdGVyIGEgc2VnbWVudCBldmVudCBpZiB1cHN0cmVhbSBpcyBtc3MKCSAgSW4gY2FzZSBxdGRlbXV4IGlzIGhhbmRsaW5nIGEgbXNzIHN0cmVhbSwgZG8gbm90IG1hcmsgdGhlIHN0cmVhbSB0byB3YWl0CgkgIGZvciBFT1MgYWZ0ZXIgYSBzZWdtZW50LiBFdmVuIGlmIGl0IHNlZW1zIHRvIGJlIHRoZSBsYXN0IG9uZSBhY2NvcmRpbmcgdG8KCSAgdGhlIGN1cnJlbnQgc3RyZWFtcyBpbmZvcm1hdGlvbi4KCSAgTVNTIGhhbmRsaW5nIGlzIGRpZmZlcmVudCBoZXJlIGJlY2F1c2UgdGhlcmUgaXMgYW5vdGhlciBkZW11eGVyIGRyaXZpbmcKCSAgdGhlIHBpcGVsaW5lCgoyMDEzLTA1LTE0IDE2OjMyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgaWYgcXRkZW11eCBrbm93cyBpdAoJICBTZXR0aW5nIGJvdGggb2YgdGhvc2UgdG8gMCBpcyBwb2ludGxlc3MgYW5kIG1lYW5zIHRoYXQgcXRkZW11eAoJICBkb2Vzbid0IGtub3cgdGhlIHJlYWwgdmFsdWUuIEF2b2lkIHNldHRpbmcgaXQgaW4gdGhpcyBjYXNlLgoKMjAxMy0wNS0xNCAxNToyMzowOCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IGFsYWMgY2FwcyB1c2luZyBpbmZvIGZyb20gY29kZWMgYnVmZmVyCgkgIFRoZSBzYW1wbGVyYXRlIGZpZWxkIGluIHRoZSBTVFNEIGF0b20gaXMgbm90IHJpZ2h0IGZvciBzb21lIEFMQUMgZmlsZXMKCSAgKHVzdWFsbHkgd2hlbiBhdWRpbyBpcyA5NmtIei8yNGJpdHMpLCBzbyB0aGUgYXVkaW8gY2FwcyBtdXN0IGJlCgkgIGV4dHJhY3RlZCBmcm9tIHRoZSBjb2RlYyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzgyCgoyMDEzLTA1LTE1IDExOjEzOjEyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDUtMTUgMTA6NTE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZWRjZDg1IHRvIDA5OGMwZDcKCjIwMTMtMDUtMTQgMTA6Mjg6MTAgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBzdXBwb3J0IGZvciBHUkFZMTZfTEUvR1JBWTE2X0JFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzMzEKCjIwMTMtMDUtMTQgMTc6Mjk6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IFNlbmQgYWxsIGV2ZW50cyB0aHJvdWdoIHRoZSBwcm94eXBhZHMgaW5zdGVhZCBvZiBqdXN0IHNlbmRpbmcgdG8gdGhlIHRhcmdldAoJICBPdGhlcndpc2UgdGhlIHN0aWNreSBldmVudHMgYXJlIG1pc3Npbmcgb24gdGhlIHByb3h5cGFkcy4KCjIwMTMtMDUtMTQgMTc6Mjk6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDE2OjM0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICByZ2xpbWl0ZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3RzCgoyMDEzLTA1LTE0IDE2OjMxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjowODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBxdG11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjowMDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDEzOjU4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDEzOjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBNYWtlIHN1cmUgdG8gc2VuZCBhIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGRhdGFmbG93CgoyMDEzLTA1LTE0IDEwOjUyOjE5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogb25seSBhZGQgaW50ZXJsYWNlLW1vZGUgdG8gdGhlIGNhcHMgZm9yIHJhdyBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODAKCjIwMTMtMDUtMTQgMTI6MDM6MDMgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBjb3B5IGFuZCBzZXQgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBjb250ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyODIKCjIwMTMtMDUtMTQgMTA6MjU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE0IDA5OjQ1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBoYW5kbGluZyBvZiBtaW4vbWF4IGJ1ZmZlciBudW1iZXJzIG9mIHRoZSBidWZmZXIgcG9vbAoKMjAxMy0wNS0xNCAwMzo0Mjo1OSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc2V0IGNhcHMgZm9yIGJ1ZmZlciBwb29sIGNvbmZpZwoKMjAxMy0wNS0xMyAxMzozMDozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBMZXQgdGhlIGJhc2UgY2xhc3MgZG8gZ2V0X3RpbWVzCgkgIFRoaXMgd2lsbCBtYWtlIHN5bmM9VFJVRSB3b3JrLCB0aGUgZGVmYXVsdCBpcyBzdGlsbCBzeW5jPUZBTFNFCgoyMDEzLTA1LTExIDIzOjA4OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZXZlbnQKCjIwMTMtMDUtMTEgMjM6MjQ6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcwoKMjAxMy0wNS0xMSAyMzoyODoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyLXRlc3Q6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGZvbGxvd2VkIGJ5IHNlZ21lbnQKCjIwMTMtMDUtMTEgMjM6MzQ6MzYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbi10ZXN0OiBTZW5kIG1pc3Npbmcgc3RyZWFtLXN0YXJ0IGFuZCBzZWdtZW50IGV2ZW50cwoKMjAxMy0wNS0xMyAxNTozNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogRml4IHNvbWUgbW9yZSBldmVudCBoYW5kbGluZyBpbiB0ZXN0cwoKMjAxMy0wNS0xMyAxNToxOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJICBpY3lkZW11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xMyAxNToxOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDUtMTMgMTU6MDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBQdXNoIHN0aWNreSBldmVudHMgaW4gdGhlIHJpZ2h0IG9yZGVyCgoyMDEzLTA1LTEzIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB0ZXN0CgoyMDEzLTA1LTEzIDE0OjA3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDUtMTMgMTM6NTU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogQ29kZSBzdHlsZSBmaXhlcwoKMjAxMy0wNS0xMyAxMDo0MzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpcnN0IGxldCBiYXNlY2xhc3MgaGFuZGxlIGV2ZW50cywgdGhlbiBwdXQgdGhlbSBpbnRvIHRoZSBzdHJlYW0KCSAgRml4ZXMgaGFuZGxpbmcgb2Ygc3RpY2t5IGV2ZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDIxMwoKMjAxMy0wNS0wOSAyMjowNToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjMyOjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODoyNToxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXItdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjM6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2UtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjE6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICB5NG1lbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMTAgMTQ6MDA6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZml4IGV4YW1wbGUgcGlwZWxpbmUKCSAgTmVlZCBqcGVncGFyc2UuCgoyMDEzLTA1LTEwIDEzOjM0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgdGVzdHM6IEZpeCBzb21lIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMy0wNS0xMCAxMzoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IEZpeCBwYXJzZXIgdGVzdHMKCjIwMTMtMDUtMDkgMjI6MjA6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBDYW4ndCBtYXAgdHdpY2UgdGhlIHNhbWUgYnVmZmVyIGZvciB3cml0aW5nCgkgIEkgdG9vayB0aGUgb3Bwb3J0dW5pdHkgdG8gc2ltcGxpZnkgdGhhdCBjb2RlIGEgYml0LiBXZSBub3cgdXNlCgkgIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIHRvIG1ha2UgdGhlIGJ1ZmZlciB3cml0YWJsZSBhbmQgbWFwIHR3aWNlIHRoZQoJICBzYW1lIGJ1ZmZlciwgd2l0aCBmaXJzdCBtYXAgYmVpbmcgcmVhZC93cml0ZSwgYW5kIHNlY29uZCByZWFkIG9ubHkuIFRoaXMKCSAgZ2V0IHJpZCBvZiB0aGUgY3JpdGljYWw6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3N0cnVjdHVyZV9zZXRfbmFtZTogYXNzZXJ0aW9uIGBJU19NVVRBQkxFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMjI6MTU6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBFbnN1cmUgY2FwcyBhcmUgd3JpdGFibGUKCSAgVGhlIGV4aXN0IG9uZSBjYXNlIHdoZXJlIHRoYXQgd2UgZW5kdXAgd2l0aCBvcmlnaW5hbCBjYXBzIGluIHJldCwgaW4gd2hpY2gKCSAgY2FzZSB3ZSBhcmUgbm90IGd1YXJhdGllZCB0byBoYXZlIHdyaXRhYmxlIGNhcHMuIFNpbXBseSBlbnN1cmUgdGhpcyBpcyB0aGUKCSAgY2FwcyBhcmUgd3JpdGFibGUgYmVmb3JlIGVudGVyaW5nIHRoZSBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDIyOjEzOjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHNhbXBsZSBwaXBlbGluZSBpbiBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwNDQKCjIwMTMtMDUtMDkgMTg6MDU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAganBlZ2VuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzo0OTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzoyMDoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHZwOGRlYy10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxNzoxOTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjLXRlc3Q6IFNlbmQgaW5pdGlhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxOTo0MDo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogVGVsbCBHc3RBdWRpb0VuY29kZXIgYWJvdXQgdGhlIG51bWJlciBvZiBpbmNvbWluZyBzYW1wbGVzCgkgIGxhbWUgZG9lcyBpbnRlcm5hbCByZXNhbXBsaW5nLCBidXQgdGhlIGJhc2UgY2xhc3Mgb25seSBjYXJlcyBhYm91dAoJICB0aGUgbnVtYmVyIG9mIHJhdyBzYW1wbGVzLCBzbyB0ZWxsIGZpbmlzaCBmcmFtZXMgYWJvdXQgdGhhdCwgbm90CgkgIHRoZSBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgb3V0Z29pbmcgZnJhbWUuOgoKMjAxMy0wNS0wOSAxNjoyNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBSZXZlcnQgInZpZGVvbWl4ZXIyOiBUYWtlIGludG8gYWNjb3VudCBuZXcgc2VnbWVudHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODRhZTY3MGFiNDBiMjU4YTEwZTFlMjE0NzFlNmRjOWQ3ODZiZjA4Ni4KCSAgQWN0dWFsbHkgdGhpcyBpcyBub3QgaG93IGl0IGlzIHN1cHBvc2VkIHRvIHdvcmsuIHZpZGVvbWl4ZXIKCSAgY3JlYXRlcyBhIFswLC0xXSBzZWdtZW50IGFuZCB0aGVuIHB1dHMgZnJhbWVzIG9mIHRoZSBkaWZmZXJlbnQKCSAgc3RyZWFtcyB0aGVyZSBiYXNlZCBvbiB0aGVpciBydW5uaW5nIHRpbWVzIGluIHRoZWlyIG93biBzZWdtZW50cy4KCjIwMTMtMDUtMDYgMjM6NDM6MDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBUYWtlIGludG8gYWNjb3VudCBuZXcgc2VnbWVudHMKCSAgQWxzbyBmb3J3YXJkIHRoZSBldmVudCBkb3duc3RyZWFtIG9uIHRoZSBuZXh0IG9wcG9ydHVuaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTA5IDA5OjA3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBSZXZlcnQgImdzdHJ0c3BzcmM6IHNldCBidWZmZXItc2l6ZSBmb3IgbXVsdGljYXN0IGJ1ZmZlcnMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjQ4MWU5NWQwMzhiNDIyOTdhMDE2ZjFkMmRjMWFmMjZkMjE3NWI0Mi4KCSAgVGhpcyBpcyBhbHJlYWR5IGRvbmUgZml2ZSBsaW5lcyBhYm92ZSwgaXQgd2FzIGFkZGVkIGEgeWVhcgoJICBhZ28gaW4gY29tbWl0IDU2MWIxMzFlLgoKMjAxMy0wNS0wOCAxOTo1NDoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogVW5pdCB0ZXN0IHNlbmQgU0VHTUVOVCBiZWZvcmUgQ0FQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjIyOjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICBhdmltdXg6IFVuaXQgdGVzdCBzZW5kcyBTRUdNRU5UIGJlZm9yZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjYKCjIwMTMtMDUtMDggMTk6MDg6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IFRlc3Qgc2hvdWxkIHNlbmQgc2VnbWVudCBhZnRlciBDQVBTCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjAwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IFRlc3Qgc2hvdWxkIHNlbmQgc2VnbWVudCBhZnRlciBDQVBTCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE4OjQ0OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEZyZXF1ZW5jZSBwcm9wZXJ0eSByZW5hbWVkIGN1dG9mZgoJICBVcGRhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IHRoaXMgY2hhbmdlLgoJICBTZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5NjQKCjIwMTMtMDUtMDggMTU6MjU6NTggLTAzMDAgIEFoYSBVbnN3b3J0aCA8YWhhLnVuc3dvcnRoQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZ3N0cnRzcHNyYzogc2V0IGJ1ZmZlci1zaXplIGZvciBtdWx0aWNhc3QgYnVmZmVycwoJICBGb3IgcmVjZWl2aW5nIHZpZGVvIGRhdGEgdmlhIFJUU1Agd2hlbiB0aGUgdmlkZW8gaXMgc2VudCB2aWEKCSAgbXVsdGljYXN0IHRoZXJlIGlzIG5vIHdheSB0byBzcGVjaWZ5IHRoZSB1ZHBzcmMgYnVmZmVyLXNpemUuCgkgIE9uIHdpbmRvd3MgdGhlIG5hdGl2ZSBuZXR3b3JrIGJ1ZmZlciBpcyBub3QgbGFyZ2UgYW5kIHdpdGggdmlkZW8KCSAgaS1mcmFtZXMgYmVpbmcgaHVnZSB0aGUgYnVmZmVyIGlzIHRvIHNtYWxsIGFuZCB5b3UgZ2V0IGktZnJhbWUgY29ycnVwdGlvbiwKCSAgaXQgbG9va3MgdGVycmlibGUsIGFuZCB0aGVyZSBpcyBubyAoZWFzeSkgd2F5IHRvIHNldCB0aGUgdWRwc3JjIGJ1ZmZlci1zaXplLgoJICBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD01MjI2NAoKMjAxMy0wNS0wOCAxNjowMjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTg5NQoKMjAxMy0wNS0wNyAxOToxNTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggY29tcGlsZXIgd2FybmluZyBvbiB0eXBlIGNoZWNrCgoyMDEzLTA0LTE4IDA3OjQ5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBuZXcgY2FwcyBldmVudHMgd2hlbiBjYXBzIGNoYW5nZQoJICBXaGVuZXZlciB0aGUgZGVtdXhlciBoYXMgYSBuZXcgY2FwcyBvbiBhIHN0cmVhbSwgaXQgc2hvdWxkIHNldCB0aGUKCSAgbmV3X2NhcHMgdmFyaWFibGUgdG8gdHJ1ZSBhbmQgYSBuZXcgY2FwcyBldmVudCB3aWxsIGJlIHB1c2hlZCBiZWZvcmUKCSAgdGhlIG5leHQgYnVmZmVyCgoyMDEzLTA0LTE3IDE2OjU0OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgcXRkZW11eCB0YWtlcyBpdHMgYnVmZmVycyBmcm9tIGEgR3N0QWRhcHRlci4gVGhvc2UgYnVmZmVycyBhcmUgY3JlYXRlZAoJICBmcm9tIHRoZSBsYXJnZXIgYnVmZmVyIHRoYXQgaXQgb2J0YWluZWQgZnJvbSB1cHN0cmVhbSBhbmQgdGhleSBjYXJyeQoJICB0aGUgc2FtZSBmbGFncywgaW5jbHVkaW5nIERJU0NPTlQgaWYgaXQgaXMgc2V0LiBJbiB0aGVzZSBjYXNlcywgYWxsCgkgIGJ1ZmZlcnMgdGhhdCBxdGRlbXV4IGlzIGdvaW5nIHRvIHB1c2ggd291bGQgYmUgbWFya2VkIGFzIERJU0NPTlQuCgkgIFRoaXMgc2NlbmFyaW8gY2FuIG1ha2UgcGFyc2Vycy9kZWNvZGVycyBmbHVzaCBvbiBldmVyeSBidWZmZXIgbGVhZGluZwoJICB0byBubyBkZWNvZGluZyBhdCBhbGwgaGFwZW5uaW5nLiBUaGlzIHBhdGNoIHByZXZlbnRzIHRoaXMgYnkgdW5zZXR0aW5nCgkgIHRoZSBmbGFnIGlmIGl0IHNob3VsZG4ndCBiZSBzZXQuCgoyMDEzLTA0LTEyIDA5OjA4OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNvbWUgY29kZSBjbGVhbnVwIGZvciBtc3MgaGFuZGxpbmcgY29kZQoJICAqIEV4cGxpY2l0bHkgaW5pdCB2YXJpYWJsZXMgZm9yIGZyYWdtZW50ZWQgZm9ybWF0cyBhdCBpbml0CgkgICogRG8gbm90IHVzZSBHc3RDbG9ja1RpbWUgdHlwZSBpZiB0aGUgdmFyaWFibGUgaXNuJ3QgYSB0aW1lc3RhbXAKCSAgKiBGaXggYSBzdHlsZS9yZWFkYWJpbGl0eSBpc3N1ZSBhdCBhbiBpZiBibG9jawoJICAqIEdyb3VwIDIgbXNzIG1vZGUgY29uZGl0aW9uYWwgYmxvY2tzIHRvZ2V0aGVyIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNC0xMiAxMDoyMToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIHN0b3Jpbmcgbm9uLXRpbWUgbmV3c2VnbWVudHMgdG8gcHVzaCBsYXRlcgoJICBUaGlzIGNhbiBjb25mdXNlIGRvd25zdHJlYW0gd2hlbiB0aGV5IGdldCBhIGJ5dGUgc2VnbWVudCBhZnRlciByZWNlaXZpbmcKCSAgdGhlIG5hdHVyYWwgdGltZSBzZWdtZW50IGZyb20gcXRkZW11eCB0aGF0IGl0IHNlbmRzIHdoZW4gc3RhcnRpbmcgdG8KCSAgcHVzaCBidWZmZXJzLiBUaGlzIGlzIHNwZWNpYWxseSB0aGUgY2FzZSB3aXRoIHBhcnNlcnMgdGhhdCB0cnkgdG8KCSAgY29udmVydCB0aGUgcG9zaXRpb24gZnJvbSBieXRlIHRvIHRpbWUgZm9ybWF0IGFuZCBtaWdodCBtaXNzIHRoZQoJICBjb3JyZWN0IHBvc2l0aW9uIGZvciBwbGF5YmFjayB0byBzdGFydC4KCjIwMTMtMDQtMTAgMTg6MDI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzZXR0aW5nIGZpZWxkcyB0byBub24td3JpdGFibGUgY2FwcwoKMjAxMy0wMy0xMCAwNDoxNTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBzZW5kIHNvIG1hbnkgc2VnbWVudCBldmVudHMKCSAgT25seSBzZW5kIG9uZSBzZWdtZW50IGV2ZW50IGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbSwgbm90CgkgIGFmdGVyIGVhY2ggbW9vdiBhbmQgbW9vZiBhdG9tLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAzLTA4IDE2OjAyOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBsYWNlIGluY29tbWluZyB0aW1lc3RhbXBzIG9uIG91dHB1dAoJICBQbGFjZSB0aGUgaW5jb21taW5nIHRpbWVzdGFtcCAoaWYgYW55KSBkaXJlY3RseSBvbnRvIHRoZSBvdXRnb2luZyBidWZmZXJzCgkgIGFuZCBpbnRlcnBvbGxhdGUgb3RoZXIgdGltZXN0YW1wcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNS0wNyAxMDoxNjoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgcmVzZXQgb2YgaW50ZXJuYWwgc3RhdHVzCgkgIFJlc2V0IGRpZmZlcmVudCB2YXJpYWJsZXMgb24gc3RhdGUgY2hhbmdlcyB0byByZWFkeSBhbmQgd2hlbgoJICBoYW5kbGluZyBhIGZsdXNoLXN0b3AuIEZvciBoYW5kbGluZyBmbHVzaCBzdG9wcyB3ZSBzaG91bGQgY2hlY2sKCSAgaWYgdGhlcmUgaXMgYW4gdXBzdHJlYW0gYWRhcHRpdmUgZGVtdXhlciBkcml2aW5nIHRoZSBwaXBlbGluZSBhcyB0aGlzCgkgIG1lYW5zIHRoYXQgcXRkZW11eCB3aWxsIGdldCBhIG5ldyBtb292IGF0b20uIEZvciAnc3RhbmRhcmQnIGlzb21lZGlhCgkgIHN0cmVhbXMgdGhpcyBpc24ndCB0cnVlIGFuZCBxdGRlbXV4IHNob3VsZCBrZWVwIHRoZSBwcmV2aW91cyBtb292CgkgIGluZm9ybWF0aW9uIGFyb3VuZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMi0wOCAwMDoyOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXBhcmUgcXRkZW11eCB0byBhY2NlcHQgbXVsdGlwbGUgZGFzaCBtb292cyBpbiBhIHJvdwoJICBXaGVuZXZlciBkYXNoZGVtdXggc3dpdGNoZXMgYml0cmF0ZXMgaXQgc2VuZHMgYSBuZXcgbW9vdiB3aXRoIHRoZQoJICBuZXcgc3RyZWFtIGNvbmZpZ3VyYXRpb24uIHF0ZGVtdXggc2hvdWxkIG5vdyBoYW5kbGUgdGhpcyBieSBzcGxpdHRpbmcKCSAgdGhlIGV4cG9zaW5nIGFuZCBjb25maWd1cmF0aW9uIG9mIHN0cmVhbXMgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMuIFdoZW4KCSAgdGhlIHN0cmVhbSBpcyBuZXcgaXQgaXMgY29uZmlndXJlZCBhbmQgZXhwb3NlZCwgd2hlbiBpdCBpcyBhIG5ldyBiaXRyYXRlCgkgIG9mIGFuIGV4aXN0aW5nIHN0cmVhbSBpdCBpcyBvbmx5IHJlY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMi0wNyAxNDoxMjo1MyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIEZMVVNIX1NUT1AvUEFVU0VEX1RPX1JFQURZIGhhbmRsaW5nIHRvIGEgcmVzZXQgbWV0aG9kLgoJICBDb25mbGljdHM6CgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDEzLTAxLTIzIDEwOjU1OjMzIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogUmVtb3ZlIG9sZCBwYWRzIHdoZW4gZXhwb3Npbmcgc3RyZWFtcyBhbmQgb3RoZXIgZ2VuZXJhbCBmaXhlcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wNC0xNiAxMDo0MTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBoYW5kbGUgbXNzIHN0cmVhbXMKCSAgc21vb3Roc3RyZWFtaW5nIHN0cmVhbXMgc2hvdWxkIGJlIGhhbmRsZWQgYXMgYSBzcGVjaWFsIGtpbmQgb2YKCSAgZnJhZ21lbnRlZCBpc29tZWRpYS4gSW4gTVNTIHRoZSBmcmFnbWVudHMgd2lsbCBub3QgY29udGFpbiBhCgkgICdtb292JyBhdG9tIHdpdGggdGhlIG1lZGlhIGRlc2NyaXB0aW9ucywgdGhpcyBoYXMgdG8gYmUgZXh0cmFjdGVkCgkgIGZyb20gdGhlIGNhcHMuCgkgIEFkZGl0aW9uYWxseSwgdGhlcmUgc2hvdWxkIGJlIGFub3RoZXIgZGVtdXhlciB1cHN0cmVhbSB0aGF0IGlzIGxpa2VseQoJICBnb2luZyB0byBiZSB0aGUgb25lIHRvIGFuc3dlci9hY3Qgb24gcXVlcmllcyBhbmQgZXZlbnRzLCBzbyBxdGRlbXV4IGhhcwoJICB0byBmb3J3YXJkIHRob3NlIHVwc3RyZWFtLgoKMjAxMy0wNS0wNiAxNjo1NDowMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiByZXF1ZXN0IDAgYnVmZmVycyB3aGVuIHN0b3BwaW5nCgkgIFdpdGhvdXQgdGhpcyBzdG9wcGluZyB0aGUgcG9vbCBpbiAqX3NldF9jYXBzKCkgaXMgdXNlbGVzcy4KCSAgU19GTVQgd2lsbCBzdGlsbCBmYWlsIHdpdGggRUJVU1kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4MzUKCjIwMTMtMDUtMDcgMTY6MzI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBCeSBkZWZhdWx0IGFzc3VtZSB0aGF0IHdlJ3JlIHdvcmtpbmcgb24gbm9uLXBhY2tldGl6ZWQgaW5wdXQKCSAgT25seSBkZXRlY3RpbmcgdGhpcyBpbiBzZXRfZm9ybWF0KCkgZG9lcyBub3Qgd29yayBiZWNhdXNlIHdlIG1pZ2h0CgkgIG5vdCBnZXQgYW55IGNhcHMgYXQgYWxsLCBlLmcuIGZyb20gZmlsZXNyYy4KCjIwMTMtMDUtMDcgMTY6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBJbXBsZW1lbnQgcGFyc2luZyBmdW5jdGlvbmFsaXR5CgkgIFRoaXMgYWxsb3dzIHRvIHBsdWcgcG5nZGVjIGRpcmVjdGx5IHdpdGhvdXQgYSBwYXJzZXIgaWYgdGhhdAoJICBpcyBkZXNpcmVkLgoJICBQYXJzaW5nIGNvZGUgaXMgYmFzZWQgb24gcG5ncGFyc2UuCgoyMDEzLTA1LTA3IDE1OjU0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBGaXggc3VwcG9ydCBmb3IgUkdCIGZvcm1hdHMgYW5kIGFkZCBzdXBwb3J0IGZvciBtb3JlIG9mIHRoZW0KCjIwMTMtMDUtMDQgMTM6MTk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGNvbnNpZGVyIHRoZSBjb250ZW50IHNpemUgZnJvbSB0aGUgSFRUUCBoZWFkZXJzIGFzIGFic29sdXRlbHkgY29ycmVjdAoJICBUaGUgSFRUUCBzZXJ2ZXIgY291bGQgZ2l2ZSB3cm9uZyBpbmZvcm1hdGlvbiwgZS5nLiBpZiB0aGUgSFRUUCBzdHJlYW0gaXMKCSAgY2h1bmstZW5jb2RlZCBvciBjb21wcmVzc2VkLCBvciBpZiB0aGUgc2VydmVyIGRvZXMgbm90IGtub3cgdGhlIGNvbXBsZXRlIHNpemUKCSAgYXQgdGhlIHRpbWUgd2hlbiB0aGUgZmlsZSBpcyByZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KCSAgQWxzbyBzZWUKCSAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTM1NAoKMjAxMi0wOC0yMCAwOTo1MjozMiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpbGwgb3V0IHY0bDJfYnVmZmVyLmJ5dGVzdXNlZCBmaWVsZCBmb3IgdjRsMnNpbmsKCSAgV2hlbiBxdWV1aW5nIGEgYnVmZmVyIGZvciBhIHNpbmssIGJ5dGVzdXNlZCBtdXN0IGNvbnRhaW4gdGhlIGFjdHVhbAoJICBhbW91bnQgb2YgZGF0YS4KCSAgRm9yIGEgc291cmNlLCB0aGUgZHJpdmVyIG11c3Qgb3ZlcndyaXRlIHRoaXMsIHNvIGl0IGRvZXNuJ3QgbWF0dGVyCgkgIHdoYXQgaXMgc2V0IGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1OTgKCjIwMTMtMDUtMDMgMjM6NDM6MjYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gZXZlbnQgaGFuZGxlcgoJICBGaXJzdCBwcm9jZXNzIGV2ZW50IGluIHBheWxvYWRlciwgdGhlbiBoYW5kIGl0IHRvIHRoZQoJICBiYXNlIGNsYXNzIHdoaWNoIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk2MzcKCjIwMTMtMDUtMDQgMDk6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgYWMzcGFyc2UsIGRjYXBhcnNlOiBjaGVjayBidWZmZXIgc2l6ZSBiZWZvcmUgdHJpbW1pbmcKCSAgYW5kIHVucmVmIG9sZCBidWZmZXIgYXMgc29vbiBhcyBwb3NzaWJsZS4KCjIwMTMtMDUtMDIgMTU6MDA6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IGFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiCgoyMDEzLTA1LTAyIDE0OjU2OjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtYWMzIgoKMjAxMy0wNS0wMyAxMjo0NjozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFsd2F5cyBnZW5lcmF0ZSB2aWRlbyBpbmZvIGZyb20gY2FwcwoJICBJbiB0aGUgcGFzdCBnc3RfdmlkZW9faW5mb19mcm9tX2NhcHMoKSBvbmx5IHZpZGVvL3gtcmF3LiBOb3cgaXQgYWxzbwoJICBzdXBwb3J0cyBvdGhlciB2aWRlby8qIGFuZCBpbWFnZS8qIGZvcm1hdHMuCgkgIFdpdGggdGhpcyBwYXRjaCB0aGUgZm9ybWF0IHdvbid0IGJlIEdTVF9WSURFT19GT1JNQVRfVU5LT1dOIGFuZAoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9zZXRfY29uZmlnKCkgaGFuZGxlcyBzdHJpZGVzIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTU3MAoKMjAxMy0wNS0wMiAwOTo0MTowMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiB0cnkgdG8gYWxsb2NhdGUgbmV3IGJ1ZmZlcnMgd2l0aCBWSURJT0NfQ1JFQVRFX0JVRlMgaWYgbmVlZGVkCgkgIElmIG1heF9idWZmZXJzIGlzIDAgdGhlbiBhbiBhcmJpdHJhcnkgbnVtYmVyIG9mIGJ1ZmZlcnMgKGN1cnJlbnRseSA0KSBpcwoJICBhbGxvY2F0ZWQuIElmIHRoaXMgaXMgbm90IGVub3VnaCB2NGwyc3JjIHN0YXJ0cyBjb3B5aW5nIGJ1ZmZlcnMuCgkgIFdpdGggdGhpcyBwYXRjaCBWSURJT0NfQ1JFQVRFX0JVRlMgaXMgdXNlZCB0byBhbGxvY2F0ZSBhIG5ldyBidWZmZXIuIElmCgkgIHRoaXMgZmFpbHMgdjRsMnNyYyBmYWxscyBiYWNrIHRvIGNvcHlpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTQ0NwoKMjAxMy0wNC0xNSAxNzozNzowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYWZ0ZXIgdHJhbnNpdGlvbgoJICBUaGUgZGVzdHJveWVkIGZsYWcgd2FzIG5vdCByZXNldCBwcm9wZXJseSBhbmQgaXQncyBhbHNvIG5vdCBuZWVkZWQKCSAgYXMgd2UgY2FuIGNoZWNrIG9zeHdpbmRvdyAhPSBOVUxMCgoyMDEzLTA1LTAyIDEzOjQ1OjU1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggbGlidnB4CgoyMDEzLTA0LTI5IDEwOjU4OjA4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBnb29tCgoyMDEzLTA1LTAxIDE1OjQ5OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBJZiB0aGUgYWRhcHRlciBpcyBlbXB0eSBvbiBFT1MgZG9uJ3QgdHJ5IHRvIG1hcCBpdHMgY29udGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzE0CgoyMDEzLTA0LTMwIDE0OjM2OjM4ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzdHJlYW0tZm9ybWF0PXJhdyB0byBhYWMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzAzCgoyMDEzLTA0LTMwIDEzOjA3OjM3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCBhbmQgY2xlYW51cCBWSURJT0NfRVhQQlVGIGhhbmRsaW5nCgkgIGNsZWFyIHRoZSBzdHJ1Y3QsIGFuZCBwcm92aWRlIGEgY29ycmVjdCBlcnJvciBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzMzcKCjIwMTItMDctMDUgMTg6MDI6MjcgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGhhbmRsZSByZXR1cm4gdmFsdWUgLUVOT1RUWSBmb3IgdW5pbXBsZW1lbnRlZCBWSURJT0NfR19QQVJNCgkgIE5ld2VyIGtlcm5lbHMgcmV0dXJuIC1FTk9UVFksIG9sZGVyIGtlcm5lbHMgcmV0dXJuIC1FSU5WQUwgaWYgdGhlIGlvY3RsCgkgIGlzIG5vdCBpbXBsZW1lbnRlZC4gV2l0aCB0aGlzIHBhdGNoLCBHU3RyZWFtZXIgaGFuZGxlcyBib3RoIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI1CgoyMDEzLTA0LTMwIDA5OjE2OjA3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGJyb2tlbiBib29sZWFuIGV4cHJlc3Npb24gdG8gZGV0ZWN0IG5vbi1mcmFtZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkyOTQKCjIwMTMtMDQtMjkgMTE6MDc6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gc2VydmVyIHZlcnNpb24gaXMgdG9vIG9sZAoJICBXZSBjaGVjayBmb3IgdGhlIGxpYnJhcnkgdmVyc2lvbiBhdCBjb25maWd1cmUgdGltZSwgYnV0IHRoZSBzZXJ2ZXIKCSAgdmVyc2lvbiBjYW4gb25seSByZWFsbHkgYmUgY2hlY2tlZCBhdCBydW4tdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODc2OAoKMjAxMy0wNC0yNyAxMToyNDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkgIHVkcDogbG9nIFdBUk5JTkcgZGVidWcgbWVzc2FnZSBpZiBVRFAgbXVsdGljYXN0IGlzIGxpa2VseSB0byBiZSBicm9rZW4KCjIwMTMtMDQtMjcgMTE6MTY6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBpbmNsdWRlcyB0byBnZXQgc29ja2xlbl90IGRlZmluZWQgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDAwCgoyMDEzLTA0LTI3IDA5OjM5OjQ1ICswMTAwICBZdXJ5IERlbGVuZGlrIDxhc3luYy5wcm9jZXNzaW5nanNAeWFob28uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBWUDZGIFZQNiBmbGFzaCBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MDEwCgoyMDEyLTA5LTA1IDE2OjM5OjMxICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWxzbyBwb2xsIGZvciBvdXRwdXQgZGV2aWNlcwoJICBOb3RlIHRoYXQgdGhlIFY0TDIgQVBJIGRlZmluZXMgdGhhdCBmb3Igb3V0cHV0IGRldmljZXMgUE9MTE9VVAoJICBpbmRpY2F0ZXMgdGhhdCBhIGJ1ZmZlciBpcyByZWFkeSB0byBiZSBkZXF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODk5MgoKMjAxMi0wOC0yMCAwOTo1MjozNCArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvcHlpbmcgb2YgZW5jb2RlZCBidWZmZXJzCgkgIFRoZSBleGlzdGVuY2Ugb2YgYSBHc3RWaWRlb0Zvcm1hdEluZm8gZG9lcyBub3QgZ3VhcmFudGVlLCB0aGF0CgkgIHRoZSBidWZmZXIgY29udGFpbnMgdmlkZW8gZnJhbWVzLCBzbyB0aGUgZm9ybWF0IG11c3QgYmUgY2hlY2tlZC4KCSAgQWxzbywgZm9yIGVuY29kZWQgYnVmZmVycyB0aGUgbGVuZ3RoIGlzIHZhcmlhYmxlIGFuZCBtdXN0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODk0OQoKMjAxMi0wNy0xMCAxNToyOTo0MCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGFkZCBzdXBwb3J0IGZvciBtcGVnNCBhbmQgSC4yNjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNgoKMjAxMy0wNC0yNiAxMjoxNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTMtMDQtMjUgMjE6NTA6MzMgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPG1lcm9zQG1lcm9zLWRlc2t0b3AuKG5vbmUpPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkgIG11bGF3ZGVjOiBjaGFuZ2UgYmFzZSBjbGFzcyB0byBHc3RBdWRpb0RlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODg5NAoKMjAxMy0wNC0yNSAyMDo1OTo1MiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQuCgoyMDEyLTEwLTE4IDEwOjM3OjM1ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBoYW5kbGUgRU5PREFUQSByZXR1cm4gdmFsdWUgZm9yIFZJRElPQ19FTlVNU1RECgkgIEluIGtlcm5lbCB2My43LXJjMSwgVklESU9DX0VOVU1TVEQgcmV0dXJucyBFTk9EQVRBIGlmIHRoZSBjdXJyZW50IGlucHV0CgkgIGRvZXMgbm90IHN1cHBvcnQgdGhlIFNURCBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjcKCjIwMTMtMDQtMjUgMTM6MTk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkgIGRvY3M6IGFkZCBzb21lIHBheS9kZXBheWxvYWRlcnMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTE2MzEKCjIwMTMtMDQtMjUgMTI6NDQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsYXdlbmMuYzoKCSAgbXVsYXc6IFNvbWUgbWlub3IgbWVtbGVhayBmaXhlcyBhbmQgY2xlYW51cAoKMjAxMy0wNC0yNCAxMzo1Njo1NiArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3ZW5jOiBjaGFuZ2UgdG8gZ3N0YXVkaW9lbmNvZGVyIGJhc2UsIGFkZGVkIGJpdHJhdGUgdGFncwoKMjAxMi0wNS0wMyAxNjowNzoyNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiByZXNldCBidWZmZXIgc2l6ZSBpbiByZWxlYXNlX2J1ZmZlcgoJICBUaGUgYnVmZmVyIG1pZ2h0IHN0aWxsIGJlIGluIHVzZSBlbHNld2hlcmUgd2hlbiBkZXF1ZXVpbmcgYnVmZmVycyBmb3IKCSAgb3V0cHV0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyMgoKMjAxMi0wNC0yMCAwOTo1MzozNSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBidWZmZXJwb29sOiByZW1vdmUgdW51c2VkIGluY2x1ZGVzCgkgIFRoZSBoYWNrcyB0aGF0IG5lZWRlZCB0aGVzZSBhcmUgbG9uZyBnb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODIxCgoyMDEzLTA0LTI1IDEyOjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIChtdWx0aSl1ZHBzaW5rOiBVc2Ugc2VwYXJhdGUgc29ja2V0cyBmb3IgSVB2NCBhbmQgSVB2NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM0MjQzCgoyMDEzLTA0LTI1IDEwOjQ0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgZHludWRwc2luazogVXNlIHNlcGFyYXRlIHNvY2tldHMgZm9yIElQdjQgYW5kIElQdjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzNDI0MwoKMjAxMy0wNC0yNSAxMDo0Mzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICB1ZHA6IERvbid0IGluY2x1ZGUgcmVtb3ZlZCBnc3R1ZHAuaCBpbiBub2luc3RfSEVBREVSUwoKMjAxMy0wNC0xNyAxNjo0NzozMSAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiBVc2UgZ3N0X2F1ZGlvX2NoYW5uZWxfcG9zaXRpb25zX3RvX21hc2soKSB0byBjcmVhdGUgbWFzawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODA3CgoyMDEzLTA0LTE3IDE2OjEyOjI2IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW86IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMy0wNC0yNSAwOToxNjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHAuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcDogUmVtb3ZlIHVudXNlZCBlbnVtIHR5cGUKCjIwMTMtMDQtMjUgMDk6MTM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLW1hcnNoYWwubGlzdDoKCSAgdWRwOiBVc2UgdGhlIGdlbmVyaWMgbWFyc2hhbGxlciBpbnN0ZWFkIG9mIGdlbmVyYXRpbmcgbWFyc2hhbGxlcnMKCjIwMTMtMDQtMjUgMDk6MDc6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiBSZW5hbWUgaW5zdGFuY2UgdmFyaWFibGUgZnJvbSBob3N0IHRvIG11bHRpX2dyb3VwCgkgIFRoaXMgaXMgbW9yZSBjb25zaXN0ZW50IGFzIGl0J3MgdXNlZCBmb3IgdGhlIG11bHRpY2FzdC1ncm91cCBwcm9wZXJ0eS4KCjIwMTMtMDQtMjUgMDk6MDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBBZGQgYmluZC1hZGRyZXNzIHByb3BlcnR5CgkgIFRoaXMgaXMgZXF1aXZhbGVudCB0byBtdWx0aWNhc3QtZ3JvdXAgY3VycmVudGx5IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCSAgSW4gMi4wIHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgc2VwYXJhdGVseSwgdGhlIGZvcm1lciBvbmx5IGJlaW5nIHRoZSBtdWx0aWNhc3QKCSAgZ3JvdXAgYW5kIHRoZSBsYXR0ZXIgYWx3YXlzIGJlaW5nIHRoZSBhZGRyZXNzIHRoZSBzb2NrZXQgaXMgYm91bmQgdG8sIGV2ZW4gaWYKCSAgYSBtdWx0aWNhc3QgZ3JvdXAgaXMgZ2l2ZW4uCgoyMDEzLTA0LTI0IDE2OjI0OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXR1cm4gb3V0cHV0IGJ1ZmZlciBmcm9tIHByb2Nlc3MKCSAgUmV0dXJuIHRoZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIHByb2Nlc3MgZnVuY3Rpb24gaW5zdGVhZCBvZiBwdXNoaW5nCgkgIGl0IG91cnNlbHZlcy4gVGhpcyB3YXksIHRoZSBzdWJjbGFzcyBjYW4gYWN0dWFsbHkgZGVhbCB3aXRoIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgdGhlIHB1c2guCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM3MjcKCjIwMTItMTAtMDEgMDk6Mjk6MjEgLTAzMDAgIERpb2dvIENhcmJvbmVyYSBMdXZpem9uIDxkaW9nby5sdXZpem9uQGVuc2l0ZWMuY29tLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzYXZlIHRoZSBmb3JtYXQgY29ycmVjdGx5CgkgIElmIFRSWV9GTVQgaXMgbm90IGltcGxlbWVudGVkLCAgZ3N0X3Y0bDJfb2JqZWN0X2dldF9uZWFyZXN0X3NpemUgd2lsbAoJICB1c2UgU19GTVQgYW5kIHdpbGwgY2hhbmdlIHRoZSBkZXZpY2UncyBvcGVyYXRpb24gbW9kZS4gVG8gc2F2ZSB0aGUKCSAgb2xkIGRldmljZSBtb2RlIHdlIG5lZWQgdG8gc2V0IHRoZSB0eXBlIGZpZWxkIG9yIGVsc2UgaXQgd2lsbCBmYWlsCgkgIHRvIHNhdmUgdGhlIHByZXZpb3VzIGZvcm1hdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIwOQoKMjAxMy0wNC0yNCAxNTozODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgIHJ0cDogYSBtYXJrZXIgYml0IHNob3VsZCB0cmFuc2xhdGUgdG8gUkVTWU5DCgkgIEEgbWFya2VyIGJpdCBvbiBhbiBhdWRpbyBwYWNrZXQgZG9lcyBub3QgbWVhbiBhIERJU0NPTlQgKGluIHRoZSBHU3RyZWFtZXIgc2Vuc2UKCSAgb2YgbWlzc2luZyBkYXRhKSBidXQgaXQgbWVhbnMgdGhhdCB0aGUgcGFja2V0IGlzIHRoZSBlbmQgb2YgYSB0YWxrc3B1cnQgYW5kIHRodXMKCSAgYSBnb29kIG9wcG9ydHVuaXR5IHRvIHJlc3luYyB0byB0aGUgY2xvY2suIFVzZSB0aGUgUkVTWU5DIGJ1ZmZlciBmbGFnIHRvIG5vdGUKCSAgdGhpcy4KCSAgUmVhbCBkaXNjb250aW51aXRpZXMgYXJlIG1hcmtlZCB3aXRoIERJU0NPTlQgc3RpbGwgd2hlbiB0aGUgc2VxbnVtIGhhcyBhIEdBUCBvcgoJICB3aGVuIHRoZSBpbnB1dCBidWZmZXIgaGFzIHRoZSBESVNDT05UIGZsYWcgc2V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjA0CgoyMDEzLTA0LTIyIDIzOjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTUFJTlRBSU5FUlM6CgkqIFJFQURNRToKCSogUkVBRE1FLnN0YXRpYy1saW5raW5nOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjYjNkM2MgdG8gNWVkY2Q4NQoKMjAxMy0wNC0yMiAxMDoxOToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IERyb3AgZnJhbWUgaWYgaXQncyBsZXNzIHRoYW4gMiBieXRlcyBsYXJnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NTYwCgoyMDEzLTA0LTE4IDEyOjIwOjA4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiB1c2UgX3BsdWdpbl9mZWF0dXJlX3JhbmtfY29tcGFyZSBBUEkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGUgY29kZS4KCjIwMTMtMDQtMTggMDk6Mzc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpbzogSW5jbHVkZSBnc3RhdWRpb3JpbmdidWZmZXIuaCB0byBmaXggY29tcGlsYXRpb24gaW4gMS4wCgoyMDEzLTA0LTE3IDIxOjA1OjE0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGNoYW5uZWwtbWFzayBjb25maWd1cmF0aW9uIGZpeGVzCgkgIFNldCBjaGFubmVsLW1hc2sgYWNjb3JkaW5nIHRvIHNpbmsncyBsYXlvdXQgaW4gY2FzZSBvZiBzdGVyZW8gbGF5b3V0LgoJICBBbHNvIGluaXRpYWxpemUgYW5kIHJlc2V0IHRoZSBtYXNrIHdoZW4gYW4gdW5yZWNvZ25pemVkIGNoYW5uZWwgaXMgZGV0ZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgyMjQKCjIwMTMtMDQtMTUgMTk6NTM6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IERpc2FibGUgcmVuZWdvdGlhdGlvbiBpbiB0aGUgbmVnb3RpYXRlIG1ldGhvZAoJICBUaGlzIHdheSwgd2UgZG9uJ3QgYmxvY2sgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24uCgkgIFRoYW5rcyB0byBKZXJlbXkgV2hpdGluZyBmb3IgZG9pbmcgYWxsIHRoZSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1OTgxCgoyMDEzLTA0LTE1IDE5OjQ2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZXZlcnQgInY0bDI6IGRpc2FibGUgcmVuZWdvdGlhdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMWIyNmUxZDU5NGFiMmI2MzMyNGU0M2EzNjMzMDQ3NWU5OGNkZjE4LgoJICBUaGlzIGNhdXNlcyB0aGUgaW5pdGlhbCBuZWdvdGlhdGlvbiB0byBuZXZlciBoYXBwZW4gaWYgYSByZWNvbmZpZ3VyZQoJICBldmVudCBpcyByZWNlaXZlZCBhZnRlciBnc3RfYmFzZV9zcmNfc3RhcnRfY29tcGxldGUoKSBidXQgYmVmb3JlIHRoZSBsb29wCgkgIHN0YXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNyAyMToxMjo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhY3RhZzogZm9yd2FyZCBjYXBzIGV2ZW50CgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgd2lsbCBnZXQgdGhlIGV2ZW50IGFuZCBuZWdvdGlhdGVzLiBBZGQKCSAgYSBGSVhNRSBmb3IgdXBkYXRpbmcgdGhlIHN0cmVhbWhlYWRlciBmaWVsZCBvbiB0aCBjYXBzLgoKMjAxMy0wNC0xNyAwNzo1MDoyNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDEzLTA0LTE3IDIwOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSAgb3N4YXVkaW86IEZpeCBtZXJnZSBjb25mbGljdHMKCjIwMTMtMDQtMTcgMTA6MTA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3hhdWRpbzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igb3N4YXVkaW8gcGx1Z2luCgoyMDEzLTA0LTE3IDA5OjUwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9yaW5nYnVmZmVyOiBGaXJzdCBjaGVjayB0aGUgdHlwZSwgdGhlbiBjYXN0CgoyMDEzLTA0LTE2IDIyOjQ2OjAwICswOTAwICBUYWthc2hpIE5ha2FqaW1hIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIG9zeGF1ZGlvOiB1c2UgR1NUX0lTX09TWF9BVURJT19TSU5LIGluIHJpbmcgYnVmZmVyLgoKMjAxMy0wNC0xMCAyMTowNjoxNiArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIG9zeGF1ZGlvOiBjYWxsIHNldF9jaGFubmVsX3Bvc2l0aW9ucygpIGluIG9zeGF1ZGlvcmluZ2J1ZmZlciBhY3F1aXJlKCkKCjIwMTMtMDQtMTIgMTI6MTg6MDQgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogdXNlIEdTVF9BVURJT19JTkZPXyogYWNjZXNzb3JzCgkgIENoYW5nZXMgaW5jbHVkZSB0aGUgZm9sbG93aW5nOgoJICAqIFVwZGF0ZSBjbGFzc25hbWUgcmVmZXJlbmNlcwoJICAqIFJlcGxhY2UgR1NUX0JPSUxFUlBMQVRFX0ZVTEwgd2l0aCBHX0RFRklORV9UWVBFCgkgICogVXNlIG5ldyBHc3RBdWRpb0luZm8gc3RydWN0IGFuZCBtZXRob2RzCgkgICogVXNlIG5ldyBidWZmZXIgbWVtb3J5IGFsbG9jYXRpb24gc2NoZW1lCgkgIENvbmZsaWN0czoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jCgoyMDEzLTA0LTEyIDExOjUxOjQ2IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogYWRqdXN0IGZvciBjaGFuZ2VzIHRvIGdsaWIgbXV0ZXggYXBpLgoKMjAxMy0wNC0xMCAwMToyMTo0OSArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiB0cnkgdG8gZml4IHVwIGFjY29yZGluZyB0byBTZWJhc3RpYW4ncyBjb21tZW50cwoKMjAxMy0wNC0wNSAxMDowMjozOCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBidWlsZCBmaXhlcwoJICBFbmFibGUgdGhlIG9zeGF1ZGlvIHBsdWdpbiBidWlsZCBpbiBjb25maWd1cmUuYWMgYW5kIGZpeCBzb21lCgkgIGluY2x1ZGUgZGlyZWN0aXZlIG9yZGVyIGlzc3Vlcy4KCjIwMTMtMDQtMDIgMjI6Mjg6MDkgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBmaXggbGF5b3V0IGZvciBvc3hhdWRpb3NyYwoKMjAxMy0wMy0zMCAyMjo0OTozNCArMDkwMCAgdGVkLW4gPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogcG9ydCB0byB2LjEuMAoKMjAxMy0wNC0xNiAxOToyOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHVucmVmIHF1ZXJ5LCB3ZSBkb24ndCBvd24gaXQKCSAgRml4ZXMgZG91YmxlLXVucmVmIGJ1Zy4gQnVnIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpCgoyMDEzLTA0LTE2IDIwOjQxOjEwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBTQ0hFRFVMSU5HIHF1ZXJ5IHN1cHBvcnQKCSAgQ2hhaW4gdGhlIHF1ZXJ5IHVwIHRvIHBhcmVudCBiZWZvcmUgYWRkaW5nIF9CQU5EV0lEVEhfTElNSVRFRCBmbGFnLAoJICBzbyB0aGF0IGFsbCB0aGUgb3RoZXIgZmxhZ3MgZ2V0IHNldCwgYW5kIHB1c2ggbW9kZSBnZXRzIGFkZGVkIGFzCgkgIHN1cHBvcnRlZCBhY3RpdmF0aW9uIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM0ODQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODE1NgoKMjAxMy0wMy0zMSAxMjowNTo0OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBiYXNpYyBzY2hlZHVsaW5nIHF1ZXJ5IHN1cHBvcnQKCSAgQW5zd2VyIHRvIHNjaGVkdWxpbmcgcXVlcmllcyB3aXRoIGRlZmF1bHQgcGFyYW1ldGVycyBhbmQgdGhlIG5ldwoJICBfQkFORFdJRFRIX0xJTUlURURfRkxBRyBzbyB0aGF0IGRvd25zdHJlYW0gaXMgYWR2aXNlZCB0byBtaW5pbWl6ZSBzZWVrCgkgIG9wZXJhdGlvbnMgYW5kIHBlcmZvcm0gb24tZGlzayBidWZmZXJpbmcgaWYgcG9zc2libGUuCgkgIEJ1ZyA2OTM0ODQKCjIwMTMtMDQtMTUgMTQ6MzI6NDYgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IGFjY2Vzc2luZyBvc3h3aW5kb3cgd2hlbiBub3Qgc2V0IHlldAoKMjAxMi0xMC0yNCAxMjoxNTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEyLTEwLTI0IDEyOjE1OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICBnc3Q6IEFkZCBiZXR0ZXIgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTItMTAtMjQgMTI6MTQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA0LTEyIDE5OjI2OjExICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbCB3aXRoIGdvb20KCjIwMTMtMDMtMTAgMTc6MTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogRml4ZXMgZXJyb3I6ICJHU1RfTEVWRUxfREVGQVVMVCIgcmVkZWZpbmVkCgoyMDEzLTAzLTEwIDE3OjI3OjMwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXhlcyBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZ2V0cGlkJwoKMjAxMy0wNC0xNCAxNzo1NTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWVkODdhZSB0byAzY2IzZDNjCgoyMDEzLTA0LTE0IDEyOjMyOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBiYWNrICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgdG8gZGlzYWJsZSBzZW5kaW5nIG9mIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzCgkgIEluIDEuMCB3ZSBub3cgYWx3YXlzIHNlbmQgdGhlIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzIGJ5IGRlZmF1bHQsIHdoaWNoCgkgIG1ha2VzIHRoZSBzZXJ2ZXIgc2VuZCBpY2VjYXN0cyBtZXRhZGF0YSBpbnNlcnRlZCBpbnRvIHRoZSBzdHJlYW0gaWYgaXQKCSAgc3VwcG9ydHMgdGhhdC4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgdXNlIGNhc2VzIHdoZXJlIHRoaXMgaXMgbm90CgkgIGRlc2lyYWJsZSwgbGlrZSB3aGVuIGp1c3Qgc2F2aW5nIGEgcmFkaW8gc3RyZWFtIHRvIGRpc2ssIHNvIGFkZCBiYWNrCgkgIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IHRvIGFsbG93IHBlb3BsZSB0byBkaXNhYmxlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc5ODQKCjIwMTMtMDQtMTIgMTY6MTY6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBydHA6IHJlZ2lzdGVyIHRhZyBpbWFnZSB0eXBlcwoJICBUaGUgcnRwZ3N0ZGVwYXkgbmVlZHMgdGhlIHR5cGUgdG8gYmUgYXZhaWxhYmxlIGluIG9yZGVyIHRvIGRlc2VyaWFsaXplIHRoZQoJICBldmVudC4KCjIwMTMtMDQtMTIgMTY6MDg6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBoYW5kbGUgZXZlbnQgcGFyc2UgZmFpbHVyZXMgYmV0dGVyCgoyMDEzLTA0LTExIDIyOjI1OjA1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGFkZCBUT0Mgc2V0dGVyIHN1cHBvcnQKCjIwMTMtMDQtMTIgMTI6MzE6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHNtYWxsIGNsZWFudXBzIGZvciB0b2MgaGFuZGxpbmcKCSAgRG9uJ3QgYWRkIGVtcHR5IGxhYmwvbm90ZSBjaHVua3MuIEFsd2F5cyBwYXNzIGluc3RhbmNlIGFzIHRoZSBmaXJzdCBwYXJhbS4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTMtMDQtMTIgMTI6NTg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHRoZSBudHAtc3luYyBwcm9wZXJ0eSBvZiBydHBiaW4KCjIwMTMtMDQtMTIgMTI6NTE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBHaXZlIHRoZSBtYW5hZ2VyIGFsd2F5cyB0aGUgbmFtZSAibWFuYWdlciIKCSAgVGhpcyBhbGxvd3MgdG8gdXNlIHRoZSBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhZGp1c3QKCSAgcHJvcGVydGllcyBvbiBpdC4KCjIwMTMtMDQtMTEgMjI6NTM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0xMSAxOToyNzoxNSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQKCjIwMTMtMDQtMTEgMjA6NDY6MjYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGEgbGl0dGxlIG1vcmUgZG9jcyB0byB0aGUgYXVkaW9jbG9jawoKMjAxMy0wNC0xMSAxNTowMDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIE5ldENsaWVudENsb2NrCgkgIFdoZW4gdGhlIHNlcnZlciBzdWdnZXN0cyBhIEdzdE5ldFRpbWVQcm92aWRlciBpbiB0aGUgU0RQLCBzZXQgdXAgYQoJICBHc3ROZXRDbGllbnRDbG9jayB0aGF0IHNsYXZlcyB0byB0aGUgcmVtb3RlIGNsb2NrIGFuZCBzdWdnZXN0IHRoaXMgY2xvY2sgaW4KCSAgcHJvdmlkZV9jbG9jay4KCjIwMTMtMDQtMTEgMTQ6NTc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rOiBhdm9pZCBhbGxvYyBhbmQgZnJlZSBpbiByZW5kZXIgZnVuY3Rpb24KCSAgQXZvaWQgZG9pbmcgYWxsb2MgYW5kIGZyZWUgaW4gdGhlIHJlbmRlciBmdW5jdGlvbiBmb3IgZWFjaCBidWZmZXIuIEluc3RlYWQsCgkgIGFsbG9jYXRlIHRoZSBuZWVkZWQgYXJyYXlzIGluIF9pbml0IGFuZCB1c2UgdGhvc2UuCgoyMDEzLTA0LTEwIDA4OjM2OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdmVwYXJzZTogcmVtb3ZlIHN1cGVyZmx1b3VzIGdfbGlzdF9maXJzdCgpIGNhbGxzCgkgIFRoZSB2YXJpYWJsZXMgYWxyZWFkeSBwb2ludCB0byB0aGUgc3RhcnQgb2YgdGhlIGxpc3QuCgoyMDEzLTA0LTA5IDIzOjEzOjE4ICswMTAwICBBbmRyZWFzIEZlbmthcnQgPGFuZHJlYXMuZmVua2FydEBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogZml4IHNiYyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gZm9yIG1vbm8gYW5kIHN0ZXJlbyBtb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDYzCgoyMDEzLTAzLTI1IDE0OjM1OjAyICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBhZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQKCSAgQWRkICdub3RlJyBjaHVuayBzdXBwb3J0IGluIFRPQyBhcyBHU1RfVEFHX0NPTU1FTlQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjU0OQoKMjAxMy0wNC0wOCAxNzo1MzowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgdmFsdWUgaW5zaWRlIGVuZGEgdG8gc2V0IGVuZGlhbm5lc3MKCjIwMTMtMDQtMDkgMjE6MDA6MTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA0YzdhMWUgdG8gYWVkODdhZQoKMjAxMy0wNC0wOSAxNzozNDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYXZvaWQgY29weSB3aGVuIHdlIGNhbgoKMjAxMy0wNC0wOSAxNjo1MjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogdXNlIGJ1ZmZlcmxpc3QgdG8gYXZvaWQgbWVtY3B5CgoyMDEzLTA0LTA5IDE2OjUwOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wNC0wOSAwMDoyODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHRlc3RzOiByZWZhY3RvciBuZXcgd2F2cGFyc2UgdGVzdCBhIGxpdHRsZQoJICBVc2UgZmFrZXNyYyBpbnN0ZWFkIG9mIGZpbGVzcmMgd2l0aCAvZGV2L251bGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODQKCjIwMTMtMDQtMDggMTE6Mzg6MzMgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGVycm9yIG91dCBpZiB3ZSByZWNlaXZlIGVvcyBiZWZvcmUgYW55IHZhbGlkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4NAoKMjAxMy0wNC0wNyAwMTo0Nzo1NiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZm9yY2UgZGVpbnRlcmxhY2luZyBpbiAiaW50ZXJsYWNlZCIgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDY3CgoyMDEzLTA0LTA2IDEyOjQ1OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IEFkZCB0aW1lc3RhbXAvcnVubmluZy10aW1lL3N0cmVhbS10aW1lIHRvIHRoZSBlbWl0ZWQgbWVzc2FnZQoKMjAxMy0wNC0wNSAxNDozODo0MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzQzCgoyMDEzLTA0LTA1IDA5OjM0OjIzICswMTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGluY2x1ZGUgcHRocmVhZC5oIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDMKCjIwMTMtMDQtMDQgMjI6NDg6NDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiByZXN5bmMgb24gZGlzY29udAoJICBEcm9wIHBlbmRpbmcgZGF0YSBvbiBkaXNjb250IGFuZCBzdGFydCBhIG5ldyBjeWNsZSB3aXRoIGEgbmV3IGJhc2UgdGltZXN0YW1wLgoJICBDbGVhbnVwIHNvbWUgdmFyaWFibGVzLgoKMjAxMy0wNC0wMyAyMzo1Mjo0NyArMDEwMCAgVG9tIEdyZWVud29vZCA8dGdyZWVud29vZEBUb21zLU1hY0Jvb2stUHJvLmxvY2FsPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbXByb3ZlIGxvZ2dpbmcgd2hlbiB2cHhfY29kZWNfcGVla19zdHJlYW1faW5mbyBmYWlscwoJICBEZWNvZGUgZmFpbHVyZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIHNob3VsZCBnZXQgZGlmZmVyZW50IGRlYnVnCgkgIG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIzMgoKMjAxMy0wNC0wMyAxODoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IFJhbmsgYXMgc2Vjb25kYXJ5CgkgIFRoaXMgd2F5LCBpdCB3aWxsIGJlIHNlbGVjdGVkIGJ5IGRlY29kZWJpbgoJICBCdWcgcmVwb3J0ZWQgYnkgYW5kcmVhcy5mZW5rYXJ0QHN0cmVhbXVubGltaXRlZC5jb20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIyNwoKMjAxMy0wNC0wMyAxOTowNTozOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogc3ViZGl2aWRlIGJ1ZmZlcnMgZm9yIHNhbXBsZSBhY2N1cmF0ZSBpbnRlcnZhbCBoYW5kbGluZwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIHNraXAgbGV2ZWwgbWVzc2FnZSB3aGVuIHByb2Nlc3NpbmcgYnVmZmVycyA+IHRoZSByZXF1ZXN0ZWQKCSAgaW50ZXJ2YWwuIEFsc28gdGhlIG1lc3NhZ2UgZnJlcXVlbmN5IHdvdWxkIGNvbnRhaW4gcXVpdGUgc29tZSBqaXR0ZXIgZHVlIHRvIG9ubHkKCSAgY29uc2lkZXJpbmcgdGhlbSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcnMuCgkgIENsZWFudXAgdGhlIHRlc3RzIHdoaWxlIHdlJ3JlIGF0IGl0LgoKMjAxMy0wMy0xOSAwODoyMzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIG9sZCBzaW5jZSBjb21tZW50cyBhbmQgdXBkYXRlIGxvZ2dpbmcKCSAgRG9uJ3QgcHJldGVuZCB0aGF0IHdlIGhhdmUgYSB0aW1lc3RhbXAgb24gYSBidWZmZXIgd2hlbiB3ZSBuZXZlciBzZXQgb25lLgoKMjAxMy0wMy0xOCAyMDo1OToyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIG9sZCBzaW5jZSBjb21tZW50CgoyMDEzLTA0LTAzIDE3OjUzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSB0aGUgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5IG9mIHVkcHNyYwoKMjAxMy0wNC0wMyAxMTowOTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgYWxsIHF1ZXVlZCBidWZmZXJzCgkgIERvbid0IGp1c3QgbG9vcCBvdmVyIHRoZSBmaXJzdCBudW1fcXVldWVkIGJ1ZmZlcnMgYnV0IGxvb3Agb3ZlcgoJICBhbGwgdGhlIGJ1ZmZlcnMgYW5kIGNoZWNrIGlmIHRoZXkgbmVlZCB0byBiZSBmcmVlZC4gSXQgaXMgcG9zc2libGUgdGhhdAoJICBub3QgYWxsIGJ1ZmZlcnMgYXJlIHF1ZXVlZCBhbmQgdGhlbiB0aGUgZW50cnkgaW4gb3VyIGFycmF5IHdpbGwgYmUgTlVMTC4KCSAgVGhvc2UgYnVmZmVycyB0aGF0IGFyZSBub3QgcXVldWVkIHdlcmUgZnJlZWQgaW4gc3RvcCgpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NjUxCgoyMDEzLTA0LTAzIDExOjA5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wNC0wMiAyMzo0MjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IE9ubHkgZm9yd2FyZCBzdGljayBldmVudHMgd2hpbGUgaG9sZGluZyB0aGUgc2lua3BhZCBzdHJlYW0gbG9jawoJICBPdGhlcndpc2Ugd2UgZ2V0IGEgcmFjZSB3aGVyZSBpZiB0aGUgUlRDUCBwYWNrZXQgY29tZXMgaW4gZmlyc3QgYW5kIHdoaWxlCgkgIGl0IGlzIGFkZGVkIHRoZSBwYWRzLCB0aGUgc2VnbWVudCBldmVudCBhcnJpdmVzIG9uIHRoZSBSVFAgc3RyZWFtLCB0aGUgZXZlbnQKCSAgbWF5IGJlIGxvc3QgY29tcGxldGVseSBhbmQgbmV2ZXIgZm9yd2FyZGVkLgoKMjAxMy0wNC0wMiAyMzozNTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IE5vIG5lZWQgdG8gZXhwbGljaXRlbHkgZm9yd2FyZCB0aGUgY2FwcwoJICBUaGV5IGFyZSBmb3J3YXJkZWQgd2l0aCB0aGUgb3RoZXIgZXZlbnRzCgoyMDEzLTA0LTAyIDIyOjI5OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBydHBzc3JjZGVtdXg6IFJlbW92ZSB1bnVzZWQgR3N0U2VnbWVudAoKMjAxMy0wNC0wMiAyMjoyNjowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFNpbXBsaWZ5IGV2ZW50IGZvcndhcmRpbmcKCSAgVXNlIHRoZSBnc3RfcGFkX2ZvcndhcmQoKSBtZWNoYW5pYywgdGhpcyB3YXkgd2Ugd29uJ3QgbWlzcyBwYWRzIHRoYXQgYXJlCgkgIGFkZGVkIHdoaWxlIHdlIGFyZSBwdXNoaW5nCgoyMDEzLTA0LTAyIDIxOjUzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRG9uJ3QgY3Jvc3MgdGhlIGludGVybmFsIGxpbmtzCgkgIFdlIGhhZCB0aGUgd3JvbmcgY29uZGl0aW9uIHRvIGNoZWNrIGZvciB0aGUgaW50ZXJuYWwgbGlua3MsIHNvIFJUUCBhbmQgUlRDUAoJICBwYWRzIGdvdCBjcm9zc2VkIQoKMjAxMy0wMy0zMSAxNzo1NDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0wMiAyMzozNjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA4LTI5IDE3OjI0OjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBUcnVlSEQgYXVkaW8gY29kZWMgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzExMwoKMjAxMy0wMy0zMSAxOToxNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhcGF5OiBhZGQgZGVsdGEtdW5pdCB0byBvdXRwdXQgZnJhbWVzCgoyMDEzLTAzLTIzIDA1OjIyOjIzICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcCBkZWx0YSBhcyBkdXJhdGlvbiBpZiBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NDM3CgoyMDEzLTAzLTMwIDA5OjQ0OjQxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cDogZml4ZXMgZGVidWcgbWVzc2FnZSBwcmludGYgcmVsYXRlZCBjb21waWxlciB3YXJuaW5ncyBpbiBTQkMgZGVwYXlsb2FkZXIKCjIwMTMtMDMtMjggMTY6NDY6MzYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5Lmg6CgkgIHJ0cDogQWRkIGFuIHJ0cHNiY2RlcGF5IGVsZW1lbnQKCSAgUHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCAtIHRha2VzIFNCQyBlbmNhcHN1bGF0ZWQgaW4gUlRQLCBkZXBheWxvYWRzLCBhbmQKCSAgcHVzaGVzIG91dCBTQkMgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNyAyMjoxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cDogZml4IFNCQyBwYXlsb2FkZXIKCSAgSW5pdCBSVFAgYnVmZmVyIG9uIHN0YWNrIGNvcnJlY3RseSwgc28gbWFwcGluZyBpdCB3b3JrcwoJICB3aXRob3V0IGNyaXRpY2FscyBhbmQgdGhlIHBheWxvYWRlciBhY3R1YWxseSB3b3Jrcy4KCjIwMTMtMDMtMjYgMTQ6NDQ6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIGZvciBhIHN1YnNldCBpbnN0ZWFkIG9mIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gaW4gYWNjZXB0LWNhcHMKCjIwMTMtMDMtMjYgMTQ6Mzk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFByb3Blcmx5IGhhbmRsZSB0aGUgZmlsdGVyIGNhcHMgaW4gZ2V0X2NhcHMoKQoKMjAxMy0wMy0yNiAxNDozNTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRG9uJ3QgdW5uZWNlc3NhcmlseSBnZXQgdGhlIHBhcmVudCBjbGFzcyBpbiBjbGFzc19pbml0CgkgIFRoZSB0cmFtcG9saW5lIGdlbmVyYXRlZCBieSBHX0RFRklORV9UWVBFIGRvZXMgdGhhdCBhbHJlYWR5LgoKMjAxMy0wMy0yNSAxODowMjoxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgVXNlICUwM3UgZm9yIGZvcm1hdCBpbiBnc3RfcGFkX2NyZWF0ZV9zdHJlYW1faWRfcHJpbnRmKCkKCjIwMTMtMDMtMjUgMTA6MTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBQcmV2ZW50IHVubmVlZGVkIGNhcHMgY29weWluZyBhbmQgYWxsb2NhdGlvbgoKMjAxMy0wMi0wMSAxNDozMzo0MSArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IFBhc3MgYW55IG9yIGZpbHRlciBjYXBzIHVwc3RyZWFtCgkgIGNhcHNldHRlciBhY2NlcHRzIGFueXRoaW5nIGFuZCBqdXN0IGZvcndhcmRzIGRpZmZlcmVudCBjYXBzLAoJICBhcyBzdWNoIGl0IHNob3VsZCByZXR1cm4gQU5ZIGNhcHMgb24gdGhlIHNpbmtwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDUKCjIwMTMtMDMtMDYgMTM6MTc6NTQgKzAwMDAgIFRvbSBHcmVlbndvb2QgPHRncmVlbndvb2RAVG9tcy1NYWNCb29rLVByby5sb2NhbD4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGZvciBkaXZpZGUgYnkgemVybyB3aGVuIHVzaW5nIDAvMSBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcwOQoKMjAxMy0wMy0yNCAxNzo1NTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZXhwb3NlIENVRSBzaGVldCBpdGVtcyBhcyB0cmFja3Mgbm90IGNoYXB0ZXIgZW50cmllcyBpbiBUT0MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzMwNgoKMjAxMy0wMy0yMyAxMzoxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWRkIG1vcmUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjMgMTI6NTk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGFkZCBzb21lIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTIwIDIxOjM4OjQwICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IGFkZCBUT0Mgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwOTk4CgoyMDEzLTAzLTIzIDA0OjU2OjM2ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2UgZW1wdHkgc3VidGl0bGUgYnVmZmVyIHJlY29nbml0aW9uIG1vcmUgcm9idXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMDQgMTU6NDk6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB1bm1hcCBzb3VyY2UgZnJhbWUgd2hlbiBkb25lCgoyMDEzLTAzLTIyIDE1OjE0OjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCB0ZXN0IHJlZ3Jlc3Npb24gd2l0aCBvbmUgYnVmZmVyIHN0cmVhbXMKCjIwMTMtMDMtMDUgMTc6MDA6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNwbGl0IGxhcmdlIHJhdyBhdWRpbyBzYW1wbGVzCgkgIEluIG9yZGVyIHRvIGRlYWwgd2l0aCBhIGZpbGUgdGhhdCBoYXMgc2FtcGxlcyB0aGF0IGFyZSAyNCBzZWNvbmRzCgkgIGxvbmcuICBTZWVraW5nIHN0aWxsIGRvZXNuJ3Qgd29yayB3aXRoIHN1Y2ggZmlsZXMuCgoyMDEzLTAzLTIyIDExOjU0OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciBkdHMtbWV0aG9kCgoyMDEzLTAzLTIyIDEzOjI0OjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogZGVwcmVjYXRlIGR0cy1tZXRob2QgcHJvcGVydHkKCjIwMTMtMDMtMTMgMTc6MDg6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHByb2JsZW1zIGNhdXNpbmcgYmFkIGR1cmF0aW9ucyBpbiBmaWxlCgkgIC0gRml4IHVwIG91dC1vZi1vcmRlciBpbmNvbWluZyBEVFMgdmFsdWVzLgoJICAtIEZpeCBkdXJhdGlvbiBvZiBpbml0aWFsIHNhbXBsZS4KCjIwMTMtMDMtMTIgMTk6MDg6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGFsbCB0aW1lc3RhbXBzIG9uY2UgZmlyc3RfdHMgaXMgZGV0ZXJtaW5lZAoKMjAxMy0wMi0xNCAxNjozNDozNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBQVFMvRFRTIGZyb20gaW5jb21pbmcgYnVmZmVycwoJICBSZW1vdmUgb2xkIERUUyBndWVzc2luZyBjb2RlLgoKMjAxMy0wMy0xOCAxMjozMDo1MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBleHBvc2UgbXVsYXcgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDUyCgoyMDEzLTAzLTIyIDEwOjUwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBPcmMgPj0gMC40LjE3CgkgIE9yYyAwLjQuMTcgZml4ZXMgYSBidW5jaCBjcmFzaGVzIG9uIGkzODYgYW5kIFJQaSB3aGVuIG9yYwoJICBmdW5jdGlvbnMgY2FuJ3QgYmUgY29tcGlsZWQgYW5kIHRoZSBmYWxsYmFjayBmdW5jdGlvbiBpcwoJICBzdXBwb3NlZCB0byBiZSB1c2VkLiBBbHNvIGZpeGVzIHNvbWUgaXNzdWVzIG9uIFBvd2VyUEMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzg2MgoKMjAxMy0wMy0yMiAwODo0NzoxNyArMDAwMCAgUm9kb2xmbyBTY2h1bHogZGUgTGltYSA8cm9kb2xmb0Byb2Rzb2Z0Lm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc2FtcGxlIGxlYWsgd2hlbiBwcm9jZXNzaW5nIHByaXZhdGUgcXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzU1CgoyMDEzLTAzLTIyIDAyOjI0OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHN0cmVhbSBsYW5ndWFnZSBjb2RlIGZyb20gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNTgKCjIwMTMtMDMtMjEgMDI6NTU6MDYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2VuZCBHQVAgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMjEgMDI6NTM6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaWdub3JlIGVtcHR5IHN1YnRpdGxlIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0yMSAwMjo1MjowNyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlY29nbml6ZSBTQlRMIHN1YnR5cGUgZm9yIHN1YnRpdGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTE3IDE2OjI3OjAzICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBzdXBwb3J0IGZvciB0aGUgdG9jLXNlbGVjdCBldmVudAoJICBTZWxlY3QgdHJhY2tzIGZyb20gdGhlIENVRSBzaGVldCBieSBzZW5kaW5nIGEgdG9jLXNlbGVjdAoJICBldmVudCBiYXNlZCBvbiB0aGUgdWlkIGluIHRoZSBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTMtMDMtMTkgMTg6MDk6MzEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgbXA0bXV4OiBpbiBmYXN0c3RhcnQgbW9kZSwgZG9uJ3Qgb3V0cHV0IHVwIHRvIDQga0Igb2YgZ2FyYmFnZSBhdCB0aGUgZW5kLgoKMjAxMy0wMy0yMCAwMDozNToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IHBhY2sgbXVsdGlwbGUgZnJhbWVzIGludG8gb25lIG91dHB1dCBidWZmZXIKCSAgRG9uJ3Qgb3V0cHV0IGEgc2luZ2xlIGJ1ZmZlciBmb3IgZXZlcnkgdGlueSBTQkMgZnJhbWUKCjIwMTMtMDMtMTggMTQ6NTk6MzUgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIGFnYWluc3QgbmV3ZXIga2VybmVsIGhlYWRlcnMgYXMgb24gRkMxOQoKMjAxMy0wMy0xNCAxNDoxMjowNSArMDEwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBpbmZpbml0ZSBsb29wIG9uIEVPUyB3aXRoIG5vbi1kZWZhdWx0IG1ldGhvZHMgb3IgZmllbGRzCgkgIEZpeGVzIHByb2JsZW0gb2YgaW5maW5pdGUgbG9vcCBpbiBnc3RfZGVpbnRlcmxhY2VfcmVzZXRfaGlzdG9yeS4KCSAgTGFzdCBmaWVsZCBpbiB0aGUgaGlzdG9yeSB3YXMgbmV2ZXIgZGVpbnRlcmxhY2VkIGJlY2F1c2UgaWR4IGJlY29tZXMgbmVnYXRpdmUuCgkgIEhhcHBlbnMgZS5nLiB3aXRoIG1ldGhvZD1zY2FsZXJib2IgZmllbGRzPWJvdHRvbSBvcgoJICBtZXRob2Q9Z3JlZWR5bCBmaWVsZHM9dG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzE3MwoKMjAxMy0wMy0xMiAwOTo0ODozMSArMDAwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBkb24ndCByZXR1cm4gRkFMU0Ugd2hlbiBkcm9wcGluZyBzaW5rIGV2ZW50cwoJICBGaXhlcyBwcm9ibGVtIGluIGNvbmp1bmN0aW9uIHdpdGggYXZpZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NDMKCjIwMTMtMDMtMTIgMDA6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNoYW5nZSByYXcgdmlkZW8gY2FwcyBvcmRlciBzbyB0aGF0IEdSQVk4IGlzIGxhc3QKCSAgUGVvcGxlIGxpa2UgY29sb3Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MwoKMjAxMy0wMy0xMSAxNDo1MDo0MSArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEb24ndCB1c2UgdXBzdHJlYW0gY2FwcyB3aXRoIHBlZXJfcXVlcnlfY2FwcyAoKQoJICBDYWxsaW5nIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzICgpIG9uIHRoZSBzcmMgcGFkIHdpdGggdGhlIGNhcHMKCSAgdXBzdHJlYW0gY2FuIHByb2R1Y2UgYXMgYSBmaWx0ZXIgZnJvbSBnc3RfcnRwX2gyNjRfcGF5X2dldGNhcHMgKCkKCSAgaXMgd3JvbmcgYW5kIG1ha2VzIGNhcHMgbmVnb3RpYXRpb24gZmFpbCBpZiB1cHN0cmVhbSBjYXBzIGFyZSBub3QKCSAgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTYyOQoKMjAxMy0wMy0xMCAwOToxMDoxOCArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHN1cHBvcnQgcmF3IEJHUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQzCgoyMDEzLTAzLTEwIDA5OjI1OjM0ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN1cHBvcnQgcmF3IHZpZGVvIHdpdGggbmVnYXRpdmUgaGVpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDEKCjIwMTMtMDMtMDUgMTQ6NDA6NTYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0IGNoZWNrdGVzdDogRG8gbm90IGZhaWwgd2l0aG91dCB2aWRlb3NpbmsKCSAgSWYgdGhlcmUgaXMgbm8gdmlkZW9zaW5rIGF2YWlsYWJsZSBhdXRvdmlkZW9zaW5rIHdpbGwgY29udGFpbiBhCgkgIGZha2VzaW5rIGluc3RlYWQgd2hpY2ggbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQgaW4gdGhlIHVuaXQgdGVzdC4KCjIwMTMtMDMtMDkgMDE6MTg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZHRtZjogbW92ZSBkdG1mIHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wOSAwMDozMDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnZHRtZi1tb3ZlZC1mcm9tLWJhZCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wNSAyMToyMjoxOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGFkZCBzdXBwb3J0IGZvciBpT1MgdXNpbmcgdGhlIFJlbW90ZUlPIEF1ZGlvVW5pdAoKMjAxMy0wMy0wNSAyMToxNzo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvOiBhZGQgYSBmYcOnYWRlIGZvciB0aGUgQ29yZUF1ZGlvIEFQSQoKMjAxMy0wMy0wNyAwMDowMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmRlMjIxYyB0byAwNGM3YTFlCgoyMDEzLTAzLTAzIDExOjU5OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbWF0cm9za2E6IEluY2x1ZGUgY29uZmlnLmgsIGl0J3MgbmVlZGVkIGZvciBfc3RkaW50LmgKCjIwMTMtMDMtMDMgMTE6NTM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggKHdyb25nKSB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEzLTAzLTAyIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCB2YXJpYW50IGZpZWxkIHRvIEguMjYzIGNhcHMKCSAgYXZkZWNfaDI2MyB3b24ndCBnZXQgcGx1Z2dlZCBvdGhlcndpc2UuCgoyMDEzLTAyLTIyIDE5OjA2OjUyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBza2lwIGRpc2FibGVkIHRyYWNrcwoJICBJU08vSUVDIDE0NDk2LTEyIHNwZWNpZmllcyBkaXNhYmxlZCB0cmFja3Mgc2hvdWxkIGJlIGNvbXBsZXRlbHkKCSAgaWdub3JlZCwgc28ganVzdCBkbyBpdC4KCSAgQXZvaWRzIGRlYWRsb2NrIGR1cmluZyBwcmVyb2xsaW5nIGZvciBzb21lIGZpbGVzLgoJICBBbHNvIHByZXZlbnRzICdjaGFwdGVyJyBzdWJ0aXRsZSB0cmFja3MgZnJvbSBzaG93aW5nIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTkzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjg3OTAKCjIwMTMtMDItMjUgMDk6NTg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogcmUtYWRkIHN1cHByZXNzaW9uIGZvciBHVmFsdWVBcnJheSB3YXJuaW5ncyB0byB1bml0IHRlc3QgYXMgd2VsbAoKMjAxMy0wMi0yOCAxMzoyNTowNiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiB1c2UgcmVsYXRpdmUgaW5jbHVkZSBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yOCAwODo0Njo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIHRoZSBzaW5jZSBkb2MtY29tbWVudCBmcm9tIDAuMTAKCjIwMTMtMDItMjggMDg6NDQ6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgbGV2ZWw6IGFkZCBhICJwb3N0LW1lc3NhZ2VzIiBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlICJtZXNzYWdlIgoJICBJbiBzcGVjdHJ1bSB0aGlzIHdhcyBjaGFuZ2VkIGZyb20gMC4xMCB0byAxLjAsIGxldHMgZG8gdGhpcyBoZXJlIHRvby4KCjIwMTMtMDItMjcgMTg6NTY6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdHMgZm9yIGR0bWZzcmMKCjIwMTMtMDItMjcgMTY6MTU6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBGaXggcmVmIGxlYWsgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI2IDE0OjE4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBzdHJlYW10eXBlIGlzIG5vdCBwdXQgYnkgYWxsIFJUU1Agc2VydmVyLCBub3QgbWFrZSBpdCBvcHRpb25hbAoJICBTcGVjaWZpYyBjYXNlIGhlcmUgaXMgV293emEgMy41LjAKCjIwMTMtMDItMjUgMDA6MzU6NTggKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHB1dCBiYWNrIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgoyMDEzLTAyLTI0IDE3OjAwOjE0ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBzZW5kIGxhc3QgbWVzc2FnZSBvbiBFT1MKCjIwMTMtMDItMjMgMTQ6MzQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTogaGFuZGxlIHNvbWUgbW9yZSAwLXNpemUgYnVmZmVyIGNhc2VzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NDQKCjIwMTMtMDItMjMgMTg6NTA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggdXAgZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgoyMDEyLTExLTIwIDEyOjE0OjA3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBVcGRhdGUgc2VnZG9uZSBwZXJpb2RpY2FsbHkKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXBkYXRlIHNlZ2RvbmUgYmFzZWQgb24gdGhlIHJlYWQgaW5kZXggcmVjZWl2ZWQKCSAgZHVyaW5nIGxhdGVuY3kgdXBkYXRlcy4gQXMgdGhlIGNvbW1lbnQgbm90ZXMsIHdlIG1ha2Ugc29tZSBjb21wcm9taXNlcwoJICB0byBkZWFsIHdpdGggdGhlIGZhY3QgdGhhdCBzZWdkb25lIGlzIGEgc2VnbWVudCBtdWx0aXBsZSwgd2hpbGUgdGhlIHJlYWQKCSAgaW5kZXggb2ZmZXJzIGZpbmVyIGdyYW51bGFyaXR5LiBUaGUgdXBkYXRlcyBhcmUgYWxzbyBub3QgdmVyeSBvZnRlbgoJICAoMTAwbXMgc2luY2UgdGhhdCBpcyBob3cgb2Z0ZW4gYXV0b21hdGljIHRpbWluZyB1cGRhdGVzIGFyZSBwcm92aWRlZCkuCgkgIEFsbCB0aGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgYmFzZWF1ZGlvc2luayBzYW1wbGUgYWxpZ25tZW50IGNvZGUgdG8gd29yawoJICBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyNTcKCjIwMTMtMDItMTMgMTA6NDY6NTQgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IHdyb25nIGNvZGUgb3JnYW5pc2F0aW9uIGluIGNhc2Ugb2YgY29sbGlzaW9uCgkgIGNoYW5nZV9zc3JjIGZpZWxkIG9mIFJUUFNlc3Npb24gc2hvdWxkIGJlIHNldCBiZWZvcmUgY2FsbGluZwoJICBydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkICgpIGFzIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsIHJlY29uc2lkZXIgZnVuY3Rpb24KCSAgdGhhdCB3aWxsIHdha2UgdXAgcnRjcF90aHJlYWQgd2hpY2ggd2lsbCBjYWxsIHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgKCkgdGhhdCB3aWxsCgkgIGNoZWNrIGNoYW5nZV9zc3JjIHRvIGNoYW5nZSB0aGUgc3NyYy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDE4NAoKMjAxMy0wMi0yMSAxMToxNToyMyAtMDUwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvZiBjaHJvbWEga2V5aW5nLXJlbGF0ZWQgcHJvcGVydGllcyBhbmQgZW51bXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM3NAoKMjAxMy0wMi0yMSAxNTowMToxNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRG8gbm90IG92ZXJyaWRlIHRoZSBtZXRob2Qgd2l0aCBjdXN0b20gci9nL2IgdmFsdWVzCgkgIERlcGVuZGluZyBvbiB0aGUgb3JkZXIgZ19vYmplY3Rfc2V0KCkgY2FsbHMgYWFyZSBtYWRlLCB0aGUKCSAgdGFyZ2V0IHIvZy9iIHNldHRpbmdzIHdpbGwgb3ZlcnJpZGUgdGhlIG1ldGhvZCBpZiBzZXQgdG8KCSAgZ3JlZW4vYmx1ZS4gQ2hhbmdlIHRoYXQgc28gd2UgZG8gbm90IHVzZSB0aGUgdGFyZ2V0LXIvZy9iIHZhbHVlcwoJICB1bmxlc3MgdGhlIG1ldGhvZCBpcyBzZXQgdG8gY3VzdG9tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mzc0CgoyMDEzLTAyLTIwIDE1OjQ2OjQzICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBkbyBub3QgbGVhayBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mjc1CgoyMDEzLTAyLTIwIDIxOjAzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBvbmx5IGRlbGF5IFJUQ1Agd2hlbiB3ZSBhcmUgYSBzZW5kZXIKCSAgT25seSBkZWxheSB0aGUgUlRDUCB0aHJlYWQgd2hlbiB3ZSBhcmUgYSBzZW5kZXIsIHdoaWNoIHdlIGNhbiBrbm93IGJlY2F1c2Ugd2UKCSAgaGF2ZSBhIHNlbmRfcnRwX3NyYyBwYWQuIE90aGVyd2lzZSB3ZSBtaWdodCBkZWxheSB0aGUgUlRDUCB0aHJlYWQgaWYgd2UKCSAgYXJlIG9ubHkgYSByZWNlaXZlciBhbmQgdGhlbiB0aGVyZSBpcyBubyBjb2RlIHBhdGggdGhhdCB3YWtlcyB1cCB0aGUKCSAgUlRDUCB0aHJlYWQgYW5kIHdlIGVuZCB1cCB3aXRob3V0IFJUQ1AgcGFja2V0cy4KCjIwMTMtMDItMTkgMTE6NDc6MjAgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQWRkIHN1cHBvcnQgb2YgZG1hYnVmCgkgIHY0bCBoYXMgYWRkIGEgbmV3IElPQ1RMIHRvIGV4cG9ydCBhIGJ1ZmZlciBieSB1c2luZyBkbWFidWYuCgkgIFRoaXMgcGF0Y2ggYWxsb3cgdG8gdXNlIHRoaXMgbmV3IElPVENMIGlmIGl0IGhhcyBiZWVuIGRlZmluZWQgaW4gdmlkZW9kZXYyLmgKCSAgSSBpbnRyb2R1Y2UgYSBuZXcgSU8gbW9kZSAoR1NUX1Y0TDJfSU9fRE1BQlVGKSB0byBlbmFibGUgdGhpcyB3YXkgb2Ygd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzgyNgoKMjAxMy0wMi0xOCAyMDowNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHVwIGRvZGd5IGNvZGUgdGhhdCB0cmllcyB0byBmaXggdXAgYSBicm9rZW4gbW9vdiBhdG9tCgkgIEFmdGVyIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGdzdF9idWZmZXJfY29weV9pbnRvKCkgd2lsbCBsaWtlbHkKCSAgYXBwZW5kIHRvIHRoZSBhbHJlYWR5LWV4aXN0aW5nIG1lbW9yeSBpbnN0ZWFkIG9mIGZpbGxpbmcgaXQuCgoyMDEzLTAyLTE4IDE2OjMyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIG9uIHNob3J0IE1PT1YgYXRvbQoJICBEb24ndCB1bm1hcCBzaG9ydCBNT09WIGF0b20gYnVmZmVyIHR3aWNlLCB3aGljaCBoYXBwZW5lZAoJICBpbiB0aGUgY2FzZSB3aGVyZSB3ZSBkb24ndCBmaXggdXAgdGhlIE1PT1YgYXRvbS4KCSAgRml4ZXMgY3Jhc2hlcyB3aGVuIHRodW1ibmFpbGluZyBwYXJ0aWFsIG1wNCBmaWxlIHdoZXJlCgkgIHRoZSBNT09WIGF0b20gaXMgc3RpbGwgaW5jb21wbGV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDAxMAoKMjAxMy0wMi0xNiAxNjo0OToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICBzb3VwaHR0cHNyYzogc2V0IFNPVVBfVkVSU0lPTl97TUlOX1JFUVVJUkVELE1BWF9BTExPV0VEfSB0byBzdXBwcmVzcyBkZXByZWNhdGlvbnMgd2l0aCBuZXdlciB2ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgoyMDEzLTAyLTE2IDE1OjQ3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiB1c2UgZGVmYXVsdCBwcm94eSByZXNvbHZlciBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgR05PTUUgcHJveHkgcmVzb2x2ZXIKCSAgQXBwYXJlbnRseSB0aGVyZSdzIG5vIHJlYXNvbiB0byB1c2UgaXQgYW55IGxvbmdlci4gRHJvcCBsaWJzb3VwLWdub21lCgkgIGRlcGVuZGVuY3kgd2hpbGUgYXQgaXQsIG5vdyB0aGF0IHdlIGRvbid0IG5lZWQgYW55dGhpbmcgZnJvbSBpdCBhbnkKCSAgbW9yZSAoaXQgb25seSBjb25zaXN0cyBlbnRpcmVseSBvZiBkZXByZWNhdGVkIEFQSSBub3cgYW55d2F5cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTMtMDItMTUgMTU6NDM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZml4IHNvbWUgaDI2NCBjYXBzCgkgIERvZXNuJ3QgZml4IGFueXRoaW5nIGluIHBhcnRpY3VsYXIsIGJ1dCBpcwoJICBzdGlsbCBuZWVkZWQgaGVyZSBmb3IgY29ycmVjdG5lc3MuCgoyMDEzLTAyLTE1IDA4OjE5OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiByZW1vdmUgY2hhbm5lbC1tYXNrIGZyb20gY2FwcwoJICBUaGUgY2hhbm5lbC1tYXNrIGlzIG9ubHkgbmVlZGVkIGZvciBjaGFubmVscz4yIHdoaWNoIHdlIGRvbid0IGRvLgoKMjAxMy0wMi0xNSAxNjoyMToyMSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZG9uJ3QgY2hlY2sgc3RyaWRlIGZvciBlbmNvZGVkIGZvcm1hdHMKCSAgRG9uJ3QgdHJ5IHRvIGNoZWNrIHRoZSBzdHJpZGUgZm9yIGVuY29kZWQgZm9ybWF0cy4gU29tZSBkcml2ZXJzIG91dHB1dAoJICBzb21ldGhpbmcgIT0gMCBhbmQgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGZhaWwgb24gdGhhdC4KCjIwMTMtMDItMTUgMTQ6MTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiB1c2UgZ19zb2NrZXRfc2V0X29wdGlvbigpIHRvIHNldCBidWZmZXIgc2l6ZSB3aXRoIG5ld2VyIEdMaWIgdmVyc2lvbnMKCSAgU28gd2UgaGF2ZSB0byB3b3JyeSBsZXNzIGFib3V0IHBvcnRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDAwCgoyMDEzLTAyLTE0IDE0OjEzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIHNvZi1tYXJrZXIgZnJvbSB0ZW1wbGF0ZSBjYXBzIGZvciBub3cKCSAgTm93IHRoYXQgdGhlIHN1YnNldCBjaGVjayBhY3R1YWxseSB3b3JrcywgdGhpcyBicmVha3MKCSAgdGhpbmdzIHdpdGggZGVtdXhlcnMgdGhhdCBkb24ndCBwdXQgYSAic29mLW1hcmtlciIKCSAgaW4gdGhlaXIganBlZyBjYXBzLCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIGdvb2QgcGFyc2VyCgkgIHRvIHBsdWcgZWl0aGVyIHlldC4KCjIwMTMtMDItMTMgMTI6MzI6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IFB1dCB0aGUgU09GIG1hcmtlciBpbnRvIHRoZSBjYXBzCgoyMDEzLTAyLTEzIDEyOjAyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwLXBheWxvYWRpbmc6IEZpeCB1bml0IHRlc3QgY2FwcyBhbmQgQU1SIGRlcGF5bG9hZGVyIHNpbmsgdGVtcGxhdGUgY2FwcwoJICBGaWVsZHMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGFjdHVhbCBjYXBzLCBvciB0b28gbWFueSBmaWVsZHMKCSAgZXhpc3RlZCBpbiB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTMtMDItMTMgMTE6NTM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjYXBzIHVzZWQgaW4gdGhlIHVuaXQgdGVzdAoJICBUaGUgQUFDIGNhcHMgcGFzc2VkIHdlcmUgaW5jb21wbGV0ZS4KCjIwMTMtMDItMTMgMTE6NDk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFjazogRml4IHVuaXQgdGVzdHMsIHdpZHRoIGlzIG5vdyBjYWxsZWQgZGVwdGggaW4gdGhlIGNhcHMgaW4gMS4wCgoyMDEzLTAyLTEyIDIzOjMxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IG1ha2Ugc291cGh0dHBzcmMgdW5pdCB0ZXN0IHdvcmsgZXZlbiBpZiBodHRwX3Byb3h5IGlzIHNldAoJICBXZSdyZSB0ZXN0aW5nIHdpdGggYW4gaHR0cCBzZXJ2ZXIgb24gbG9jYWxob3N0LCBidXQgZG9uJ3Qgc3VwcG9ydAoJICBhbiBleGNlcHRpb24gbGlzdCBmb3IgdGhlIGh0dHBfcHJveHksIHNvIGp1c3QgdW5zZXQgdGhlIGVudmlyb25tZW50CgkgIHZhcmlhYmxlIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSBldmVuIGlmIHRoZQoJICBlbnZpcm9ubWVudCBoYXMgaHR0cF9wcm94eSBzZXQuCgkgIEFsc28sIGRvbid0IHNraXAgYWxsIHRlc3RzIGlmIHRoZXJlIGlzIGFuIGlzc3VlIHdpdGggdGhlIFNTTCBzZXJ2ZXIsCgkgIGp1c3QgcnVuIHRoZSBub24tU1NMIHRlc3RzIHRoZW4uCgkgIGh0dHBzOi8vamVua2lucy5xYS51YnVudHUuY29tL3ZpZXcvUmFyaW5nL3ZpZXcvSkhCdWlsZCUyMEdub21lL2pvYi9qaGJ1aWxkLWFtZDY0LWdzdC1wbHVnaW5zLWdvb2QvCgoyMDEzLTAyLTEyIDEyOjUzOjUyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBjb2RlY19kYXRhIGZvciBQcm9SZXMKCjIwMTMtMDItMDggMDE6MDI6MTAgKzExMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBGaXhpbmcgYnVmZmVyIGxlYWsgaW4gZ3N0X2F2aV9tdXhfZG9fYnVmZmVyCgkgIGdzdF9hdmlfbXV4X2RvX2J1ZmZlciB3YXMgbGVha2luZyBkYXRhIGZyb20gZ3N0X2NvbGxlY3RfcGFkc19wb3AuCgoyMDEzLTAyLTEwIDE1OjEwOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3JyZWN0IGR1cmF0aW9uIGZvciBhdWRpbyBWQlIgYnVmZmVycyBpbiBwdWxsIG1vZGUKCjIwMTMtMDItMDggMjE6Mjg6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByb3BlciBwb3NpdGlvbiByZXBvcnRpbmcgYW5kIHB1c2ggbW9kZSB0aW1lc3RhbXBpbmcKCSAgLi4uIGFuZCBhbGlnbiBjdXJyZW50X3RvdGFsIHNlbWFudGljcyBpbiBwdXNoIGFuZCBwdWxsIG1vZGUsCgkgIHdoaWNoIHRyYWNrcyBieXRlcyBmb3IgQ0JSIGFuZCBibG9ja3MgZm9yIFZCUi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQ4MQoKMjAxMy0wMi0wOCAxNzowNToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZGVsYXkgUlRDUCB1bnRpbCBmaXJzdCBSVFAgcGFja2V0CgkgIERlbGF5IHNlbmRpbmcgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IHVudGlsIHdlIGhhdmUgc2VudCB0aGUgZmlyc3QgUlRQIHBhY2tldC4KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc2VuZCBvdXQgYSBSZWNlaXZlciBSZXBvcnQgaW5zdGVhZCBvZiBhIHNlbmRlciByZXBvcnQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNDAwCgoyMDEzLTAyLTA3IDE1OjA2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzNTUKCjIwMTMtMDEtMjkgMTA6NDg6MTcgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZm9yd2FyZCBzdGlja3kgZXZlbnRzIGFuZCB0aGVuIHNldCBjYXBzCgkgIFdoZW4gYSBuZXcgc3JjIHBhZCBpcyBhZGRlZCwgZmlyc3QgZm9yd2FyZCB0aGUgc3RpY2t5IGV2ZW50cyBhbmQgdGhlbgoJICBzZXQgdGhlIGNhcHMgb24gdGhlIHNyYyBwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4NgoKMjAxMy0wMi0wNyAxNDozMjoyNiArMDEwMCAgTWFya292dHNldiBWYWRpbSA8di5tYXJrb3Z0c2V2IGF0IHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODkzNQoKMjAxMS0wOS0yNiAxNDo0Mjo1MSAtMDcwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJld29yayBjbGVhbnVwIG9mIHN0cmVhbXMKCSAgTW92ZSB0aGUgd29yayBvZiBjbGVhbmluZyB1cCB0aGUgY2xpZW50IHN0cmVhbXMgaW4gdGhlIGZyZWVfc3RyZWFtCgkgIGZ1bmN0aW9uLiBUaGlzIGFsbG93cyB1cyB0byBwcm9wZXJseSBjbGVhbiB1cCB0aGUgY2xpZW50IHN0cmVhbXMgd2hlbiB3ZQoJICByZW1vdmUgYW4gUlRQIHN0cmVhbSBhcyB3ZWxsLgoJICBCYXNlZCBvbiBwYXRjaCBieSBTdWpheSA8c2RhdGFyQGNpc2NvLmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDE1NgoKMjAxMy0wMi0wNyAxMTo0MDozNSArMDEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8Z25vbWUgYXQgbWl0aGlzLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBhdm9pZCBjYXBzIGxlYWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMwNwoKMjAxMy0wMi0wNiAxNzoxNToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRvIHNrZXcgZXN0aW1hdGlvbiBvbmx5IGZvciBuZXcgdGltZXN0YW1wcwoJICBPbmx5IHJ1biB0aGUgc2tldyBlc3RpbWF0aW9uIGNvZGUgd2hlbiB3ZSBoYXZlIGEgbmV3IFJUUCB0aW1lc3RhbXAuIElmIHdlIGhhdmUKCSAgdGhlIHNhbWUgUlRQIHRpbWVzdGFtcCwgd2Ugc2ltcGx5IHVzZSB0aGUgcHJldmlvdXMgZXN0aW1hdGlvbi4gVGhpcyB3b3JrcwoJICBiZWNhdXNlIHRoZSBuZXcgb2JzZXJ2YXRpb24gd2l0aCB0aGUgc2FtZSBSVFAgdGltZXN0YW1wIGhhcyB0byBoYXZlIGEgYmlnZ2VyCgkgIHJlY2VpdmVyIHRpbWUgYW5kIGlzIHRodXMgbm90IGdvaW5nIHRvIGluZmx1ZW5jZSB0aGUgZXN0aW1hdGlvbiBleGNlcHQgZm9yCgkgIGNhdXNpbmcgbW9yZSBqaXR0ZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMjMKCjIwMTMtMDItMDYgMTM6NTI6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgRU9TIHdoZW4gb3VyIHNvdXJjZSBzZW5kcyBCWUUKCSAgT25seSBFT1Mgd2hlbiB3ZSByZWNlaXZlIGEgQllFIGV2ZW50IGZyb20gdGhlIFNTUkMgb2Ygb3VyIHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ1MwoKMjAxMy0wMi0wNiAxMzo0Nzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2F2ZSB0aGUgc3RyZWFtIFNTUkMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCjIwMTMtMDItMDYgMTM6MTg6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZsdXNoIGNvbm5lY3Rpb24gd2hlbiBzdG9wcGluZwoJICBXaGVuIHdlIHN0b3AsIHdlIGNhbiBmbHVzaCBhbGwgcGVuZGluZyBjb21tYW5kcyBzbyB0aGF0IHdlIGNhbiBzdG9wIGFuZAoJICBqb2luIHRoZSB0YXNrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTI0CgoyMDEzLTAyLTA1IDIyOjAyOjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgc3BlY3RydW06IHJlbW92ZSBvdXRkYXRlcyByZWFkbWUKCSAgTGV0cyByZW1vdmUgdGhlIHJlYWRtZSBmcm9tIHByZS0wLjEuMCB0aGF0IGlzIGNvbXBsZXRlbHkgaXJyZWxldmFudCBub3cuCgoyMDEzLTAyLTA1IDA3OjMyOjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBhZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDEzLTAyLTA1IDA4OjI2OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBsZXZlbC1leGFtcGxlLiBhdm9pZCB0YWtpbmcgdGhlIGFycmF5cyBhZ2FpbiBmb3IgZWFjaCBjaGFubmVsIGZvciBjbGFyaXR5CgkgIEFsc28gaW50cm9kdWNlIHNvbWUgYmxhbmsgbGluZXMgZm9yIGJldHRlciByZWFkYWJpbGl0eSBhbmQgdXBkYXRlIHRoZSBjb21tZW50cy4KCjIwMTMtMDItMDQgMTg6Mzg6NDEgKzAwMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGF1ZGlvcGFyc2VyczogZml4IHR5cG8gaW4gbm9pbnN0X2hlYWRlcnMKCjIwMTMtMDItMDQgMTE6MDg6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZ1cnRoZXIgcG9ydCB0byAxLjAKCSAgVHJhbnNmb3JtY2FwcyBpcyBub3QgY2FsbGVkIHdpdGggY2FwcyBjb250YWluaW5nIHNpbmdsZSBzdHJ1Y3R1cmVzIGFueW1vcmUuIEFsc28gYWRkIG1pc3NpbmcgZmlsdGVyIGhhbmRsaW5nLiBTdGlsbCBkb2VzIG5vdCBuZWdvdGlhdGUgdGhvdWdoLgoKMjAxMy0wMi0wMyAyMjo0NTo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IGNhcHMKCSAgV2UgZG9uJ3QgdHVybiBmbG9hdCBpbnRvIDMyYml0IHBjbS4gTG9va3MgbGlrZSBhIHR5cG8gZnJvbSB1cGRhdGluZyB0aGUgY2Fwcy4KCjIwMTMtMDItMDMgMTM6MTQ6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IEFkZCBtaXNzaW5nIGNvbWEgYmV0d2VlbiBmb3JtYXRzCgoyMDEzLTAxLTMxIDIyOjU1OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBlb3MgdGltZXN0YW1wIGNoZWNrCgkgIGZpeGVzIGhhbmcgaW4gdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwICEgdmlkZW9taXhlciAhIGZha2VzaW5rCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzUKCjIwMTMtMDEtMzEgMTE6MzU6MDkgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmF3IG1vbm9jaHJvbWUgOC1iaXQgdmlkZW8KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMgoKMjAxMy0wMS0xOCAyMTowODoxMiArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3ROYXZpZ2F0aW9uIGtleSBpbnB1dCBldmVudHMgaW4gb3N4dmlkZW9zaW5rIGNvbXBhdGlibGUgd2l0aCB4KHYpaW1hZ2VzaW5rIG9uZXMKCjIwMTMtMDEtMjkgMTA6MzA6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkICcuLi5pcyB1c2VkIHVuaW5pdGlhbGl6ZWQnCgoyMDEzLTAxLTA5IDEzOjI0OjQ5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBpbnRlcmxlYXZlZCBsYXlvdXQgY29ycmVjdGx5IGZvciBMUENNIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6NDU6MjEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIExQQ00gZm91cmNjICh1bmNvbXByZXNzZWQgYXVkaW8gaW4gUXVpY2t0aW1lNykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDo0MjozNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmludCBhbGwgZGVidWcgZm9yIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbiB2MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjE0OjE3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbiB2MiBkb2Vzbid0IG92ZXJyaWRlIHNhbXBsZXNfcGVyX3BhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDE5OjU3OjUwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhc3Mgc3RzZCBkYXRhIHRvIHF0ZGVtdXhfYXVkaW9fY2FwcygpCgkgIFdlIHdpbGwgbmVlZCB0aGF0IGxhdGVyIGZvciBMUENNIGZvcm1hdCBzdXBwb3J0LiBEaXNhYmxlCgkgIFFETTIgcGFyc2luZyBvZiBzdHNkIGRhdGEgd2hpY2ggZGVhZCBjb2RlIGJlZm9yZSBhcyB3ZWxsCgkgIGJlY2F1c2UgZGF0YSB3YXMgYWx3YXlzIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMTk6NTY6NDYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGxlbiBjaGVjayBmb3Igc291bmQgc2FtcGxlIGRlc2NyaXB0aW9ucyB2MSBhbmQgdjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0yOCAyMjo0MjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBtYW5hZ2VyOiB1c2UgQzg5LXN0eWxlIGNvbW1lbnRzCgoyMDEzLTAxLTI4IDE4OjA2OjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBGaXggZG91YmxlLWRlY2xhcmVkIHZhcmlhYmxlCgoyMDEzLTAxLTI4IDE3OjU4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwOiBGaXggY29tcGlsYXRpb24gZXJyb3JzIGluIHByZXZpb3VzIHBhdGNoZXMKCjIwMTEtMDQtMjggMjI6NTk6MjggKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBFbnN1cmUgTVQgc2FmZSBldmVudCBoYW5kbGluZyBhbmQgcGx1ZyBldmVudCBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODI2CgoyMDExLTEwLTE3IDIzOjQ1OjM3ICswMjAwICBJZGFyIFRvbGxlZnNlbiA8aXRvbGxlZnNAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtdC1zYWZlIGV2ZW50LXB1c2gKCSAgQnkgdGFraW5nIGEgcmVmIG9mIHRoZSBzaW5rLXBhZCB1bmRlciBsb2NrLCBpdCB3b24ndCBkaXNzYXBwZWFyCgkgIHdoaWxlIHRoZSBwdXNoIGlzIHRha2luZyBwbGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE2CgoyMDEyLTAxLTA0IDEwOjI5OjQ1ICswMTAwICBQYXNjYWwgQnVobGVyIDxwYWJ1aGxlckBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBTYWZlbHkgcHVzaCBvbiBwYWRzIHRoYXQgbWlnaHQgYmUgcmVtb3ZlZCBkdWUgdG8gYSBSVENQIEJZRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE1CgoyMDEzLTAxLTI4IDIwOjQyOjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOTQyMjkzIHRvIDJkZTIyMWMKCjIwMTMtMDEtMjggMTE6NTQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogaW5pdCBzb21lIHZhcmlhYmxlcyB0byBhdm9pZCBib2d1cyBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMS0yOCAxMjo0MTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHBkZXBheTogcmVtb3ZlIHBheWxvYWQgdHlwZSByZXN0cmljdGlvbnMKCSAgUmVtb3ZlIHRoZSBwdCByZXN0cmljdGlvbnMgZm9yIGFsbCB0aGUgZGVwYXlsb2FkZXJzIHRoYXQgaGF2ZSBhbgoJICBlbmNvZGluZy1uYW1lLiBXZSBjYW4gdXNlIHRoaXMgdG8gYXV0b3BsdWcgZGVjb2RlcnMuCgkgIFJlbW92ZSB0aGUgZW5jb2RpbmctbmFtZSBmb3IgYWxsIHRoZSBwYXlsb2FkZXJzIHdpdGggYSBmaXhlZCBwYXlsb2FkCgkgIHR5cGUuCgkgIFdlIG5vdyBlaXRoZXIgaGF2ZSBhbiBlbmNvZGluZy1uYW1lIG9yIGEgcHQgaW4gdGhlIHNpbmtwYWQgY2FwcyBvZgoJICBhIGRlcGF5bG9hZGVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoKMjAxMy0wMS0yOCAxMjoyMzo0MSArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHA6IHJlbW92ZSBwYXlsb2FkIHJlcXVpcmVtZW50cyBmcm9tIHNlbGVjdGVkIGRlcGF5bG9hZGVycwoJICBlbmNvZGluZyBuYW1lIGlzIHJlcXVpcmVkIGluIHRoZSBjYXBzIGFuZCBpcyBhIGJldHRlciBmaXQgZm9yIGF1dG9wbHVnZ2luZyB0aGFuCgkgIHRoZSBwdCB2YWx1ZS4gSGFyZHdhcmUgbWFudWZhY3R1cmVycyBoYXZlIGEgYmFkIGhhYml0IG9mIHNraW1taW5nIHRocm91Z2ggUkZDcwoJICBhbmQgaW4gdGhpcyBjYXNlOyB1c2UgdW5hc3NpZ25lZCBudW1iZXJzIGZvciBlbmNvZGVycyBpbnN0ZWFkIG9mIGR5bmFtaWMKCSAgbnVtYmVycy4KCSAgSW4gZXNzZW5jZSwgdGhpcyBwYXRjaCB3aWxsIGFkZCBzdXBwb3J0IGZvciBhIGxvdCBvZiBCb3NjaCBoYXJkd2FyZSBlbmNvZGVycwoJICB3aXRob3V0IGJyZWFraW5nIGF1dG9wbHVnZ2luZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoKMjAxMy0wMS0yNyAxMDoxNzo1OSArMDUzMCAgQi5QcmF0aGliaGEgPGJvc3NsaW51eEBjZGFjLmluPgoKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICB0ZXN0czogdXNlIGdfdGltZW91dF9hZGRfc2Vjb25kcyBpbnN0ZWFkIG9mIGdfdGltZW91dF9hZGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjYxNQoKMjAxMy0wMS0yNyAxMjo1NDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTogb25seSBwYXJzZSBtb292IDEgb25jZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTAxLTI2IDIyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBkdG1mc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZHRtZl9zcmNfcHJlcGFyZV9tZXNzYWdlLmlzcmEuMSc6CgkgIGdzdHJ0cGR0bWZzcmMuYzo2Njk6MzogZXJyb3I6ICdzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTMtMDEtMjUgMjE6MDY6MDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBGaXggbWlzc2luZyB3b3JrIGluIGRvYwoKMjAxMy0wMS0yNCAyMTowMDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mZGVwYXkgYW5kIHJ0cGR0bWZzcmMKCjIwMTMtMDEtMjUgMjA6Mzk6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFBvc3QgdGhlIG1lc3NhZ2VzIGFmdGVyIHRoZSBjbG9jayB3YWl0CgkgIFRoaXMgd2F5LCB0aGUgbWVzc2FnZXMgd2lsbCBiZSBjbG9zZXIgaW4gdGltZSB0byB3aGVuIHRoZSBwYWNrZXRzIGFyZSBzZW50IG91dAoKMjAxMy0wMS0yNSAyMDozNzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogT25seSBzZXQgdGhlIGR1cmF0aW9uIHdoZW4gc3RhcnRpbmcgdG8gc2VuZAoJICBUaGUgZHVyYXRpb24gZGVwZW5kcyBvbiB0aGUgY2xvY2sgcmF0ZSwgd2hpY2ggY291bGQgY2hhbmdlIGR1ZSB0byByZW5lZ290aWF0aW9uCgoyMDEzLTAxLTI1IDIwOjM3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiByZW1vdmUgInNzcmMiIGZyb20gY2FwcwoJICBzc3JjIGlzIHVpbnQgYW5kIHdlIGRvbid0IGhhdmUgYSB1aW50IHJhbmdlIHR5cGUKCjIwMTMtMDEtMjQgMjE6MDg6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiBzZXQgbGFuZ3VhZ2UgdG8gJ3VuZGVmaW5lZCcgaW5zdGVhZCBvZiBFbmdsaXNoIGJ5IGRlZmF1bHQKCjIwMTMtMDEtMjMgMjE6MzU6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogU2V0IHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gY29ycmVjdGx5IGluIHRoZSBjYXBzCgoyMDEzLTAxLTA4IDA4OjU2OjQ1ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IFJlLWVuYWJsZSBwcmVwYXJlLWZvcm1hdCBlbWlzc2lvbgoJICBXaXRoIHRoZSBwb3J0IHRvIGdzdHJlYW1lciAxLjAgdGhlIHByZXBhcmUtZm9ybWF0IHNpZ25hbCBzdG9wcGVkIGJlaW5nCgkgIGVtaXR0ZWQuIFN0YXJ0IGVtaXR0aW5nIHRoaXMgYWdhaW4gZm9yIHVzZSBpbiB1dmNoMjY0c3JjLiAgV2hpbGUgdGhlcmUKCSAgY2hhbmdlIHRoZSBlbWlzc2lvbiB0byBpbmNsdWRlIHRoZSBjYXBzIGZvciBleHRyYSBmbGV4aWJpbGl0eSBpbnN0ZWFkIG9mCgkgIGZvdXJjZSwgd2lkdGgsIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjA0MgoKMjAxMy0wMS0yMiAxODoxMjoxMCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFsbG93IGNhbGxpbmcgZnJvbSBvdXQtb2YtdHJlZQoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzA5CgoyMDEzLTAxLTIyIDE5OjI2OjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2Vyczogc2JjOiBmaXggYm9ndXMgY29tcGlsZXIgd2FybmluZwoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9zYmNfcGFyc2VfaGFuZGxlX2ZyYW1lJzoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6MjEwOjMyOiBlcnJvcjogJ2NoX21vZGUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaQoKMjAxMy0wMS0xOSAxMzoyNzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBlcnJvciBvdXQgaWYgcGFfc3RyZWFtX3Byb3BsaXN0X3VwZGF0ZSgpIHdpdGggbmV3IHRhZ3MgZmFpbHMKCSAgU2hvdWxkbid0IHJlYWxseSBoYXBwZW4gdGhlc2UgZGF5cywgYnV0IGlmIGl0IGRvZXMsIGl0J3Mgbm90IHJlYWxseQoJICBhIHByb2JsZW0gZWl0aGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MDY4CgoyMDEzLTAxLTE2IDE4OjAxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBza2lwIHNvdXBodHRwc3JjIHRlc3RzIGlmIHRoZXJlIGlzIG5vIGxvY2FsIGh0dHAgc2VydmVyIHRvIHVzZQoJICBTa2lwIHRlc3RzIGlmIHRoZSBzZXJ2ZXIgY291bGRuJ3QgYmUgc3RhcnRlZCBvciB3ZSBjYW4ndCBjb25uZWN0CgkgIHRvIGl0IGZvciBzb21lIHJlYXNvbiAoZS5nLiBkcmFjb25pYyBidWlsZCBib3QgZW52aXJvbm1lbnRzKS4KCjIwMTMtMDEtMTYgMTQ6MzI6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIGF1dG9wYXJzZXJzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTMtMDEtMTUgMTU6MDU6NDMgKzAxMDAgIE1hcnRpbiBQaXR0IDxtYXJ0aW5waXR0QGdub21lLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIF8xXzAgdmFyaWFudHMgZm9yIHRoZSB2YXJpb3VzIHJlZ2lzdHJ5IHZhcmlhYmxlcwoJICBUaGVzZSBvdmVycmlkZSB0aGUgdmFyaWFudHMgd2l0aG91dCB2ZXJzaW9uIHN1ZmZpeC4gTWFrZXMgJ21ha2UgY2hlY2snIHdvcmsKCSAgcHJvcGVybHkgaW4gZW52aXJvbm1lbnRzIHRoYXQgc2V0IHRoZSBzdWZmaXhlZCB2YXJpYW50IGZvciAxLjAsIHN1Y2ggYXMKCSAgamhidWlsZC4KCjIwMTMtMDEtMTEgMTk6MjQ6NDMgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggY3Jhc2ggaW4gb3N4dmlkZW9zaW5rIHdpdGggZXh0ZXJuYWwgd2luZG93IG91dHB1dAoKMjAxMy0wMS0xNiAxMjowNDo1OSArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIEdzdEdMVmlldyBwcm9wYWdhdGUgaW5wdXQgZXZlbnRzIHRvIGl0cyBwYXJlbnQgdmlldwoJICBGaXhlcyBidWcgIzY5MTgzMgoKMjAxMy0wMS0xNiAxMDoxOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IHVwZGF0ZSBzb21lIGZpZWxkcyBpbiB0aGUgY2FwcyB0byB0aGVpciBuZXcgbmFtZQoJICBhbmQgdG8gbWF0Y2ggdGhlIHBhcnNlci4gIm1vZGUiIGdvdCByZW5hbWVkIHRvICJjaGFubmVsLW1vZGUiCgkgIGFuZCAiYWxsb2NhdGlvbiIgdG8gImFsbG9jYXRpb24tbWV0aG9kIi4KCjIwMTMtMDEtMTUgMTc6NDQ6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBzYmNwYXJzZSBhbmQgcnRwc2JjcGF5IHRvIHBsdWdpbiBkb2NzCgoyMDEzLTAxLTE1IDE3OjM4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBTQkMgYXVkaW8gcGFyc2VyCgkgIEZyb20tc2NyYXRjaCByZXdyaXRlLCB0aGUgYmx1ZXogb25lIHdhcyB1c2VsZXNzIGFuZCBicm9rZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMTUgMTU6MDU6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNzJmYWVhIHRvIGE5NDIyOTMKCjIwMTMtMDEtMTAgMTI6Mzg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwOiBpbXBvcnQgcnRwc2JjcGF5IGZyb20gYmx1ZXogYW5kIHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBidXQgbm90IHRlc3RlZCB5ZXQgKHNiYyBlbGVtZW50cyBzdGlsbCBuZWVkIHRvIGJlIHBvcnRlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMDkgMTk6NTk6MTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZi9zcGFuZHNwOiBNb3ZlIGR0bWZkZXRlY3QgdG8gdXNlIGxpYnNwYW5kc3AKCSAgUmVtb3ZlIG91ciBjb3B5IG9mIHRoZSB0b25lX2RldGVjdC5jIGZpbGUgYW5kIHVzZSB0aGUgb3JpZ2luYWwKCSAgZnJvbSBsaWJzcGFuZHNwLiBBbHNvIG1vdmUgdGhlIGVsZW1lbnQgdG8gdGhlIHNwYW5kc3AgcGx1Z2luLgoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wMS0zMCAwMDozMToxNSArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gaXNzdWUgd2l0aGluIEdTdHJlYW1lciBwbHVnaW4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0wMi0yOSAxOTozNzoxNSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBSZW1vdmUgcG9zc2libGUgZXh0cmEgbWVtY3B5IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0yOCAxOTozODo1MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggYnVnIHNlbmRpbmcgZW1wdHkgcGFja2FnZXMgYW5kIHJlbW92ZSBhIGJ1ZmZlciBjb3B5LgoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjQgMTQ6MjU6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IGd0cmVhbWVyIHBheWxvYWRlciBzZW5kaW5nIGZyYWdtZW50ZWQgZnJhbWVzLgoKMjAwOC0wMS0yMyAxOToxNzozMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXggdXNlIG9mIGdzdHJlYW1lciBwbHVnaW4gd2l0aCByaHl0aG1ib3ggYW5kIGJhbnNoZWUgYW5kIHJ0cCB0aW1lc3RhbXBzLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAxMy0wMS0wOCAxNjoyNzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBzbWFsbCBpbXByb3ZlbWVudHMKCjIwMTMtMDEtMDcgMTU6NTA6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciBoYW5kbGUgc3luYyBjb2RlCgkgIE1vdmUgdGhlIGNvZGUgdGhhdCBjb21iaW5lcyB0aGUgbGFzdCBTUiBwYWNrZXQgYW5kIHRoZSBjdXJyZW50IGppdHRlcmJ1ZmZlciBzeW5jCgkgIHZhbHVlcyBpbnRvIGEgc3luYyBzdHJ1Y3R1cmUsIGludG8gaXRzIG93biBmdW5jdGlvbi4gV2Ugd2FudCB0byByZXVzZSB0aGlzIGJpdAoJICBsYXRlci4KCjIwMTMtMDEtMDcgMTU6NDU6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogaW5jbHVkZSBkb3duc3RyZWFtIGxhdGVuY3kgaW4gU1IgY2FsY3VsYXRpb25zCgkgIFdoZW4gd2UgbWFrZSBhIG1hcHBpbmcgYmV0d2VlbiBhbiBSVFAgdGltZXN0YW1wIGFuZCBhbiBOVFAgdGltZXN0YW1wLCBpbmNsdWRlCgkgIHRoZSBkb3duc3RyZWFtIGxhdGVuY3kgYXBwbGllZCB0byB0aGUgc2lua3MuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZQoJICBib3RoIHNpbmtzIHJ1biB3aXRoIGRpZmZlcmVudCBsYXRlbmNpZXMgYW5kIHN0aWxsIGhhdmUgY29ycmVjdCBzeW5jIG9uIHRoZQoJICBjbGllbnQuIEl0IGFsc28gaXMgbW9yZSBjb3JyZWN0IGJlY2F1c2UgdGhlIFJUUCB0aW1lc3RhbXAgaW4gdGhlIFNSIHJlcG9ydCB3aWxsCgkgIGFjdHVhbGx5IGNvcnJlc3BvbmQgbW9yZSBjbG9zZWx5IHRvIHRoZSBOVFAgdGltZSBpdCB3YXMgc2VudCBvbiB0aGUgc2VydmVyLgoJICBGb3IgcGlwZWxpbmVzIHdpdGggaGlnaCBsYXRlbmN5IG9uIHRoZSBzZW5kZXIgc2lkZSwgdGhpcyBhY3R1YWxseSBhbGxvd3MgYQoJICBHU3RyZWFtZXIgcmVjZWl2ZXIgdG8gcGVyZm9ybSBzeW5jaHJvbmlzYXRpb24gaW5zdGVhZCBvZiBkcm9wcGluZyB0aGUgUlRDUAoJICBwYWNrZXRzLgoKMjAxMy0wMS0wNyAxNDoyNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgY2FzdCBldmVudCBmdW5jdGlvbnMKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBjYXN0IHRoZSBldmVudCBmdW5jdGlvbnMgYW5kIG9ubHkgY2F1c2VzIHByb2JsZW1zIGxhdGVyIHdoZW4KCSAgd2UgY2hhbmdlIHRoZSBzaWduYXR1cmUgbGF0ZXIgYW5kIHRoaW5ncyBzaWxlbnRseSBjb21waWxlcyB3cm9uZyBjb2RlLgoKMjAxMy0wMS0wNyAxNDoyMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBtb3JlIGRlYnVnCgoyMDEzLTAxLTA3IDE0OjIyOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTAxLTAyIDAwOjAzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBzYW5pdHkgY2hlY2sgc2l6ZSBvZiBhdmFpbGFibGUgcGFja2V0IGRhdGEgZm9yIHJlYWRpbmcgdG8gYXZvaWQgbWVtb3J5IHdhc3RlCgkgIE9uIFdpbmRvd3MgYW5kIE9TL1gsIF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkgbWF5IG5vdCByZXR1cm4gdGhlIHNpemUKCSAgb2YgdGhlIG5leHQgcGVuZGluZyBwYWNrZXQsIGJ1dCB0aGUgc2l6ZSBvZiBhbGwgcGVuZGluZyBwYWNrZXRzIGluCgkgIHRoZSBrZXJuZWwtc2lkZSBidWZmZXIsIHdoaWNoIG1pZ2h0IGJlIHJhdGhlciBsYXJnZSBkZXBlbmRpbmcgb24KCSAgY29uZmlndXJhdGlvbi4gU2FuaXR5LWNoZWNrIHRoZSBzaXplIHJldHVybmVkIGJ5IF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkKCSAgdG8gbWFrZSBzdXJlIHdlIG5ldmVyIGFsbG9jYXRlIG1vcmUgbWVtb3J5IHRoYW4gdGhlIG1heC4gc2l6ZSBmb3IKCSAgYSBwYWNrZXQsIGlmIGl0J3MgYW4gSVB2NCBzb2NrZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzNjQKCjIwMTMtMDEtMDQgMTA6MDM6MzIgKzAxMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFsc28gaGFuZGxlIHRoZSBuZXcgRU5PRU5UIHJldHVybiB2YWx1ZSBvZiBWSURJT0NfUVVFUllDVFJMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTEwOTgKCjIwMTMtMDEtMDEgMTk6MTQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHNvdXBodHRwc3JjIGVycm9yIGhhbmRsaW5nIHdpdGggZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDI5CgoyMDEyLTA2LTIyIDIxOjU2OjUyICswMDAwICBOb3JiZXJ0IFdhc2NoYnVlc2NoIDxud2FzY2hidUBvcGVudHYuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGVycm9yIG91dCBwcm9wZXJseSB3aGVuIHJlY2VpdmluZyBkYXRhIGFsb25nIHdpdGggYW4gZXJyb3Igc3RhdHVzCgkgIFdoZW4gcmVjZWl2aW5nIGFuIGVycm9yIGNvZGUgZnJvbSB0aGUgaHR0cCBzZXJ2ZXIsIHN1Y2ggYXMgNDA0LAoJICBkYXRhIG1pZ2h0IGJlIHNlbnQgYWxvbmcgd2l0aCBpdCwgbGlrZSBhIHdlYiBwYWdlLiBXZSBkb24ndCB3YW50CgkgIHRvIG91dHB1dCB0aGF0IGRhdGEgaW4gdGhpcyBjYXNlLCBhbmQgd2UgYWxzbyB3YW50IHRvIHBhc3MgdGhlCgkgIEZMT1dfRVJST1IgcmV0dXJuIGJhY2sgdG8gdGhlIGJhc2UgY2xhc3MsIHNvIGl0IGNhbiBzdG9wIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDI5CgoyMDEzLTAxLTAxIDEyOjIwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiB1cGRhdGUgZm9yIG5ldyBydHNwc3JjIHByb3h5LWlkIGFuZCBwcm94eS1wdyBwcm9wZXJ0aWVzCgoyMDEzLTAxLTAxIDEyOjE5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICBkb2NzOiBmaXggZG9jcyBidWlsZCBhbmQgdXBkYXRlIGFmdGVyIHJlbW92YWwgb2Ygb2xkIGNhaXJvIGVsZW1lbnRzCgoyMDEzLTAxLTAxIDEyOjEyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgY2Fpcm86IHJlbW92ZSBvbGQgY2Fpcm8tYmFzZWQgdGV4dCByZW5kZXJlcmluZyBlbGVtZW50CgkgIFRoZXkgaGF2ZW4ndCB3b3JrZWQgd2VsbCBvciBhdCBhbGwgaW4gYSB2ZXJ5IGxvbmcgdGltZQoJICBhbmQgd2VyZSByYXRoZXIgYml0LXJvdHRlbiwgYW5kIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgdGhlbQoJICBhbnkgbW9yZS4KCjIwMTMtMDEtMDEgMTE6NTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jYWlyby8uZ2l0aWdub3JlOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby1tYXJzaGFsLmxpc3Q6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvOiBwb3J0IGNhaXJvb3ZlcmxheSB0byAwLjExCgkgIFRoZSBvdGhlciBlbGVtZW50cyBhcmUgbm90IHRoYXQgaW50ZXJlc3Rpbmcgbm93IHRoYXQgd2UncmUKCSAgdXNpbmcgcGFuZ29jYWlybyBpbiB0aGUgcGFuZ28gcGx1Z2luLCBhbmQgc2hvdWxkIHByb2JhYmx5CgkgIGp1c3QgYmUgcmVtb3ZlZC4KCjIwMTItMTItMzEgMTg6NTk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIGV4YW1wbGVzOiBjaGVjayBmb3IgdXJpIGFyZ3VtZW50IGluIGRlY29kZWJpbi1oMjY0cC1hbXIgc2VydmVyIGV4YW1wbGUKCSAgT3RoZXJ3aXNlIHBlb3BsZSBnZXQgYSByYXRoZXIgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEyLTEyLTMxIDAwOjIyOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCAicHJveHktaWQiIGFuZCAicHJveHktcHciIHByb3BlcnRpZXMKCSAgdG8gbWF0Y2ggc291cGh0dHBzcmMuIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJCgkgIHdpbGwgc3RpbGwgdGFrZSBwcmVjZWRlbmNlIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM5NTQyNwoKMjAxMi0xMi0yNSAxNjo0ODo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICBvc3M0c2luazogbm90aWZ5ICJ2b2x1bWUiIHByb3BlcnR5IG9uIG9wZW4gdG8gbWFrZSBhcHBzIHF1ZXJ5IGluaXRpYWwgdm9sdW1lCgkgIFRoZSBpbml0aWFsIHZvbHVtZSBtaWdodCBub3QgYmUgdGhlIHByb3BlcnR5IGRlZmF1bHQsIHNvCgkgIGVtaXQgYSBub3RpZnkgb24gdGhlIHZvbHVtZSBwcm9wZXJ0eSB0byBtYWtlIGFwcHMgZ2V0CgkgIGFuIHVwLXRvLWRhdGUgcmVhZGluZyBvZiB0aGUgY3VycmVudCB2b2x1bWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEwNTMKCjIwMTItMTItMjAgMTc6MTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjbWQgY29tcGFyaXNvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNDc2CgoyMDEyLTEyLTIwIDE3OjEyOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEyLTEyLTIwIDE2OjQ0OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIDEzOTRjbG9jazogbWFyayBvdXIgY2xvY2sgdHlwZSBhcyBPVEhFUgoKMjAxMi0xMi0yMCAxNjoxNToxMyArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIGpwZWdwYXkgdW5pdCB0ZXN0CgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NTUKCjIwMTItMTItMjAgMTU6NTU6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogcGFzcyBmbG93cmV0dXJuIHVwc3RyZWFtCgoyMDEyLTA5LTI3IDE1OjQyOjU2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBoYW5kbGUgd2lkdGggYW5kIGhlaWdodCA+IDIwNDAKCSAgSWYgd2lkdGggb3IgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiAyMDQwIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHplcm8gaW4KCSAgdGhlIHJ0cCBoZWFkZXIgYW5kIGFkZCB4LWRpbWVuc2lvbnMgdG8gb3V0Y2Fwcy4KCSAgU29sdmVzICM2ODQ5NTUKCjIwMTItMTItMjAgMTM6MDM6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjbGVhbnVwIGluIGZsYWcgZGVmaW5lCgoyMDEyLTEyLTIwIDEzOjAyOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0xMi0xOCAxNTo1Njo1OSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjU1OjQzICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgdGFnbGliOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTQ6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTE6NDYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cDogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ2OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTcgMTY6MzU6NTYgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogc2V0IHNyYyBwYWQgY2FwcyB1cG9uIGxhc3Qgc2luayBwYWQgQ0FQUyBldmVudAoJICBHYXRoZXIgY2FwcyBvbiBhbGwgc2luayBwYWRzIGJlZm9yZSBzZXR0aW5nIHRoZSBzcmMgcGFkIGNhcHMuIFRoaXMgaXMKCSAgc3BlY2lhbGx5IG5lZWRlZCB3aGVuIHRoZSBhdWRpbyBjaGFubmVsIG1hcHBpbmcgaXMgc2V0IG9uIHRoZSBzaW5rCgkgIHBhZHMgYW5kIHRoZSBlbGVtZW50IG5lZWRzIHRvIHByZXNlcnZlIGl0IG9uIGl0cyBzcmMgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjY3CgoyMDEyLTEyLTE3IDIyOjU1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHNraXAgZW1wdHkgdGFncwoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBhZGQgdGFncyB3aXRoIGVtcHR5IHN0cmluZ3MsIHdoaWNoCgkgIGNhdXNlcyBjcml0aWNhbHMgYXQgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDM1OAoKMjAxMi0xMi0xNyAxNToxNzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBNYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtCgoyMDEyLTEyLTE3IDE1OjAxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFVzZSB0aGUgcGVlciBjYXBzIGZvciByZXN0cmljdGlvbnMgaW5zdGVhZCBvZiB0aGUgc3JjcGFkIGFsbG93ZWQgY2FwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgc3JjcGFkIHRlbXBsYXRlIGNhcHMgYW5kIGFkZCBhbGwgdGhlIGNhcHMgZmllbGRzCgkgIHRoYXQgdGhlIHBhcnNlciB3aWxsIGV2ZXIgc2V0LCBubyBtYXR0ZXIgaWYgZG93bnN0cmVhbSByZXN0cmljdHMgdGhpcyBmaWVsZCBvciBub3QuCgkgIFRoaXMgcmVxdWlyZXMgdXBzdHJlYW0gdG8gc2V0IHRoaXMgZmllbGQgb24gdGhlIGNhcHMgdG8gc3VjY2Vzc2Z1bGx5IG5lZ290aWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE4NAoKMjAxMi0xMi0xNCAyMjoyNTowOCArMDAwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogVGVhY2ggd2hlcmUgdGhlIHZpZGVvZGV2Mi5oIGhlYWRlciBsaXZlcyBvbiBmcmVlYnNkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjMzCgoyMDEyLTEyLTE2IDIzOjI3OjQxICswMDAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgYXBwcm9wcmlhdGUgYmxvY2sgaGVhZGVyIGZsYWcgZm9yIFZQOCBpbnZpc2libGUgZnJhbWVzCgkgIFVzZWZ1bCBmb3IgZGVidWdnaW5nIG1vc3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI1OQoKMjAxMi0xMi0xNiAxNToyNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgZG9jczogYWRkIHJ0cG11eCBhbmQgcnRwZHRtZm11eCB0byBwbHVnaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTEyLTE2IDE1OjEzOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHJ0cG1hbmFnZXI6IG1vdmUgcnRwbXV4IGFuZCBydHBkdG1mbXV4IGVsZW1lbnRzIGZyb20gLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xMCAyMDozODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNjIGZpeCBmb3IgMC4xMQoJICBDb252ZXJ0IHRoZSBpbmNvbWluZyBjYXBzIGJlZm9yZSBwcm94eWluZyB0aGVtCgkgIENsZWFyIHRoZSBsYXN0X3BhZCB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIHRlc3RzOiBJbXBsZW1lbnQgYWNjZXB0X2NhcHMsIGRvbid0IGxlYWsgZXZlbnQKCjIwMTItMDctMTcgMTY6Mzk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDIgMTE6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjkgMTg6MDE6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBub24tZm9yd2FyZGVkIGV2ZW50cwoJICBBbHNvLCBkb24ndCB1bnJlZiBmb3J3YXJkZWQgb25lcwoKMjAxMi0wMS0yOCAxNjo1NzowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlc3luYyBpdGVyYXRvciBvbiByZXN5bmMKCjIwMTItMDEtMjcgMTI6MDg6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmUtcHVzaCBzdGlja3kgZXZlbnRzIG9uIGlucHV0IHBhZCBjaGFuZ2UKCjIwMTItMDEtMjUgMTU6NDM6MDEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGd2YWx1ZSBmcm9tIGl0ZXJhdG9yCgoyMDEyLTAxLTI1IDE2OjQ2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI0IDE0OjIwOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wNCAxMjoyMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbWFrZSByZXF1ZXN0IHBhZHMgdGFrZSBfJXUKCjIwMTEtMDQtMTQgMTQ6MzQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgbGFzdC1zdG9wIHRvIGR0bWYtZXZlbnQgdXBzdHJlYW0gZXZlbnRzCgkgIEFkZCB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSBsYXN0IG91dHB1dHRlZCBidWZmZXIgdG8gdGhlCgkgIHVwc3RyZWFtICJkdG1mLWV2ZW50IiBldmVudHMgc28gdGhhdCB0aGUgZHRtZiBzb3VyY2UgZG9lcyBub3QKCSAgbGVhdmUgYSBnYXAuCgoyMDEwLTExLTI1IDE5OjIxOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDktMzAgMTY6MDc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgIEFkZCBhbiBleGFtcGxlIHBpcGVsaW5lLCBhbmQgdHJ5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGl0IGRvZXMuCgoyMDEwLTA5LTI0IDEzOjI5OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDktMjQgMTM6MjU6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCBzaWduYWwgYm9pbGVycGxhdGUKCjIwMTAtMDktMjQgMTM6MjQ6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG5vIG5lZWQgdG8gcmVmIHBhZCBpbiBfY2hhaW4oKQoKMjAxMC0wOC0yNSAyMjo1NjowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVubG9jayB0aGUgcmlnaHQgbXV0ZXgKCSAgVGhlIG11dGV4IGxvY2tlZCBpcyBmb3IgdGhlICdtdXgnIG9iamVjdCwgYnV0IHdlIHVubG9jayB0aGUKCSAgcGFkLCB3aGljaCBtZWFucyB0aGF0IGlmIHRoZSBydHBtdXggZ2V0cyBhIGZsdXNoLCB0aGVuIHRoZQoJICBvYmplY3QgbG9jayB3aWxsIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIGNhdXNpbmcgaXQgdG8gZnJlZXplCgkgIHRoZSBuZXh0IHRpbWUgaXQgdHJpZXMgdG8gdGFrZSBpdC4KCSAgRml4ZXMgYnVnICM2Mjc5OTEKCjIwMTAtMDctMDEgMTU6MTk6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RCdWZmZXJMaXN0CgkgIEZhY3RvciBvdXQgbW9zdCBvZiB0aGUgYnVmZmVyIGhhbmRsaW5nIGFuZCBpbXBsZW1lbnQgYSBjaGFpbl9saXN0CgkgIGZ1bmN0aW9uLiBBbHNvLCB0aGUgRFRNRiBtdXhlciBoYXMgYmVlbiBtb2RpZmllZCB0byBqdXN0IGhhdmUgYQoJICBmdW5jdGlvbiB0byBhY2NlcHQgb3IgcmVqZWN0IGEgYnVmZmVyIGluc3RlYWQgb2YgaGF2aW5nIHRvIHN1YmNsYXNzCgkgIGJvdGggY2hhaW4gYW5kIGNoYWluX2xpc3QuCgoyMDEwLTA3LTAxIDE1OjE1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGludmFsaWQgYnVmZmVycwoKMjAxMC0wNi0wMyAxMDo0MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogZml4IG1pc3NpbmcgZGVidWcgbG9nIG1lc3NhZ2UgYXJndW1lbnQKCjIwMTAtMDUtMTAgMTg6Mzc6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQWRkIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDcgMTg6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IFJlbW92ZSBzdHJlYW0tbG9jayBldmVudCBoYW5kbGluZwoKMjAxMC0wNS0wNyAxODo1NDo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jIGZvciBzaW1wbGlmaWNhdGlvbgoKMjAxMC0wNS0wNyAxODo0MDozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBDaGFuZ2UgdGVzdHMgdG8gbm90IHVzZSB0aGUgcHJpb3JpdHkgcGFkcyBpbnN0ZWFkIG9mIHRoZSBldmVudHMKCjIwMTAtMDUtMDYgMTk6NTE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBkdG1mbXV4OiBEcm9wIGJ1ZmZlcnMgb24gbm9uLXByaW9yaXR5IHNpbmtzIHdoZW4gc29tZXRoaW5nIGlzIGluY29taW5nIG9uIHRoZSBwcmlvcml0eSBzaW5rCgoyMDEwLTA1LTA2IDE4OjExOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIHByaW9yaXR5IHNpbmsgcGFkcwoKMjAxMC0wNS0wNyAxNzoxNTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBDbGVhbnVwIGV2ZW50IGZ1bmN0aW9uCgoyMDEwLTA1LTA3IDE2OjQyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFnZ3JlZ2F0ZSBpbmNvbWluZyBzZWdtZW50cwoKMjAxMC0wNS0wNiAxOTowOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNS0wNiAxODoxMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFNpbXBsaWZ5IHJlcXVlc3QgcGFkIGNyZWF0aW9uCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMS0xOCAxNjozODozMyArMDEwMCAgdW5rbm93biA8aGF2YXJkLmdyYWZmQC5ldS50YW5kYmVyZy5pbnQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgdGhlIGN1cnJlbnRfc3NyYyBmcm9tIHRoZSBjYXBzCgkgIEZpeGVzICM2MDQxMDEKCjIwMDktMTItMDkgMTQ6NDI6MjEgKzAxMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZWxlYXNlIHBhZHMgd2hlbiBkaXNwb3NpbmcKCSAgQmVjYXVzZSBvZiBhbiBhbGxvY2F0ZWQgcHJpdiAoR3N0UlRQTXV4UGFkUHJpdmF0ZSksIHRoZSBlbGVtZW50IHdpbGwKCSAgbGVhayBtZW1vcnkgaWYgbm90IGdzdF9ydHBfbXV4X3JlbGVhc2VfcGFkKCkgaXMgY2FsbGVkLiBUaGlzIHdvdWxkCgkgIHByZXZpb3VzbHkgb25seSBoYXBwZW4gaWYgcmVsZWFzZV9yZXF1ZXN0X3BhZCgpIHdhcyBjYWxsZWQgZXhwbGljaXRseSwKCSAgc29tdGhpbmcgdGhhdCBzaG91bGQgbm90IGJlIG5lY2Nlc2FyeS4KCSAgRml4ZXMgIzYwNDA5OQoKMjAwOS0xMi0wOSAxMzo0MDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgZHRtZm11eDogbWV0aG9kIG5hbWUgY2xlYW51cHMKCjIwMDktMTAtMDggMTk6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZtdXggbG9ja2luZwoKMjAwOS0wOS0yOCAxOTo1NDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0IGZvciBydHBtdXgKCjIwMDktMDktMjggMTM6MzY6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGlnbm9yZSByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMDktMDctMjkgMTc6MjM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBlbXB0eSBmaW5hbGl6ZQoKMjAwOS0wNy0yMSAxNTozMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZQoJICBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlIGluc3RlYWQgb2YgdXNpbmcgYSB3ZWFrIHJlZiwKCSAgd2hpY2ggaXMgbm90IHRocmVhZCBzYWZlLiBBbHNvLCBsb2NrIHRoZSBjb250ZW50IG9mIHRoZSBwYWQgcHJpdmF0ZSB1c2luZyB0aGUgZWxlbWVudCdzCgkgIG9iamVjdCBsb2NrLgoKMjAwOS0wNC0yOCAxNjoxMDoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVqZWN0IHdyb25nIGNhcHMKCjIwMDktMDQtMjggMTY6MDM6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI4IDE1OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoJICBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yMiAxODowMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHdhcm5pbmcKCjIwMDktMDQtMjAgMjA6MDA6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBkaWZmZXJlbnQgY2FwcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0CgoyMDA5LTA0LTIyIDE2OjI1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBPbmx5IGZyZWUgcGFkIHByaXZhdGUgd2hlbiBwYWQgaXMgZGlzcG9zZWQKCjIwMDktMDQtMjAgMTg6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSB1c2VsZXNzIGNhcHMgbWFuZ2xpbmcKCjIwMDktMDQtMjAgMTg6MzY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSB2YXJpYWJsZSBmb3IgbW9yZSBjbGFyaXR5CgoyMDA5LTA0LTIwIDE3OjQzOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMDktMDQtMjAgMTc6NDI6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEbyB0aGUgaW5jbHVkZXMgbG9jYWxseQoKMjAwOS0wNC0xNSAxMzoyMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFJzCgoyMDA5LTA0LTE1IDEzOjE1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2UgbG9ja2VkIHBhZCBvbiByZWxlYXNlX3BhZAoJICBSZWxlYXNlIHRoZSBzcGVjaWFsIHBhZCBpZiB0aGUgcGFkIGlzIHJlbW92ZWQgZnJvbSB0aGUgbXV4ZXIuCgoyMDA5LTA0LTE1IDEzOjA5OjI3IC0wNDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2Ugc3BlY2lhbCBvbiBwYWQgZGlzcG9zZQoJICBGaXhlcyAjNTc3NjkwCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMTAgMTc6MDI6MjQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBNb3ZlIHJ0cG11eCBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDU6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxOToxMToxNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9jdW1lbnQgcnRwIG11eGVyIGEgYml0CgoyMDA5LTAyLTIwIDEzOjMwOjQ5IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwbXV4OiBBZGQgc2lnbmFscyBiZWZvcmUgc3RyZWFtIGxvY2sgYW5kIGFmdGVyIHVubG9ja2luZwoKMjAwOS0wMi0xOCAyMDoxODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTGV0IHNzcmMgdGhyb3VnaCBnZXRjYXBzCgoyMDA5LTAyLTE4IDE5OjU4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgaGF2ZV9iYXNlIHRvIGhhdmVfdHNfYmFzZQoKMjAwOS0wMi0xOCAxODoxNDo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFByb3RlY3QgdGhlIHNlcW51bSB3aXRoIG9iamVjdCBsb2NrIGluIHJ0cG11eAoKMjAwOS0wMi0xOCAxODowNzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIHVudXNlZCBzaW5rX3RzX2Jhc2UKCjIwMDktMDItMTggMTU6MjA6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEhhdmUgZ2V0Y2FwcyB0byBmb3JjZSB0aGUgc2FtZSBjbG9ja3JhdGUgb24gYWxsIHBhZHMKCjIwMDktMDItMTggMTc6MDU6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFZhbGlkYXRlIFJUUCBkYXRhIGluIFJUUCBNdXgKCjIwMDktMDItMTggMTQ6MTY6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgdW51c2VkIGNsb2NrLXJhdGUgcHJvcGVydHkKCjIwMDktMDItMTggMTM6NTY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwbXV4OiBDbGFyaWZ5IGxvY2tpbmcgaW4gcnRwZHRtZm11eAoKMjAwOS0wMi0xOCAxMzozMjo1NiAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyCgoyMDA4LTEyLTAxIDE3OjU1OjIyIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXBkYXRlIHNlcW51bSBiYXNlIGluIHJ0cCBtdXhlcgoJICBXaXRoIGhlbHAgZnJvbSBXaW0KCjIwMDgtMTItMDEgMTc6NTQ6NTggLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBzb21lIG1vcmUgbGVha3MKCjIwMDgtMTItMDEgMTc6NDg6MjkgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCjIwMDgtMDktMjkgMTU6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qga25vdyAodGhhbmtzIFdpbSkKCjIwMDgtMDgtMTIgMTI6NDg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFB1dCBwZXItYnVmZmVyIGRlYnVnIGF0IGxldmVsIExPRwoKMjAwOC0wOC0xMiAxMjo0NzoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBkZWJ1ZyBwcmludCBhY2N1cmF0ZQoKMjAwOC0wOC0xMiAxMjo0NjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IG91ciBjYXBzIG9uIHRoZSBidWZmZXJzCgoyMDA4LTA4LTEyIDEyOjQ2OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBUYWtlIHRoZSBjbG9jay1iYXNlIHN0b3JlZCBmcm9tIHRoZSBsYXN0IHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6NDE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFN0b3JlIHRoZSBjbG9jay1iYXNlIG9uIHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6MzA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBwYWRwcml2YXRlIHRvIHRoZSByZXF1ZXN0IHBhZHMKCjIwMDgtMDgtMTEgMjE6MjA6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgaW5kZW50YXRpb24gbW9yZSBjb3JyZWN0CgoyMDA4LTA4LTExIDIxOjA1OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggdHlwbwoKMjAwOC0wOC0xMSAyMTowMzoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHNlcW51bS1iYXNlIGFuZCBjbG9jay1iYXNlIGluIGNhcHMgZnJvbSBydHBtdXhlcgoKMjAwNy0wOC0xNSAxMzo1MDozOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IG1vcmUgZGVidWcKCSAgMjAwNzA4MTUxMzUwMzgtZjNmMWUtOWM3YTU0OTBhNTI1YzZlODc1M2NiMWI4YzAzMzU0ZGY5OTEzMmI1Yy5negoKMjAwNy0wOC0yMCAxODo1MDozMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1pc3NpbmcgY29tbWVudAoJICAyMDA3MDgyMDE4NTAzMi00ZjBmNi0wYWI2N2I2YWM0MGRkNGUzNWE4ZmU1M2YzY2I2ZGFmZjY1Y2U0M2I5Lmd6CgoyMDA3LTA3LTEyIDE5OjUzOjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgYnVmZmVyIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIGludG8gaXQKCSAgMjAwNzA3MTIxOTUzMzYtM2UyZGMtOTFhNWZiNzk3Y2ZhNDkxOWQ0ZTJmOWE3MjhjNmQ2ZmJkM2I4M2Q5My5negoKMjAwNy0wNy0wNiAyMDoyNDo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgcGFkcyBhY3RpdmUgd2hlbiBhZGRpbmcgdGhlbSB0byBhIHBvdGVudGlhbGx5IHJ1bm5pbmcgZWxlbWVudAoJICAyMDA3MDcwNjIwMjQ1OS0zZTJkYy1hMzczMWY4ODU3MjU1OTRkZWYwYTdiZTk5N2ZjN2IzYTczOWVlOTY3Lmd6CgoyMDA3LTA2LTA3IDEyOjAxOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBtdWx0aXBsZSByZWYgbGVha3MgKHBhdGNoZXMgYnkgU1AgR0xFKQoJICAyMDA3MDYwNzEyMDEyMS0zZTJkYy0wNjFlOWVmN2E0N2IxYjg0ZmE4ZjgwOTJmNGI4YmNjMGU2ZGI4YzhjLmd6CgoyMDA3LTA1LTI4IDE1OjI1OjA1ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBzZW5kIGV2ZW50IHRvIGFsbCBzcmMgcGFkcwoJICAyMDA3MDUyODE1MjUwNS1mM2YxZS0wMzkyMTZjNzNkYzkzZjY0YzQ5OTYyYzc3YTAyNTNjYjljZmVjNGQzLmd6CgoyMDA3LTA1LTI4IDEyOjM3OjQ5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBwcmludCBhIHdhcm5pbmcgaWYgcmVjZWl2ZSBhbiBlcnJvciBpdGVyYXRpbmcgc2lua3BhZHMKCSAgMjAwNzA1MjgxMjM3NDktZjNmMWUtNGMxZWIzZjUxMWI1NjEwMTQzNjEwYTY1YTk0ZDExN2YyYzNkMjU4MC5negoKMjAwNy0wNS0yOCAxMjoyODowOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZGVhbCB3aXRoIGFsbCB0aGUgZ3N0X2l0ZXJhdG9yX25leHQoKSByZXR1cm4gdmFsdWVzCgkgIDIwMDcwNTI4MTIyODA4LWYzZjFlLWQzMDE2NDRjM2JlNzYzM2VjNmRjNWUyODU5NmU5MzQ2ZDJkYTZhNTAuZ3oKCjIwMDctMDUtMjUgMTI6MzE6MTYgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJldHVybiBjb3JyZWN0IHZhbHVlIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIKCSAgMjAwNzA1MjUxMjMxMTYtZjNmMWUtMTMxYjM3YjVmNDUyMTYxOGZlMmYxMzIwNDA5YTQ3ZTY1YjM1YWQyZC5negoKMjAwNy0wNS0yNSAxMDoyNzowOSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVmlsbGUncyBvcmlnaW5hbCBwYXRjaCB0byBmaXggdGhlIHRyYXZlcnNhbCBvZiBkdG1mIGV2ZW50CgkgIDIwMDcwNTI1MTAyNzA5LWYzZjFlLTZjNDFkMWVmOTM0MDY4YTRmNGU4MTBlN2U5ODFiNDIwMDc1YjBjOTguZ3oKCjIwMDctMDMtMjkgMTM6NTI6NTAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHRoZSBjb3JyZWN0IHRzLW9mZnNldCBvbiB0aGUgZ2V0X3Byb3AgdmFsdWUKCSAgMjAwNzAzMjkxMzUyNTAtNjUwMzUtYTQzZTIyMmQ5MWQ1N2MwYTYxY2IzMjg3NTg2YWFhMjlhYmY3ODY3NC5negoKMjAwNy0wMy0yOSAxMzo1MjoyMyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3Rvcml6ZSBzdGF0ZV9jaGFuZ2UKCSAgMjAwNzAzMjkxMzUyMjMtNjUwMzUtMjNhMDEwN2IyZTM5NzcxMGYwMzVjNmU4OGNjMGU0OWI2NWJiNGQ1ZC5negoKMjAwNy0wMy0yOSAxMzozNjoyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogc2V0IFNTUkMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAzMjkxMzM2MjItNjUwMzUtMWJlNmUwYWE4NWE3MTM4OWY3ZDI1N2I5Y2QzZTEzYTczZDZiNzQ1Yi5negoKMjAwNy0wMy0yOSAxMzoxOTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBDb2RlIGNsZWFuLXVwIGFuZCBtb3JlIGRlYnVnIG91dHB1dAoJICAyMDA3MDMyOTEzMTkzNi02NTAzNS05ZDQ5OWUyMDllMGQ3YTQwOWMzYWEwZDEwNDA3NzhiYWJmMDc2MTc5Lmd6CgoyMDA3LTAzLTI4IDExOjIyOjE5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBVc2Ugb3duIGNsb2NrLWJhc2UKCSAgMjAwNzAzMjgxMTIyMTktNjUwMzUtMWJhNWZlZmJjNjUwNTllOWIwYzg2MDUyOGEzMTA2MmNlYjZhNzMzMS5negoKMjAwNy0wMy0yMyAxNjozMTozOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogT25seSBhY2NlcHQgUlRQIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lIGNsb2NrLXJhdGUKCSAgMjAwNzAzMjMxNjMxMzktNjUwMzUtZmMwYjE3YjBiOGE3YTA0MWY0ODk5NGM0ZjI2ZTk2NTY4MTY4YmY5NS5negoKMjAwNy0wMy0yMiAxNjoxNTo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogU29tZSBtb3JlIGNvZGUtY2xlYW51cHMKCSAgMjAwNzAzMjIxNjE1NTItNjUwMzUtYmRhOTYxNjVlMTQ2YjRmMWQ1ZmVhMWNjOTU3NmE3YWIzYWJlYmM5ZS5negoKMjAwNy0wMy0yMiAxNTo0Mjo1MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXR1cm4gbmV3cGFkIGluc3RlYWQgb2YgTlVMTCBhbmQgd2FybiBpZiBmYWlsZWQgdG8gY3JlYXRlIGEgcGFkCgkgIDIwMDcwMzIyMTU0MjUxLTY1MDM1LWNkYjY2NTFlNjFjMmViMDIwNWNjOGMyNDY5M2I0M2Y5OGEyZGE3MTguZ3oKCjIwMDctMDMtMjIgMTI6NDE6MzIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3JpemUgdGhlIFJUUE11eCBjb2RlCgkgIDIwMDcwMzIyMTI0MTMyLTY1MDM1LTBhMzI3ODE0NzU0NmUzM2Y2ODcwOTdhNDNiNzc1YjNmNmFhOTlmOTMuZ3oKCjIwMDctMDMtMjIgMTI6MTQ6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFNvbWUgbW9yZSBkb2MgZml4aW5nCgkgIDIwMDcwMzIyMTIxNDUzLTY1MDM1LTEyZDYwMjI3MjIxN2I1MWJkOTdkZjRlNTc5MDAyNGMzOTk2MjJkZDMuZ3oKCjIwMDctMDMtMjIgMTE6MzI6MjggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IE1vcmUgUmVmYWN0b3JpbmcKCSAgMjAwNzAzMjIxMTMyMjgtNjUwMzUtYmFlMzRhNzk1OTllN2RlNTI5M2VkNzdiMDIyMzYxY2NmZjgyMmJiOS5negoKMjAwNy0wMy0yMiAxMTozMTo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogTW9yZSBkb2N1bWVudGF0aW9uCgkgIDIwMDcwMzIyMTEzMTU0LTY1MDM1LTYyNDg1MDU0MWE1YjVmYzNkZjIzMTIwNGJlNWE4M2QwNzIzOWRiMjguZ3oKCjIwMDctMDMtMjEgMTY6MzM6MTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uCgkgIDIwMDcwMzIxMTYzMzExLTY1MDM1LTk4N2U3ZjI1ZDFhYjUzMzViNzlmNDRiMjc3YWJmMTVlNGUzN2QzMTcuZ3oKCjIwMDctMDMtMjEgMTQ6NTI6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBBZGQgUlRQRFRNRk11eCBlbGVtZW50CgkgIDIwMDcwMzIxMTQ1MjQ0LTY1MDM1LTlhMDEzOTBiMGRlZTMzOThlNTMxOTlhMWZhMWQ5MzUyMDA0ZjMzOGUuZ3oKCjIwMDctMDMtMjEgMTI6MzE6NDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSBEVE1GLXNwZWNpZmljIGNvZGUgZnJvbSBSVFAgbXV4ZXIgYW5kIG1ha2UgaXQgZXh0ZW5kYWJsZQoJICAyMDA3MDMyMTEyMzE0OS02NTAzNS1iOGE4ZjU1ZmY3OGVlZDhjYmIwMDQyZTgyNzg4NWVkZmM1NDM4MjQyLmd6CgoyMDA3LTAzLTIwIDEyOjA1OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFB1dCBtb3JlIGhlbHBmdWwgZGVzY3JpcHRpb24KCSAgMjAwNzAzMjAxMjA1MjQtNjUwMzUtZGIyN2E3Y2Y2MzA3YjUxMWFlYjNkOTk2ZDI2ZTc5MGUzNjdhN2JhZC5negoKMjAwNy0wMy0xNiAxNToxNjo0MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZW1vdmUgdGhlIChjb21tZW50ZWQtb3V0KSBjb2RlIGZvciBibG9ja2luZyB0aGUgcGFkcwoJICAyMDA3MDMxNjE1MTY0MS02NTAzNS0wMTIzYWYzODc5NTFmODg1OTQ3OTdjNzIyZTg4MmNmZTcwMjQwYWZmLmd6CgoyMDA3LTAzLTE2IDEzOjE0OjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERyb3AgYnVmZmVycyBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBzaW5rcGFkcwoJICAyMDA3MDMxNjEzMTQ0NC02NTAzNS05YzEzNDVhZDk2MTA4ODgxZjQ1NWQ0YjU1YTdmNjIzY2QzMDJkMGVkLmd6CgoyMDA3LTAzLTE0IDE3OjE2OjE4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcGxlbWVudCBzdHJlYW0gbG9ja2luZywgbmVlZGVkIGZvciBEVE1GCgkgIDIwMDcwMzE0MTcxNjE4LTY1MDM1LWU0ZDI0YjE2MDZjZTBhM2UyZTczOWYwMTgzM2Y2MWU0ZDc1NTVlYWMuZ3oKCjIwMDctMDMtMTQgMTA6MjA6NTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXNlIEdTVF8qX09CSkVDVCBpbnN0ZWFkIG9mIGdfKgoJICAyMDA3MDMxNDEwMjA1OC02NTAzNS1lMjQ0Mjg4OGYyZTNlNWEzYTc2NTlhZDc5NTRhNGZiYTM0NzQ5Y2UyLmd6CgoyMDA3LTAzLTE0IDEwOjE4OjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE5vIG5lZWQgdG8gbWFuYWdlIHBhZHMsIHBhcmVudCBkb2VzIHRoYXQgZm9yIHVzCgkgIDIwMDcwMzE0MTAxODU0LTY1MDM1LWVmNWY0YWJkZTIyNzEwMmExMTI4ODM1YWIzMjU5MDVlYWU0YzM3MjYuZ3oKCjIwMDctMDMtMTQgMDk6MDM6NTggKzAwMDAgIHplZW5peEBnbWFpbC5jb20gPHplZW5peEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggY29weXJpZ2h0IGhlYWRlcgoJICAyMDA3MDMxNDA5MDM1OC1kMDE0YS0zYTZkM2VlZWFhZjVjYjhjYTNiY2E2YTMzZTk5YTU1MWY1OThiZDQ4Lmd6CgoyMDA3LTAzLTA3IDA4OjUzOjA3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFRoZSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBvZiBSVFAgbXV4ZXIKCSAgMjAwNzAzMDcwODUzMDctNjUwMzUtODMzNDAyNDEzZjk5Y2IzZjhiZTQ4ODNlOTJiYWQ0Yzg3MjI1MTBjOS5negoKMjAxMi0xMi0xNSAyMToyNzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBubyBuZWVkIGZvciBhIHByaXZhdGUgc3RydWN0CgoyMDEyLTEyLTE0IDE1OjEzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMi0xMi0xNCAxNToxMzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIGRvY3M6IGFkZCBzY2FsZXRlbXBvIHRvIGRvY3MKCjIwMTItMTEtMDYgMTM6MzY6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgYXVkaW9meDogbW92ZSBzY2FsZXRlbXBvIGVsZW1lbnQgZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjIKCjIwMTItMTAtMjMgMTQ6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggZXZlbnQgbGVhawoKMjAxMi0xMC0yMyAxNDozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCB0aW1lc3RhbXAgdHJhY2tpbmcKCjIwMTItMTAtMjMgMTQ6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yMyAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogU3RvcmUgaW5zdGFuY2UgcHJpdmF0ZSBkYXRhIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgR2V0dGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHZpYSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKQoJICBpcyByZWFsbHkgc2xvdy4KCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDE2OjQ1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBmZm1wZWdjb2xvcnNwYWNlIGlzIG5vIG1vcmUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJICBzY2FsZXRlbXBvOiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDMtMTggMTg6MzI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDcgMTA6NTI6NTAgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogaW1wcm92ZSB0aGUgZG9jcwoJICBGaXggdGhlIHN5bnRheCwgYWRkIG1vcmUgZXhwbGFuYXRpb24gYW5kIHhyZWYgdGhlIHByb3BlcnRpZXMuCgoyMDExLTAzLTIyIDEzOjQ2OjQyICswMTAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IENvcnJlY3RseSBoYW5kbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBzdG9wPT0tMQoJICBGaXhlcyBidWcgIzY0NTQyMC4KCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTEtMDUgMTM6NDA6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwcm9wZXJseSB1cGRhdGUgbmV3IHNlZ21lbnRzCgkgIFNjYWxldGVtcG8gd2FzIG1pc3NpbmcgYW4gdXBkYXRlIG9mICdzdG9wJyBpbgoJICBuZXcgc2VnbWVudCBwYXJhbWV0ZXJzIHdoZW4gcHVzaGluZyBpdCBkb3duc3RyZWFtLAoJICB3aGljaCBjYXVzZWQgZmlsZXMgdG8gZW5kIGVhcmxpZXIgd2hlbiByYXRlIDwgMS4KCSAgRml4ZXMgIzU5OTkwMwoJICBCYXNlZCBvbiBwYXRjaCBieTogQmFzdGlhbiBIZWNodCA8aGVjaHRiQGdtYWlsLmNvbT4KCjIwMDktMDYtMTQgMjA6MDA6NTEgKzAyMDAgIE1heGltaWxpYW4gSMO2Z25lciA8cGJtYXhpQGhvZWduZXJzLmRlPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBFeHBsaWNpdGVseSBjYXN0IHRvIHNpZ25lZCBpbnRlZ2VycyB0byBmaXggYSBzZWdmYXVsdAoJICBGaXhlcyBidWcgIzU4NTY2MC4KCjIwMDktMDItMTMgMTI6MTg6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBEbyBub3QgdXNlIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwOC0xMC0zMCAxMjoxMzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc2NhbGV0ZW1wbzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0wOC0zMSAxMjoyMDozMyArMDAwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0IGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvdiBKdXZhbm8gPHJvdmp1dmFubyBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6IChwb3Bfc3RhdHVzX2JhciksCgkgIChzdGF0dXNfYmFyX3ByaW50ZiksIChkZW1vX2d1aV9zZWVrX2Jhcl9mb3JtYXQpLCAodXBkYXRlX3Bvc2l0aW9uKSwKCSAgKGRlbW9fZ3VpX3NlZWtfYmFyX2NoYW5nZSksIChkZW1vX2d1aV9kb19jaGFuZ2VfcmF0ZSksCgkgIChkZW1vX2d1aV9kb19zZXRfcmF0ZSksIChkZW1vX2d1aV9kb19yYXRlX2VudGVyZWQpLAoJICAoZGVtb19ndWlfZG9fdG9nZ2xlX2FkdmFuY2VkKSwgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9kaXNhYmxlZCksCgkgIChkZW1vX2d1aV9kb19zZWVrKSwgKGRlbW9fZ3VpX2RvX3BsYXkpLCAoZGVtb19ndWlfZG9fcGF1c2UpLAoJICAoZGVtb19ndWlfZG9fcGxheV9wYXVzZSksIChkZW1vX2d1aV9kb19vcGVuX2ZpbGUpLAoJICAoZGVtb19ndWlfZG9fcGxheWxpc3RfcHJldiksIChkZW1vX2d1aV9kb19wbGF5bGlzdF9uZXh0KSwKCSAgKGRlbW9fZ3VpX2RvX2Fib3V0X2RpYWxvZyksIChkZW1vX2d1aV9kb19xdWl0KSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3N0cmlkZSksIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9vdmVybGFwKSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3NlYXJjaCksIChkZW1vX2d1aV9yYXRlX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19zdGFydGVkKSwgKGRlbW9fZ3VpX3BsYXlpbmdfcGF1c2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfZW5kZWQpLCAoZGVtb19ndWlfcGxheWVyX2Vycm9yZWQpLAoJICAoZGVtb19ndWlfc3RyaWRlX2NoYW5nZWQpLCAoZGVtb19ndWlfb3ZlcmxhcF9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3NlYXJjaF9jaGFuZ2VkKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXJfZnVuYyksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3RfZnVuYyksIChidWlsZF9ndmFsdWVfYXJyYXkpLAoJICAoY3JlYXRlX2FjdGlvbiksIChkZW1vX2d1aV9zaG93X2Z1bmMpLCAoZGVtb19ndWlfc2V0X3BsYXllciksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3QpLCAoZGVtb19ndWlfc2hvdyksIChkZW1vX2d1aV9nZXRfcHJvcGVydHkpLAoJICAoZGVtb19ndWlfc2V0X3Byb3BlcnR5KSwgKGRlbW9fZ3VpX2luaXQpLCAoZGVtb19ndWlfY2xhc3NfaW5pdCksCgkgIChkZW1vX2d1aV9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6IChoYW5kbGVfZXJyb3JfbWVzc2FnZSksCgkgIChoYW5kbGVfcXVpdCksIChtYWluKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6IChub19waXBlbGluZSksCgkgIChkZW1vX3BsYXllcl9ldmVudF9saXN0ZW5lciksIChkZW1vX3BsYXllcl9zdGF0ZV9jaGFuZ2VkX2NiKSwKCSAgKGRlbW9fcGxheWVyX2Vvc19jYiksIChkZW1vX3BsYXllcl9idWlsZF9waXBlbGluZSksIChfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZV9mdW5jKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlX2Z1bmMpLAoJICAoX3NldF9zdGF0ZV9hbmRfd2FpdCksIChkZW1vX3BsYXllcl9sb2FkX3VyaV9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3BsYXlfZnVuYyksIChkZW1vX3BsYXllcl9wYXVzZV9mdW5jKSwgKF9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnlfZnVuYyksIChkZW1vX3BsYXllcl9zZWVrX3RvX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uX2Z1bmMpLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZSksIChkZW1vX3BsYXllcl9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9sb2FkX3VyaSksIChkZW1vX3BsYXllcl9wbGF5KSwgKGRlbW9fcGxheWVyX3BhdXNlKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnkpLCAoZGVtb19wbGF5ZXJfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb24pLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wcm9wZXJ0eSksIChkZW1vX3BsYXllcl9zZXRfcHJvcGVydHkpLAoJICAoZGVtb19wbGF5ZXJfaW5pdCksIChkZW1vX3BsYXllcl9jbGFzc19pbml0KSwKCSAgKGRlbW9fcGxheWVyX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOiAoYmVzdF9vdmVybGFwX29mZnNldF9mbG9hdCksCgkgIChiZXN0X292ZXJsYXBfb2Zmc2V0X3MxNiksIChvdXRwdXRfb3ZlcmxhcF9mbG9hdCksCgkgIChvdXRwdXRfb3ZlcmxhcF9zMTYpLCAoZmlsbF9xdWV1ZSksIChyZWluaXRfYnVmZmVycyksCgkgIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm0pLCAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NjYWxldGVtcG9fc2lua19ldmVudCksIChnc3Rfc2NhbGV0ZW1wb19zZXRfY2FwcyksCgkgIChnc3Rfc2NhbGV0ZW1wb19nZXRfcHJvcGVydHkpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2Jhc2VfaW5pdCksIChnc3Rfc2NhbGV0ZW1wb19jbGFzc19pbml0KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0CgkgIGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgcmF0ZSE9MS4wLgoJICBJbnRlZ3JhdGUgaXQgaW50byB0aGUgZG9jcyBhbmQgYWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciBpdC4KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDEyLTEyLTEzIDEyOjM2OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBhZGQgKGJ1dCBkaXNhYmxlKSBtb3JlIHJ0cCBqaXR0ZXJidWZmZXIgdGVzdHMKCSAgVGVzdHMgbmVlZCB0byBiZSBwb3J0ZWQgdG8gMS4wIGJlZm9yZSB0aGV5IGNhbiBiZSBlbmFibGVkIGJ1dCBhZGRlZCBoZXJlIHNvIHRoZXkKCSAgZG9uJ3QgZ2V0IGZvcmdvdHRlbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MzgKCjIwMTItMDEtMTMgMDE6MTE6MzEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGJ1bmRsZSB0b2dldGhlciBsYXRlIGxvc3QtZXZlbnRzCgkgIFRoZSBzY2VuYXJpbyB3aGVyZSB5b3UgaGF2ZSBhIGdhcCBpbiBhIHN0ZWFkeSBmbG93IG9mIHBhY2tldHMgb2YKCSAgc2F5IDEwIHNlY29uZHMgKDUwMCBwYWNrZXRzIG9mIHdpdGggZHVyYXRpb24gb2YgMjBtcyksIHRoZSBqaXR0ZXJidWZmZXIKCSAgd2lsbCBpZGxlIHVwIHVudGlsIGl0IHJlY2VpdmVzIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgdGhlIGdhcCwgYnV0IHdpbGwKCSAgdGhlbiBnbyBvbiB0byBwcm9kdWNlIDQ5OSBsb3N0LWV2ZW50cywgdG8gImNvdmVyIHVwIiB0aGUgZ2FwLgoJICBOb3cgdGhpcyBpcyBvYnZpb3VzbHkgd3JvbmcsIHNpbmNlIHRoZSBsYXN0IHBvc3NpYmxlIHRpbWUgZm9yIHRoZSBlYXJsaWVzdAoJICBsb3N0LWV2ZW50cyB0byBiZSBwbGF5ZWQgb3V0IGhhcyBvYnZpb3VzbHkgZXhwaXJlZCwgYnV0IHRoZSBmYWN0IHRoYXQKCSAgdGhlIGppdHRlcmJ1ZmZlciBoYXMgYSAibGVuZ3RoIiwgcmVwcmVzZW50ZWQgd2l0aCBpdHMgb3duIGxhdGVuY3kgY29tYmluZWQKCSAgd2l0aCB0aGUgdG90YWwgbGF0ZW5jeSBkb3duc3RyZWFtLCBhbGxvd3MgZm9yIGNvdmVyaW5nIHVwIGF0IGxlYXN0IHNvbWUKCSAgb2YgdGhpcyBnYXAuCgkgIFNvIGluIHRoZSBjYXNlIG9mIHRoZSAibGVuZ3RoIiBiZWluZyAyMDBtcywgd2hpbGUgaGF2aW5nIHJlY2VpdmVkIHBhY2tldAoJICA1MDAsIHRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIHRpbWVvdXQgZm9yIHBhY2tldCA0OTEsIHdoaWNoCgkgIHdpbGwgaGF2ZSBpdHMgdGltZSBleHBpcmUgYXQgMTAsMDIgc2Vjb25kcywgc3BlY2lhbGx5IHNpbmNlIGl0IG1pZ2h0CgkgIGFjdHVhbGx5IGFycml2ZSBpbiB0aW1lISBCdXQgb2J2aW91c2x5LCB3YWl0aW5nIGZvciBwYWNrZXQgMTAwLCB0aGF0IGhhZAoJICBpdHMgdGltZSBleHBpcmUgYXQgMiBzZWNvbmRzLCAocmVtZW1iZXJpbmcgdGhhdCB0aGUgY3VycmVudCB0aW1lIGlzIDEwKQoJICBpcyB1c2VsZXNzLi4uCgkgIFRoZSBwYXRjaCB3aWxsIGNyZWF0ZSBvbmUgImJpZyIgbG9zdC1ldmVudCBmb3IgdGhlIGZpcnN0IDQ5MCBwYWNrZXRzLAoJICBhbmQgdGhlbiBnbyBvbiB0byBjcmVhdGUgc2luZ2xlIG9uZXMgaWYgdGhleSBjYW4gcmVhY2ggdGhlaXIKCSAgcGxheW91dCBkZWFkbGluZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MzgKCjIwMTItMTItMTMgMDk6Mjc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBUQ1AgcmVjb25uZWN0CgkgIElnbm9yZSBvdGhlciBjb21tYW5kcyB3aGVuIHJlY29ubmVjdGluZywgb3RoZXJ3aXNlIHRoZSBsb29wIGZ1bmN0aW9uIHdvdWxkIHBhdXNlCgkgIGFuZCB0aGUgcmVjb25uZWN0aW9uIHdvdWxkIG5vdCBoYXBwZW4uIENvbnRpbnVlIGxvb3BpbmcgYWZ0ZXIgZG9pbmcgYSByZWNvbm5lY3QKCSAgc28gdGhhdCB3ZSBoYXZlIGEgY2hhbmNlIHRvIGFjdHVhbGx5IHJlYWQgdGhlIG5ldyBkYXRhLgoKMjAxMi0xMi0xMyAwMTowMjozNCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICBkaXJlY3Rzb3VuZCwgd2F2ZWZvcm06IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxMjQKCjIwMTItMTItMTIgMTc6MzU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBzeXMvb3NzL2NvbW1vbi5oOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgZXh0L3N5czogRml4IHNvbWUgY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoKMjAxMi0xMi0xMiAxMjowNzozNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHByb3Blcmx5IHNldCBzcmNwYWQgY2hhbm5lbCBwb3NpdGlvbgoJICBUaGUgc3JjIHBhZCBjYXBzIGFsd2F5cyBkZXNjcmliZSBhIHNpbmdsZSBhdWRpbyBjaGFubmVsIHNvIG9ubHkgdGhlCgkgIGZpcnN0IHBvc2l0aW9uIG1hdHRlcnMgaWYgZGVpbnRlcmxlYXZlIGlzIGNvbmZpZ3VyZWQgdG8ga2VlcCBjaGFubmVsCgkgIHBvc2l0aW9ucyBpbiBpdHMgc3JjIHBhZHMuCgoyMDEyLTEyLTEyIDExOjA5OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB0aW1lb3V0IG9uIHVkcHNyYyBpcyBpbiBuYW5vc2Vjb25kcwoKMjAxMi0xMi0xMiAxMTowODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogaW1wcm92ZSB0aW1lb3V0cwoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCB0aGUgdGltZW91dCBhZnRlciB3ZSB3ZW50IHRvIHRoZSBSRUFEWSBzdGF0ZSBieSB1c2luZwoJICB0aGUgdGltZW91dCB3aGVuIGNoZWNraW5nIHRoZSBjb25kaXRpb24uIFRoaXMgYWxzbyBtYWtlcyBpdCBwb3NzaWJsZSB0byBzZXQgdGhlCgkgIHRpbWVvdXQgd2l0aCBhIGhpZ2hlciBncmFudWxhcml0eSB0aGFuIHNlY29uZHMuCgoyMDEyLTEyLTExIDEzOjAwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBhZGQgc3VwcG9ydCBmb3Igc3RyaWRlcwoJICBJbXBsZW1lbnQgc3RyaWRlIHN1cHBvcnQgY29ycmVjdGx5IGJ5IHRha2luZyBpdCBmcm9tIHRoZSBHc3RWaWRlb0ZyYW1lLgoJICBQcm9wb3NlIGEgYnVmZmVycG9vbCB1cHN0cmVhbSB3aGVuIG5vdCBvcGVyYXRpbmcgaW4gcGFzc3Rocm91Z2guCgoyMDEyLTA5LTI3IDEyOjE3OjU4IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRzcHNyYzogZG8gbm90IGNoYW5nZSBzdGF0ZSB0byBQTEFZSU5HIGlmIGN1cnJlbnRseSBjaGFuaW5nIHN0YXRlCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jIChnc3RfcnRzcHNyY19wbGF5KTogc3RhdGUgY2hhbmdlIG1pZ2h0IGJlCgkgIGhhcHBlbmluZyBpbiB0aGUgYXBwbGljYXRpb24gdGhyZWFkLCBzbyB3ZSBkb24ndCBjaGFuZ2UgdGhlIHN0YXRlIHRvCgkgIFBMQVlJTkcgaW4gdGhlIGdzdHJ0c3BzcmMgdGhyZWFkIHVubGVzcyBpdCBpcyBzYWZlLgoJICBBIHNwZWNpZmljIGNhc2UgaXMgd2hlbiBjaGFuaW5nIHRoZSBzdGF0ZSB0byBOVUxMIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHRocmVhZC4gVGhpcyB3aWxsIHN5bmNocm9ub3VzbHkgdHJ5IHRvIHN0b3AgdGhlIHRhc2sgKHdpdGggdGhlIGVsZW1lbnQKCSAgc3RhdGUgbG9jayBhY3F1aXJlZCksIGJ1dCB3ZSB3aWxsIHRyeSBhIGdzdF9lbGVtZW50X3NldF9zdGF0ZSBmcm9tCgkgIGdzdHJ0c3BzcmMgdGhyZWFkIHdoaWNoIHdpbGwgYmxvY2sgb24gdGhlIGVsZW1lbnQgc3RhdGUgbG9jayBjYXVzaW5nIGEKCSAgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMTIKCjIwMTItMTItMTAgMTE6NDQ6MjYgKzAwMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCByZXNpemluZyB0aGUgQ29jb2Egd2luZG93IG9uIHJlY2VpdmluZyBuZXcgY2FwcwoJICBGaXhlcyBidWcgIzY4OTczMi4KCjIwMTItMTEtMzAgMjA6Mzc6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMnNyYzogbGluayBhZ2FpbnN0IC1scnQgZm9yIGNsb2NrX2dldHRpbWUoKQoJICBOZWVkIHRvIGV4cGxpY2l0bHkgbGluayBhZ2FpbnN0IC1scnQgZm9yIGNsb2NrX2dldHRpbWUoKSwgd2hpY2gKCSAgd2UgZG9uJ3QgZ2V0IGluIHRoZSBsaWJzIGFueSBtb3JlLCBiZWNhdXNlIGNvcmUgbW92ZWQgdGhlCgkgIGdtb2R1bGUtbm8tZXhwb3J0LTIuMCBiaXQgaW50byBSZXF1aXJlcy5Qcml2YXRlLgoJICBOb3QgcmVxdWlyZWQgZm9yIG5ld2VyIGdsaWJjLCBidXQgZm9yIG9sZGVyIG9uZXMsIHNvIGNoZWNrIGZvciB0aGF0LgoKMjAxMi0xMS0zMCAxNzoyMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBhY2NlcHQgYXVkaW8vd2VibSBhcyB3ZWxsIGFzIHZpZGVvL3dlYm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMzNgoKMjAxMi0xMS0zMCAxNzoyMDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHdlYm11eDogZml4IGxpbmtpbmcgd2l0aCBzaG91dDJzZW5kIGVsZW1lbnQKCSAgU2hvdXQyc2VuZCBvbmx5IGFjY2VwdHMgd2VibSBmb3JtYXQsIG5vdCBtYXRyb3NrYSwgYnV0IGR1ZQoJICB0byBhIGJ1ZyBpbiBtYXRyb3NrYW11eCwgd2VibW11eCdzIHNvdXJjZSBwYWQgaXMgYWxzbyBjcmVhdGVkCgkgIHdpdGggdGhlIG1hdHJvc2thIHNvdXJjZSBwYWQgdGVtcGxhdGUgYXMgcGFkIHRlbXBsYXRlLCB3aGljaAoJICBtYWtlcyB0aGUgbGluayBmdW5jdGlvbiB0aGluayBpdCBjYW4ndCBsaW5rIHdlYm1tdXggdG8gc2hvdXQyc2VuZC4KCSAgQWxzbyBhZGQgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MzM2CgoyMDEyLTExLTI3IDExOjEzOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgbmV3IG9wdGlvbiBwYXJzZXIgZnVuY3Rpb24KCjIwMTItMTEtMjYgMTU6MTc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbGF3OiBmaXggYWNjaWRlbnRhbCBmaWxlIHBlcm1pc3Npb25zIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY5CgoyMDEyLTExLTI1IDE2OjA1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxMi0xMS0yNSAxNDoxNjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBjcml0aWNhbHMgaWYgdW5rbm93biBmb3VyY2MgaGFzIHNwYWNlIGF0IGJlZ2lubmluZyBvciBlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjkzNgoKMjAxMi0xMS0yNCAxOTozMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogZml4IGJvcmRlciBmaWxsaW5nIGZvciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgV2Ugd291bGQgZ2V0IGEgZ3JlZW4gYm9yZGVyIGluc3RlYWQgb2YgYSBibGFjayBvbmUsIGZvcgoJICBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTkxCgoyMDEyLTExLTI0IDE0OjI3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIG11bGF3OiBjb25zdC1pZnkgc29tZSBhcnJheXMKCjIwMTItMTEtMDIgMTI6Mzg6NDQgLTA0MDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbXVsYXdkZWM6IGZpeCBpbnRlZ2VyIG92ZXJydW4KCSAgVGhlcmUgbWlnaHQgYmUgbW9yZSB0aGFuIDY1NTM1IHNhbXBsZXMgaW4gYSBjaHVuayBvZiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY5CgoyMDEyLTExLTIyIDExOjM0OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXVzZSB0aGUgdGFzayBpbnN0ZWFkIG9mIHNwaW5uaW5nCgkgIEFjdHVhbGx5IHBhdXNlIHRoZSBsb29wIHRhc2sgaW5zdGVhZCBvZiBzcGlubmluZyBmb3JldmVyLgoKMjAxMi0xMS0xOSAwMzozMTozNyAtMDUwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgZ3JheSA4LzE2IHN1cHBvcnQKCjIwMTItMTEtMTkgMTE6MjU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI0OTdjNGYgdG8gYTcyZmFlYQoKMjAxMi0xMS0xNiAxNTozODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlZ21lbnQgZXZlbnQKCSAgTWFrZSBhIHNlZ21lbnQgZXZlbnQgd2hlbiB3ZSBzZW5kIGEgbmV3IHJhbmdlIGhlYWRlciB0byBhIGNsaWVudCAoZmlyc3QgUExBWQoJICByZXF1ZXN0IG9yIGFmdGVyIGEgc2VlaykuIFNlbmQgdGhlIHNlZ21lbnQgZXZlbnQgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgQ2xlYW4gdGhlIHNlZ21lbnQgZXZlbnQgb24gY2xlYW51cAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MzgyCgoyMDEyLTExLTE2IDE1OjE4OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY2hlY2sgZm9yIGFjdGl2ZSBzdHJlYW1zCgkgIEEgc3RyZWFtIGNhbiBiZSBhY3RpdmUgd2l0aG91dCBhIHNyY3BhZCB5ZXQgYW5kIHdlIHdhbnQgdG8gc2VuZAoJICBldmVudHMgb24gdGhvc2Ugc3RyZWFtcyBhcyB3ZWxsLgoKMjAxMi0xMS0xNiAxMzozMTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBhZGQgcGFkcyBvdXRzaWRlIG9mIGxvY2sKCSAgQ3JlYXRlIGFuZCBhZGQgdGhlIGdob3N0cGFkIGZvciB0aGUgbmV3IHN0cmVhbSBvdXRzaWRlIG9mIHRoZSBsb2NrIGJlY2F1c2UgaXQKCSAgaXMgbm90IG5lZWRlZCBhbmQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMDktMTIgMjI6MTE6MjAgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHNwc3JjOiBhbGxvdyBjbGllbnQgdG8gZGlzYWJsZSByZWNvbm5lY3Rpb24KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLltjaF06IGFkZGVkIG5ldyAidWRwLXJlY29ubmVjdCIgcHJvcGVydHkuIEJlZm9yZSwKCSAgcnRzcHNyYyBhbHdheXMgdHJpZWQgdG8gcmVjb25uZWN0IHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgUlRTUAoJICBjb25uZWN0aW9uIHdhcyBjbG9zZWQgYnkgdGhlIHNlcnZlci4gVGhpcyBwcm9wZXJ0eSBsZXRzIHRoZSB1c2VyCgkgIGRlY2lkZSB3aGV0aGVyIGl0IHdhbnRzIHJ0c3BzcmMgdG8gcmVjb25uZWN0IG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzkxMgoKMjAxMi0xMS0xNiAxMjoxNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYXIgdmFyaWFibGVzIGJlZm9yZSByZXRyeWluZwoJICBFbHNlIHdlIG1pZ2h0IHVucmVmIGFuIG9sZCB1ZHBzcmMgdHdpY2UgaW4gY2xlYW51cC4KCjIwMTItMTEtMTYgMTI6MDA6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3Bvc2UgcG9ydHMgaW4gbXVsdGljYXN0CgkgIFdoZW4gdGhlIHVzZXIgY29uZmlndXJlZCBhIHBvcnQtcmFuZ2UsIHByb3Bvc2UgcG9ydHMgZnJvbSB0aGlzIHJhbmdlCgkgIGFzIHRoZSBtdWx0aWNhc3QgcG9ydHMuIFRoZSBzZXJ2ZXIgaXMgZnJlZSB0byBpZ25vcmUgdGhpcyByZXF1ZXN0IGJ1dCBpZiBpdAoJICBob25vdXJzIGl0LCBpbmNyZW1lbnQgb3VyIHBvcnRzIHNvIHRoYXQgd2Ugc3VnZ2VzdCB0aGUgbmV4dCBwb3J0IHBhaXIgZm9yIHRoZQoJICBuZXh0IHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQyMAoKMjAxMi0xMS0xNiAxMTo1ODo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIG1vcmUgZGVidWcKCjIwMTItMTEtMTYgMDk6MDk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBtZXNzYWdlcyBpbiBtYXgtc2l6ZSBtb2RlIGFzIHdlbGwKCSAgTm8gcmVhc29uIG5vdCB0byByZWFsbHkuCgoyMDEyLTExLTE1IDE0OjM3OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBwb3N0IGVycm9yIGJlZm9yZSBzdG9wcGluZwoKMjAxMi0xMS0xNCAwMDoxMzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIC0+IGdzdF9hZGFwdGVyX3ByZXZfcHRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU1OTgKCjIwMTItMTEtMTIgMTk6MjM6NDEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgTlYxMi9OVjIxIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODIyNQoKMjAxMi0xMS0xMiAxMzowMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGxlYWsgR3N0VmlkZW9Db2RlY0ZyYW1lcyB0aGF0IGNhdXNlIHRoZSBjcmVhdGlvbiBvZiBpbnZpc2libGUgZnJhbWVzCgkgIEZpeGVzIGJ1ZyAjNjgyNzE0LgoKMjAxMi0xMS0xMiAxMTo0NzoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBVc2UgbmV3IEdUeXBlIGZvciBHVGhyZWFkIGluc3RlYWQgb2YganVzdCBHX1RZUEVfUE9JTlRFUgoKMjAxMi0xMS0xMiAxMToxNDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIFJUUCBwYWNrZXRzCgoyMDEyLTExLTEyIDEwOjQ0OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQWN0dWFsbHkgdXNlIHRoZSBzdG9wKCkgdmZ1bmMgaW1wbGVtZW50YXRpb24KCjIwMTItMTEtMTIgMTA6MzE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbGFzdCBjb21taXQKCjIwMTItMTEtMTIgMTA6MTA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBLZWVwIHRoZSBpbnB1dCBzdGF0ZSBpbiByZXNldCgpCgkgIEl0J3Mgc3RpbGwgdmFsaWQgYWZ0ZXIgYSBmbHVzaCBhbmQgd2UgbWlnaHQgbm90IGdldCBhIG5ldyBvbmUuCgoyMDEyLTExLTEyIDEwOjA4OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWxzbyBkZXN0cm95IGRlY29kZXIgaW4gc2V0X2Zvcm1hdCgpIGlmIGl0IHdhcyBjcmVhdGVkIGFscmVhZHkKCSAgRml4ZXMgYSBtZW1vcnkgbGVhay4KCjIwMTItMTEtMTIgMDk6NDg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBEb24ndCBjbGVhciBpbnB1dCBzdGF0ZSBpbiByZXNldCgpCgkgIFRoZSBpbnB1dCBzdGF0ZSBpcyBzdGlsbCB2YWxpZCBhZnRlciBmbHVzaGluZyB1bnRpbAoJICBuZXcgY2FwcyBhcnJpdmUuCgkgIEZpeGVzIGJ1ZyAjNjg4MDkyLgoKMjAxMi0xMS0xMCAxODoyMToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogYWRkIHN1cHBvcnQgZm9yIFlWMTIKCSAgV2UgY2FuIGRvIEk0MjAsIHNvIHdlIGNhbiBkbyBZVjEyIGFzIHdlbGwuCgoyMDEyLTExLTEwIDEyOjM5OjA4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVycyB3aXRoIGtleS11bml0LWV2ZW50CgkgIERvbid0IHdyaXRlIHN0cmVhbSBoZWFkZXJzLCBsZXQgdXBzdHJlYW0gZWxlbWVudHMgaW5zZXJ0IHRoZW0gaW4gdGhlIHN0cmVhbSBpZgoJICBhbGxfaGVhZGVycz10cnVlIGlzIHNldCBpbiBrZXkgdW5pdCBldmVudHMuCgoyMDEyLTExLTA5IDEzOjI3OjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IEFkZCBOVjEyL05WMjEgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3OTY0CgoyMDEyLTExLTA5IDE2OjMxOjA1ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IERvbid0IGdpdmUgdXAgc28gZWFzaWx5IGlmIGZhaWxlZCB0byBkZWNvZGUgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDM2CgoyMDEyLTExLTA5IDExOjIyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWxzbyBjbGVhciBHRXJyb3IKCjIwMTItMTEtMDkgMTE6MjA6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMKCSAgU2VlIGJ1ZyAjNTI5NDU0IGFuZCAjNjg3NzgyIGFuZCBjb21taXQKCSAgNzUxZjJiYjM2NDZmMmJlZmYzNjk4YzlmMDk5MDBkYmQwZWEwOGFiYgoKMjAxMi0xMS0wNyAyMDozNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgY291cnRlc3kgb2YgYXV0b3VwZGF0ZQoKMjAxMi0xMS0wNyAxODo0ODo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsZXQgQUdfR1NUX1BMVUdJTl9ET0NTIGNoZWNrIGZvciBweXRob24KCSAgQW5kIHVwZGF0ZSBjb21tb24gZm9yIG1vdmUgZnJvbSBBU19QQVRIX1BZVEhPTiB0byBBTV9QQVRIX1BZVEhPTiwKCSAgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBzaG91bGQgcGljayB1cCBuZXdlciBweXRob24gdmVyc2lvbnMgYXMKCSAgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzkwMwoKMjAxMi0xMS0wNyAxMzozNjozMyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgRml4IHZwOHJ0cCBoZWFkZXIgbmFtZXMgaW4gTWFrZWZpbGUKCjIwMTItMTEtMDYgMTU6MDM6NTUgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgY3JvcHBpbmcKCSAgVGhpcyBjaGFuZ2UgZW5hYmxlIGF1dG9tYXRpYyBjcm9wcGluZyB1c2luZyAtMSBzZXQgdG8gbGVmdCwgdG9wLCByaWdodCBvcgoJICBib3R0b20gcHJvcGVydHkuIEluIHRoZSBjYXNlIGJvdGggc2lkZSBhcmUgc2V0IHRvIGF1dG9tYXRpYyBjcm9wcGluZywgdGhlCgkgIGNyb3Bpbmcgd2lsbCBiZSBkb25lIGVxdWFsbHkgb24gYm90aCBzaWRlIChpbiB0aGUgb2RkIGNhc2UsIHJpZ2h0IGFuZAoJICBib3R0b20gY3JvcHBpbmcgd2lsbCBiZSAxIHBpeGVsIG1vcmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NzYxCgoyMDEyLTExLTAyIDE2OjM5OjI4ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IERvbid0IHVubWFwIG9yIGZpbmlzaF9mcmFtZSBhbiBpbnZhbGlkIEdzdEJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY0CgoyMDEyLTExLTA2IDEzOjIyOjU4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB0aGUgUlRDUCBwb3J0IG51bWJlciBpcyBpbmNsdXNpdmUKCSAgVGhlIGNvbmZpZ3VyZWQgcG9ydCBudW1iZXIgcGFpciBoYXMgaXRzIHVwcGVyIGJvdW5kIHNldCB0byB0aGUgbWF4aW11bQoJICBhbGxvd2VkIFJUQ1AgcG9ydCwgaW5jbHVzaXZlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQyMAoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wNCAwMDowNzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmg6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJKiBleHQvanBlZy9zbW9rZWZvcm1hdC5oOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJKiBleHQvbWlrbW9kL1JFQURNRToKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuaDoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuaDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSogZ3N0L2F1ZGlvZngvbWF0aF9jb21wYXQuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmg6CgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5oOgoJKiBnc3QvZmx2L2dzdG1lbWluZGV4LmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmM6CgkqIGdzdC9mbHgvZmx4X2NvbG9yLmg6CgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZHJhd21ldGhvZHMuYzoKCSogZ3N0L2dvb20vZHJhd21ldGhvZHMuaDoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzX21teC5zOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fZnguaDoKCSogZ3N0L2dvb20vZ29vbV9ncmFwaGljLmg6CgkqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSogZ3N0L2dvb20vZ29vbV90b29scy5jOgoJKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkqIGdzdC9nb29tL2dvb21fdHlwZWRlZnMuaDoKCSogZ3N0L2dvb20vZ29vbV92aXN1YWxfZnguaDoKCSogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSogZ3N0L2dvb20vbGluZXMuYzoKCSogZ3N0L2dvb20vbGluZXMuaDoKCSogZ3N0L2dvb20vbWF0aHRvb2xzLmM6CgkqIGdzdC9nb29tL21hdGh0b29scy5oOgoJKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuaDoKCSogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLnM6CgkqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLnM6CgkqIGdzdC9nb29tL3NvdW5kX3Rlc3Rlci5jOgoJKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuaDoKCSogZ3N0L2dvb20vc3VyZjNkLmM6CgkqIGdzdC9nb29tL3N1cmYzZC5oOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSogZ3N0L2dvb20vdjNkLmM6CgkqIGdzdC9nb29tL3YzZC5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9mdHlwY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LWRvYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvaXNvbXA0L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5oOgoJKiBnc3QvaXNvbXA0L3F0cGFsZXR0ZS5oOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4Lmg6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5oOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3J0cC9mbnYxaGFzaC5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmg6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5oOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3Qvc21wdGUvcGFpbnQuaDoKCSogZ3N0L3NtcHRlL3BsdWdpbi5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3NzL2NvbW1vbi5oOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuaDoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmM6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1bmF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDMgMjA6NDA6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuaDoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDMgMjA6NDA6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuaDoKCSogZXh0L2xhbWUvcGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9sYW1lLmM6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAyIDE4OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBkb24ndCBhY2Nlc3MgcnRwIGJ1ZmZlciBhZnRlciB1bm1hcAoJICBSZWFkIHRoZSBtYXJrZXIgYml0IGJlZm9yZSB3ZSB1bm1hcCB0aGUgcnRwIHBhY2tldC4KCjIwMTItMTEtMDIgMDk6MzQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbW1lZGlhdGVseSByZXR1cm4gaWYgb3BlbmluZyB0aGUgZGVjb2RlciBmYWlsZWQKCSAgSW5zdGVhZCBvZiBpZ25vcmluZyBhbnkgZXJyb3JzLgoKMjAxMi0xMS0wMSAyMjowMjozOSArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTaG9ydCBjaXJjdWl0IGdzdF92cDhfZGVjX2hhbmRsZV9mcmFtZSBpZiBrZXlmcmFtZSBpcyBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczNzYKCjIwMTItMTEtMDIgMTA6NTM6NTcgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb2NvbnZlcnQ6IENvbXBhcmUgeSBvZmZzZXQgd2l0aCBoZWlnaHQsIG5vdCB3aWR0aCwgd2hlbiB0ZXN0aW5nIGZvciBvdmVybGFwCgkgIFRoaXMgY291bGQgaGF2ZSBwcmV2ZW50ZWQgaW1hZ2VzIHNob3dpbmcgdGhhdCBzaG91bGQgaGF2ZSB3aGVuIHRoZQoJICBzb3VyY2UgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBpdHMgd2lkdGguCgkgIFdoZW4gd2lkdGggZXhjZWVkcyBoZWlnaHQsIGFzIGlzIGNvbW1vbiwgaXQgcHJvYmFibHkgb25seSBjYXVzZWQgYQoJICBtaW5pc2N1bGUgYW1vdW50IG9mIHVubmVjZXNzYXJ5IHdvcmsuICBJIGhhdmVuJ3QgdGVzdGVkLgoKMjAxMi0xMS0wMSAyMTowOTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IGluY2x1ZGUgY29uZmlnLmggYW5kIG1pbm9yIHN0eWxlIGZpeGVzCgoyMDEyLTExLTAxIDIwOjEzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBmaXggdGFicy9zcGFjZSBtZXNzIGluIE1ha2VmaWxlLmFtCgoyMDEyLTExLTAxIDIwOjA1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSAgcnRwOiBtb3ZlIFZQOCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGZyb20gLWJhZAoJICBTcGVjIGlzIHN0aWxsIGluIGRyYWZ0IHN0YXRlLCBidXQgc2hvdWxkIGhvcGVmdWxseSBub3QKCSAgY2hhbmdlIG11Y2ggbm93LiBCZXNpZGVzLCB3ZSBhbm5vdW5jZSB0aGluZ3MgYXMgVlA4LURSQUZULUlFVEYtMDEKCSAgaW4gb3VyIGNhcHMsIHNvIGV2ZW4gaWYgdGhpbmdzIGNoYW5nZSBpbiBpbmNvbXBhdGlibGUgd2F5cyBpdAoJICBzaG91bGQgbm90IGJyZWFrIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYzCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkgIHJ0cHZwODogdXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI4IDEyOjQ5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTAxIDE0OjU5OjU1IC0wMzAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODsgZml4IGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgdGhpcmQgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTA3MwoKMjAxMi0wMS0yNSAxNjoyMDo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEwOjQ1OjUxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcG9ydCB0byAwLjExCgoyMDExLTEwLTAzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRml4IHR5cG8KCjIwMTEtMDktMjMgMjI6NTg6MzAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogVXBkYXRlIHRoZSBwYXkvZGVwYXkgdG8gdGhlIGlldGYtZHJhZnQtMDEgc3BlYwoKMjAxMS0wOS0xMCAxMTozMToyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2Rib29saHVmZi5jOgoJKiBnc3QvcnRwL2Rib29saHVmZi5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IGZpeCBiaXRzdHJlYW0gcGFyc2luZyB1c2luZyB0aGUgd3Jvbmcga2luZCBvZiBiaXRyZWFkZXIKCSAgVlA4IHVzZXMgYSBwcm9iYWJpbGlzdGljIGJvb2wgY29kZXIsIG5vdCBhIHN0cmFpZ2h0IGJpdCBjb2Rlci4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIHdoZW4gZXJyb3ItcmVzaWxpZW50IGlzIHNldC4KCSAgVGhpcyBjb21taXQgaW5jbHVkZXMgYSBjb3B5IG9mIGxpYnZweCdzIGJvb2wgY29kZXIsIEJTRCBsaWNlbnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY5NAoKMjAxMS0wNy0xMiAxODowMzo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogUmVqZWN0IHVua25vd24gYml0c3RyZWFtIHZlcnNpb25zCgoyMDExLTAzLTA0IDExOjU5OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweS4KCjIwMTEtMDEtMjMgMTc6MDI6MzggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IEFjY2VwdCBwYWNrZXRzIHdpdGggb25seSBvbmUgYnl0ZSBvZiBkYXRhCgkgIFdoZW4gZnJhZ21lbnRpbmcgcGFydGlvbnMgaXQgY2FuIGhhcHBlbiB0aGF0IGFuIFJUUCBwYWNrZXQgb25seSBjYXJpZXMgMQoJICBieXRlIG9mIFJUUCBkYXRhLgoKMjAxMS0wMS0yMyAxNjo0MjoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4cGF5OiBUcmVhdCB0aGUgZnJhbWUgaGVhZGVyIGp1c3QgbGlrZSBhbnkgb3RoZXIgcGFydGl0aW9uCgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgaW5pdGlhbCBtYXBwaW5nIGp1c3QgYWN0IGFzIGlmIHRoZSBnbG9iYWwgZnJhbWUKCSAgaW5mb3JtYXRpb24gaXMgYW5vdGhlciBwYXJ0aXRpb24uIFRoaXMgc2F2ZXMgc3BlY2lhbC1jYXNpbmcgaXQgbGF0ZXIgaW4KCSAgdGhlIGFjdHVhbCBwYWNrZXRpemluZyBjb2RlLgoKMjAxMC0wNS0xNiAxNzoyMzoxNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogQWRkIHNpbXBsZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgZm9yIFZQOAoJICBNaW5pbWFsIGltcGxlbWVudGF0aW9uIG9mIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvcnRwLywKCSAgdmVyc2lvbiAwLjMuMgoKMjAxMi0xMS0wMSAxODo0MjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogZml4IGZvciAxLjAgZXZlbnRzCgkgIENhcHMgZXZlbnRzIGFyZSBzb21ldGltZXMgbm90IGZvbGxvd2VkIGJ5IGEgYnVmZmVyIGJ1dCBieSBhbiBldmVudC4gRmx1c2ggYW55CgkgIHBlbmRpbmcgY2FwcyBiZWZvcmUgd2UgbWFrZSBhIHBhY2tldCB3aXRoIHRoZSBldmVudC4KCSAgQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBldmVudCBoYW5kbGVyIGJlZm9yZSB3ZSBhdHRlbXB0IHRvIHB1c2ggUlRQIHBhY2tldHMsIGl0CgkgIG1pZ2h0IGJlIGEgc2VnbWVudCBldmVudC4KCjIwMTItMTEtMDEgMTg6NDI6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBmaXggc21hbGwgbGVhawoKMjAxMi0xMS0wMSAxNzo0NDoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGFkZCBzdXBwb3J0IGZvciBldmVudHMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMTEtMDEgMTc6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IGFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGV2ZW50cwoJICBXZSBjdXJyZW50bHkgb25seSBzZW5kIHRhZ3MgYW5kIGN1c3RvbSBldmVudHMuIFRoZSBvdGhlciBldmVudHMKCSAgbWlnaHQgaW50ZXJmZXJlIHdpdGggdGhlIHJlY2VpdmVyIHRpbWluZ3Mgb3IgYXJlIG90aGVyd2lzZSBoYW5kbGVkCgkgIGJ5IFJUUC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDEyLTExLTAxIDE1OjU0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5OiByZXdyaXRlIHBheWxvYWRlcgoJICBVc2UgYWRhcHRlciB0byBhc3NlbWJsZSB0aGUgcGF5bG9hZCBhbmQgbWFrZSBhIGZsdXNoIGZ1bmN0aW9uIHRvCgkgIHR1cm4gdGhpcyBwYXlsb2FkIGludG8gKGZyYWdtZW50ZWQpIHBhY2tldHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oCgoyMDEyLTExLTAxIDEzOjAzOjQ0ICswMDAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZ2V0IGhlaWdodCB2aWEgR1NUX1ZJREVPX0ZSQU1FX0hFSUdIVCwgbm90IF9XSURUSAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MzMwCgoyMDEyLTExLTAxIDEzOjAyOjE2ICswMDAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVib3g6IGZpeCBib3JkZXIgZmlsbGluZyBmb3IgZ3JheSBmb3JtYXRzCgkgIEdldCB0aGUgaGVpZ2h0IHZpYSBHU1RfVklERU9fRlJBTUVfSEVJR0hULCBub3QgX1dJRFRILgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MzMwCgoyMDEyLTExLTAxIDExOjU4OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogY2hlY2sgZm9yIGNvcnJlY3QgZnJhZ21lbnQgb2Zmc2V0CgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IGluc2VydCB0aGUgcnRwIHBhY2tldCBpbiB0aGUgYWRhcHRlciB3aGVuIHRoZQoJICBmcmFnX29mZnNldCBtYXRjaGVzLiBXaGVuIHRoZSBmaXJzdCBwYWNrZXQgb2YgYSBmcmFnbWVudCBpcyBkcm9wcGVkLAoJICBpdCBhdm9pZHMgcHV0dGluZyB0aGUgcmVtYWluaW5nIHBhY2tldHMgaW4gdGhlIGFkYXB0ZXIgYW5kIHByb2Nlc3NpbmcKCSAgdGhlIHBhcnRpYWwgZnJhZ21lbnQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTExLTAxIDExOjU0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBzZXQgQyBmbGFnIG9uIGFsbCBidWZmZXJzIG9mIHRoZSBmcmFnbWVudAoJICBTZXQgdGhlIEMgZmxhZ3Mgb24gYWxsIHRoZSBmcmFnbWVudHMgaW5zdGVhZCBvZiBvbmx5IHRob3NlIHdpdGgKCSAgY2FwcyBpbiB0aGVtLiBUaGlzIG1ha2VzIGl0IGVhc2llciBpbiB0aGUgcmVjZWl2ZXIgdG8gY2hlY2sgaWYgdGhlcmUKCSAgaXMgYSBjYXBzIGluIHRoZSBhc3NlbWJsZWQgZnJhZ21lbnRzIGp1c3QgYnkgbG9va2luZyBhdCB0aGUgbGFzdCBSVFAKCSAgcGFja2V0IGZsYWdzLgoKMjAxMi0xMS0wMSAxMDo1NTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IHVzZSB0aGUgY2Fwc3ZlcnNpb24KCSAgVGFrZSB0aGUgY2FwcyBmcm9tIHRoZSBpbnB1dCBjYXBzIGFuZCBzdG9yZSBpdCBpbiB0aGUgc2xvdCBnaXZlbgoJICBieSBjYXBzdmVyc2lvbi4KCjIwMTItMTEtMDEgMTA6NTI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXk6IHNlbmQgY2FwcyBpbmxpbmUKCSAgUGxhY2UgdGhlIGNhcHN2ZXJzaW9uIG9uIHRoZSBvdXRnb2luZyBjYXBzIHNvIHRoYXQgdGhleSBlbmQgdXAgaW4KCSAgYW4gU0RQIGFzIHdlbGwuIFJlY2VpdmVycyBuZWVkIHRvIGtub3cgd2hhdCBjYXBzdmVyc2lvbiBhIHBhcnRpY3VsYXIKCSAgY2FwcyBpcyBmb3IgdG8gYmUgYWJsZSB0byBtYXRjaCB0aGUgY2FwcyB0byB0aGUgQ1YgaW4gdGhlIFJUUCBwYWNrZXRzLgoJICBQbGFjZSB0aGUgY2FwcyBpbnNpZGUgdGhlIFJUUCBwYWNrZXQgd2hlbmV2ZXIgdGhlIGNhcHMgY2hhbmdlLgoJICBCYXNlZCBvbiBwYXRjaCBieSBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmgKCjIwMTItMTAtMzEgMTY6MTc6NDggKzAwMDAgIEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBhZGQgZGVidWcKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDEyLTEwLTMxIDE2OjA5OjI2ICswMDAwICBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZGVwYXk6IGNvcnJlY3RseSBza2lwIGNhcHMgaGVhZGVyIHNpemUKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMDktMjggMDA6NDM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1dCBzdHJlYW1oZWFkZXJzIG9uIHZvcmJpcy9zcGVleC9mbGFjL3RoZW9yYSBjYXBzIHRvIG1ha2UgcmVtdXhpbmcgd29yawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNTg5CgoyMDEyLTEwLTI4IDAwOjA3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBhc3NlcnQgaW4gZ2V0X3RpbWUoKSB3aGVuIGNhbGxlZCBhZnRlciBzaHV0ZG93bgoJICBXaGljaCBtaWdodCBoYXBwZW4gaWYgdGhlIHNvdXJjZSBnZXRzIHNldCB0byBOVUxMIHN0YXRlIGJlZm9yZQoJICB0aGUgcmVzdCBvZiB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5ODUKCjIwMTItMTAtMzAgMTE6MTA6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIHRlc3RzOiBmaXggbGV2ZWwgZXhhbXBsZQoJICBVc2UgdGhlIEdWYWx1ZUFycmF5IGluIHRoZSBtZXNzYWdlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTU0CgoyMDEyLTEwLTMwIDA5OjI3OjI0ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaW5hbGl6ZSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTc2CgoyMDEyLTEwLTMwIDEwOjIwOjA5ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogRml4IGxlYWtzIGZyb20gbm90IGNoYWluaW5nIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbgoKMjAxMi0xMC0yNyAyMzoyMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGdzdDogZml4IHZhcmlhYmxlIG9yZGVyIGluIHNvbWUgTWFrZWZpbGUuYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzAxMwoKMjAxMi0xMC0yNyAxNzoyNzoxNiAtMDQwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBnc3Q6IGFkZCB2YXJpb3VzIG1pc3NpbmcgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGluIE1ha2VmaWxlLmFtCgkgIFRob3NlIHBsdWdpbnMgZGVwZW5kIG9uIGVpdGhlciBsaWJnc3RhdWRpbyBvciBsaWJnc3R2aWRlbywKCSAgd2hpY2ggYXJlIGluIGdzdC1wbHVnaW5zLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcwMTMKCjIwMTItMTAtMjcgMTM6MjQ6MjQgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYXJrIGludmlzaWJsZSBWUDggZnJhbWVzIHdpdGggdGhlIERFQ09ERV9PTkxZIGZsYWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI1OQoKMjAxMi0xMC0yNiAxMDo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogYWRkIG11bHRpZmlsZXNyYyB0ZXN0IGZvciBmaXggaW4gcHJldmlvdXMgY29tbWl0CgkgIE1ha2Ugc3VyZSB0aGUgc3RvcC1pbmRleCBzZXQgaXMgaG9ub3VyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTMKCjIwMTItMTAtMjYgMTA6MzM6MDMgKzAxMDAgIFN0YXMgU2VyZ2VldiA8c3RzcEBha25ldC5ydT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHN0b3AgaW5kZXggaGFuZGxpbmcKCSAgTWFrZSBzdXJlIHRoZSBzdG9wIGluZGV4IGlzIGFsd2F5cyBob25vdXJlZC4gQXZvaWRzCgkgIGVuZGxlc3MgbG9vcCBpZiBvbmUgd2FudHMgdG8gcmVhZCBhbmQgb3V0cHV0IHRoZSBzYW1lCgkgIGZpbGUgTiB0aW1lcywgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTMKCjIwMTItMDgtMjUgMDI6MjY6MjkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IFN1cHBvcnQgcmVjdXJzaXZlIFNpbXBsZVRhZ3MKCSAgRml4ZXMgIzY4MjY0NAoJICBEZXBlbmRzIG9uICM2ODI2MTUKCjIwMTItMDgtMjQgMTM6NTU6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRXhwYW5kIHRoZSB0YWcgbWFwcGluZy4KCSAgKiBBbHNvIGV4cG9zZSB1bmtub3duIHRhZ3MgYXMga2V5PXZhbHVlIHBhaXJzLgoJICAqIEFycmFuZ2UgdGFnIG1hcCBpbiB0aGUgc2FtZSBvcmRlciB0YWdzIGFyZSBsaXN0ZWQgaW4gTWF0cm9za2Egc3BlYywgbGVhdmluZwoJICB1bm1hcHBlZCB0YWdzIGFzIGNvbW1lbnRzLgoJICAqIE1vcmUgc3BlY2lmaWMgVE9ET3MuCgkgICogUmVtb3ZlIGR1cGxpY2F0ZSBEQVRFIGRlZmluZS4KCSAgRml4ZXMgIzY4MjYxNQoJICBEZXBlbmRzIG9uICM2ODI1MjQKCjIwMTItMTAtMjYgMTA6MDk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDgtMjMgMTU6MDc6MjIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogTWF0cm9za2EgdGFnIFRhcmdldFR5cGUgc3VwcG9ydAoJICAqIFJlYWRzIFRhcmdldFR5cGUgYW5kIFRhcmdldFR5cGVWYWx1ZSBmcm9tIGEgVGFnLgoJICAqIEFmdGVyIFRhZyBpcyBjb21wbGV0ZWx5IHJlYWQsIHByb2Nlc3NlcyB0YWdsaXN0LCBzdWJzdGl0dXRpbmcgc29tZSBvZiB0aGUKCSAgdGFncyBkZXBlbmRpbmcgb24gdGFyZ2V0IHR5cGUgdmFsdWUgYW5kIHRoZSBwcmVzZW5jZSBvZiB2aWRlby9zdWJ0aXRsZSBzdHJlYW1zLgoJICAqIFN1cHBvcnRzIHJlYWRpbmcgdHdvIG5ldyBzaW1wbGV0YWdzIC0gUEFSVF9OVU1CRVIgYW5kIFRPVEFMX1BBUlRTCgkgIERlcGVuZHMgb24gIzY4MjQ0OAoJICBGaXhlcyAjNjgyNTI0CgoyMDEyLTA4LTIyIDE1OjMyOjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBQZXItdHJhY2sgdGFncyBmb3IgTWF0cm9za2EKCSAgUmVxdWlyZXMgTWF0cm9za2EgZmlsZSB0byBoYXZlIHNhbmUgbGF5b3V0ICh0cmFjayBpbmZvIGJlZm9yZSB0YWcgaW5mbykuCgkgIFVzZXMgcmVwbGFjZS1tZXJnZS4KCSAgTWFrZXMgdHJhY2sgVUlEcyA2NC1iaXQuCgkgIEZpeGVzICM2ODI0NDgKCjIwMTItMTAtMjUgMjA6MTg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEyLTEwLTI1IDEyOjE4OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWFkIHZpZGVvIGZvcm1hdCBoZWFkZXIgZnVsbHkgKHNvIHdlIGNhbiBmaW5kICdwYXNwJyBhdG9tcykgZm9yIG1vcmUgZm91cmNjcy4gRml4ZXMgYXNwZWN0IHJhdGlvIG9mIHByb3JlcyBmaWxlcy4KCjIwMTItMTAtMjUgMDA6NDQ6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogdGhlIG5ldyBnZXRfY2FwcyBhbHJlYWR5IGRvZXMgdGhlIGZpbHRlciBpbnRlcnNlY3Rpb24KCSAgSXQgc2hvdWxkIGJlIGZhc3RlciB0byBwYXNzIHRoZSBjYXBzIHRvIGludGVyc2VjdCBhcyB0aGUgZmlsdGVyIGNhcHMsCgkgIHJhdGhlciB0aGFuIHVzaW5nIE5VTEwgYW5kIGludGVyc2VjdGluZyAnbWFudWFsbHknIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODM3CgoyMDEyLTEwLTI1IDAwOjQzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGF2b2lkIGFzc2VydGlvbiB3aGVuIHVzaW5nIGFjY2VwdCBjYXBzIHF1ZXJ5CgkgIFRoaXMgcXVlcnkgbXVzdCByZWNlaXZlIGEgZml4ZWQgY2Fwcywgc28gaW1hZ2VmcmVlemUgc2hvdWxkCgkgIGZpeGF0ZSBpdHMgZnJhbWVyYXRlIGJlZm9yZSBzZW5kaW5nIHRoZSBxdWVyeSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODM3CgoyMDEyLTEwLTI1IDEyOjMzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGZlYXR1cmUgZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMC4yID09PQoKMjAxMi0xMC0yNSAwMTowMTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjIKCjIwMTItMTAtMjQgMTM6NDE6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgdGVzdHM6IGZpeCB1cCBtcGcxMjMgdGVzdCBhIGxpdHRsZQoJICAtIGRpc3QgaW5wdXQgZmlsZXMKCSAgLSBmaXggc2FtcGxlIGxlYWsKCSAgLSBzaW1wbGlmeSBjaGVjayBmb3IgZWxlbWVudHMKCSAgLSBvbmx5IHJ1biBtcGcxMjMgdGVzdCBpZiBtcGcxMjMgaXMgYXZhaWxhYmxlIGFuZCBzZWxlY3RlZAoJICAtIGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDEyOjMwOjEwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICB0ZXRzOiBhZGQgdW5pdCB0ZXN0IGZvciBtcGcxMjNhdWRpb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjM2OjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogYWRkZWQgZ3RrZG9jIHNlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMjowNSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeGVkIGJ1ZyB3aXRoIGxhc3QgZnJhbWUsIGRpc2FibGVkIGludGVybmFsIHJlc2FtcGxlciAmIGNoYXR0ZXIKCSAgKiBUaGUgbGFzdCBNUDMgZnJhbWUgd2Fzbid0IGJlaW5nIHB1c2hlZCB3aGVuIGJhc2UgY2xhc3Mgd2FzIGRyYWluaW5nCgkgICogTWFkZSBzdXJlIG1wZzEyMyBjYW5ub3QgZXZlciB1c2UgaXRzIChjcnVkZSkgaW50ZXJuYWwgcmVzYW1wbGVyCgkgICogRGlzYWJsZWQgbXBnMTIzIHN0ZGVyciBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAxMzo1MDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGNvcnJlY3QgdHlwZSBmb3IgY2hhbm5lbC1tYXNrIGJpdG1hc2sKCSAgRml4ZXMgY3Jhc2ggb24gMzItYml0IHN5c3RlbXMuCgoyMDEyLTEwLTI0IDAwOjIxOjQ1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogY2xlYW5lZCB1cCBjb21tZW50cywgZm9ybWF0dGluZywgYW5kIGxvZ2dpbmcgbGluZXMKCSAgYWxzbyByZXBsYWNlZCBtcGcxMjNkZWNvZGVyLT5oYW5kbGUgIT0gTlVMTCBjaGVja3Mgd2l0aCBhc3NlcnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMTE6MTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZsdXNoIHRoZSByaW5nYnVmZmVyIG9uIEdBUCBldmVudHMgd2l0aG91dCBkdXJhdGlvbgoJICBUaGlzIGlzIHJlcXVpcmVkIHRvIHByb3Blcmx5IHN0YXJ0IHRoZSByaW5nYnVmZmVyIGFuZCBjbG9jay4KCjIwMTItMTAtMDIgMjA6NTE6MjkgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHNldCBERUNPREVfT05MWSBmbGFnIG9uIGludmlzaWJsZSBBbHRSZWYgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyMTYKCjIwMTItMTAtMjMgMTY6MDI6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggY292ZXJhcnQgZXh0cmFjdGlvbiBpZiB2b3JiaXMgY29tbWVudHMgY29tZSBhZnRlciBwaWN0dXJlIGhlYWRlcgoJICBTZWUgc2FtcGxlIGZpbGUgZm9yIGJ1ZyAjNjg0NzAxLgoKMjAxMi0xMC0yMyAxMzo0NToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGlnbm9yZSBiYWQgaGVhZGVycyBpZiB3ZSBoYXZlIGEgdmFsaWQgU1RSRUFNSU5GTyBoZWFkZXIKCSAgSWYgd2UgcnVuIGludG8gYW55IGhlYWRlciBwYXJzaW5nIGlzc3VlcyBhbmQgd2UgaGF2ZSBhIHZhbGlkCgkgIFNUUkVBTUlORk8gaGVhZGVyIGFscmVhZHksIGRvbid0IGVycm9yIG91dCwgYnV0IGp1c3Qgc3RvcAoJICBoZWFkZXIgcGFyc2luZyBhbmQgdHJ5IHRvIGZpbmQgc29tZSBhdWRpbyBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjMgMTM6NDM6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwb3N0IHByb3BlciBlcnJvciBtZXNzYWdlIGFuZCBmaXggYnVmZmVyIGxlYWsgb24gaGVhZGVyIHBhcnNpbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDcwMQoKMjAxMi0xMC0yMiAyMjozMjo0OSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHdpdGggcmF3IGF1ZGlvLCBzZXQgYSBkZWZhdWx0IGNoYW5uZWwtbWFzayBmb3IgbXVsdGljaGFubmVsIGF1ZGlvLiBUaGlzIGRvZXNuJ3QgYWN0dWFsbHkgcGFyc2UgJ2NoYW4nIGJlY2F1c2UgaXQncyBhYnN1cmRseSBjb21wbGV4LgoKMjAxMi0xMC0yMiAxNTo1NDoxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRzcmM6IGZpeCB0eXBvIGNhdXNpbmcgY29tcGlsYXRpb24gZXJyb3IKCSAgZ3N0dWRwc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfdWRwc3JjX2NyZWF0ZSc6CgkgIGdzdHVkcHNyYy5jOjM2NTogZXJyb3I6ICdyZXQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NjQyCgoyMDEyLTEwLTIyIDExOjU1OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlfIGZpeCBpbnZlcnQgZnVuY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMiAxMTo1NToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggZGVidWcKCjIwMTItMTAtMjIgMTE6Mzk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ2dlbmVyaWMnIHNhbXBsZXMKCSAgQWRkIHN1cHBvcnQgZm9yIHN0dWZmaW5nIGEgY29tcGxldGUgc3RyZWFtIGludG8gMSBzYW1wbGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTUwCgoyMDEyLTEwLTIwIDEzOjAxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHJlbW92ZSBzdXBlcmZsdW91cyBnX3R5cGVfaW5pdCgpIGNhbGwKCSAgSXQncyBkZXByZWNhdGVkIGluIG5ld2VyIEdMaWIgYW5kIG5vdCBuZWVkZWQgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1NgoKMjAxMi0xMC0yMCAxMTozMjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY2FwcyBsZWFrIGluIGFjY2VwdGNhcHMgZnVuY3Rpb24KCjIwMTItMTAtMTkgMTk6MjQ6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgZ3N0X3JpZmZfc3RyZl9hdWRzIGluIGNhc2Ugb2YgTVMvUklGRiBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTkyCgoyMDEyLTEwLTE4IDIyOjIwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVuc2lnbmVkIHN1YnRpdGxlIHRlbXBsYXRlCgoyMDEyLTEwLTE4IDExOjMyOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbiBhY2NlcHRfY2FwcygpIGNoZWNrIGlmIHJpbmcgYnVmZmVyIGlzIE5VTEwgYmVmb3JlIGRlLXJlZmVyZW5jaW5nCgkgIEFuZCBzcHJpbmtsZSBzb21lIHRocmVhZC1zYWZldHkgKHRha2Ugb2JqZWN0IGxvY2sgZm9yCgkgIGFjY2Vzc2luZyByaW5nIGJ1ZmZlciwgYW5kIHBhIG1haW4gbG9vcCBsb2NrIGZvciB0aGUKCSAgY29udGV4dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM3ODIKCjIwMTItMDktMTMgMDA6MTA6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogRml4IHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc3JjIHNldGNhcHMgaXMgaWdub3JlZAoJICBJZiBib3RoIHBhZHMgcmVjZWl2ZSBkYXRhIGF0IHRoZSBzYW1lIHRpbWUsIHRoZXkgd2lsbCBib3RoIGdldCB0aGVpcgoJICBzaW5rX3NldGNhcHMgY2FsbGVkIHdoaWNoIHdpbGwgY2FsbCB0aGUgc3JjX3NldGNhcHMsIGJ1dCB0aGVyZSBpcwoJICBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSBzZWNvbmQgb25lIG1pZ2h0IG5vdCBiZSBjYWxsZWQuCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODQyCgoyMDExLTEwLTMxIDE1OjQzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvIG5vdCB1c2UgdW5vZmZpY2FsIFZfTUpQRUcgY29kZWMgaWQKCSAgU2luY2UgaXQncyBub3Qgc3BlYydlZCwgY29uc2lkZXIgaXQgYSBWZlcgY29tcGF0aWJpbGl0eQoJICBjYXNlLiBNYW55IGFwcGxpY2F0aW9ucyAoZS5nLiBhdmlkZW11eCkgZG9uJ3QgdW5kZXJzdGFuZAoJICB0aGUgdW5vZmZpY2lhbCBWX01KUEVHIGlkLgoJICBGaXhlcyAjNjU5ODM3LgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMTAtMTcgMTc6MDM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIGpwZWcsIHBuZywgdnB4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuCgoyMDEyLTEwLTE3IDE0OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBzdG9yZSBxdWFudCB0YWJsZXMgaW4gemlnemFnIG9yZGVyCgoyMDEyLTEwLTE3IDEzOjU1OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHNlc3Npb246IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEwLTE3IDEzOjM1OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogY2xhcmlmeSB0aGUgbnRwLXN5bmMgb3B0aW9uCgoyMDEyLTEwLTE3IDEzOjE1OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogdXBkYXRlIGNhcHMgaW4gdGhlIHNvdXJjZQoJICBJbmZvcm0gdGhlIHNvdXJjZSB3aGVuIGNhcHMgY2hhbmdlZC4gVGhpcyB3YXMgcmVtb3ZlZCBpbiB0aGUgcG9ydCB0byAxLjAKCSAgbGVhdmluZyB0aGUgc291cmNlIHVuYXdhcmUgb2YgdGhlIGNsb2NrLXJhdGUgYW5kIHVuYWJsZSB0byBpbnRlcnBvbGxhdGUKCSAgcnRwIHRpbWVzdGFtcHMgZm9yIFNSIHBhY2tldHMuCgoyMDEyLTEwLTE3IDEyOjQ2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IHNldCBQVFMgYW5kIERUUyBpbiBqaXR0ZXJidWZmZmVyCgoyMDEyLTEwLTE3IDEyOjI0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZGlzYWJsZSBjaGVjayBmb3IgbnRwLXN5bmMKCSAgRGlzYWJsZSB0aGUgY2hlY2sgZm9yIHRoZSBudHAtc3luYyBtZXRob2QuIEl0IGlzIGV4cGVjdGVkIHRoYXQKCSAgYSByYXRoZXIgbGFyZ2VyIG9mZnNldCBuZWVkcyB0byBiZSBhcHBsaWVkIHdpdGggdGhpcyBtZXRob2QuCgoyMDEyLTEwLTE3IDEyOjE3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiB1c2UgcnVubmluZy10aW1lIGZvciBOVFAgdGltZQoJICBXaGVuIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQsIHVzZSB0aGUgcnVubmluZy10aW1lIG9mIHRoZQoJICBwaXBlbGluZSB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lc3RhbXBzLiBUaGlzIG1ldGhvZCB3b3VsZCBwcmV2aW91c2x5CgkgIG9ubHkgd29yayB3aGVuIHRoZSBiYXNlLXRpbWUgaXMgc2V0IHRvIDAgYnV0IHdpdGggdGhpcyBjaGFuZ2UgaXQgY2FuCgkgIGFsc28gd29yayB3aXRoIGRpZmZlcmVudCBvZmZzZXRzIGFuZCB3ZSBjYW4gYWxzbyBpbXBsZW1lbnQgcGF1c2UvcmVzdW1lCgkgIG9mIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIG5vdy4KCjIwMTItMTAtMTcgMTA6MjA6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IHBvcnQgdG8gdmlkZW9maWx0ZXIKCjIwMTItMTAtMTcgMDk6MzY6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHVzZSBvdXRfaW5mbyBmb3Igb3V0IHByb3BlcnRpZXMKCjIwMTItMTAtMTYgMTQ6NDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmg6CgkgIG1lZGlhbjogc21hbGwgY2xlYW51cHMKCjIwMTItMTAtMTYgMTM6NTY6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi8uZ2l0aWdub3JlOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJKiBnc3QvbWVkaWFuL21lZGlhbi52Y3Byb2o6CgkgIG1lZGlhbjogcmVtb3ZlIG5vdyB0aGF0IGl0IGlzIGluIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE2IDEzOjQ5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBtZWRpYW4gZnJvbSBidWlsZAoKMjAxMi0xMC0xNiAxMzo0NzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkgIHZpZGVvbWVkaWFuOiBjb3B5IG1lZGlhIHRvIHZpZGVvbWVkaWFuCgkgIENvcHkgdGhlIG1lZGlhbiB2aWRlbyBmaWx0ZXIgdG8gdmlkZW9maWx0ZXJzIGFuZCByZW5hbWUgdG8KCSAgdmlkZW9tZWRpYW4uCgoyMDEyLTEwLTE2IDEzOjEyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICBtZWRpYTogcG9ydCB0byAxLjAKCjIwMTItMTAtMTYgMDE6MDI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFwcGVuZCBwYWxldHRlIGRhdGEgdG8gcGFsZXR0ZWQgOC1iaXQgUkdCIGZyYW1lcwoJICBGaXhlcyBwbGF5YmFjayBvZiA4LWJpdCBpbmRleGVkIFJHQiB2aWRlb3MsIHdpdGggZml4ZXMgaW4gLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwNDYKCjIwMTItMTAtMTUgMTU6MzY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbmQgdGhpcyB0aW1lIGZpeCB0aGUgZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZSBmb3IgcmVhbAoKMjAxMi0xMC0xNSAxNTozMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBkZWZhdWx0IHRhcmdldC1iaXRyYXRlIHZhbHVlCgoyMDEyLTEwLTEzIDAwOjAzOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGFzc2VydCBpZiB1cHN0cmVhbSBzaXplIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBndWVzc2luZyBiaXRyYXRlcwoJICBGaXhlcyBhYm9ydCBpbiBwdXNoIG1vZGUgd2hlcmUgdGhlIHNvdXJjZSBpcyBub3Qgc2Vla2FibGUgYW5kIHRoZQoJICBzaXplIG9mIHRoZSBmaWxlIGlzIG5vdCBhdmFpbGFibGUsIGFzIHdpdGgKCSAgY2F0IGZvby5tcDQgfCBnc3QtbGF1bmNoLTEuMCBwbGF5YmluIHVyaT1mZDovLzAKCSAgTGVzcyBub3RpY2FibGUgd2l0aCByZWxlYXNlcywgc2luY2Ugd2UgZGlzYWJsZSBhbGwKCSAgZ19hc3NlcnQoKSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjAwOAoKMjAxMi0xMC0xMiAxNDozODozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGFsbG93IG1vcmUgc3RyZWFtcy4gQnVtcCB0aGlzIGNvbnN0YW50IHRvIDMyLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciByZWFsLXdvcmxkIGZpbGVzLgoKMjAxMi0xMC0xMiAxNDozNToyNCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgbW9yZSBkaWZmZXJlbnQgZm91cmNjIHZhbHVlcyBmb3Igb3RoZXIgUHJvUmVzIHZhcmlhbnRzLgoKMjAxMi0xMC0xMSAyMjozNjoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIGV4YW1wbGVzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAgaW4gUlRQIGV4YW1wbGVzCgkgIGdzdHJ0cGJpbiAtPiBydHBiaW4KCSAgZmZkZWNfKiAgIC0+IGF2ZGVjXyoKCSAgZmZlbmNfKiAgIC0+IGF2ZW5jXyoKCjIwMTItMTAtMTAgMTI6MDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZQoKMjAxMi0xMC0xMCAxMDo1NToyOCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5CgkgIHVkcHNyYyBhbHJlYWR5IGhhcyBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBtdWx0aWNhc3QgaW50ZXJmYWNlLCB3aGljaAoJICBpcyB1c2VmdWwgZm9yIG11bHRpLWhvbWVkIG1hY2hpbmVzLiBUaGlzIHBhdGNoIGFkZHMgdGhlIHNhbWUgY29kZSB0bwoJICB0aGUgbXVsdGl1ZHBzaW5rLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1ODY0CgoyMDEyLTEwLTEwIDExOjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBkb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgb25seSB3YXJuCgkgIERvbid0IGVycm9yIG9uIHNlbmQgZXJyb3JzIGJ1dCBzaW1wbHkgcG9zdCBhIHdhcm5pbmcsIGl0J3MgcG9zc2libGUKCSAgdGhhdCB0aGUgbmV4dCBwYWNrZXQgd2lsbCBiZSBmaW5lLgoKMjAxMi0xMC0xMCAxMDoyODoyNCArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgZm9yY2UtaXB2NCBvcHRpb24KCSAgQWRkIGFuIG9wdGlvbiB0byB0aGUgbXVsdGl1ZHBzaW5rIHRoYXQgbWFrZXMgaXQgcG9zc2libGUgdG8gZm9yY2UKCSAgdGhlIHVzZSBvZiBhbiBJUHY0IHNvY2tldC4KCSAgVGhpcyBjYW4gZS5nLiBiZSB1c2VkIHRvIGhhbmRsZSB0aGUgaXNzdWUgZGVzY3JpYmVkIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0ODEKCjIwMTItMTAtMTAgMTA6MTg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IHJlbW92ZSB1bnVzZWQgZmllbGQKCjIwMTItMTAtMTAgMTA6MTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IHVzZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBwb29sCgkgIFVzZSB0aGUgYmFzZSBjbGFzcyB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBmb3IgdXMgYmVjYXVzZSBpdCBrbm93cyBob3cKCSAgdG8gdXNlIHRoZSBuZWdvdGlhdGVkIGFsbG9jYXRvciBvciBidWZmZXJwb29sLgoKMjAxMi0xMC0xMCAxMDowOTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcG9zdCBlcnJvciB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nCgoyMDEyLTEwLTEwIDEwOjA5OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBlbGVtZW50cyBwb3N0IGVsZW1lbnQgbWVzc2FnZXMKCjIwMTItMTAtMDcgMTY6NTY6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6MzE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDUgMTU6MTI6MjcgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IG91dHB1dCBjaGFubmVscyBzaG91bGQgYmUgbWFya2VkIGFzIE1PTk8sIG5vdCBGUk9OVF9MRUZULCBpZiB3ZSdyZSBub3QgcHJlc2VydmluZyBpbnB1dCBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMTItMTAtMDQgMTU6MTM6MjAgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogdXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG9mIGhhbGYgb2YgaXQuIEhhbmRsZXMgc29tZSB2YWx1ZXMgbW9yZSBjb3JyZWN0bHkuCgoyMDEyLTEwLTA0IDIwOjMyOjQ1ICswMjAwICBSYXNtdXMgUm9oZGUgPHJvaGRlQGR1ZmYuZGs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdHJ0cGRlcGF5OiBkb24ndCBsZWFrIGlucHV0IGJ1ZmZlcgoJICBUaGUgcnRwIGJ1ZmZlciBpcyBuZXZlciB1bm1hcHBlZCBpbiB0aGUgbm9ybWFsIGNvZGUgZXhpdCBwYXRoCgkgIG9mIGdzdF9ydHBfZ3N0X2RlcGF5X3Byb2Nlc3MoLi4pIHJlc3VsdGluZyBpbiBhIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NTEyCgoyMDEyLTEwLTA0IDE4OjM3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBhbmQgTlYyMQoKMjAxMi0xMC0wMSAxNToxMTowNSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogZG8gbm90IHB1c2ggdW5tYXBwZWQgZGF0YQoJICBBbHNvIGRvIG5vdCB1c2UgYSBHc3RCdWZmZXIgYWZ0ZXIgaXQgaGFzIGJlZW4gcHVzaGVkIGludG8gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTMKCjIwMTItMTAtMDMgMTA6NTE6NDUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgbWV0YSBpbmZvOiB0aHJlYWRzYWZlIHJlZ2lzdHJhdGlvbiB1c2luZyBnX29uY2UKCjIwMTItMTAtMDEgMTU6NDQ6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBoYW5kbGUgc29tZSBpbml0aWFsIGp1bmsgYmVmb3JlIGhkcmwgbGlzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MDU5CgoyMDEyLTEwLTAxIDE0OjAzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICB0ZXN0czogcG9ydCBnZGtwaXhidWZzaW5rIHRlc3QKCjIwMTItMDktMjkgMTE6NTk6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIFB1cmdlIHJlZmVyZW5jZXMgdG8gbGlib2lsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMyODUKCjIwMTItMDktMjggMTY6NTE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9hdmktaWRzLmg6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlY29nbml6ZSBhbGwgeHN1YiBmcmFtZXMgYXMga2V5ZnJhbWVzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjggMTY6NTA6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOiBmaW5kIHRoZSBjb3JyZWN0IGNodW5rIGZvciBzZWdtZW50IGZvbGxvd2luZyBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NzcKCjIwMTItMDktMjcgMjI6MTc6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxyYXdvdWxAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZpeCBwYXJzaW5nIGluIHB1c2ggbW9kZSB3aGVuIG1vb3YgYXRvbSBpcyBhdCB0aGUgZW5kCgkgIFdoZW4gcGxheWluZyBhbiBtcDQgZmlsZSB3aXRoIHRoZSBNT09WIGF0b20gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgcGxheWJhY2sKCSAgZmFpbHMgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZSAibm8gJ21vb3YnIGF0b20gd2l0aGluIHRoZSBmaXJzdCAxMCBNQiIuIFRoaXMgaXMKCSAgZHVlIHRvIGEgbWlzdGFrZSBpbiB0aGUgdXBzdHJlYW1fc2l6ZSB0eXBpbmcsIG1ha2luZyB0aGUgc2VlayB0byB0aGUgZW5kIG9mCgkgIGZpbGUgbmV2ZXIgaGFwcGVuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTcyCgoyMDEyLTA5LTI3IDE1OjUwOjQ5IC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMgYXQgZm9ybWF0IGF0IGNhcHMKCSAgQXZvaWRzIGV4dHJhIGNhcHMvc3RydWN0dXJlcyBwcm9jZXNzaW5nCgoyMDEyLTA5LTI3IDE0OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBuZWdvdGlhdGUgcG9vbCB3aXRoIHNyY3BhZCBjYXBzCgoyMDEyLTA5LTI3IDExOjAyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFRoZSBjb252ZXJ0IGFuZCBkdXJhdGlvbiBxdWVyaWVzIGFyZSBub3Qgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBmb3JtYXQKCjIwMTItMDktMjYgMDk6Mjg6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjbGVhciB2aWRlbyBmcmFtZSBtb3JlIGNvcnJlY3RseQoJICBNYWtlIHN1cmUgbm90IHRvIHRvdWNoIG1lbW9yeSB0aGF0IGRvZXNuJ3QgYmVsb25nIHRvCgkgIG91ciBmcmFtZSwgd2UgbWlnaHQgYmUgb25lIHBhcnQgb2YgYSBzaWRlLWJ5LXNpZGUgM0QKCSAgZnJhbWUsIG9yIGluIGEgcGljdHVyZS1pbi1waWN0dXJlIHNjZW5hcmlvLgoKMjAxMi0wOS0yNiAwMDo0NDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBHc3RCeXRlV3JpdGVyLCBiZWNhdXNlIHdlIGNhbiwgYW5kIGdfdmFsdWVfdGFrZV9ib3hlZC4KCjIwMTItMDktMTAgMTA6Mjc6MjggKzA0MDAgIERtaXRyaXkgU2Ftb25lbmtvIDxkbWl0cml5LnNhbW9uZW5rb0B0ZWxpZ2VudC5ydT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBhdWRpbyBkZWNvZGluZyBieSBjcmVhdGluZyBmYWtlIHN0cmVhbSBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxMi0wOS0yNSAyMToyMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIHVzaW5nIHRyYW5zcGFyZW50IGJhY2tncm91bmQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIGluY3JlYXNlcyB0aGUgcmVmY291bnQsIHdoaWNoIG1ha2VzCgkgIHRoZSBidWZmZXIgbm90IHdyaXRhYmxlIGFueSBtb3JlIHRlY2huaWNhbGx5LCBzbyBjYWxsaW5nCgkgIGdzdF9idWZmZXJfbWVtc2V0KCkgb24gaXQgd2lsbCBjYXVzZSBuYXN0eSB3YXJuaW5ncy4KCSAgVW5pdCB0ZXN0IGRpc2FibGVkIGJlY2F1c2UgaXQgdmVyeSByYXJlbHkgKGZvciBtZSkKCSAgZmFpbHMsIHBvc3NpYmx5IG5lZ290aWF0aW9uLXJlbGF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTgKCjIwMTItMDktMjUgMTA6NDM6MjggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkIHNvbWUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTItMDktMjUgMTA6NDE6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRlbGVjaW5lCgkgIFRoaXMgb25seSBhZmZlY3RzIGJlaGF2aW91ciBpbiB0ZWxlY2luZSBjYXNlcyB3aXRoIHBhdHRlcm4gbG9ja2luZwoJICBlbmFibGVkLiBUaGUgZGVmYXVsdCBjYXNlIHNob3VsZCBiZSB1bnRvdWNoZWQuCgkgIFRoaXMgd29ya3Mgd2l0aCB0aGUgb3V0cHV0IGZyb20gZmllbGRhbmFseXNpcyBhdCBsZWFzdCwgYnV0IHRoZSBmaWVsZAoJICBvcmRlciBsb29rcyBzd2FwcGVkIGZvciB0ZWxlY2luZSBtaXhlZCBidWZmZXJzIHdpdGggdGhlCgkgIERhdmlkX3NsaWRlc19TY2hsZWVmIGNsaXAuCgoyMDEyLTA5LTI1IDE0OjQzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRGlzYWJsZSBHTElCIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIEdWYWx1ZUFycmF5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgMi4zMiAuLi4gYnV0IHRoZXJlJ3Mgbm8gdXNhYmxlCgkgIHJlcGxhY2VtZW50IGZvciBpdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDktMjUgMTQ6MTg6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IGxlYWsKCjIwMTItMDktMjQgMTY6NDY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjAgPT09CgoyMDEyLTA5LTI0IDE0OjA2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDExOjU2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IHJlbW92ZSBnX3ByaW50ZXJyKCkgdGhhdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlcgoJICBub3cgdGhhdCB0Y2FzZV9za2lwX2Jyb2tlbl90ZXN0KCkgcHJpbnRzIGl0IGFzIHdlbGwuCgoyMDEyLTA5LTIzIDE5OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIHJlcGxheWdhaW4gdGVzdHMKCjIwMTItMDktMjMgMTY6MzE6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNjoxMDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZW5kIHN0cmVhbS1zdGFydAoKMjAxMi0wOS0yMyAxNTo1NzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjQ4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGFkZCBhIGJ1bmNoIG9mIEZJWE1FcwoJICBOZWVkcyBzb21lIG1vcmUgd29yaywgc28gc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCB0YWdzIGFyZQoJICBzZW50IGluIHRoZSByaWdodCBvcmRlci4KCjIwMTItMDktMjMgMTU6MTg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE1OjE2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMiAxNTowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IFVzZSAxLjAtc3R5bGUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYXVkaW8veC1yYXcKCjIwMTItMDktMjIgMTY6MDg6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRmOTYyZjcgdG8gNmMwYjUyYwoKMjAxMi0wOS0yMSAyMTo1NDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFuc3dlciBVUkkgcXVlcnkKCSAgV2l0aG91dCB0aGlzLCBzb21ldGhpbmcgYWxzbyBhbnN3ZXJlZCB0aGUgcXVlcnkKCSAgd2l0aCBUUlVFIGJ1dCB3aXRob3V0IHNldHRpbmcgYSB1cmksIG5vdCBzdXJlCgkgIHdoYXQgdGhhdCB3YXMuLgoKMjAxMi0wOS0yMCAxNzoyODo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBNYWtlIHN1cmUgdGhlIGNhcHMgZG9uJ3QgaGF2ZSBkdXBsaWNhdGVkIHNwcy9wcHMKCjIwMTItMDktMjAgMTk6NTg6MTIgKzAyMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBNdXRlIHN0cmVhbSBwb3N0LWNvbm5lY3Rpb24gaWYgcmVxdWlyZWQKCSAgQSBidWcgaW4gUHVsc2VBdWRpbyBjYXVzZXMgUEFfU1RSRUFNX1NUQVJUX01VVEVEIHRvIGJlIHJlamVjdGVkIG9uCgkgIHJlY29yZCBzdHJlYW1zLiBVbnRpbCB0aGlzIGlzIGZpeGVkIHVwc3RyZWFtLCB3ZSBtdXRlIHRoZSBzdHJlYW0KCSAgbWFudWFsbHkgYXQgc3RhcnR1cC4gQmFzZWQgb24gYSBwYXRjaCBieSBBbGJhbiBCcm93YWV5cwoJICA8cHJhaGFsQHlhaG9vLmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ0NjkKCjIwMTItMDktMjAgMTg6MDA6NTkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiAyNCBiaXQgYXVkaW8gaGVyZSBpcyBTMjRMRSwgbm90IFMyNF8zTEUuCgoyMDEyLTA5LTIwIDEwOjA3OjI0ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGhhbmRsZSBsYXRlbmN5IHF1ZXJ5IGJlZm9yZSBzZXR0aW5nIHVwIHRoZSBidWZmZXJwb29sCgkgIEZpeGVzIGNyYXNoIGlmIG5vIGJ1ZmZlcnBvb2wgaXMgc2V0IHVwIHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDQzMAoKMjAxMi0wOS0xOSAwOToxNzowMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIENvcnJlc3BvbmRzIHRvIGFuIEFQSSBjaGFuZ2UgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gVGhpcyBuZWVkcyB0byBiZSBmaXhlZAoJICB0byBxdWVyeSB0aGUgZXhwZWN0ZWQgYnl0ZSBvcmRlciB1c2luZyBhcHByb3ByaWF0ZSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDk6MTU6NTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBEaXJlY3RTb3VuZCBleHBlY3RzIG5hdGl2ZSBlbmRpYW4gYnl0ZSBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwOToxMzoxMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogU3BlY2lmeSBlbmRpYW5uZXNzIGluIElFQyA2MTkzNyBwYXlsb2FkaW5nCgkgIENvcnJlc3BvbmRzIHRvIGFuIEFQSSBjaGFuZ2UgaW4gZ3N0LXBsdWdpbnMtYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODAyMQoKMjAxMi0wOS0xOSAwMDozOTowMSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgaW5jb3JyZWN0IGxvZ2ljCgkgIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhlc2UgbGluZXMgd2VyZSBhZGRlZCwgdGhleSBkb24ndCBtYWtlIHNlbnNlIHRvCgkgIG1lIG5vdyBhbmQgYm90aCBEYXZpZCBhbmQgSSBhZ3JlZSB0aGF0IHJlbW92aW5nIHRoZW0gbW92ZXMgY2xvc2VyIHRvCgkgIHJlbGF0ZWQgbG9naWMgYmVpbmcgY29ycmVjdCwgdGhlcmVmb3JlLCB0aGV5J3JlIGJlaW5nIHJlbW92ZWQuCgkgIEkndmUgdGVzdGVkIGEgZmV3IHByb2dyZXNzaXZlLCBpbnRlcmxhY2VkIGFuZCB0ZWxlY2luZSBjbGlwcyBhbmQgdGhleQoJICBhbGwgYmVoYXZlIHByb3Blcmx5IHRpbWVzdGFtcC13aXNlIGFuZCB2aXN1YWxseSBhZnRlciB0aGVzZSBjaGFuZ2VzLgoKMjAxMi0wOS0xOSAwMDoxNzo0OSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZmllbGQgZHVyYXRpb24KCSAgVGhlIGZyYW1lIHJhdGUgZnJhY3Rpb24gaXMgY29ycmVjdGx5IGFkanVzdGVkIGluIHRoZSBjYXNlcyBwcmVjZWRpbmcgdGhlCgkgIGZpZWxkIGR1cmF0aW9uIGNhbGN1bGF0aW9uIGFuZCBzbyB0aGUgZmFjdG9yIG9mIDIgaXMgaW5jb3JyZWN0LgoKMjAxMi0wOS0xOCAxMDozNDowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggVS9WIHN0cmlkZXMgZm9yIGEgbnVtYmVyIG9mIGNhc2VzLgoKMjAxMi0wOS0xOCAxMjoxMzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBpbml0IHZpZGVvaW5mbwoJICAuLi4gdG8gcHJldmVudCByYW5kb20gYm9ndXMgY2FwcyBmaWVsZHMuCgoyMDEyLTA5LTE4IDEyOjEyOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNoYWluIHVwIHRvIGNvbGxlY3RwYWRzIHF1ZXJ5IGZ1bmN0aW9uCgoyMDEyLTA5LTE3IDEzOjE3OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGxldCBHc3RDb2xsZWN0UGFkIHNoYWRvdyBjdXN0b20gc2luayBwYWQgcXVlcnkgZnVuYwoJICBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgdGhlIGN1c3RvbSBwYWQgcXVlcnkgZnVuY3Rpb24gaXMgbm90IGNhbGxlZC4KCSAgVGhpcyBwYXRjaCwgc2V0IHRoYXQgcXVlcnkgZnVuY3Rpb24gb24gdGhlIEdzdENvbGxlY3RQYWRzIHRvIGF2b2lkIHRoaXMKCSAgc2hhZG93aW5nLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMi0wOS0xNyAxODoyMzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc3QgaW1hZ2UuanBnIGZvciBqcGVnIHRlc3QKCj09PSByZWxlYXNlIDAuMTEuOTkgPT09CgoyMDEyLTA5LTE3IDE3OjU3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45OQoKMjAxMi0wOS0xNyAxNjo1NzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkKCjIwMTItMDktMTcgMTY6NTc6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSAtREdTVF9VU0VfVU5TVEFCTEVfQVBJCgoyMDEyLTA5LTE3IDE2OjUzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDEzOjMwOjE1ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEZpeCBzcGVjIGZpbGUgZm9yIHZwOCBtb3ZlCgoyMDEyLTA5LTE3IDEzOjIzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBhbm5vZGV4OiBBZGQgdG8gdGhlIENSVUZUX0RJUlMKCjIwMTItMDktMTcgMTI6MTQ6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDEyLTA5LTE3IDA5OjQ4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IGZpbmlzaCBmcmFtZXMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBhbHdheXMgZ2V0IHRoZSBzYW1lIGZyYW1lIGlmIG11bHRpcGxlIGZyYW1lcyBhcmUgcGVuZGluZywKCSAgbGVha2luZyBtZW1vcnkgb2YgdGhlIHByZXZpb3VzIGZyYW1lcyBhbmQgYnJlYWtpbmcgdGltZXN0YW1wcy4KCjIwMTItMDktMTcgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBjaGFuZ2luZyBiaXRyYXRlIGFuZCBvdGhlciBwYXJhbWV0ZXJzIGR1cmluZyBwbGF5YmFjawoJICBGaXhlcyBidWcgIzY0ODI3Ni4KCjIwMTItMDktMTcgMDk6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBTdG9yZSBjb25maWd1cmF0aW9uIGluIHRoZSB2cHhfY29kZWNfZW5jX2NmZ190IHN0cnVjdCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGFsbCB2YXJpYWJsZXMKCSAgQWxzbyBwcm90ZWN0IGVuY29kZXIgd2l0aCBhIG11dGV4LgoKMjAxMi0wOS0xNiAxNjowMzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgbmV3IHByb3BlcnR5IG5hbWVzCgkgIC4uLmFuZCBhbHNvIGxpbmsgdG8gdGhlIFdlYk0gZW5jb2RlciBwYXJhbWV0ZXJzIHdlYnNpdGUuCgoyMDEyLTA5LTE2IDE1OjU3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTWFrZSBzb21lIHByb3BlcnR5IG5hbWVzIG1vcmUgcmVhZGFibGUKCjIwMTItMDktMTYgMTU6NDc6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdnA4OiBBZGQgdGVzdHMgdG8gLmdpdGlnbm9yZQoKMjAxMi0wOS0xNiAxNTo0NjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgcGF0Y2ggdG8gdGhlIG5ldyBwcm9wZXJ0eSBuYW1lcwoKMjAxMi0wOS0xNiAxNTo0NjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdnB4OiBJbnRlZ3JhdGUgdGVzdCBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gdG9vCgoyMDEyLTAyLTA3IDE3OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNi82XSB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0xMS0yNCAyMTo0MjozOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDUvNl0gdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMC0wNy0xMCAxNTo0Njo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDQvNl0gdnA4ZGVjOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdnA4ZGVjCgoyMDEwLTA3LTEwIDE1OjQ2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMy82XSB2cDhlbmM6IEltcHJvdmUgdW5pdCB0ZXN0IGEgYml0CgoyMDEwLTA3LTEwIDE1OjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMi82XSB2cDhlbmM6IEFsc28gY2hlY2sgdGhlIG91dHB1dCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMDctMTAgMTU6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxLzZdIHZwOGVuYzogQWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTItMDktMTYgMTU6NDM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB2cHg6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTItMDktMTYgMTU6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnB4L01ha2VmaWxlLmFtOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSAgdnB4OiBSZW5hbWUgdnA4IHBsdWdpbiB0byB2cHgKCSAgVGhpcyBpcyB1c2luZyBsaWJ2cHgsIHdoaWNoIGNhbiBzdXBwb3J0IG1vcmUgY29kZWNzIHRoYW4ganVzdCBWUDgKCSAgYW5kIHdpbGwgbGlrZWx5IHN1cHBvcnQgZnV0dXJlIGNvZGVjcy4KCjIwMTItMDktMTYgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBBcHBseSByZW1haW5pbmcgY2hhbmdlcyB0aGF0IGdvdCBsb3N0IHdoaWxlIG1vdmluZyB0aGUgcGx1Z2luIHZpYSBnaXQgYW0gdGhhbmtzIHRvIG1lcmdlcwoKMjAxMi0wOS0xNiAxNToyNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTM0LzEzNF0gdnA4ZGVjOiBVbnJlZiBpbnB1dC9vdXRwdXQgc3RhdGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRlY29kZXIKCjIwMTItMDktMTYgMTU6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMzLzEzNF0gdnA4ZW5jOiBVcGRhdGUgcmVhbHRpbWUgcHJvZmlsZSB0byB0aGUgbmV3IHByb3BlcnRpZXMKCjIwMTItMDktMTYgMTA6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMi8xMzRdIHZwODogUmVxdWlyZSBsYXRlc3QgbGlidnB4IHJlbGVhc2UgKDEuMS4wIGZyb20gTWF5IDIwMTIpCgkgIEZpeGVzIGJ1ZyAjNjg0MTE2IGFuZCBzaW1wbGlmaWVzIGNvbmZpZ3VyZSBjaGVja3MuCgoyMDEyLTA5LTE1IDIwOjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzEvMTM0XSB2cDhlbmM6IFVzZSBhIHN0cmluZyBmaWVsZCBmb3IgdGhlIHByb2ZpbGUgaW4gdGhlIGNhcHMKCSAgSnVzdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBhbGwgdGhlIG90aGVyIGNvZGVjcy4KCjIwMTItMDktMTUgMDA6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMC8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IHNldCBwcm9maWxlIGluIGNhcHMKCjIwMTItMDktMTQgMjM6NDE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyOS8xMzRdIHZwODogVXBkYXRlIGNvcHlyaWdodCBhbmQgYXV0aG9ycwoKMjAxMi0wOS0wOCAxNTozODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI4LzEzNF0gdnA4ZW5jOiBSZXdvcmsgZW5jb2RlciBwcm9wZXJ0aWVzIHRvIGJlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBsaWJ2cHggdG9vbHMgYW5kIEFQSQoJICBBbHNvIGFkZCBhbGwgYXZhaWxhYmxlIHByb3BlcnRpZXMuCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjcvMTM0XSByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wNy0xOSAwOTowNToyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI2LzEzNF0gdnA4ZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA4LTE0IDExOjE3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjUvMTM0XSB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzCgoyMDEyLTA4LTE0IDExOjA5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjQvMTM0XSB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciB0aGUgTUZRRSBwb3N0cHJvY2Vzc2luZyBmbGFnCgkgIFdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBpZiBwb3N0cHJvY2Vzc2luZyBpcyBlbmFibGVkLgoKMjAxMi0wOC0wOSAxMzozNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIzLzEzNF0gdnA4OiBVc2UgcGtnLWNvbmZpZyBmaWxlIGZvciBnZXR0aW5nIHRoZSBMSUJTIGFuZCBDRkxBR1MKCjIwMTItMDgtMDggMTc6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMi8xMzRdIHZwOGVuYzogVXBkYXRlIHRoZSBwZXItY29tcG9uZW50IHN0cmlkZXMgZm9yIGV2ZXJ5IGZyYW1lIHRvbwoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIEdzdFZpZGVvQWxpZ25tZW50CgoyMDEyLTA3LTI2IDE5OjMxOjE0ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMS8xMzRdIHZwOGVuYzogaW5pdGlhdGUgZW5jb2RlciB0byBmaXggYSBjcmFzaC4KCSAgV2l0aG91dCB0aGlzIHBhdGNoIHZwOGVuYyBzZW5kIGhlYWRlciBiZWZvcmUgYW5kIGFmdGVyIGZpcnN0CgkgIGtleSBmcmFtZS4gT24gc2Vjb25kIGtleWZyYW1lIHZwOGRlYyB3aWxsIGNyYXNoIHdpdGhvdXQgZ2V0dGluZwoJICBkZWNvZGVkIGZyYW1lLiBXaXRoIHRoaXMgcGlwZSBpdCBpcyBlYXN5IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISB2cDhlbmMgISB2cDhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjY3CgoyMDEyLTA3LTI4IDAwOjMyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjAvMTM0XSB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMTA6MzU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExOS8xMzRdIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjEgMTk6NTk6MjEgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE4LzEzNF0gdnA4ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgdW5yZWYgZnJhbWUuIGkgaG9wZSBpdCBpcyBjb3JyZWN0IHBsYWNlIHRvIGRvIGl0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wNy0wNiAxMTo1MDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTcvMTM0XSB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNi8xMzRdIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDM6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE1LzEzNF0gdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDYtMDcgMTI6MzM6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNC8xMzRdIHZwODogZml4IGNvZGVjIHN0YXRlIGxlYWtzCgkgIEkgb25seSB0ZXN0ZWQgdGhhdCB2cDhlbmMgISB2cDhkZWMgZG9lcyBub3QgY3Jhc2gsIGFzIHZhbGdyaW5kIGRvZXMgbm90IGdyb2sKCSAgYXQgbGVhc3Qgb25lIG9mIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBieSB2cDhlbmMsIHByZXZlbnRpbmcgbWUgZnJvbSBjaGVja2luZwoJICBhIGxlYWssIGFuZCB0aGUgbGFjayBvZiBvbmUgYWZ0ZXIgdGhlIHBhdGNoLgoKMjAxMi0wNi0wNiAxMzowMjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTMvMTM0XSB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDUtMjggMTY6MDU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDExMi8xMzRdIHZwODogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTEvMTM0XSB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMTYgMTQ6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMC8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBHc3RWaWRlb0NvZGVjRnJhbWUgQVBJIGNoYW5nZXMKCjIwMTItMDQtMjcgMTg6MjI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDkvMTM0XSB2cDhkZWM6IEltcHJvdmUgb3V0cHV0X3N0YXRlIGhhbmRsaW5nCgkgIEF2b2lkIGdldHRpbmcgb3V0cHV0X3N0YXRlIGZvciBldmVyeSBidWZmZXIgYXMgdGhhdCByZXF1aXJlcwoJICBnZXR0aW5nIHRoZSBvYmplY3Rsb2NrIGFuZCBkb2luZyByZWZlcmVuY2UgY291bnRpbmcuIFN0b3JlIGl0IGxvY2FsbHkKCSAgd2hlbiBpdCBpcyBjcmVhdGVkIGFuZCB1c2UgaXQuCgoyMDEyLTA0LTI3IDA5OjA1OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA4LzEzNF0gdnA4ZGVjOiBVc2Ugb3V0cHV0c3RhdGUgd2hlbiBjb3B5aW5nIG91dHB1dCBidWZmZXIgZGF0YQoJICBVc2luZyB0aGUgaW5wdXQgc3RhdGUgd2FzIGNhdXNpbmcgYSBjcmFzaCBiZWNhdXNlIHRoZSBzdHJpZGVzL29mZnNldHMKCSAgd291bGQgYmUgd3JvbmcuIEZpeCBpdCBieSB1c2luZyB0aGUgb3V0cHV0IGFzIHdlIGFyZSBkZWFsaW5nIHdpdGgKCSAgdGhlIGRlY29kZWQgZnJhbWUuCgoyMDEyLTA0LTI0IDExOjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDcvMTM0XSB2cDg6IFBvcnQgdG8gLWJhc2UgdmlkZW8gYmFzZSBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3ZwOC9NYWtlZmlsZS5hbQoJICBleHQvdnA4L2dzdHZwOGRlYy5jCgkgIGV4dC92cDgvZ3N0dnA4ZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlIGZvciBub3csIG5lZWQgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA2LzEzNF0gdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDUvMTM0XSBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMTA0LzEzNF0gZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wMy0wNiAxNToyMToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAzLzEzNF0gdnA4ZW5jOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDEtMzAgMTc6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAyLzEzNF0gdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMi0wMS0yNSAxODo0OTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAxLzEzNF0gcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCSAgRml4ZXMgIzY2ODY3Ny4KCjIwMTItMDEtMjQgMTE6MjI6NDYgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwMC8xMzRdIHZwOGVuYzogdHJhY2Ugb3V0Z29pbmcgdGltZXN0YW1wcwoJICBhZGQgaW5mbyBsZXZlbCBwcmludHMgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wNCAxMTowNTo0OCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk5LzEzNF0gdnA4ZGVjOiB1c2UgaXNfYWx0X2RhdGEgb3B0aW9uIHRvIHByZXZlbnQgdGltZXN0YW1wIGNvbGxpc2lvbnMKCSAgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgdXN1YWxseSBzdG9yZWQgaW4gY29udGFpbmVyIHdpdGggc2FtZSB0aW1lc3RhbXAgYXMKCSAgZGVwZW5kZXQgZnJhbWUuIFRoaXMgbWFrZSBiYXNldmlkZW9kZWNvZGVyIHRvIHVwZGF0ZSB0aW1lc3RhbXAgZm9yIGRlcGVuZGV0CgkgIGZyYW1lIGFuZCBjb3VzZSBUUyBjb2xpc2lvbiBvbiBuZXh0IGZyYW1lOgoJICBeLSBoZXJlIGlzIGFsdHJlZgoJICB0aW1lICAgICA6IDEgMiAzIDQgNSA2IDcgOCA5CgkgIHdlYm0gdHMgIDogMSAgIDMgNSA1ICAgNyAgIDkKCSAgdnA4ZGVjIHRzOiAxICAgMyAgIDcgICA3ICAgOQoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wMiAwODoyODoxMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTgvMTM0XSB2cDg6IGFkZCBpbml0aWFsIHByZXNldCBmaWxlCgkgIFRoaXMgaXMgaW5pdGlhbCBwcmVzZXQgZmlsZSwgY3VycmVudGx5IHdpdGggb25seSBvbmUgcHJvZmlsZQoJICBmb3IgcmVhbHRpbWUgZW5jb2RpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk3LzEzNF0gdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yNSAxMTozNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk2LzEzNF0gdnA4ZGVjOiB1c2UgbmV3IGJhc2V2aWRlb2RlY29kZXIgQVBJIHRvIGRyb3AgZnJhbWVzIGFuZCBnZXQgUW9TIG1lc3NhZ2VzIHBvc3RlZAoKMjAxMS0xMS0xMCAxNToxMzozNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA5NS8xMzRdIG1pbWljLCBvcGVuY3YsIHZwOCwgYWNtbXAzZGVjLCBsaW5zeXM6IERvbid0IGJ1aWxkIHN0YXRpYyBwbHVnaW5zCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBldmVyeXdoZXJlIHdoZXJlIGl0J3MgYmVlbiBmb3Jnb3R0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc2OAoKMjAxMS0xMS0wMyAxNDowMTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk0LzEzNF0gdnA4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjEgMjA6MTU6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5My8xMzRdIHZwOGVuYzogZml4IGRyb3AtZnJhbWUgcHJvcGVydHkKCSAgRml4ZXMgIzY1NjkyOS4KCjIwMTEtMDgtMTkgMTk6MTc6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA5Mi8xMzRdIHZwODogcHJvYmUgZm9yIHRoZSBuZXcgdHVuaW5nIEFQSSB0byBrZWVwIGJ1aWxkaW5nIHdpdGggb2xkZXIgbGlidnB4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjgKCjIwMTEtMDgtMTggMTA6Mzk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5MS8xMzRdIHZwOGVuYzogUmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyB2YXJpYWJsZSBpbiB0YWdzIGhhbmRsaW5nCgoyMDExLTA4LTEyIDEyOjA4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wNy0wOSAxODo1MzoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg5LzEzNF0gdnA4ZW5jOiBBZGQgbW9yZSBwcm9wZXJ0aWVzCgoyMDExLTA2LTE5IDE2OjA2OjQ2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg4LzEzNF0gdnA4ZW5jOiBhZGQgbWluL21heHNlY3Rpb24tcGN0IG9wdGlvbgoJICBUaGlzIG9wdGlvbnMgc2hvdWxkIGJlIGdvb2QgdG8gcmVkZXVjZSBkZWNvZGUgQ1BVIGxvYWQuCgkgIGZvciBsb3dlbmQgaGFyZHdhcmU6CgkgIG1pbnNlY3Rpb24tcGN0PTE1IG1heHNlY3Rpb24tcGN0PTQwMAoJICBmb3IgaGllbmQgaHc6CgkgIG1pbnNlY3Rpb24tcGN0PTUgbWF4c2VjdGlvbi1wY3Q9ODAwCgkgIHNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc192YnJfZW5jb2RpbmdfZm9yX3Ntb290aF9wbGF5YmFja19vbl9sb3ctZW5kX2hhcmR3YXJlCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDExOjA1OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg3LzEzNF0gdnA4ZW5jOiBhZGQgbGFnLWluLWZyYW1lcyBvcHRpb24uCgkgIFRoaXMgb3B0aW9uIHNldCBtYXhpbXVtIG9mIGZyYW1lcyBjb2RlYyBzaG91bGQgcmVtZW1iZXIsCgkgIHRvIG1ha2UgYmV0dGVyIHByZWRpa3Rpb24gZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBTZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfYmVzdF9xdWFsaXR5X3Zicl9lbmNvZGluZwoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAwNzoxNjo1NyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4Ni8xMzRdIHZwOGVuYzogdXNlIG11bHRpcGFzcy5jYWNoZSBmaWxlIG5hbWUgYXMgZGVmYXVsdCBmb3IgbXVsdGlwYXNzIG1vZGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTIxIDA4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODUvMTM0XSB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0xMiAxODowNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODQvMTM0XSB2cDg6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0wOSAxMTozMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgzLzEzNF0gdnA4ZW5jOiBVc2UgZGVzdHJveSBub3RpZnkgdG8gZnJlZSB0aGUgY29kZXIgaG9vawoKMjAxMS0wNi0xOCAxNTo1Njo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgyLzEzNF0gdnA4ZW5jOiB1cGRhdGUgZm9yIG5ldyBsaWJ2cHggYXBpCgoyMDExLTA2LTI2IDE1OjE1OjU0ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgxLzEzNF0gdnA4ZW5jOiBnZW5lcmF0ZSBhIHRpbWVzdGFtcCBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIEl0IHdpbGwgZml4IGhhbmRsaW5nIG9mIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHNpbmNlIG1hdHJvc2thLW11eAoJICBkcm9wIGFueSBmcmFtIHdpdGggbm8gdGltZXN0YW1wLgoJICBzZWUgYWxzbzoKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9jb250YWluZXIvCgkgIFRoZSBlbmNvZGVyIHdpbGwgY3VycmVudGx5IHNldCB0aGUgQVIncyB0aW1lc3RhbXAgYXMgY2xvc2UgYXMgcG9zc2libGUKCSAgdG8gdGhlIHByZXZpb3VzIGZyYW1lIHdoaWxlIGF0dGVtcHRpbmcgdG8gcHJvdmlkZSBhIHRpbWVzdGFtcCB0aGF0IGlzCgkgIHN0cmljdGx5IGluY3JlYXNpbmcuIEluIGNhc2VzIHdoZXJlIHRoZSB0aW1lIGJhc2UgZ2l2ZW4gdG8gdGhlIGVuY29kZXIKCSAgYXQgY29uZmlndXJlIHRpbWUgaXMgbm90IGdyYW51bGFyIGVub3VnaCB0byBhbGxvdyBmb3IgdGhpcyB0aGUgQVIKCSAgd2lsbCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgRCwgYnV0IHNob3VsZCBiZQoJICB0cmVhdGVkIGFzIGhhdmluZyBubyBkdXJhdGlvbi4KCSAgRml4ZXMgYnVnICM2NTI5NTEKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0xOCAxNzo0NzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4MC8xMzRdIHZwOGRlYzogYWRkIGNoZWNrIGlmIHdlIGhhdmUgbGVnYWwgYXNwZWN0LXJhdGlvIGJlZm9yZSByZXNldCBpdC4KCSAgdGhlIGNvbW1pdCBmOWI1NTJmMDQ5NGUgKHZwOGRlYzogc2V0IHBhciB0byAxLzEpCgkgIHdpbGwgZml4IHNpdHVhdGlvbiB3aGVyZSBubyBhc3BlY3QtcmF0aW8gaXMgc2V0LCBidXQgaXQgYnJha2UKCSAgc3RyZWFtIHdpdGggYXZhaWxhYmxlIGFzcGVjdC1yYXRpby4gVGhpcyBwYXRjaCBmaXggaXQuCgkgIEZpeGVzOiAjNjUyOTAyLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTAzIDE5OjM2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzkvMTM0XSB2cDhkZWM6IHNldCBwYXIgdG8gMS8xCgoyMDExLTA1LTE4IDEzOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzgvMTM0XSB2cDhlbmM6IE5hbWUgbWF4L21pbiBxdWFudGl6ZXIgcHJvcGVydGllcyB7bWF4LG1pbn0tcXVhbnRpemVyCgkgIEFsc28gaW1wcm92ZSBxdWFsaXR5IHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAxMS0wNS0xOCAxMzoyNjoyMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA3Ny8xMzRdIHZwOGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IGEgbWF4aW11bSBhbmQgbWluaW11bSBxdWFudGl6ZXIKCSAgRml4ZXMgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEzOjE4OjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc2LzEzNF0gdnA4ZW5jOiBGaXggcXVhbGl0eSB0byAoY29uc3RhbnQpIHF1YW50aXplciBtYXBwaW5nCgkgIFRoaXMgbm93IGFsbG93cyB0byBzZWxlY3QgYWxsIHBvc3NpYmxlIHF1YW50aXplcnMgYmV0d2VlbgoJICAwIGFuZCA2My4KCSAgU2VlIGJ1ZyAjNjQxNDA1LgoKMjAxMS0wNC0wMSAyMjoxMzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc1LzEzNF0gdnA4ZGVjOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEzOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzQvMTM0XSB2cDhkZWM6IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIHRvIHVwc3RyZWFtCgoyMDExLTAzLTMwIDEwOjE4OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzMvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiByZWFsbHkgYW5kIG9ubHkgc2V0IHNyYyBwYWQgY2FwcyB3aGVuZXZlciByZXF1ZXN0ZWQKCSAgLi4uIHNpbmNlIHN1YmNsYXNzIGlzIGV4cGVjdGVkIHRvIGJlIHdpc2UgZW5vdWdoIHRvIGtub3cgd2hlbiB0byBkbyBzby4KCjIwMTEtMDMtMjkgMTA6NDE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3Mi8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIGFuZCB1c2Ugc2V0X2Zvcm1hdAoJICBXaGlsZSB0aGlzIGNoYW5nZXMgQVBJIHNsaWdodGx5IChlLmcuIGFjdHVhbGx5IHVzZXMgc2V0X2Zvcm1hdCBub3cpLCB3aGljaCBpcyBPSwoJICBmb3IgdW5zdGFibGUgQVBJLCBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBvdGhlcndpc2Ugbm8gc3ViY2xhc3MgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSAoZ2xvYmFsIGFjdGl2YXRpb24gdGltZSkKCSAgTW9yZW92ZXIsIHN1YmNsYXNzZXNlIGFyZSBlaXRoZXIgdW5hZmZlY3RlZCBvciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTAzLTI4IDA4OjU5OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzEvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBzdWJzdW1lIHNraXBfZnJhbWUgaW50byBmaW5pc2hfZnJhbWUKCjIwMTEtMDMtMjQgMTQ6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3MC8xMzRdIGJhc2V2aWRlb2VuY29kZXI6IHByb3ZpZGUgcHJvcGVyIHVwc3RyZWFtIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDExLTAzLTI0IDEzOjU5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjkvMTM0XSB2cDhlbmM6IG1pbm9yIG9wdGltaXphdGlvbiBpbiBzZXR0aW5nIHVwIGltYWdlIGJ1ZmZlcgoKMjAxMS0wMy0yNCAxMjo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDY4LzEzNF0gdnA4ZW5jOiByZWZhY3RvciBmcmFtZSBwcm9jZXNzaW5nCgoyMDExLTAzLTI0IDExOjU1OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjcvMTM0XSB2cDhlbmM6IGRvIGluaXQgYXQgc2V0X2Zvcm1hdCB0aW1lCgoyMDExLTAzLTI0IDEwOjE1OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjYvMTM0XSB2cDhlbmM6IGZpeCBrZXlmcmFtZSBmb3JjaW5nCgoyMDExLTAzLTIzIDA5OjQ1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjUvMTM0XSBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHJlZHVuZGFudCBjYXBzIGZpZWxkCgkgIC4uLiBhcyBpdCBpcyBhbHJlYWR5IGF0IGhhbmQgYXMgdGhlIHNyYyBwYWQncyBuZWdvdGlhdGVkIGNhcHMuCgoyMDExLTAzLTIzIDA4OjUwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjQvMTM0XSB2cDhlbmM6IHVzZSBiYXNlY2xhc3MgZXZlbnQgdmlydHVhbCBoYW5kbGVyCgoyMDExLTAyLTIwIDE0OjE2OjE4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjMvMTM0XSBiYXNldmlkZW86IG1lcmdlIHV0aWxzIGhlYWRlciBpbnRvIGJhc2V2aWRlb2NvZGVjCgoyMDExLTAzLTE3IDE2OjM0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjIvMTM0XSB2cDg6IGZpeCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDItMDQgMDk6MDg6MjYgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjEvMTM0XSB2cDhlbmM6IEFkZCBkZXNjcmlwdGlvbiBmb3IgYml0cmF0ZSB1bml0cy4KCjIwMTAtMTEtMzAgMTg6NDM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2MC8xMzRdIHZwOGVuYzogUmVhZGQgc2V0dGluZyBvZiBncmFudWxlcG9zCgkgIFJldmVydCBwYXJ0cyBvZiBsYXN0IHBhdGNoIHRoYXQgcmVtb3ZlZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MuCgkgIG9nZ211eCBzdGlsbCByZXF1aXJlcyBjb3JyZWN0IGdyYW51bGVwb3MgaW4gaW5jb21pbmcgcGFja2V0LgoKMjAxMC0xMS0yOSAyMDoyMTozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU5LzEzNF0gdnA4ZW5jOiBEb24ndCBvdmVycmlkZSB0aW1lc3RhbXBzIHNldCBieSBiYXNlIGNsYXNzCgkgIEJlY2F1c2UgdGhlIGJhc2UgY2xhc3MgZG9lcyBpdCBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNjM1NzIwLCAjNjI1NTU4LgoKMjAxMC0xMS0yNSAxODo1Mjo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTgvMTM0XSB2cDg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTEwLTA5IDE3OjM2OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTcvMTM0XSBiYXNldmlkZW86IE1vdmUgY29tbW9uIGZpZWxkcy9mdW5jdGlvbnMgdG8gYmFzZWNvZGVjCgoyMDEwLTA5LTE4IDE3OjI4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTYvMTM0XSBiYXNldmlkZW86IE1vdmUgZGVhZGxpbmUgdG8gZnJhbWUgc3RydWN0dXJlCgoyMDEwLTA4LTEzIDE0OjM0OjIxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1NS8xMzRdIHZwOGRlYzogU2V0IEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhY2tldGl6ZWQgdG8gVFJVRSBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFRoaXMgZml4ZXMgYW4gaW5maW5pdGUgbG9vcCBpZiBhbiBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgYmVmb3JlCgkgIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0KCkgaXMgY2FsbGVkLCBlLmcuIGltbWVkaWF0ZWx5IHdoZW4gdGhlCgkgIHBhZHMgYXJlIGFjdGl2YXRlZC4KCSAgRml4ZXMgYnVnICM2MjY4MTUuCgoyMDEwLTA3LTEwIDE2OjUyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTQvMTM0XSB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmFibGluZyBhdXRvbWF0aWMgaW5zZXJ0aW9uIG9mIGFsdC1yZWYgZnJhbWVzIGJ5IHRoZSBlbmNvZGVyCgoyMDEwLTA3LTEwIDE2OjUxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTMvMTM0XSB2cDhlbmM6IEZpeCBoYW5kbGluZyBvZiBpbnZpc2libGUvYWx0IHJlZiBmcmFtZXMKCjIwMTAtMDctMDMgMTc6NDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA1Mi8xMzRdIHZwODogQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiwgYmFzZWQgb24gdGhlIHRoZW9yYWRlYy90aGVvcmFlbmMgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzozNDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUxLzEzNF0gdnA4OiBNb3ZlIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgZXRjIHRvIHB1YmxpYyBoZWFkZXIgZmlsZXMgZm9yIGd0ay1kb2MKCjIwMTAtMDYtMTIgMDk6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1MC8xMzRdIHZwOGVuYzogSW1wbGVtZW50IG11bHRpcGFzcyBlbmNvZGluZwoJICBGaXhlcyBidWcgIzYyMTM0OC4KCjIwMTAtMDYtMTQgMTU6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0OS8xMzRdIHZwOGVuYzogU2V0IFZQOEVfU0VUX0NQVVVTRUQgdG8gMAoJICBUaGlzIHNldHRpbmcgY29udHJvbHMgaG93IG11Y2ggQ1BVIGNhbiBiZSB1c2VkIGJ5IHRoZSBlbmNvZGVyLCBzcGVjaWZpZWQKCSAgaW4gZnJhY3Rpb25zIG9mIDE2LiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiBzdHJpY3QgZW5mb3JjZW1lbnQgb2YgdGhpcwoJICB3aGlsZSBwb3NpdGl2ZSB2YWx1ZXMgYXJlIGFkYXB0aXZlLgoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtNCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSdyZSBub3QgcnVubmluZyBhcyBmYXN0CgkgIGFzIHBvc3NpYmxlIGFuZCBwcm9iYWJseSBhcmUgd2FzdGluZyBzb21lIHF1YWxpdHkuIDAgaXMgdGhlIHJlY29tbWVuZGVkCgkgIGRlZmF1bHQgYnkgbGlidnB4IHVwc3RyZWFtLgoKMjAxMC0wNi0xNCAxNTo1MTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ4LzEzNF0gdnA4ZW5jOiBVc2UgVlBYIGRlZmluZXMgZm9yIFJFQUxUSU1FLCBHT09EL0JFU1QgcXVhbGl0eSBkZWFkbGluZXMgaW5zdGVhZCBvZiBvdXIgb3duCgkgIFRoZXNlIGFyZSB0aGUgdmFsdWVzIHVzZWQgZm9yIHRoZSBzcGVlZCBwcm9wZXJ0eS4KCjIwMTAtMDYtMDMgMTA6NDk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0Ny8xMzRdIHZwOGVuYzogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBpbiBsb2cgbWVzc2FnZQoJICBnc3R2cDhlbmMuYzo1NjQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgkgIGdzdHZwOGVuYy5jOjc0NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA0Ni8xMzRdIGJhc2V2aWRlbywgdnA4OiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMSAxNTo1NDo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDUvMTM0XSBiYXNldmlkZW86IE1vdmUgYmFzZSB2aWRlbyBmcm9tIHZwOCB0byBnc3QtbGlicwoKMjAxMC0wNS0yNiAwNjo1MjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDQvMTM0XSB2cDg6IFVzZSBWUFhfUExBTkVfKiBpbnN0ZWFkIG9mIFBMQU5FXyoKCjIwMTAtMDUtMjQgMTE6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQzLzEzNF0gdnA4OiBBZGQgY29tcGF0aWxpYml0eSBkZWZpbmVzIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsaWJ2cHggdG9vCgoyMDEwLTA1LTIzIDA5OjI4OjEzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0Mi8xMzRdIHZwOGRlYzogcy9JTUdfRk1UX0k0MjAvVlBYX0lNR19GTVRfSTQyMC8KCSAgVGhpcyBjb3JyZXNwb25kcyB0byB1cHN0cmVhbSBsaWJ2cHggY29tbWl0IDZjZDRhMTBlMTY3MjAzZDFkZWI3OWFiZjYwZWU3MjU5OWU5Nzg5MWIKCjIwMTAtMDUtMjIgMTI6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0MS8xMzRdIHZwOGVuYzogQWxsb3cgYSBtYXhpbXVtIGtleWZyYW1lIGRpc3RhbmNlIG9mIDAsIGkuZS4gYWxsIGZyYW1lcyBhcmUga2V5ZnJhbWVzCgoyMDEwLTA1LTIyIDA4OjQ1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDAvMTM0XSB2cDhkZWM6IFNldCBkZWNvZGVyIGRlYWRsaW5lIGZyb20gdGhlIFFvUyBpbmZvcm1hdGlvbgoKMjAxMC0wNS0yOCAxNjozNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM5LzEzNF0gdnA4ZW5jOiBNb3ZlIGRlYnVnIG91dHB1dCBvbmUgbGluZSBhYm92ZSB3aGVyZSB0aGUgcGFja2V0IGlzIHN0aWxsIHZhbGlkCgoyMDEwLTA1LTI4IDE1OjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzgvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBpZ25vcmUgbm9uLWZyYW1lIHBhY2tldHMgZnJvbSB0aGUgZW5jb2RlcgoJICBGaXhlcyBidWcgIzYxOTkxNi4KCjIwMTAtMDUtMjIgMDc6NDQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDM3LzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogVGFrZSB0aGUgZnJhbWUgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVhcmxpZXN0IHRpbWUKCSAgVGhpcyBmb3JtdWxhIGlzIHVzZWQgaW4gbWFueSBvdGhlciBlbGVtZW50cyB0b28uCgkgIEZpeGVzIGJ1ZyAjNjE5MzE4LgoKMjAxMC0wNS0yMiAwNzozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzYvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCBRb1MgdmFsdWVzIHdoZW4gbmVjZXNzYXJ5CgoyMDEwLTA1LTIyIDA5OjM1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzUvMTM0XSB2cDhlbmM6IFVzZSBHU1RfVklERU9fQ0FQU19ZVVYoSTQyMCkgaW5zdGVhZCBvZiBoYW5kd3JpdHRlbiBJNDIwIGNhcHMgZm9yIHRoZSBwYWQgdGVtcGxhdGUKCSAgRml4ZXMgYnVnICM2MTkzNDQuCgoyMDEwLTA1LTIxIDIwOjUzOjM2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzQvMTM0XSB2cDhkZWM6IGRyb3AgbGF0ZSBmcmFtZXMgYWZ0ZXIgZGVjb2RpbmcgdGhlbQoJICBUaGlzIHNhdmVzIGEgbWVtY3B5LCB3aGljaCBpcyBhbHdheXMgc29tZXRoaW5nLgoKMjAxMC0wNS0yMSAyMToyODoyOSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzMvMTM0XSB2cDhlbmM6IHRocmVhZHMgcHJvcGVydHkKCSAgSW5jcmVhc2luZyBmcm9tIDEgdG8gMiB0aHJlYWRzIG9uIGFuIFRoaW5rcGFkIFg2MHMgZGVjcmVhc2VkIGVuY29kZSB0aW1lCgkgIGluIGEgdGVzdCBmcm9tIH4yNCBzIHRvIH4xOSBzLCBzbyB0aGlzIGlzIHF1aXRlIHVzZWZ1bC4KCSAgSWRlYWxseSB3ZSBzaG91bGQgbGV0IDAgYmUgdGhlIGRlZmF1bHQgYW5kIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIG51bWJlcgoJICBvZiBDUFUgY29yZXMgKG9yIHNvbWV0aGluZykuCgoyMDEwLTA1LTIxIDE1OjE3OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMi8xMzRdIHZwOGVuYzogYWRkIG1vZGUgcHJvcGVydHkgdG8gc3dpdGNoIGJldHdlZW4gQ0JSL1ZCUgoJICBBbHdheXMgdXNpbmcgQ0JSIHdoZW4gYml0cmF0ZSBpcyB1c2VkIGlzbid0IHRoYXQgZ3JlYXQsIFZCUiBtb2RlCgkgIGNhbiBwcm9kdWNlIG1lYW5pbmdmdWwgcmVzdWx0cyB0b28uCgoyMDEwLTA1LTIxIDEwOjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzEvMTM0XSB2cDhkZWM6IE9ubHkgZW5hYmxlIHBvc3Rwcm9jZXNzaW5nIGlmIHRoZSBkZWNvZGVyIHN1cHBvcnRzIGl0CgoyMDEwLTA1LTIxIDA4OjIzOjU4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMC8xMzRdIHZwODogdHlwbzogcy9IQVZFX1ZQOF9ERUNPREVSL0hBVkVfVlA4X0VOQ09ERVIvCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjEgMDg6MTM6MDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI5LzEzNF0gdnA4OiBtb3ZlICNpZmRlZiBIQVZFX1ZQOF9FTkNPREVSL0RFQ09ERVIKCSAgT3RoZXJ3aXNlIHdlJ2xsIHRyeSBpbmNsdWRpbmcgZS5nLiA8dnB4L3ZwOGN4Lmg+IHdoaWNoIGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTA1LTIwIDIwOjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjgvMTM0XSB2cDhlbmM6IFdyaXRlIEdTdHJlYW1lciBlbGVtZW50IGFuZCB2ZXJzaW9uIGluIHRoZSB2b3JiaXNjb21tZW50IHZlbmRvciBzdHJpbmcKCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNy8xMzRdIHZwODogT25seSBlbmFibGUgdGhlIGVuY29kZXIgb3IgZGVjb2RlciBpZiBpdCdzIGF2YWlsYWJsZSBpbiBsaWJ2cHgKCSAgRml4ZXMgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDEwOjE5OjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNi8xMzRdIHZwODogZXhsY3VkZSBkZWMvZW5jIGJhc2VkIG9uIENPTkZJR19WUDhfREVDT0RFUi9FTkNPREVSCgkgIFRoaXMgbWF5IG5vdCBiZSB2ZXJ5IGF1dG90b29saXNoLCBidXQgd29ya3Mgd2l0aCBsaWJ2cHggaW4gdGhlIHN0YXRlCgkgIHRoYXQgbGlidnB4IGlzIGFjdHVhbGx5IGluLiBNb3ZlZCB0aGUgZGVidWcgaW5pdCB0byB0aGUgZWxlbWVudHMKCSAgdGhlbXNlbHZlcyB0byBtaW5pbWl6ZSBhbW91bnQgb2YgI2lmZGVmcwoKMjAxMC0wNS0yMCAwOToyNDo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjUvMTM0XSB2cDhlbmM6IExpbWl0IG1heC1sYXRlbmN5IHRvIDI1IHRvIG1hdGNoIGxpYnZweAoJICBGcm9tIGxpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oOgoJICAjZGVmaW5lIE1BWF9MQUdfQlVGRkVSUyAoQ09ORklHX1JFQUxUSU1FX09OTFk/IDEgOiAyNSkKCSAgV2hpbGUgd2UgZG9uJ3QgbmVlZCB0byBiZSB0aWVkIHRvIHdoYXQgbGlidnB4IGRvZXMgaW50ZXJuYWxseSwgaXQKCSAgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByZXRlbmQgdG8gc3VwcG9ydCBsb25nZXIgZnJhbWUgbGFncyB0aGFuIGFyZQoJICBhY3R1YWxseSBwb3NzaWJsZS4KCjIwMTAtMDUtMjAgMDk6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI0LzEzNF0gdnA4OiBVbmRlZiBIQVZFX0NPTkZJR19IIGJlZm9yZSBpbmNsdWRpbmcgbGlidnB4IGhlYWRlcnMKCSAgQSBwdWJsaWMgbGlidnB4IGhlYWRlciBpbmNsdWRlcyBwcml2YXRlIGhlYWRlcnMgaWYgdGhpcyBpcwoJICBkZWZpbmVkLCBjYXVzaW5nIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGJlY2F1c2UgdGhlIHByaXZhdGUgaGVhZGVycwoJICBhcmUgbm90IGluc3RhbGxlZCBvZiBjb3Vyc2UuCgoyMDEwLTA1LTIwIDA4OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjMvMTM0XSB2cDhlbmM6IFNvbWUgbW9yZSBtaW5vciBhZGp1c3RtZW50cyBmb3IgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE5IDIzOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjIvMTM0XSB2cDhkZWM6IEZpeCBtZW1vcnkgbGVhawoKMjAxMC0wNS0xOSAyMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIxLzEzNF0gdnA4ZW5jOiBBZGp1c3QgT2dnIG1hcHBpbmcgZm9yIHRoZSBjaGFuZ2VzCgoyMDEwLTA1LTE5IDE4OjEyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjAvMTM0XSB2cDhkZWM6IEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIFZQOCBkZWNvZGVyIHBvc3QgcHJvY2Vzc2luZyBmZWF0dXJlCgkgIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3Igbm93LgoKMjAxMC0wNS0xOSAxNzoxNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE5LzEzNF0gdnA4ZW5jOiBSZW5hbWUga2V5ZnJhbWUtaW50ZXJ2YWwgdG8gbWF4LWtleWZyYW1lLWRpc3RhbmNlCgkgIEFuZCB1c2UgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYnVmZmVyIHNpemVzIHVudGlsIHdlIGV4cG9zZSB0aGlzCgkgIHNvbWVob3cuCgoyMDEwLTA1LTE5IDE3OjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE4LzEzNF0gdnA4OiBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDUtMTkgMTQ6NDY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNy8xMzRdIHZwODogVXNlIGNvcnJlY3Qgc3RyaWRlcyBhbmQgcGxhbmUgb2Zmc2V0cyBmb3IgR1N0cmVhbWVyCgoyMDEwLTA1LTE4IDE0OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTYvMTM0XSB2cDhlbmM6IEltcGxlbWVudCBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlCgoyMDEwLTA1LTE4IDE0OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTUvMTM0XSB2cDhlbmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBrZXlmcmFtZSBmbGFnIG9uIGVuY29kZWQgZnJhbWVzCgoyMDEwLTA1LTE4IDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTQvMTM0XSB2cDhlbmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGVuY29kZXIgaW5pdGlhbGl6YXRpb24gZmFpbHMKCjIwMTAtMDUtMTggMTQ6Mjg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMy8xMzRdIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgZmFpbCBpZiBpbml0aWFsaXppbmcgdGhlIGRlY29kZXIgZmFpbHMKCjIwMTAtMDUtMTggMDI6NDQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxMi8xMzRdIHZwOGVuYzogU2V0IHRpbWViYXNlCgkgIEFsc28gbWlzYyBjbGVhbnVwLgoKMjAxMC0wNS0xNiAxMDozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDExLzEzNF0gdnA4ZGVjOiBGaXggZGVjb2Rpbmcgb2YgaW52aXNpYmxlIGZyYW1lcwoKMjAxMC0wNS0xNCAxNDoyNjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgdGhlIGxhdGVuY3kgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVuY29kZXIKCjIwMTAtMDUtMTQgMTQ6MDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwOS8xMzRdIHZwOGRlYzogQ29ycmVjdGx5IGluaXRpYWxpemUgc3RyZWFtIGluZm8gYmVmb3JlIHBlZWtpbmcgYXQgdGhlIHN0cmVhbQoJICBPdGhlcndpc2UgcGVla2luZyB3aWxsIGZhaWwgYW5kIHdlJ2xsIGdldCBpbnZhbGlkIHZhbHVlcwoKMjAxMC0wNS0xNCAxMTowMToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA4LzEzNF0gdnA4ZGVjOiBNYWtlIHN1cmUgdG8gcGFzcyBhIGtleWZyYW1lIGFzIGZpcnN0IGZyYW1lIHRvIHRoZSBkZWNvZGVyLCBjb3B5IG91dHB1dCBmcmFtZXMgb25seSBvbmNlIGFuZCByZXF1aXJlIHdpZHRoL2hlaWdodC9ldGMgb24gdGhlIGlucHV0IGNhcHMKCjIwMTAtMDUtMTQgMTA6MzA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwNy8xMzRdIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGludmlzaWJsZSBmcmFtZXMgYW5kIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xNCAwMToxNDo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA2LzEzNF0gdnA4ZGVjOiBGaXggcmVzZXQgYWZ0ZXIgc2Vla2luZwoJICBBbHNvIHJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAxMC0wNS0xMyAyMToxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA1LzEzNF0gdnA4ZW5jOiBTZXQgZnJhbWUgbnVtYmVycyBhcyBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wNS0xMyAyMToxODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA0LzEzNF0gdnA4ZW5jOiBBbHdheXMgZ2V0IGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGVuY29kZXIKCjIwMTAtMDUtMTMgMjE6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMy8xMzRdIHZwOGVuYzogRmlsbCB0aGUgb2xkZXN0IHBlbmRpbmcgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbmV3ZXN0CgoyMDEwLTA1LTEzIDIwOjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDIvMTM0XSB2cDhlbmM6IENvcnJlY3RseSBzZXQgZGVsdGEgdW5pdCBmbGFnIGZvciBub24ta2V5ZnJhbWVzCgoyMDEwLTA1LTEzIDAxOjA0OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMS8xMzRdIHZwODogQWRkIGVuY29kZXIvZGVjb2RlcgoKMjAxMi0wOS0xNSAyMjoxNjo1MiArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggRjE4IG5hbWUgY2hhbmdlIGFuZCBhZGQgZGVpbnRlcmxhY2VyCgoyMDEyLTA5LTE1IDE5OjA2OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIHVzZSBnc3RfZWxlbWVudF9mYWN0b3J5X2dldF9tZXRhZGF0YSB0byByZXBsYWNlIG9ic29sZXRlIEFQSQoKMjAxMi0wOS0xNCAxNzo1NToxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIHJlcGxhY2UgX2dldF9jYXBzX3JlZmZlZCB3aXRoIF9nZXRfY2FwcwoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxNzowNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTM6MzA6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIGZpeCBtb3JlIGNhcHMKCjIwMTItMDktMTQgMDI6NTc6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTQgPT09CgoyMDEyLTA5LTE0IDAyOjQ4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTQKCjIwMTItMDktMTQgMDE6NTA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTItMDktMTQgMDE6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDEyLTA5LTE0IDAwOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICB0ZXN0czogcHVzaCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzIGluIHdhdnBhY2tlbmMgdGVzdAoKMjAxMi0wOS0xMyAxMDo1NjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgcHJvcGVydGllcwoKMjAxMi0wOS0xMyAxMDoxNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZGlzYWJsZSByZWNvbmZpZ3VyZQoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzkwMgoKMjAxMi0wOS0xMCAyMjowOTo1OSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCB0cmVhdCBldmVyeSBjdXN0b20tZG93bnN0cmVhbSBldmVudCBhcyBFT1MKCSAgRG9uJ3QgZmFsbCB0aHJvdWdoIHRvIHRoZSBFT1MgaGFuZGxpbmcgYWZ0ZXIgcmVjZWl2aW5nIGEKCSAgY3VzdG9tLWRvd25zdHJlYW0gZXZlbnQuCgoyMDEyLTA5LTEyIDIxOjA1OjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBjb2xsZWN0cGFkczogcmVtb3ZlIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsCgkgIFJlbmFtZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbCgpIHRvIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCgpIGFuZCBmaXggYWxsCgkgIGludm9jYXRpb25zLgoKMjAxMi0wOS0xMiAxNzoxNDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IGFkZCBpbmNsdWRlIGZvciBJUFBST1RPXyoKCjIwMTItMDktMTIgMTY6Mzk6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBwcm9wZXJseSBtYXRjaCBicmFjZXMgYW5kIGNwcCBkaXJlY3RpdmVzCgkgIEZpeGVzIGNvbXBpbGF0aW9uIHdoZXJlIElQVjZfVENMQVNTIG5vdCBkZWZpbmVkLgoKMjAxMi0wOS0xMiAxNDo0MjowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFVzZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgd2hlcmUgbmVlZGVkCgkgIEFuZCBjbGVhbiB1cCBnZXRfY2FwcyBjb2RlIHdoaWxlIEknbSBhdCBpdAoKMjAxMi0wOS0xMiAxMzoyODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wcm92ZSBmcmFtZXJhdGUgdHJhbnNmb3JtCgkgIEhhbmRsZSBHX01BWElOVCBpbiB0aGUgZnJhbWVyYXRlcyBiZXR0ZXIuIElmIHdlIGNhbm5vdCBkb3VibGUgb3IgZGl2aWRlIHRoZQoJICBmcmFtZXJhdGUsIGNsYW1wIHRvIHRoZSBzbWFsbGVzdC9sYXJnZXN0IHBvc3NpYmxlIHZhbHVlIHdlIGNhbiBleHByZXNzIGluc3RlYWQKCSAgb2YgZmFpbGluZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg2MQoKMjAxMi0wOS0xMiAxMzoxNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW51cAoKMjAxMi0wOS0wNyAxNzoyMDo1NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBBZGRpbmcgbnYxMiBhbmQgbnYyMSBzdXBwb3J0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NDEKCjIwMTItMDktMTIgMTA6MTg6NTMgKzAyMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBwcm9yZXMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzgzOQoKMjAxMi0wOS0xMiAwMDoxNjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCBtb3N0IG9mIHRoZSByZ2FuYWx5c2lzIHVuaXQgdGVzdHMKCSAgQmVmb3JlIHRoZSBlbGVtZW50IHdvdWxkIHBvc3QgbWVzc2FnZXMgb24gdGhlIGJ1cyBpdHNlbGYsIG5vdwoJICB0aGUgc2lua3MgZG8gdGhhdCBiYXNlZCBvbiB0aGUgdGFnIGV2ZW50cyB0aGV5IHJlY2VpdmUuIEJ1dAoJICBzaW5jZSB3ZSBkb24ndCBoYXZlIHByb3BlciBzaW5rIGVsZW1lbnRzIGluIHRoZXNlIHVuaXQgdGVzdHMsCgkgIGJ1dCBqdXN0IGRhbmdsaW5nIHBhZHMsIHdlIGhhdmUgdG8gcG9zdCB0aGUgdGFnIG1lc3NhZ2VzIHRoZQoJICB0ZXN0IGNoZWNrcyBmb3Igb3Vyc2VsdmVzLgoJICBEb3duIGZyb20gNTIvNTUgZmFpbGluZyB0byA3LzUyIGZhaWxpbmcuCgoyMDEyLTA5LTExIDE3OjM2OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dCwgZ3N0OiBvbmx5IGFjdGl2YXRlIGluIHB1bGwgbW9kZSBpZiB1cHN0cmVhbSBpcyBzZWVrYWJsZQoKMjAxMi0wOS0xMSAxNTozODoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogZGlzYWJsZSByZW5lZ290aWF0aW9uCgkgIFdlIGNhbid0IHlldCB3YWl0IGZvciB0aGUgYnVmZmVycG9vbCB0byBEUkFJTiBiZWZvcmUgc3RhcnRpbmcgcmVuZWdvdGlhdGlvbiBzbwoJICBkaXNhYmxlIGl0IGZvciBub3cuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTItMDktMTEgMTI6NDg6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHBiaW46IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTI6MzY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIGRpcmVjdHNvdW5kc2luazogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxMTo1OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCByZXNldCBzZWdtZW50CgkgIERvbid0IHJlc2V0IHRoZSBzZWdtZW50IGJlY2F1c2Ugd2UgbmVlZCB0aGUgdmFsdWVzIGZvciBhY2N1bXVsYXRpb24uIHRoZSBzZWdtZW50CgkgIGlzIHJlc2V0IGF0IHN0YXJ0IGFuZCBhZnRlciBhIGZsdXNoaW5nIHNlZWsuIEZpeGVzIHNvbWUgcHJvYmxlbXMgd2l0aCBmaWxlcyB3aXRoCgkgIHF1aWNrdGltZSBzZWdtZW50cy4KCjIwMTItMDktMTAgMTc6MTQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB0ZXN0czogZml4IGlkM2RlbXV4IHRlc3QKCjIwMTItMDktMTAgMTQ6MzE6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBnc3Q6IGFkanVzdCBjb21tZW50IHN0eWxlCgoyMDEyLTA5LTEwIDE0OjMwOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlbW92ZSBkZWZ1bmN0IGNvbW1lbnRlZCBjb2RlCgoyMDEyLTA5LTEwIDEzOjM1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBjb25zaWRlciBzdHJlYW0gYWxpdmUgd2hlbiBub3QgY29ubmVjdGVkIHlldAoJICBXaGVuIHdlIHN0YXJ0IGFuZCByZW5lZ290aWF0ZSwgdGhlcmUgaXMgYSBtb21lbnQgd2hlcmUgdGhlIHN0cmVhbSBpcyBjcmVhdGVkIGJ1dAoJICBub3QgeWV0IGNvbm5lY3RlZC4gTWFrZSBzdXJlIGFsbCBmdW5jdGlvbnMgZGVhbCB3aXRoIHRoaXMgc2l0dWF0aW9uIGNvcnJlY3RseQoJICBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTI0NwoKMjAxMi0wOS0xMCAxMjoxNToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgZmFpbCB3aGVuIG5vdCBuZWdvdGlhdGVkIHlldAoJICBXaGVuIGdldF90aW1lIGlzIGNhbGxlZCBidXQgd2UgYXJlIG5vdCB5ZXQgbmVnb3RpYXRlZCwgcmV0dXJuIDAgaW5zdGVhZCBvZgoJICBwb3N0aW5nIGFuIGVycm9yLiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGJhc2UgY2xhc3MgaXMgc3RpbGwgbmVnb3RpYXRpbmcgd2hlbgoJICBvdXIgZ2V0X3RpbWUgaXMgY2FsbGVkLgoKMjAxMi0wOS0xMCAxMTozMjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICB1cGRhdGUgZm9yIGF1ZGlvIGJhc2Ugc3JjIGFwaSBjaGFuZ2UKCjIwMTItMDktMTAgMDA6NDI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgdmlkZW8veC0zaXZ4IGFuZCB2aWRlby94LXh2aWQgLT4gdmlkZW8vbXBlZyxtcGVndmVyc2lvbj00CgkgIElmIGl0IGV2ZXIgdHVybnMgb3V0IHRoYXQgd2UgcmVhbGx5IG11c3QgdXNlIHRob2Ugc3BlY2lmaWMKCSAgZm91cmNjcyBhbmQgbm90IHRoZSBnZW5lcmljIG9uZSwgd2UgY2FuIHN0aWxsIGFkZCBhIGZsYXZvcgoJICBmaWVsZCB0byB0aGUgY2FwcyBsYXRlci4KCjIwMTItMDktMDcgMTY6MTU6NDIgKzAyMDAgIERhbmllbGEgPGRhbmllbGEubXV6enVAc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIGxlYWsKCSAgV2hlbiBzZXR1cCBmYWlscywgbWFrZSBzdXJlIHRvIGNsZWFudXAgYWZ0ZXJ3YXJkcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzUwOQoKMjAxMi0wOS0wNyAxNToyMzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgIHJ0cGFtcmRlcGF5OiB1bm1hcCBydHAgYnVmZmVyCgkgIC4uLiB0aGVyZWJ5IHBsdWdnaW5nIGEgbWVtbGVhay4KCjIwMTItMDktMDcgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cC1wYXlsb2FkaW5nOiBhZGp1c3QgdG8gbW9kaWZpZWQgYnVmZmVybGlzdCBzZW1hbnRpY3MKCSAgLi4uIG5vdyBpbXBsZW1lbnRlZCBieSBidWZmZXIgbWVtb3J5IGJsb2Nrcy4KCjIwMTItMDktMDcgMTQ6MTE6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGNyYXNoaW5nIG9uIE5VTEwgYWNjZXNzIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTItMDktMDcgMTQ6MTE6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDktMDYgMTc6MDk6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSByZWR1bmRhbnQgX3NldF9hbGxvY2F0aW9uIGNhbGwKCjIwMTItMDktMDYgMTc6MDU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgdGVzdHM6IGRlaW50ZXJsYWNlOiBkbyBub3QgbGVhayBkZWludGVybGFjZSBwYWRzCgoyMDEyLTA5LTA2IDE3OjA0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcGx1ZyBzb21lIGxlYWtzCgoyMDEyLTA5LTA2IDE2OjQ5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZXVzZSBjb3JlIGZ1bmN0aW9uIGZvciBHQ0QKCjIwMTItMDktMDYgMTY6MzE6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzdXBwb3J0IGZpbHRlciBpbiBnZXRjYXBzCgoyMDEyLTA5LTA2IDE2OjMwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZG8gbm90IGxlYWsgZ2V0Y2FwcyByZXN1bHQKCjIwMTItMDktMDYgMTY6MjM6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVycG9vbAoJICBBZGQgYnVmZmVycG9vbCBzdXBwb3J0IHRvIGF2b2lkIGEgbWVtY3B5IGluIHRoZSB2aWRlb3Npbmsgd2hlbiBhY3RpdmVseQoJICBpbnRlcmxhY2luZy4KCSAgUmVtb3ZlIHNvbWUgY29tbWVudGVkIG9ic29sZXRlIGNvZGUuCgoyMDEyLTA5LTA2IDEzOjM4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBwcm94eSBhbGxvY2F0aW9uIHF1ZXJ5IGluIHBhc3N0aHJvdWdoCgkgIFdlIGNhbiBsZXQgdGhlIGFsbG9jYXRpb24gcXVlcnkgcGFzcyB3aGVuIHdlIGFyZSBvcGVyYXRpbmcgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTItMDktMDYgMTM6MjM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHVzZSBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9ucwoJICBpbnN0ZWFkIG9mIGJsaW5kbHkgZm9yd2FyZGluZyB1bmtub3duIGV2ZW50cy4KCjIwMTItMDktMDYgMTM6MjM6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNtYWxsIGNsZWFudXBzCgoyMDEyLTA5LTA2IDEyOjU2OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBjYWxsIGRlZmF1bHQgcXVlcnkgaGFuZGxlcnMKCSAgQ2FsbCB0aGUgZGVmYXVsdCBxdWVyeSBoYW5kbGVyIGluc3RlYWQgb2YgZm9yd2FyZGluZyB0aGUgcXVlcnkgYmxpbmRseS4gRml4ZXMKCSAgaXNzdWVzIG9mIHN0cmlkZXMgYmVjYXVzZSBvZiBwcm94eWluZyB0aGUgYWxsb2NhdGlvbiBxdWVyeSB3cm9uZ2x5LgoKMjAxMi0wOS0wNiAxMDo0MjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAxMi0wOS0wNiAxMDo0MjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IGltcHJvdmUgZGVidWcKCjIwMTItMDktMDUgMTE6NTA6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIHVwZGF0ZSBuZXdzZWdtZW50IGhhbmRsaW5nIGNvZGUKCjIwMTItMDktMDQgMTI6MzU6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogYXZvaWQgZGVhZGxvY2sKCSAgX3VwZGF0ZV9wcm9wZXJ0aWVzIHRha2VzIHRoZSBvYmplY3QgbG9jayBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgd2hlbiB0aGUKCSAgb2JqZWN0IGxvY2sgaXMgYWxyZWFkeSB0YWtlbi4KCjIwMTItMDktMDMgMTI6NDY6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBleHRyYWN0IGludGVybGFjZWQtbmVzcyBvZiB2aWRlbyB0cmFjayBmcm9tIGludGVybGFjZS1tb2RlIGZpZWxkCgkgIGluc3RlYWQgb2YgdGhlIG9sZCBib29sZWFuICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMTItMDktMDMgMDI6NTE6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkgIHZpZGVvL3gteHZpZCAtPiB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQKCjIwMTItMDktMDIgMDI6NTA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgdGV4dC9wbGFpbiArIHRleHQveC1wYW5nby1tYXJrdXAgLT4gdGV4dC94LXJhdwoKMjAxMi0wOS0wMiAwMTozMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb24gLT4gZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uX2NoYW5nZWQKCjIwMTItMDgtMzAgMjI6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFsc28gc3RvcCBwcm9iYXRhdGlvbiBvbiBleGlzdGluZyBzb3VyY2VzCgkgIFJlY2VpdmluZyBhbiBSVENQIHBhY2tldCBzaG91bGQgYWxzbyBzdG9wIHByb2JhdGlvbiBvbiBzb3VyY2VzIHdlIGhhdmUgc2VlbgoJICBiZWZvcmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMwNjUKCjIwMTItMDgtMjIgMTY6MzY6MjEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHA6IG1ha2UgcnRwIHBhY2tldCBwcm9iYXRpb24gY29uZmlndXJhYmxlIChidWcgIzY4MjUxMikKCjIwMTItMDgtMzAgMTI6MjE6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWY6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoKMjAxMi0wOC0zMCAxMTozMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeHVwIDAuMTEgcG9ydCBvZiBzdXNwZWN0IGZyYW1lIGNoZWNraW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI5NTkKCjIwMTItMDgtMjggMTg6NTY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgaW52YWxpZCBIMjY0IGJ5dGVzdHJlYW0gY29kZWNfZGF0YQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMzY5CgoyMDEyLTA4LTI4IDE5OjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwb3J0IHNlZ21lbnQgZXZlbnQgY3JlYXRpb24gdG8gMC4xMQoKMjAxMi0wOC0yOCAxNjoyODoxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVsZWFzZSBleHRyYSBldmVudCByZWYgd2hlbiByZXBsYWNpbmcgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50CgoyMDEyLTA3LTAzIDE3OjUwOjI0ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBhZGQgREFTSCB0ZmR0IGJveCBzdXBwb3J0CgkgIE1QRUcgREFTSCBoYXMgZGVmaW5lZCBhIHNldCBvZiBuZXcgYm94ZXMgdG8gc3BlY2lmeSBkdXJhdGlvbiwgaW5kZXhlcyBhbmQKCSAgb2Zmc2V0cyBvZiBJU09CTUZGIGZyYWdtZW50cy4KCSAgVGhlIFRyYWNrIEZyYWdtZW50IEJhc2UgTWVkaWEgRGVjb2RlIFRpbWUgKHRmZHQpIEJveCBjYW4gaW4gcGFydGljdWxhciBiZQoJICBpbmNsdWRlZCBpbnNpZGUgYSB0cmFmIGJveCB0byBzcGVjaWZ5IHRoZSBhYnNvbHV0ZSBkZWNvZGUgdGltZSwgbWVhc3VyZWQgb24gdGhlCgkgIG1lZGlhIHRpbWVsaW5lLCBvZiB0aGUgZmlyc3Qgc2FtcGxlIGluIGRlY29kZSBvcmRlciBpbiB0aGUgdHJhY2sgZnJhZ21lbnQuCgkgIFRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgYnkgdGhlIGlzb21wNCBkZW11eCB0byBmaW5kIG91dCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZgoJICBhbiBNUDQgZnJhZ21lbnQgaW4gdGhlIHRpbWVsaW5lLgoJICBUaGlzIHBhdGNoIGFkZHMgY29kZSB0byBpc29tcDQgdG86CgkgIC0gcGFyc2UgdGhlIHRmZHQgYm94CgkgIC0gYWRqdXN0IHRoZSB0aW1lL3Bvc2l0aW9uIG1lbWJlciBvZiB0aGUgbmV3IHNlZ21lbnQgc2VudCB3aGVuIHBsYXliYWNrIHN0YXJ0cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NTM1CgoyMDEyLTA4LTI2IDIyOjM5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIGRvY3M6IGdzdC1sYXVuY2ggLT4gZ3N0LWxhdW5jaC0xLjAgYW5kIGZmbXBlZ2NvbG9yc3BhY2UgLT4gdmlkZW9jb252ZXJ0CgoyMDEyLTA4LTI2IDIyOjMyOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBkb2NzOiBnc3QtbGF1bmNoLTAuMTEgLT4gZ3N0LWxhdW5jaC0xLjAKCjIwMTItMDgtMjYgMjI6MDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHRoZSBmaWVsZCBpbiBjYXBzIGlzICJpbnRlcmxhY2UtbW9kZSIgbm90ICJpbnRlcmxhY2UtbWV0aG9kIgoJICBGaXggZGVpbnRlcmxhY2UgdW5pdCB0ZXN0LiBOZWVkIHRvIHNldCByaWdodCBmaWVsZCBvbiBvdXRwdXQgY2Fwcy4KCSAgQWxzbyByZW1vdmUgcmlnaHQgZmllbGQgKG5vdCBvbGQgMC4xMCAiaW50ZXJsYWNlZCIgYm9vbGVhbiBmaWVsZCkKCSAgZnJvbSBjYXBzIGluIHVuaXQgdGVzdCBiZWZvcmUgY29tcGFyaW5nIG9sZCBhbmQgbmV3LgoKMjAxMi0wOC0yNiAyMTo0NTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIHRlc3RzOiBmaXggaWN5ZGVtdXggdW5pdCB0ZXN0CgkgIFdhcyB3YWl0aW5nIGZvciBhIHRhZyBtZXNzYWdlIG9uIHRoZSBidXMsIHdoaWNoIHdvdWxkIG5ldmVyCgkgIGNvbWUsIGJlY2F1c2UgZWxlbWVudHMgZG9uJ3QgcG9zdCB0aG9zZSB0aGVtc2VsdmVzIGFueSBtb3JlCgkgIGJ1dCBsZXQgc2lua3MgcG9zdCB0aGVtIGZyb20gdGFnIGV2ZW50cy4gT25seSB0aGF0IHRoZXJlIGFyZQoJICBubyBzaW5rcyBpbiB0aGlzIHVuaXQgdGVzdC4KCjIwMTItMDgtMjYgMjE6Mjc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGZpeCB2aWRlb2Nyb3AgY3JvcF90b18xeDEgdW5pdCB0ZXN0IGZvciBHUkFZOCBmb3JtYXQKCSAgVXBkYXRlIHRhYmxlIHdpdGggcGl4ZWwgdmFsdWVzIHdpdGggdGhlIHZhbHVlIGFjdHVhbGx5IHByb2R1Y2VkCgkgIGJ5IHZpZGVvdGVzdHNyYy4KCjIwMTItMDgtMjcgMDk6MDA6NDUgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogT25seSBwcmludCBjYXBzIGlmIHRoZXkncmUgcHJvdmlkZWQKCjIwMTItMDgtMjQgMTk6NDM6MDggKzAxMDAgIE1pY2hhZWwgUnViaW5zdGVpbiA8bXJ1Ymluc3RlaW5AcmFpLWRldi5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBmaXggZW5kaWFubmVzcyBjaGVjayBvbiBzeXN0ZW1zIHdoZXJlIG5vbi1nbGliIGVuZGlhbm5lc3MgZGVmaW5lcyBhcmUgbm90IHNldAoJICBPbiBXaW5kb3dzIExJVFRMRV9FTkRJQU4gd2l0aG91dCB0aGUgR18gaW4gd2FzIG5vdCBkZWZpbmVkLCAgc28gdGhlCgkgIHRlc3QgY29tZXMgb3V0IHdyb25nLgoKMjAxMi0wOC0yMiAxNzoyMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGRvbid0IGNyYXNoIG9uIE5VTEwgZXJyb3IKCSAgQ2hlY2sgaWYgdGhlcmUgaXMgYW4gZXJyb3IgYmVmb3JlIHJldHJpZXZpbmcgaXRzIG1lc3NhZ2UuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDgxCgoyMDEyLTA4LTIyIDEzOjMwOjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2NjhhY2VlIHRvIDRmOTYyZjcKCjIwMTItMDgtMjIgMTM6MTg6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBndGstZG9jIHJlcSB0byAxLjEyIChtYXItMjAwOSkKCSAgVGhpcyBhbGxvd3MgdXMgdG8gZS5nLiB1bmNvbmRpdGlvbmFsbHkgdXNlIGd0a2RvYy1yZWJhc2UuCgoyMDEyLTA4LTIyIDExOjIxOjM4ICswMjAwICBNYXJ0aW4gRXJ0c2FhcyA8bWVydHNhc0BjaXNjby5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIG9zeHZpZGVvc2luayB1c2UgdGhlIG5vbi1kZXByZWNhdGVkIHRocmVhZGluZyBhcGkgZnJvbSBnbGliLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDQ2CgoyMDEyLTA4LTE0IDE1OjQwOjMxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogSGFuZGxlIG5lZ290aWF0aW9uIGV2ZW50cwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZToKCSAgYSkgRGVzdHJveSBhbiBleGlzdGluZyBzdHJlYW0gaWYgYSBuZWdvdGlhdGUoKSByZXF1ZXN0IGNvbWVzIGluOiB0aGlzIGlzCgkgIHJlcXVpcmVkIHdoZW4gcmVjZWl2aW5nIGEgZG93bnN0cmVhbSByZW5lZ290aWF0aW9uIHJlcXVlc3QgYWZ0ZXIgYQoJICBzdHJlYW0gaGFzIGJlZW4gY3JlYXRlZC4KCSAgYikgQ3JlYXRlIGEgbmV3IHN0cmVhbSBvbiBwcmVwYXJlKCk6IHRoaXMgaXMgcmVxdWlyZWQgc2luY2Ugd2UgZG8gYQoJICBzZXRjYXBzKCkgaW4gbmVnb3RpYXRlKCksIHdoaWNoIGNhdXNlcyB0aGUgc3RyZWFtIHRvIGJlIGRyb3BwZWQgYnkgYQoJICByaW5nYnVmZmVyIHJlbGVhc2UoKSBjYWxsICh0aGlzIGRvZXMgbm90IGhhcHBlbiBkdXJpbmcgZmlyc3QgbmVnb3RpYXRpb24KCSAgc2luY2UgdGhlIHJlbGVhc2UgaXMgb25seSBkb25lIG9uIGEgcnVubmluZyByaW5nYnVmZmVyKS4gVGhlIHN1YnNlcXVlbnQKCSAgY2FsbCB0byByaW5nYnVmZmVyIGFjcXVpcmUoKSBmYWlscyBiZWNhdXNlIHRoZSBzdHJlYW0gd2FzIGxvc3Qgb24KCSAgcmVsZWFzZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMjQ3CgoyMDEyLTA4LTE0IDE1OjM4OjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IENsZWFyIHVucG9zaXRpb25lZCBmbGFnIHdoZW4gc2V0dGluZyBwb3NpdGlvbnMKCSAgSWYgY29udmVydGluZyBhIFBBIGNoYW5uZWwgbWFwIHRvIGdzdCBjaGFubmVsIHBvc2l0aW9ucyByZXN1bHRzIGluIGEKCSAgdmFsaWQgc2V0IG9mIGNoYW5uZWwgcG9zaXRpb25zLCB3ZSBjbGVhciB0aGUgdW5wb3NpdGlvbmVkIGZsYWcgZnJvbSB0aGUKCSAgcmluZ2J1ZmZlciBzcGVjLgoKMjAxMi0wOC0xNCAwOTozNzo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IFJlbW92ZSByZWR1bmRhbnQgY2hhbm5lbC1tYXNrIHNldHRpbmcgZm9yIHN0ZXJlbyBjYXNlCgkgIFRoZSBnc3RhdWRpbyBoZWxwZXIgbGlicmFyaWVzIGFscmVhZHkgdGFrZSBjYXJlIG9mIHRoaXMgY2FzZSBmb3IgdXMuCgoyMDEyLTA4LTE0IDA5OjM2OjMwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRG9uJ3QgdXNlIG1lbXNldCB0byBzZXQgaW52YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoJICBUaGlzIGl0ZXJlYXRlcyBvdmVyIHRoZSBHc3RBdWRpb0luZm8gdG8gc2V0IGludmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCSAgcmF0aGVyIHRoYW4gdXNlIG1lbXNldCgpIHdoaWNoIHdvcmtzIHJpZ2h0IG5vdyBiZWNhdXNlIGl0IGFzc3VtZXMgdGhhdAoJICBHU1RfQVVESU9fQ0hBTk5FTF9QT1NJVElPTl9JTlZBTElEIGlzIC0xLgoKMjAxMi0wOC0yMiAxMDozMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogbWlub3IgZG9jcyBpbXByb3ZlbWVudAoKMjAxMi0wOC0yMiAxMDoyMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiByZS1lbmFibGUgYWxyZWFkeS1wb3J0ZWQgZ2RrcGl4YnVmc2luawoKMjAxMi0wOC0yMiAxMDowODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcG9ydCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQgdG8gMC4xMQoKMjAxMi0wOC0yMiAwMDowMDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkgIGdka3BpeGJ1ZjogcmUtZW5hYmxlIGFscmVhZHktcG9ydGVkIGdka3BpeGJ1ZiBlbGVtZW50IGFzIGdka3BpeGJ1ZmRlYwoJICBOb3Qgc3VyZSB3aHkgaXQgYXMgZGlzYWJsZWQgZXhhY3RseSBnaXZlbiB0aGF0IGl0IGhhZCBhbHJlYWR5CgkgIGJlZW4gcG9ydGVkICh0aG91Z2ggd2l0aG91dCBtZXRhcyBvciBiYXNlY2xhc3MpLgoJICBNb3ZlIHBsdWdpbl9pbml0IGJpdHMgaW50byBzZXBhcmF0ZSBzb3VyY2UgZmlsZSwgYW5kIHJlbmFtZQoJICBkZWNvZGVyIGVsZW1lbnQgdG8gZ2RrcGl4YnVmZGVjLgoKMjAxMi0wOC0yMSAyMzoyNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdF9sb2FkZXIuYzoKCSAgZ2RrcGl4YnVmOiByZW1vdmUgb2xkIGFuZCB1bnVzZWQgZ3N0X2xvYWRlciBzb3VyY2UgZmlsZQoJICBPbmNlIHVwb24gYSB0aW1lIHVzZWQgdG8gbG9hZCBHU3RyZWFtZXIgdmlkcyB2aWEgR2RrUGl4YnVmIEFQSS4KCjIwMTItMDgtMTYgMTY6NTE6MTYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBtYWtlIGppdHRlcmJ1ZmZlciBkcm9wLW9uLWxhdGVuY3kgYXZhaWxhYmxlIChmaXggIzY4MjA1NSkKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmgKCjIwMTItMDgtMjEgMTk6NDc6NDUgKzA4MDAgIEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVtb3RlLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFrZSBnc3RfdjRsMl9maWxsX2xpc3RzKCkgYWRhcHQgdG8ga2VybmVsIDMuMysKCSAgV2hlbiBkbyB2NGwyX2lvY3RsKCkgd2l0aCBWSURJT0NfRU5VTUlOUFVUIGZhaWxzIG9uIHNvbWUgZGV2aWNlcywKCSAga2VybmVscyBiZWZvcmUgMy4zLjAgcmV0dXJuIEVJTlZBTCwgYnV0IG5ld2VyIGtlcm5lbHMgcmV0dXJuIEVOT1RUWS4KCSAgVGhpcyBwYXRjaCBtYWtlIHRob3NlIGRldmljZXMgd29yayB3ZWxsIG9uIGtlcm5lbCAzLjMrLgoJICBSZWxhdGVkIGtlcm5lbCBjb21taXQ6CgkgIGh0dHA6Ly9naXQua2VybmVsLm9yZy8/cD1saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdDthPWNvbW1pdDtoPTA3ZDEwNmQwYTMzZDYwNjNkMjA2MTMwNTkwM2RlYjAyNDg5ZWJhMjAKCSAgU2lnbmVkLW9mZi1ieTogSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBSdWkgV2FuZyA8d2FuZ3JAbGVtb3RlLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogSmllIENoZW4gPGNoZW5qQGxlbW90ZS5jb20+CgoyMDEyLTA4LTIwIDIzOjMwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUgLT4gc3VicGljdHVyZS94LWR2ZAoKMjAxMi0wOC0xNyAyMDo1Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcwoKMjAxMi0wOC0xNyAxNDo1OTo1NyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBlbmFibGUgcHJlc2V0cyBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIKCSAgQWRkIGEgdGVzdCBmb3Igc2F2aW5nIGFuZCByZXN0b3JpbmcgdGhlIHByZXNldC4KCjIwMTItMDgtMTQgMDE6MjA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBub3QtbmVnb3RpYXRlZCBlcnJvcnMgb24gdmFyaWFibGUgb3IgbWlzc2luZyBmcmFtZXJhdGUgaW4gaW5wdXQgY2FwcwoJICBSZW1vdmUgc29tZSBib2d1cyBjb2RlIEkgYWRkZWQgZHVyaW5nIHBvcnRpbmcgdGhhdCB3b3VsZCBlcnJvciBvdXQKCSAgb24gbWlzc2luZyBvciB2YXJpYWJsZSBmcmFtZXJhdGVzIGluIGlucHV0IGNhcHMuIEhhbmRsZSB0aGlzIGxpa2UKCSAgd2UgZG8gaW4gMC4xMAoJICBGaXhlcyB0ZXN0X21vZGVfZGlzYWJsZWRfcGFzc3Rocm91Z2ggdW5pdCB0ZXN0IGNoZWNrLgoKMjAxMi0wOC0xMiAxMzoxNjozMiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBsYXc6IEZpbHRlciBsYXlvdXQgY2FwcyBmaWVsZAoJICBUaGUgbGF5b3V0IGNhcHMgZmllbGQgc2hvdWxkbid0IGJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBzaW5rIHBhZAoJICBvZiB7bXUsYX1sYXdkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE2NzcKCjIwMTItMDgtMDkgMTk6NDE6MzQgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWxsb3cgYSBUT0Mgd2l0aCBzaW5nbGUgYWx0ZXJuYXRpdmUgdG9wLWxldmVsIGVudHJ5CgkgIEFsbG93IGEgVE9DIHRoYXQgaGFzIGEgc2luZ2xlIGFsdGVybmF0aXZlIHRvcC1sZXZlbCBlbnRyeQoJICB3aXRoIG11bHRpcGxlIHNlcXVlbmNlIHN1Yi1lbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDgtMDkgMTE6NDg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEdpdmUgTUFSR0lOQUwgcmFuayB0byB0aGUgbXBnMTIzIGRlY29kZXIgZWxlbWVudAoKMjAxMi0wOC0wOSAxMDozMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQW5kIGZpeCB0aGUgR1RLIGNoZWNrIHRvIHVzZSB0aGUgY29ycmVjdCBwa2ctY29uZmlnIHBhY2thZ2UgbmFtZQoKMjAxMi0wOC0wOSAxMDoyNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdUSyByZXF1aXJlZCB2ZXJzaW9uIHZhcmlhYmxlIG5hbWUKCjIwMTItMDgtMDkgMDg6MzU6MjMgKzAxMDAgIE1hdHRoaWFzIENsYXNlbiA8bWNsYXNlbkByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IGJ1aWxkIHdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSB2NGwyX2J1ZmZlciBpbnB1dCBmaWVsZCB3YXMgcmVtb3ZlZAoJICBUaGlzIHdhcyB1bnVzZWQgYXBwYXJlbnRseSBhbmQgcmVtb3ZlZCBpbiB0aGUga2VybmVsIGluIGNvbW1pdDoKCSAgRnJvbSAyYjcxOWQ3YmFmNDkwZTI0Y2U3ZDgxN2M2MzM3YjdjODdmZGE4NGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQoJICBGcm9tOiBTYWthcmkgQWlsdXMgPHNha2FyaS5haWx1c0Bpa2kuZmk+CgkgIERhdGU6IFdlZCwgMiBNYXkgMjAxMiAwOTo0MDowMyAtMDMwMAoJICBTdWJqZWN0OiBbUEFUQ0hdIFttZWRpYV0gdjRsOiBkcm9wIHY0bDJfYnVmZmVyLmlucHV0IGFuZCBWNEwyX0JVRl9GTEFHX0lOUFVUCgkgIFJlbW92ZSBpbnB1dCBmaWVsZCBpbiBzdHJ1Y3QgdjRsMl9idWZmZXIgYW5kIGZsYWcgVjRMMl9CVUZfRkxBR19JTlBVVCB3aGljaAoJICB0ZWxscyB0aGUgZm9ybWVyIGlzIHZhbGlkLiBUaGUgZmxhZyBpcyB1c2VkIGJ5IG5vIGRyaXZlciBjdXJyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0OTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgoyMDEyLTA4LTA4IDE3OjI1OjM2IC0wNzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IE1ha2UgaXQgYWN0dWFsbHkgd29yayBhZnRlciBjbGVhbnVwcwoKMjAxMi0wOC0wOCAxNzo0MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNjoyNTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MyA9PT0KCjIwMTItMDgtMDggMTU6MjI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkzCgoyMDEyLTA4LTA4IDE1OjE3OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL3R1bmVyLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmg6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1tYXJzaGFsLmg6CgkgIHdpbjMyOiBhZGQgZ2VuZXJhdGVkIHR1bmVyLW1hcnNoYWwvZW51bXR5cGVzIGZpbGVzIGZvciB2NGwyc3JjIGFuZCB1cGRhdGUKCSAgQW5kIGdzdC1pbmRlbnQgdGhlIHJpZ2h0IHJ0cCBtYXJzaGFsIGZpbGVzOyBhZGQgbWlzc2luZyBmaWxlcyB0byBNQU5JRkVTVC4KCjIwMTItMDgtMDggMTU6MTA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSAgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBmaWxlcwoKMjAxMi0wOC0wOCAxMjo1ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogZGlzdCBoZWFkZXIgZmlsZQoKMjAxMi0wOC0wOCAxMTozMTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBTaWxlbmNlIHNvbWUgJ3ZhcmlhYmxlIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgoyMDEyLTA4LTA4IDEwOjU2OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgTm8gY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnNpZGUgZ19hc3NlcnQoKSBwbGVhc2UKCjIwMTItMDgtMDcgMTE6MTQ6MjEgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IFJldHVybiBGTFVTSElORyBpbnN0ZWFkIG9mIEVSUk9SIG9uIHVubG9jawoJICBJZiB0aGUgYmFzZSBjbGFzcyBhc2tzIG11bHRpdWRwc2luayB0byB1bmxvY2ssIHRoZW4gaXQgc2hvdWxkIHJldHVybgoJICBGTFVTSElORywgbm90IEVSUk9SCgoyMDEyLTA3LTI2IDE2OjE5OjU3ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogYWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBUT0MgYXMgZW1iZWRkZWQgY3Vlc2hlZXRzIGluIGZsYWMgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OQoKMjAxMi0wOC0wNyAxMjoxMjowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGdlbmVyYXRlIGVtcHR5IHZvcmJpc2NvbW1lbnQgZm9yIGNvbXBsZXRlIHN0cmVhbWhlYWRlcnMgaWYgbmVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzMzUKCjIwMTItMDgtMDYgMTg6MDI6NTAgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBCbG9jayBwYWQgd2hpbGUgaXQgaXMgYW5ub3VuY2VkLgoJICBCbG9jayB0aGUgUlRQIHBhZCBhbmQgYXNzb2NpYXRlZCBSVENQIHBhZHMgd2hpbGUgdGhleSBhcmUgYmVpbmcKCSAgYW5ub3VuY2VkLiBUaGlzIGl0IHRvIHByZXZlbnQgYSByYWNlIHdoZXJlIG9uZSBpcyBhbm5vdW5jZWQgYW5kCgkgIGJlZm9yZSB0aGUgY2FsbGJhY2sgaGFzIGNvbm5lY3RlZCBpdCwgdGhlIG90aGVyIG9uZSBnZXRzIGEgYnVmZmVyLgoJICBXZSBjYW4ndCB1c2UgdGhlICJwYWRsb2NrIiBvZiBzc3JjZGVtdXggYmVjYXVzZSBpdCBjYXVzZXMgZGVhZGxvY2tzLgoKMjAxMi0wOC0wNiAxNTowMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdW4tZG8gYWNjaWRlbnRhbCBjb21tb24gdXBkYXRlIHJldmVydCBpbiBjb21taXQgN2I1OTI1YjUKCjIwMTItMDgtMDYgMTQ6NTA6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogc2V0IGNvcnJlY3QgZGF0YV9zaXplIGZvciBnZW5lcmF0ZWQgZHVtbXkgZnJhbWUKCSAgLi4uIHdoaWNoIHByZXZlbnRzIGdldHRpbmcgc3R1Y2sgaW4gYSBsb29wIGlmIHN1Y2ggb25lIGlzIG5lZWRlZC4KCjIwMTItMDgtMDYgMTQ6NTA6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogaW1wcm92ZSBhbmQgZml4IGRlYnVnIHN0YXRlbWVudAoJICAuLi4gc28gaXQgcmVhbGx5IGluZm9ybXMgYWJvdXQgbmV4dCByYXRoZXIgdGhhbiBwYXN0IGZyYW1lLgoKMjAxMi0wOC0wNiAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiB1cGRhdGUgYXZhaWxhYmxlIGJ5dGV3cml0ZXIgc3BhY2Ugd2hlbiByZXBvc2l0aW9uaW5nCgkgIC4uLiBhbmQgYWRkIHNvbWUgbW9yZSBhc3NlcnQgdG8gY2F0Y2ggcG90ZW50aWFsIHN1cnByaXNlcyBlYXJseSBvbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU1OAoKMjAxMi0wOC0wNCAxMjo0Nzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdDogQWRkIHN0cmVhbS1pZCB0byBzdHJlYW0tc3RhcnQgZXZlbnRzCgoyMDEyLTA4LTA0IDEyOjU0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBxdWVyeSBoYW5kbGVyIGlmIG5vIHBhZCBpcyBwcm92aWRlZAoKMjAxMi0wOC0wMiAwMTo0ODoyOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBhIGJldHRlciBkZXRlY3Rpb24gZm9yIHRoZSBtYWluIHJ1biBsb29wCgoyMDEyLTA3LTI3IDE2OjEzOjQ5ICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IERvIG5vdCBvdmVyd3JpdGUgdGhlIERTIGJ1ZmZlciB3aGVuIHRlc3RpbmcgZm9yIEFDMyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDYKCSAgQ29uZmxpY3RzOgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmMKCjIwMTItMDgtMDUgMTY6Mzk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk0Y2NmNGMgdG8gNjY4YWNlZQoKMjAxMi0wOC0wMyAxNjoxMzo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFJlbGVhc2UgbG9jayBiZWZvcmUgc2lnbmFsbGluZyBuZXcgcGFkCgkgIFRoaXMgcHJldmVudHMgYSBkZWFkbG9jayB3aGVyZSBzb21ldGhpbmcgd291bGQgdHJ5IHRvIHB1c2ggYW4gZXZlbnQKCSAgdGhyb3VnaCB0aGUgU1NSQyBkZW11eCBmcm9tIHRoZSBjYWxsYmFjaywgY2F1c2luZyB0aGUgcGFkcyB0byBiZSBpdGVyYXRlZAoJICBhbmQgdGhlIGxvY2sgdGFrZW4uCgoyMDEyLTA4LTA0IDE2OjEzOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDQgMTY6MTA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGdzdF90YWdfbGlzdF9mcmVlIC0+IGdzdF90YWdfbGlzdF91bnJlZgoKMjAxMi0wOC0wMyAxMzo0MzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogbWFwIGlucHV0IGJ1ZmZlciBpbiBSRUFEIG1vZGUsIG5vdCBXUklURSBtb2RlCgkgIE1ha2VzIHRoaW5ncyBhY3R1YWxseSB3b3JrLgoKMjAxMi0wOC0wMyAxMTo1MDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcXVlcnkgc3VwcG9ydGVkIG91dHB1dCBmb3JtYXRzIGF0IHJ1bi10aW1lCgkgIEZpeGVzIHN0dWZmLiBXZSB1c2UgYSBzdHJpbmcgaGVyZSBzaW5jZSB3ZSBjYW4ndCBiZSBib3RoZXJlZAoJICB3aXRoIEdWYWx1ZS4KCjIwMTItMDgtMDMgMTQ6MTA6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYW5hZ2UgcmFjZSBiZXR3ZWVuIGNvbm5lY3Rpb24gY2xvc2luZyBhbmQgZmx1c2hpbmcKCSAgLi4uIHdoZXJlIHRoZSBmb3JtZXIgY2FuIGhhcHBlbiBpbiB0YXNrIHRocmVhZCBhbmQgdGhlIGxhdHRlciBpbiBtYWlubG9vcAoJICB1cG9uIGRvd253YXJkIHN0YXRlIGNoYW5nZS4KCjIwMTItMDgtMDMgMTQ6MDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIGFuZCByZWxheCBhdWRpbyBmcmFtZSBwYXJzaW5nCgkgIC4uLiBzbyBhcyB0byBwcm9wZXJseSByZWNvZ25pemUgZmlyc3QgYXVkaW8gZnJhbWUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEwNzcKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCjIwMTItMDgtMDMgMTE6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgbXBnMTIzOiBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOC0wMyAxMToxMzo0OCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmg6CgkgIG1wZzEyMzogYWRkIG5ldyBsaWJtcGcxMjMtYmFzZWQgbXAzIGRlY29kZXIgcGx1Z2luCgkgIE5lZWRzIGEgYml0IG9mIGNsZWFuaW5nIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMDAzCgoyMDEyLTA4LTAxIDEyOjE2OjQxICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkb3VibGUgdW5yZWYgb2YgcHJpdmF0ZSB0YWcgYnVmZmVyCgoyMDEyLTA3LTMwIDE3OjU0OjUxICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNyZWF0ZSBUT0MgYXMgbmVlZGVkCgkgIEF2b2lkIGNyZWF0aW5nIHRoZSB0b2MgaWYgdGhlIHdhdiBoYXMgbm8gb3IgZW1wdHkgY3VlIGNodW5rLgoJICBBbHNvIGEgc21hbGwgY29kZSBjbGVhbnVwLgoKMjAxMi0wNy0yOCAxMToyNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMTE6MjI6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDExOjIwOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAwMDoxOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjcgMTI6MDU6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2lzb21wNC1wbHVnaW4uYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0KGRlKW11eDogcGFzcyBwcml2YXRlIGJsb2IgdGFncyBpbiBhIHNhbXBsZQoJICAuLi4gcmF0aGVyIHRoYW4gYSBidWZmZXIsIGFuZCB0aGUgZGV0YWlsZWQgaW5mbyBpbiB0aGUgc2FtcGxlIGluZm8KCSAgcmF0aGVyIHRoYW4gY2Fwcy4KCjIwMTItMDctMjcgMTE6MzE6MTMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogRG9uJ3QgcmV0dXJuIE5VTEwgZnJvbSBfdHJhbnNmb3JtX2NhcHMKCSAgSWYgX3RyYW5zZm9ybV9jYXBzICgpIHJldHVybnMgTlVMTCwgdGhlIGJhc2V0cmFuc2Zvcm0gX3RyYW5zZm9ybV9jYXBzCgkgIHRyaWVzIHRvIGNhbGwgZ3N0X2NhcHNfaXNfc3Vic2V0ICgpIHdpdGggYSBOVUxMIHN1YnNldCB3aGljaCBoaXRzIGFuCgkgIGFzc2VydGlvbi4KCjIwMTItMDctMjcgMTE6MjY6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvYnRhaW4gaW1hZ2UgdHlwZSBmcm9tIHRoZSBzYW1wbGUgaW5mbwoKMjAxMi0wNy0yNyAxMToyNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBleHRyYW5lb3VzIF91bnJlZgoJICAuLi4gc2luY2Ugd2UgZGlkIG5vdCBvYnRhaW4gYSBidWZmZXIgcmVmIGZyb20gdGhlIEdzdFNhbXBsZS4KCjIwMTItMDctMjcgMTA6MTQ6MjMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogVXBkYXRlIHRvIHVzZSBHc3RTYW1wbGUgdGFnIHNldHRpbmcgQVBJCgoyMDEyLTA3LTI2IDE2OjM0OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IG1vZGlmeSBidWZmZXIgZGF0YSByYXRoZXIgdGhhbiBidWZmZXIgaXRzZWxmCgoyMDEyLTA3LTI2IDE2OjI4OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGF2b2lkIGxlYWtpbmcgYnl0ZXdyaXRlciBpbnN0YW5jZQoKMjAxMi0wNy0yNiAxNjowNDoyMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdGltZXN0YW1wIGFkanVzdG1lbnQgYW5kIGNhcHMKCjIwMTItMDctMjYgMTY6MDM6NTcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4L3NpbXBsaWZ5IHRlbGVjaW5lIHN0YXRlIGNoZWNrcwoKMjAxMi0wNy0yNiAxMjowODo1OCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wNy0yNiAxMjowODozNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggbG93LWxhdGVuY3kgcGF0dGVybiBsb2NraW5nCgoyMDEyLTA3LTI0IDE2OjE5OjUzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJGRiBzaG91bGQgYmUgaWdub3JlZCBpbiBkZWludGVybGFjZQoJICBSRkYgb25seSBvY2N1cnMgb24gcHJvZ3Jlc3NpdmUgZnJhbWVzIGluIHRlbGVjaW5lIHNlcXVlbmNlcy4gRm9yCgkgIGRlaW50ZXJsYWNlLCB3ZSBkb24ndCB3YW50IHRoZXNlIHJlcGVhdGVkIGZpZWxkcyBhcyB3ZSB3aWxsIHNpbXBseSBiZQoJICBwdXNoaW5nIHRoZSBwcm9ncmVzc2l2ZSBmcmFtZSBhbmQgdGhlbiBtb3Zpbmcgb24uCgkgIEhvd2V2ZXIsIHdlIG5lZWQgdG8gY29uc2lkZXIgUkZGIGluIG9yZGVyIHRvIGNvcnJlY3RseSBpZGVudGlmeSBwYXR0ZXJucwoJICBhbmQgYWRqdXN0IHRoZSB0aW1lc3RhbXBzLgoKMjAxMi0wNy0yNCAxNDo1OTo0NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHByb2Nlc3MgbG9naWMKCSAgVGhlIGxvZ2ljIG5vdyB3b3JrcyBiZXR0ZXIgaWYgd2UgZmlsdGVyIG9ycGhhbnMsIHRoZW4gcHJvZ3Jlc3NpdmUsIHRoZW4KCSAgdGVsZWNpbmUgaW50ZXJsYWNlZCBmaWVsZHMgd2hpY2ggbmVlZCB0byBiZSB3b3ZlbiBhbmQgZmFsbCB0aHJvdWdoIHRvCgkgIGludGVybGFjZS4gVGVsZWNpbmUgaW50ZXJsYWNlZCBmaWVsZHMgd2lsbCBiZSByZWd1bGFybHkgZGVpbnRlcmxhY2VkIGlmCgkgIHRoZXJlIGlzIG5vIHBhdHRlcm4gbG9jayBmb3IgdXMgdG8gYmUgc3VyZSB0aGF0IHdlIGhhdmUgYSB0ZWxlY2luZQoJICBwYXR0ZXJuLgoJICBUZWxlY2luZSBzZXF1ZW5jZXMgdGhhdCBhcmVuJ3QgMjRmcHMgcHJvZ3Jlc3NpdmUgd2l0aCBSRkYgZmxhZ3MgY2FuJ3QKCSAgcmVhbGx5IGJlIHRlc3RlZCB1bnRpbCBmaWVsZGFuYWx5c2lzIGlzIHBvcnRlZC4KCjIwMTItMDctMjUgMTY6MDI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBvbmx5IHNldCBjb21wbGV0ZSBvdXRwdXQgY2FwcyBvbmNlCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBkb3duc3RyZWFtIGNvbXBsYWludHMgYWJvdXQgbWlzc2luZyBzdHJlYW1oZWFkZXJzLgoKMjAxMi0wNy0yNSAxNToyOTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFsc28gc3VwcG9ydCBTMjRfMzIgb3V0cHV0CgoyMDEyLTA3LTI1IDE1OjI4OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcGFzcyBjb3JyZWN0IHBhcmFtZXRlcnMgdG8gZW5jb2RlciBsaWIKCjIwMTItMDctMjUgMTQ6NTc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBhZGp1c3QgdG8gbW9kaWZpZWQgYXVkaW9lbmNvZGVyIGdldGNhcHMgaGVscGVyIEFQSQoKMjAxMi0wNy0yNSAxMjo1MDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZ28gYW5kIHN0YXkgaW4gdGhlIGxvb3AgZnVuY3Rpb24gb24gUExBWQoJICBXaGVuIHdlIGhhdmUgYSBQTEFZIHJlcXVlc3QsIGdvIGludG8gdGhlIExPT1AgZnVuY3Rpb24gbmV4dC4gV2hlbiB3ZSBhcmUKCSAgbG9vcGluZywga2VlcCBvbiBsb29waW5nIHVudGlsIHdlIGFyZSB0b2xkIG90aGVyd2lzZS4KCSAgVGhpcyBmaXhlZCBydHNwIGFuZCBUQ1AgY29ubmVjdGlvbnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NTEKCjIwMTItMDctMjUgMTI6NDk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHNldCBjYXBzIGFmdGVyIGFjdGl2YXRpbmcgdGhlIHBhZAoKMjAxMi0wNy0yNSAxMjo0OTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogc21hbGwgY2xlYW51cHMKCjIwMTItMDctMjUgMTA6MDg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIHhxdGRlcGF5OiBmaXggYnVmZmVyIHJlZmNvdW50IGVycm9yCgkgIEFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlciBpbnRvIHRoZSBhZGFwdGVyLCB3ZSBzaG91bGQgbm90IGxldCB0aGUgYmFzZWNsYXNzIHB1c2gKCSAgaXQgb3V0IGFueW1vcmUuIFRoaXMgZXJyb3Igd2FzIGludHJvZHVjZWQgd2hpbGUgcG9ydGluZyB0byAwLjExLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDU0MAoKMjAxMi0wNy0yNCAyMTo0MTo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIG9ic29sZXRlIGxpYm9pbCBjb21tZW50CgoyMDEyLTA3LTI0IDIxOjExOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVzaCBtb2RlOiBpbmNyZWFzZSBzZWdtZW50IGFjY3VyYWN5IGZvbGxvd2luZyBzZWVrCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjQgMTY6NDE6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBlcmZvcm0gcHJvcGVyIEtFWV9VTklUIHNlZWsgYWxzbyBpbiBwdXNoIG1vZGUKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yNCAxOTowNDozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGRvbid0IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBlcnJvciB3aGVuIGxlYXZpbmcgbXVsdGljYXN0IGdyb3VwIG9uIHNodXRkb3duCgkgIFN0cmFuZ2VseSBlbm91Z2gsIGlmIHdlIGRvIHBhc3MgYW4gZXJyb3IgdmFyaWFibGUgdG8gYmUgZmlsbGVkLCB3ZQoJICBubyBsb25nZXIgZ2V0IGFuIGVycm9yIG9uIGxlYXZpbmcuCgoyMDEyLTA3LTI0IDE1OjU1OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlYXJyYW5nZSBzb21lIGNoZWNrcyB0byBhdm9pZCBOVUxMIHVzZQoKMjAxMi0wNy0yNCAxNTozODoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2Ugc2FtZSBmb3VyY2MgdG8gZGV0ZXJtaW5lIGNhcHMgaW4gZGV0ZXJtaW5pbmcgdW5jb21wcmVzc2VkLW5lc3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OAoJICBDb25mbGljdHM6CgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYwoKMjAxMi0wNy0yNCAxNTozNjo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCAiYXZpZGVtdXg6IERvbid0IGNvbnNpZGVyIDAgZmNjX2hhbmRsZXIgYXMgdW5jb21wcmVzc2VkLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjNmI5ZjViMjVhYjQzNTY2OTgxNmEwNzA0OWIwZTVhOGYwMWUwOWNhLgoJICBmb3VyY2MgR1NUX1JJRkZfcmdiID0gMCBzdGlsbCBsZWFkcyB0byByYXcgdW5jb21wcmVzc2VkIHJnYiBjYXBzLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk4CgoyMDEyLTA3LTI0IDEyOjEwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHVwIGV4YW1wbGUgcGlwZWxpbmUgc29tZSBtb3JlCgkgIE5vIG1vcmUgZmZtcGVnY29sb3JzcGFjZQoKMjAxMi0wNy0yMCAxNjozMDowMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggdGhlIGV4YW1wbGUgZ3N0LWxhdW5jaCBwaXBlbGluZS4KCjIwMTItMDctMjQgMTI6MzM6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGF2b2lkIE5VTEwgYWNjZXNzIHdoZW4gY2hlY2tpbmcgc3VidGl0bGUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDM4OAoKMjAxMi0wNy0yNCAxMjoyMjowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZXNldCBwYXJzZXIgd2hlbiB3ZSBoYXZlIGNhcHMgd2l0aG91dCBjb2RlY19kYXRhCgkgIFRoaXMgZW5zdXJlcyB0aGUgZGV0ZWN0aW9uIChhbmQgcHJvcGVyIGRvd25zdHJlYW0gY2FwcyBzZXR0aW5ncykgd2lsbAoJICBhY3R1YWxseSBoYXBwZW4gd2hlbiB3ZSBoYXZlIG5ldyBpbmNvbWluZyBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YS4KCSAgVGhpcyB3YXMgZWFzaWx5IHRyaWdnZXJlZCBieSBzdHJlYW1zIGZyb20gbWF0cm9za2FkZW11eCB3aGljaCBpbml0aWFsbHkKCSAgcHJvdmlkZWQgY2FwcyB3aXRoIGEgY29uc3RydWN0ZWQgY29kZWNfZGF0YSwgYnV0IHRoZW4gcHVzaGVkIG5ldyBjYXBzCgkgIHdpdGhvdXQgdGhlIGNvZGVjX2RhdGEgb25jZSBpdCBkZXRlY3RlZCB0aGUgc3RyZWFtIHdhcyBhZHRzLgoKMjAxMi0wNy0yNCAwOToxNzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggdmlkZW9fbWl4ZXJfb3JjXwoKMjAxMi0wNy0yNCAwOToxMzo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMub3JjOgoJICB2aWRlb2JveDogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCB2aWRlb19ib3hfb3JjXwoKMjAxMi0wNy0yMyAxODo1MTowMCArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTItMDctMjMgMTc6Mzc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGdlbmVyYXRlIGNvcnJlY3Qgc2VnbWVudCBzdHJlYW0gdGltZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc1CgoyMDEyLTA3LTIzIDE2OjQyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cDogYWx3YXlzIHVzZSBidWZmZXIgbGlzdHMKCjIwMTItMDctMjMgMTU6MjQ6MTcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhbHdheXMgZW5hYmxlIGJ1ZmZlci1saXN0cwoKMjAxMi0wNy0yMyAxNToyMjoyNCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGFsd2F5cyBlbmFibGUgYnVmZmVyLWxpc3RzCgoyMDEyLTA3LTIzIDE1OjQ5OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGdldCBmcmFtZSBmbGFncyBjb3JyZWN0bHkKCSAgQWxzbyBtb3ZlIHRoZSBkZWludGVybGFjZSBwbHVnaW4gdG8gcG9ydGVkIHN0YXR1cwoKMjAxMi0wNy0yMyAxNTozMzo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIHBhcnNlIHJlY292ZXJ5IGFmdGVyIHNlZWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDQyNwoKMjAxMi0wNy0yMyAxMjozOTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBjbGVhciBvbGQgc2VnbWVudCBldmVudCB3aGVuIHJlcXVlc3RpbmcgbmV3IG9uZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjgzCgoyMDEyLTA3LTIzIDEwOjMyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAwODo0OTowNyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGNvbnZlcnQgYWxsIG5vbiBHU1RfRk9STUFUX0JZVEVTIHRvIGZvcm1hdCBieXRlcy4KCSAgQ29udmVydCBhbGwgbm9uIEdTVF9GT1JNQVRfQllURVMgdG8gZm9ybWF0IGJ5dGVzOgoJICBmaXhlczoKCSAgR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3RfcXVlcnlfc2V0X2R1cmF0aW9uOiBhc3NlcnRpb24gYGZvcm1hdCA9PQoJICBnX3ZhbHVlX2dldF9lbnVtIChnc3Rfc3RydWN0dXJlX2lkX2dldF92YWx1ZSAocywgR1NUX1FVQVJLIChGT1JNQVQpKSknCgkgIGZhaWxlZAoJICB3aGVuIHBsYXlpbmcgbW9yZSB0aGFuIG9uZSB3YXYgc3RyZWFtLgoJICBnc3QtcGx1Z2lucy1iYXNlL3Rlc3RzL2ljbGVzL3BsYXliYWNrL3Rlc3Q3IHVyaTEud2F2IHVyaTIud2F2CgoyMDEyLTA3LTIzIDA5OjI1OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgZmFpbCBpZiBtb3JlIGRhdGEgdGhlbiBuZWVkZWQgaXMgYXZhaWxhYmxlIHdoZW4gcGFyc2luZyBjdWUgY2h1bmtzCgkgIEZpeGVzIGJ1ZyAjNjgwMzI4LgoKMjAxMi0wNy0yMyAwOToyMjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFNvbWUgbWlub3IgY2xlYW51cCB0byB0aGUgY3VlL2xhYmwgcGFyc2luZwoKMjAxMi0wNy0yMyAwODo0NToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk4ZTM4NmYgdG8gOTRjY2Y0YwoKMjAxMi0wNy0xOSAxNDo1NTo0NSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIGRlaW50ZXJsYWNlOiBQb3J0IHRvIDEuMAoJICBUaGlzIHJlcXVpcmVzIHRoZSBhZGRpdGlvbmFsIElOVEVSTEFDRUQgYnVmZmVyIGZsYWcgcmVjZW50bHkgYWRkZWQgdG8KCSAgLWJhc2UKCjIwMTItMDctMjAgMTU6MTg6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGNvbnZlcnQgdGhlIG91dHB1dCBzZWdtZW50IHRvIHRpbWUKCSAgQ29udmVydCB0aGUgc3RvcmVkIGlucHV0IHNlZ21lbnQgdG8gdGltZSBiZWZvcmUgcHVzaGluZyBpdCBvdXQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA3LTIwIDEzOjEyOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IHRyeSB0byBmaXggc2VnbWVudCBoYW5kbGluZwoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNy0yMCAxNToyODoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogTm9uLXVwZGF0ZSBzZWVrcyBzaG91bGQgc3RpbGwgbWFrZSBzdXJlIHRoYXQgcmV2ZXJzZSBwbGF5YmFjayBzdGF0dXMgaXMgcmVzZXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0yMCAxNToxODoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgaW5pdGlhbGl6ZSBmcm9tX29mZnNldCBhbmQgZnJvbV90aW1lCgoyMDEyLTA3LTIwIDE0OjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBXZSBuZWVkIGFuIGluZGV4IGFuZCBpbmRleCBlbnRyeSBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICBSZXZlcnNlIHBsYXliYWNrIGRvZXMgbm90IHdvcmsgd2l0aCBpbmRleC1sZXNzIGZpbGVzIHlldC4KCjIwMTItMDctMjAgMTQ6MTA6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGVhbiB1cCBwdXNoIG1vZGUgc2VnbWVudCBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc3CgoyMDEyLTA3LTIwIDEzOjM1OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wZXJseSB0cmFuc2Zvcm0gaW5jb21pbmcgc2VnbWVudCBldmVudAoJICAuLi4gd2hpY2ggaXMgcmVhbGx5IHVzZWZ1bCBmb3IgcHJvcGVyIHB1c2ggbW9kZSBzZWVraW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjc4CgoyMDEyLTA3LTIwIDExOjA3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogRml4IHJldmVyc2UgcGxheWJhY2sgZm9yIHNlZWtzIHdpdGhvdXQgc3RvcCBwb3NpdGlvbgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oCgoyMDEyLTA3LTIwIDEwOjQ4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IHRha2UgdGhlIHN0cmVhbV9zdGFydF90aW1lIGludG8gYWNjb3VudCBmb3IgU0VUIHNlZWtzCgkgIEZvciBvdGhlciBzZWVrcyB0aGUgc3RyZWFtX3N0YXJ0X3RpbWUgaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUKCSAgc2VnbWVudCB2YWx1ZXMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMDggMjA6MzY6MjIgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IEFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBmb3I6CgkgICogQ3VlIENodW5rCgkgICogQXNzb2NpYXRlZCBEYXRhIExpc3QgQ2h1bmsKCSAgKiBMYWJlbCBDaHVuawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzA2CgoyMDEyLTA1LTA5IDE1OjU4OjE2ICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gc2V0IFVEUCBidWZmZXIgc2l6ZSBpbiBtdWx0aWNhc3QKCSAgQWxzbyBzZXQgdGhlIFVEUCBidWZmZXIgc2l6ZSBpbiBtdWx0aWNhc3QgbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ0OAoKMjAxMi0wNy0xOCAyMzo0Mzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBoZWFkZXIgcGFyc2luZyBpbiBwdXNoIG1vZGUKCSAgRml4ICdicmVhaycgdGhhdCBnb3Qgd2FycGVkIHRvIHRoZSB3cm9uZyBwbGFjZSwKCSAgcHJvYmFibHkgYXMgcGFydCBvZiBhIG1lcmdlLiBGaXhlcyBHU1RfSVNfQlVGRkVSCgkgIGNyaXRpY2FscyBpbiBwYXJzZV9pZGl0KCkgd2hlbiBiZWluZyBhY2NpZGVudGFsbHkKCSAgcGFzc2VkIGEgTlVMTCBidWZmZXIgYmVjYXVzZSBvZiB0aGUgbWlzc2luZyBicmVhay4KCSAgZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9aHR0cDovL2RvY3MuZ3N0cmVhbWVyLmNvbS9tZWRpYS9zaW50ZWxfdHJhaWxlci00ODBpLmF2aQoKMjAxMi0wNy0xOCAyMjo0NzoyMiArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGRlcHJlY2F0ZWQgc291cF9tZXNzYWdlX2hlYWRlcnMgX2dldCAtPiBfZ2V0X29uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwMjA2CgoyMDEyLTA3LTE4IDE4OjI3OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAganBlZy9wbmc6IENhbGwgdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xOCAxNzo1Nzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgZ2hvc3RwYWQgY2hhbmdlcwoKMjAxMi0wNy0xOCAxMTozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUGFzcyBzZWVrIHJhdGUgdG8gdXBzdHJlYW0gc2VlayBldmVudHMgaW4gcHVzaCBtb2RlCgkgIEZpeGVzIGJ1ZyAjNjc5NDM1LgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNyAxNjozODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNiAxMTowNzo0NCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5OTk0CgoyMDEyLTA3LTE3IDEwOjAxOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHBhcnNpbmcgb2YgSVNSQyBmcm9tIHRoZSBjdWVzaGVldHMKCjIwMTItMDctMDUgMTQ6MTU6MjUgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIFRPQyBzdXBwb3J0CgkgIEFkZCBzdXBwb3J0IGVtYmVkZGVkIGN1ZXNoZWV0cyBpbiBmbGFjIGZpbGVzLgoJICBQYXJzaW5nIE1FVEFEQVRBX0JMT0NLX0NVRVNIRUVUIGFzIFRPQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5MQoKMjAxMi0wNy0xMyAxNDo0MzozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGF2b2lkIHNvbWUgbW9yZSBmcmFtZSBtaXNwYXJzaW5nIGJ5IGFkZGl0aW9uYWwgaGVhZGVyIHNhbml0eSBjaGVjawoJICAuLi4gdXNpbmcgYSByZXF1aXJlZCBjb25zdGFudCBibG9ja2luZ19zdHJhdGVneSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk4MDcKCjIwMTItMDctMTMgMTM6NTE6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZGVtdXg6IFB1c2ggU1RSRUFNX1NUQVJUIGV2ZW50IHdoZW4gbmVlZGVkCgoyMDEyLTA3LTExIDEzOjEwOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgd2FybmluZyBpZiBib3RoIHRzIGFyZSBlcXVhbAoKMjAxMi0wNy0xMSAxMjoyODoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGNoZWNrIHRoZSByaWdodCBzaXplIHdoZW4gd2FybmluZyBhYm91dCB0b28gbGFyZ2UgdWRwIHBhY2tldHMKCSAgV2hhdCBtYXR0ZXJzIGlzIHRoZSB0b3RhbCBzaXplLCBub3QgdGhlIHNpemUgb2YgYW55IG9mIHRoZQoJICBpbmRpdmlkdWFsIG1lbW9yeSBjaHVua3MgdGhhdCBtYWtlIHVwIHRoZSBwYWNrZXQuCgoyMDEyLTA3LTEwIDE0OjM4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICBhdXRvZGV0ZWN0OiBwcm94eSB0cy1vZmZzZXQgcHJvcGVydGllcwoJICBQcm94eSB0aGUgdHMtb2Zmc2V0IHByb3BlcnR5IGluIHRoZSBhdWRpbypzaW5rIGVsZW1lbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzQzCgoyMDEyLTA3LTA5IDE2OjI3OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIGZpeCBmb3IgYWxsb2NhdG9yIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTA5IDEyOjIyOjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciByaWZmIGZpZWxkIHJlbmFtZQoKMjAxMi0wNS0yMSAxMzo1NDo1MSArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzQG9wZW5pc211cy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRyb3AgcmVkdW5kYW50IGVsZW1lbnRzX2xldmVsX0xEQUREIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNy0wOCAxMzozMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSAgdGVzdHM6IG1pbm9yIGpwZWdkZWMgY2xlYW4tdXBzIGFuZCBmaXhlcwoJICBGaXggcmFjZSBjb25kaXRpb24gaW4gZW9zIGNoZWNraW5nIGFuZCBhIGxlYWsuIEFuZAoJICBidWlsZCBwaXBlbGluZSB3aXRob3V0IHBhcnNlX2xhdW5jaC4KCjIwMTItMDUtMjEgMTM6NTM6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvZmlsZXMvaW1hZ2UuanBnOgoJICB0ZXN0czogQWRkIHNvbWUgYmFzaWMgdGVzdHMgZm9yIGpwZWdkZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNy0wOCAwMDowODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcGFzcyB1bmhhbmRsZWQgbm9uLWN1c3RvbSBldmVudHMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjYyNgoKMjAxMi0wNy0wNiAxOToxMTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgc29tZSByZWxvY2F0aW9ucwoKMjAxMi0wNy0wNiAxNDo0OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgc2VuZC1jb25maWcgcHJvcGVydHkKCSAgVXNlIGNvbmZpZy1pbnRlcnZhbCBpbnN0ZWFkLgoKMjAxMi0wNy0wNiAxNDo0MjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlbW92ZSBkZXByZWNhdGVkICJieXRlLXN0cmVhbSIgYW5kICJhY2Nlc3MtdW5pdCIgcHJvcGVydGllcwoJICBUaGVzZSB3aWxsIGJlIHBpY2tlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRvd25zdHJlYW0gY2FwcyBub3csIHNvCgkgIGlmIHlvdSB3YW50IHRoZSBkZXBheWxvYWRlciB0byBvdXRwdXQgYSBzcGVjaWZpYyBmb3JtYXQsIG1ha2Ugc3VyZQoJICB0aGUgZWxlbWVudCBkb3duc3RyZWFtIGFkdmVydGlzZXMgdGhhdCBwcmVmZXJlbmNlIG9yIHVzZSBhIGNhcHNmaWx0ZXIKCSAgYWZ0ZXIgdGhlIGRlcGF5bG9hZGVyIHRvIGZvcmNlIGl0LgoKMjAxMi0wNy0wNiAxNDoxMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIG5vbi1mdW5jdGlvbmFsICJwcm9maWxlLWxldmVsLWlkIiBwcm9wZXJ0eQoJICBUaGlzIGlzIG5vdyBvcHRpb25hbGx5IHRha2VuIGZyb20gZG93bnN0cmVhbSBjYXBzLCBzbyBjYW4gYmUKCSAgc3BlY2lmaWVkIHZpYSBhIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHBheWxvYWRlci4KCjIwMTItMDctMDYgMTU6MDc6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIHNhbml0eSBjaGVjayBiZWZvcmUgY29uZmlybWluZyBBRFRTIGZvcm1hdAoJICAuLi4gYW5kIHR3ZWFrIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlLgoKMjAxMi0wNy0wNiAxNToyOToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZW1vdmUgdW5oZWxwZnVsIHN0cmF5IGRlYnVnIG1lc3NhZ2UKCjIwMTItMDctMDYgMTM6MTY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJudHAtbnMtYmFzZSIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NTc6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSAgZG9jczogdXBkYXRlIGlzb21wNCBkb2NzIGZvciBncHBtdXggLT4gM2dwcG11eCBjaGFuZ2UgYXMgd2VsbAoKMjAxMi0wNy0wNiAxMjo1NDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBpc29tcDQ6IHJlbW92ZSBncHBtdXgsIHdoaWNoIHdhcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAzZ3BwbXV4CgoyMDEyLTA3LTA2IDEyOjQ5OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXRwOiByZW1vdmUgZGVwcmVjYXRlZCAiZnBzIiBwcm9wZXJ0eQoKMjAxMi0wNy0wNiAxMjo0NjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCB1bnVzZWQgImF1dG9zY2FuIiBwcm9wZXJ0eQoJICBSZXBsYWNlZCBieSBib3VuZGFyeT1OVUxMLgoKMjAxMi0wNy0wNiAwOTowNzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2M3BwYXk6IGFjY2VwdCBhbnkgaDI2MyBpbnB1dCB1bmxlc3MgZG93bnN0cmVhbSBmb3JjZXMgc3BlY2lmaWMgcmVxdWlyZW1lbnRzCgkgIHJ0cGgyNjNwcGF5IHNob3VsZCBhY2NlcHQgYW55IGlucHV0IGNvbXBhdGlibGUgd2l0aCBpdHMgc2luayB0ZW1wbGF0ZQoJICBjYXBzIGlmIGl0IGp1c3Qgb3V0cHV0cyB0byBlLmcuIHVkcHNpbmsgb3IgZmFrZXNpbmsuCgkgIHJ0cGgyNjNwcGF5ICEgcnRwaDI2M3BkZXBheSBzaG91bGQgYWxzbyB3b3JrIHdpdGggYW55IGNvbXBhdGlibGUgaW5wdXQuCgkgIFRoaXMgd291bGQgZmFpbCBiZWZvcmUgd2l0aCBub3QtbmVnb3RpYXRlZCBlcnJvcnMgYmVjYXVzZSB0aGUgZ2V0X2NhcHMKCSAgZnVuY3Rpb24gd291bGQgc2VlIHRoZSBlbmNvZGluZy1uYW1lIGluIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMKCSAgYW5kIGRlZmF1bHQgdG8gYmFzZWxpbmUgSC4yNjMgYmVjYXVzZSB0aGVyZSdzIG5vIHByb2ZpbGUvbGV2ZWwgaW5mb3JtYXRpb24KCSAgaW4gdGhvc2UgY2Fwcywgd2hpY2ggaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGlmIGRvd25zdHJlYW0gaGFzIGZpbHRlcmNhcHMKCSAgZnJvbSBhbiBTRFAsIGJ1dCBub3QgaWYgdGhvc2UgZmllbGRzIGFyZSBhYnNlbnQgYmVjYXVzZSB0aGV5IGNhbiBiZQoJICBhbnl0aGluZyBsaWtlIHdpdGggdGhlIGRlcGF5bG9hZGVyJ3MgdGVtcGxhdGUgY2Fwcy4gTWFrZXMKCSAgdmlkZW90ZXN0c3JjICEgYXZlbmNfaDI2M3AgISBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgISBmYWtlc2luawoJICB3b3JrLgoKMjAxMi0wNy0wNSAyMjo1NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogZml4IGgyNjNwIHBheWxvYWQgISBkZXBheWxvYWQgdW5pdCB0ZXN0CgkgIE5lZWQgdG8gYWRkIGgyNjN2ZXJzaW9uIGZpZWxkIHRvIGlucHV0IGNhcHMgc2luY2UgdGhlCgkgIHBheWxvYWRlciBzaW5rIGdldF9jYXBzIGZ1bmN0aW9uIHdpbGwgY29udGFpbiBpdCBpbiB0aGUKCSAgdGhlIGNhcHMsIGFuZCB0aGUgc3RyaWN0ZXIgY2FwcyBzdWJzZXQgY2hlY2sgcmVxdWlyZXMKCSAgdGhpcyB0byBiZSBwcmVzZW50IGluIHRoZSBpbnB1dCBjYXBzIGFzIHdlbGwgdGhlbi4KCjIwMTItMDctMDYgMTE6NTA6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNy0wNSAxNToxNDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHJndm9sdW1lIHVuaXQgdGVzdCBldmVudCBoYW5kbGluZwoJICBNdXN0IGZsdXNoIGFmdGVyIEVPUyBiZWZvcmUgc2VuZGluZyBtb3JlIGJ1ZmZlcnMgb3IKCSAgYW5vdGhlciBFT1MgZXZlbnQsIG9yIHRoZSBldmVudCBvciBidWZmZXIgd2lsbCBiZQoJICByZWplY3RlZC4gQWxzbyBzZW5kIGEgU0VHTUVOVCBldmVudCBhdCB0aGUgc3RhcnQKCSAgb2YgZWFjaCBzdHJlYW0gZm9yIGdvb2QgbWVhc3VyZS4KCjIwMTItMDctMDUgMTM6MTM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBnc3Q6IEltcGxlbWVudCBzZWdtZW50LWRvbmUgZXZlbnQKCjIwMTItMDctMDUgMTI6MzU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB0aGUgVE9DIHF1ZXJ5IGhhbmRsaW5nCgoyMDEyLTA3LTA0IDE5OjUyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogVXBkYXRlIGZvciBuZXcgR3N0VG9jIEFQSQoJICBUT0Mgc3VwcG9ydCBpbiBtYXRyb3NrYW11eCBpcyBkaXNhYmxlZCBmb3Igbm93IGFzIGl0IHdhcyBicm9rZW4gYW55d2F5LgoKMjAxMi0wNy0wNCAyMzo1NzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGZpeCByZ2FuYWx5c2lzIHVuaXQgdGVzdCBldmVudCBoYW5kbGluZwoJICBNdXN0IGZsdXNoIGFmdGVyIEVPUyBiZWZvcmUgc2VuZGluZyBtb3JlIGJ1ZmZlcnMgb3IKCSAgYW5vdGhlciBFT1MgZXZlbnQsIG9yIHRoZSBldmVudCBvciBidWZmZXIgd2lsbCBiZQoJICByZWplY3RlZC4gQWxzbyBzZW5kIGEgU0VHTUVOVCBldmVudCBhdCB0aGUgc3RhcnQKCSAgb2YgZWFjaCBzdHJlYW0gZm9yIGdvb2QgbWVhc3VyZS4KCjIwMTItMDctMDQgMTg6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBjbGVhciAwIERUUyBvbiBidWZmZXJzIG91dHB1dCwgYXMgc2lua3Mgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGZvciBzeW5jaW5nCgkgIFNpbmNlIHRoZSBpbml0aWFsIGRlY29kZWQgc3RpbGwgaW1hZ2UgYnVmZmVyIHdpbGwgaGF2ZSBkdHM9cHRzPTAsIGFuZAoJICB3ZSBvbmx5IHNldCBQVFMgb24gYnVmZmVycyB3ZSBwdXNoIG91dCwgYWxsIGJ1ZmZlcnMgcHVzaGVkIG91dCB3b3VsZAoJICBoYXZlIGEgRFRTIG9mIDAuIFNpbmtzLCBob3dldmVyLCB3aWxsIHByZWZlciBEVFMgb3ZlciBQVFMgaWYgYm90aCBhcmUKCSAgc2V0LCBhbmQgd2lsbCB0aGVyZWZvcmUgYWx3YXlzIHNlZSBhIHRpbWVzdGFtcCBvZiAwIG5vIG1hdHRlciB3aGF0CgkgIHRoZSBQVFMgaXMgc2V0IHRvLgoJICBGaXhlcyB1bml0IHRlc3QgdG9vLgoKMjAxMi0wNy0wNCAyMDo1OTowMyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHF1ZXJ5IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uOyBtb3JlIGRlYnVnZ2luZwoKMjAxMi0wNy0wNCAxOTo0MTo1MiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHNwZWMgc3R1ZmYgaW4gZGlyZWN0c291bmRzaW5rCgoyMDEyLTA1LTMxIDE5OjIyOjQ3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCBhY2Nlc3MgdG8gaW52YWxpZCBwb2ludGVyIGluIHNldF92b2x1bWUKCjIwMTItMDYtMTMgMTI6MTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcj1DMz1CNmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY2FwcyBsZWFrcwoKMjAxMi0wNS0yOSAxMTozNzo1OSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXB0Y2FwcyBjaGVjawoKMjAxMi0wNS0yNSAxMDoxNDo1NyArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiB1c2UgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGZvciBzcGRpZiBmb3JtYXRzCgoyMDEyLTA1LTI1IDEwOjE5OjA5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFkZCBzdXBwb3J0IGZvciBEVFMKCjIwMTItMDUtMDggMTY6MjM6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZm9yY2UgNDgwMDAga0h6IGZvcmNlIEFDLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxNzo0Mjo0OSArMDQwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgYWMtMyBvdmVyIHNwZGlmCgoyMDEyLTA3LTA0IDEyOjM3OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGRlaW50ZXJsYWNlIHRlc3QgZm9yIG5vdywgZWxlbWVudCBzdGlsbCBuZWVkcyB0byBiZSBwb3J0ZWQKCSAgQnV0IGxlYXZlIGl0IGFjdGl2ZSBhbmQgcHJpbnQgYSBGSVhNRS4gUG9ydGluZyBpcyBpbiBwcm9ncmVzcy4KCjIwMTItMDctMDMgMTk6Mzg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTsgZG93bmdyYWRlIGNhcHMgY2hhbmdlIGZhaWx1cmUgZGVidWcgbWVzc2FnZQoJICBBZGQgc29tZSBtb3JlIGluZm8gYW5kIGRvd25ncmFkZSB0byB3YXJuaW5nLCBzbwoJICBpdCBkb2Vzbid0IGxvb2sgbGlrZSB0aGUgdW5pdCB0ZXN0IGZhaWxlZC4KCjIwMTItMDctMDMgMTc6NTI6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBmaXggbmVnb3RpYXRpb24gYW5kIHVuaXQgdGVzdAoJICBNdXN0IHJlbW92ZSBhIHBvc3NpYmx5LWZpeGVkIGNoYW5uZWwtbWFzayBmaWVsZCBpZgoJICB3ZSdyZSBnb2luZyB0byBzZXQgdW5maXhlZCBjaGFubmVscyBvbiB0aGUgc3RydWN0dXJlLAoJICBvciBhIGRpZmZlcmVudCBjaGFubmVsIGNvdW50LgoKMjAxMi0wNy0wMyAxNzoyNjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSBwdXNoIHRoZSBUT0MgZXZlbnQsIHRoZSBtZXNzYWdlIGlzIGhhbmRsZWQgYnkgdGhlIHNpbmtzCgoyMDEyLTA3LTAzIDEyOjQ3OjU4ICswOTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdHM6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsrIHN5bWJvbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTMwMQoKMjAxMi0wNy0wMyAwOToyNzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIEd0aysgMy4wIGZvciB0ZXN0cy9leGFtcGxlcwoKMjAxMi0wNy0wMyAxMjo1NzoxOCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogcmVtb3ZlIHNvbWUgb3V0ZGF0ZWQgY29tbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTMwMQoKMjAxMi0wNi0yOSAxMTo1MTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmYXVsdCB0byBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZQoKMjAxMi0wNi0yOCAyMDowMzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogYWRkIHB1c2ggbW9kZSBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTYzMTcKCjIwMTItMDYtMjggMTE6Mjk6NTUgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFRyeSB0byBzZWVrIHVwc3RyZWFtIGJlZm9yZSBwcm9jZXNzaW5nIHNlZWsgcHVzaCBldmVudAoJICBXaGVuIGl0IHJlY2VpdmVzIGEgc2VlayBpbiBwdXNoIG1vZGUsIHRoZSBxdGRlbXV4IHNob3VsZCBmaXJzdCB0cnkgdG8gcHVzaCB0aGUgZXZlbnQgdXBzdHJlYW0sIGFuZCBvbmx5IGlmIHVwc3RyZWFtIGZhaWxzIGZhbGwgYmFjayB0bwoJICBpdHMgb3duIHNlZWsgbG9naWMuCgoyMDEyLTA2LTI4IDExOjQ3OjIwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBbGxvdyBkdXJhdGlvbiBxdWVyaWVzIHRvIGJlIGZvcndhcmRlZCB1cHN0cmVhbQoJICBXaGVuIHJlY2VpdmluZyBhIGR1cmF0aW9uIHF1ZXJ5IGZvciBUSU1FIGZvcm1hdCwgdHJ5IHRvIHF1ZXJ5IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8gcXRkZW11eCBkdXJhdGlvbiBoYW5kbGluZy4KCjIwMTItMDYtMjggMTE6NTk6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGNsZWFudXBzCgkgIFVzZSB0aGUgY2FwcyBwcm9wZXJ0aWVzIGZvciBhbGlnbm1lbnQgYW5kIGZvcm1hdC4KCSAgUmVtb3ZlIHNvbWUgb2xkIHByb3BlcnRpZXMsIHdlIGFsd2F5cyB3YW50IHRvIHVzZSBidWZmZXJsaXN0cyB3aGVuIHdlIGNhbiBub3cuCgoyMDEyLTA2LTI4IDExOjMyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IHByZWZlciBBVkMsIGl0J3MgZWFzaWVyIHRvIHBhcnNlIGV0YwoKMjAxMi0wNi0yNyAwOTowOTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogbWFyayBhbGwgb3V0cHV0IGZyYW1lcyBhcyBrZXlmcmFtZXMKCjIwMTItMDYtMjYgMTg6NDg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIEdzdFRvYyBBUEkgYWRkaXRpb25zCgoyMDEyLTA2LTI2IDE3OjA0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBzZXQgaW50ZXJsYWNlLW1vZGUKCjIwMTItMDYtMjYgMTM6MTk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDEzOjAyOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFiMDliYzYwOWE1NzhlNzMxZjBkYmM4ZjZlNjk4ZTI1ZDhmNGM1ZjguCgkgIFNlZW1zIHRvIG1ha2UgbGlidjRsMiBjb21wbGFpbiwgbWF5YmUgYmVjYXVzZSB3ZSBjYWxsIFJFUUJVRlMgd2l0aCAwIGJ1ZmZlcnMKCSAgYmVmb3JlIHdlIGFsbG9jYXRlZCBidWZmZXJzLgoKMjAxMi0wNi0yNiAxMjowNzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUga2VybmVsIGJ1ZmZlcnMgYmVmb3JlIGFsbG9jYXRpbmcgbmV3IG9uZXMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAyNTcKCjIwMTItMDYtMjYgMTI6MDc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGltcHJvdmUgZGVidWcKCjIwMTItMDYtMjYgMTE6MTQ6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBzZXR1cCBzdHJpZGVzIGFuZCBvZmZzZXRzIGZvciBhbGwgcGxhbmVzCgoyMDEyLTA2LTI1IDIwOjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IHVwZGF0ZSBmb3IgR3N0VG9jU2V0dGVyIGNoYW5nZXMKCjIwMTItMDYtMjUgMTM6MzE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJldHVybiBGQUxTRSBmcm9tIHF1ZXJpZXMgaWYgd2UgY2FuJ3QgYW5zd2VyIFBPU0lUSU9OL0RVUkFUSU9OIHF1ZXJpZXMKCjIwMTItMDYtMjEgMTc6MTU6MTEgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBUT0MgcXVlcnkgaWYgbm8gVE9DIGV4aXN0cyBpbnN0ZWFkIG9mIGFuIGVtcHR5IFRPQwoKMjAxMi0wNi0yNCAyMjo1MToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGNoYW5nZXMKCjIwMTItMDYtMjMgMTQ6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVwZGF0ZSBmb3IgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSgpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTI6MzE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSAgdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTA6MzM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFzayBhcGkgY2hhbmdlCgoyMDEyLTA2LTIwIDA5OjU5OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIHVwZGF0ZSBmb3IgY2xvY2sgYXBpIGNoYW5nZXMKCjIwMTItMDYtMTkgMTI6MTU6MzMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW9zaW5rOiByZXNwZWN0IHRoZSBwcmVmZXJlZCBjaGFubmVsIGxheW91dAoJICBJbiBPU1ggaXMgYWxsb3dlZCB0byBjb25maWd1cmUgdGhlIGRlZmF1bHQgYXVkaW8gb3V0cHV0IGRldmljZSwKCSAgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQgYW5kIHNwZWFrZXIgcG9zaXRpb25zIHRocm91Z2ggdGhlIHRvb2wKCSAgIkF1ZGlvIE1JREkgU2V0dXAiLgoKMjAxMi0wNC0zMCAyMjo1OTo1OCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogU2VuZCBnYXAgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zCgoyMDEyLTA2LTE3IDAxOjAwOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogZml4IHVwIGRvY3MgZm9yIDAuMTEKCjIwMTItMDYtMTYgMjM6Mjk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBzbWFsbCB1cmkgaGFuZGxlciBmaXh1cCBhbmQgc29tZSBtb3JlIGRvY3MKCSAgR2V0IFVSSSBsb2NhdGlvbiB1c2luZyBnc3RfdXJpX2dldF9sb2NhdGlvbigpLCBzbyBhbnkKCSAgZXNjYXBlZCBiaXRzIGdldCB1bmVzY2FwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkwNDkKCjIwMTItMDYtMTcgMDA6NTk6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiByZS1wb3J0IHRvIDAuMTEKCjIwMTItMDYtMTYgMTk6MDY6MjUgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogSW1wbGVtZW50IHNwbGl0ZmlsZTovLyBVUkkgc2NoZW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDkwNDkKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jCgoyMDEyLTA2LTE0IDEwOjQzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICB0aGVvcmFkZXBheTogZml4IGJ1ZmZlciBtZW1vcnkKCSAgVGhlIG1lbW9yeSB3YXMgYWRkZWQgdG8gdGhlIGlucHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSBvdXRwdXQgYnVmZmVyLgoKMjAxMi0wNi0xMyAxMzozNjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgcmVzZXQgdGltZSBpbiBmbHVzaC1zdG9wCgkgIERvbid0IHJlc2V0IHRoZSB0aW1lIGluIGZsdXNoLXN0b3AuIExpdmUgc291cmNlcyBjYW4gZG8gdGhpcyBmbHVzaCBpbiB0aGUKCSAgcGxheWluZyBzdGF0ZSBhbmQgc28gdGhlIHBpcGVsaW5lIHdpbGwgbmV2ZXIgaGF2ZSBhIGNoYW5jZSB0byB1cGRhdGUgdGhlCgkgIGJhc2VfdGltZSBvZiB0aGUgZWxlbWVudHMsIHdoaWNoIG9ubHkgaGFwcGVucyB3aGVuIGdvaW5nIGZyb20gcGF1c2VkIHRvCgkgIHBsYXlpbmcuCgoyMDEyLTA2LTEyIDEyOjQyOjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogQWRkIHN1cHBvcnQgZm9yIFNQRElGIG91dHB1dAoJICBBIGJpZyByZWZhY3RvcmluZyB0byBhbGxvdyBwYXNzdGhyb3VnaCBBQzMvRFRTIG92ZXIgU1BESUYuCgkgIFNldmVyYWwgcmFuZG9tIGNsZWFudXBzIGFuZCBtaW5vciBmaXhlcy4KCjIwMTEtMDktMDEgMTU6NDE6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogc2VuZCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBhIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc5NDEKCjIwMTItMDYtMTIgMTY6MDU6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUmV3b3JrIHRoZSBhc3luYyBzdGF0ZSBoYW5kbGluZwoJICBBbHdheXMgc2VuZCB0aGUgZmx1c2hpbmcgZXZlbnRzIHRvIHRoZSB1ZHAgZWxlbWVudHMgbm93IHRoYXQgYmFzZXNyYyBzdXBwb3J0cwoJICB0aGlzLiBUaGlzIG1ha2VzIHN1cmUgYSBzZWdtZW50IGV2ZW50IGlzIHNlbnQgY29ycmVjdGx5IGFmdGVyIGEgZmx1c2guCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgY29tbWFuZCBhbmQgbWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5CgkgIHdoYXQgY29tbWFuZCB5b3Ugd2FudCB0byBjYW5jZWwgd2hlbiBzdGFydGluZyBhIG5ldyBhc3luYyBjb21tYW5kLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzkwNQoKMjAxMi0wNi0xMSAxODoyNDoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBjaGlsZHByb3h5OiB1cGRhdGUgYXBpIHVzZQoKMjAxMi0wNi0xMSAxMjo1NDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWx3YXlzIHBlcmZvcm0gZnVsbCBzZWVrIGlmIHNlZWsgaXMgZmx1c2hpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzgzOAoKMjAxMi0wNi0xMSAxMToyMDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHByaW50ZiBmb3JtYXQgZml4IGZvciBsb25nIC0+IGludCBjaGFuZ2UKCjIwMTItMDYtMDggMjA6Mzg6MzQgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHByb2JlIFVWQyBkZXZpY2VzIGZvciBiZWluZyBpbnRlcmxhY2VkCgkgIFVWQyBkZXZpY2VzIGFyZSBuZXZlciBpbnRlcmxhY2VkLCBhbmQgZG9pbmcgVklESU9DX1RSWV9GTVQgb24gdGhlbQoJICBjYXVzZXMgZXhwZW5zaXZlIGFuZCBzbG93IFVTQiBJTywgc28gZG9uJ3QgcHJvYmUgdGhlbSBmb3IgaW50ZXJsYWNlZC4KCSAgVGhpcyBzaGF2ZXMgMiBzZWNvbmRzIG9mIHRoZSBzdGFydHVwIHRpbWUgb2YgY2hlZXNlIHdpdGggYSBMb2dpdGVjaAoJICBXZWJjYW0gUHJvIDkwMDAuCgkgIFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc3MjIKCjIwMTItMDYtMDkgMTY6NTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBkZWJ1ZzogY2hhbmdlIHJuZGJ1ZmZlcnNpemUgcHJvcGVydGllcyBmcm9tIGxvbmcgdG8gaW50CgkgIFRoZXNlIHNob3VsZCBhbGwgYmUgaW50IGluc3RlYWQgb2YgbG9uZywgdG8gYXZvaWQgYnVncwoJICB3aGVuIHBhc3NpbmcgdGhlc2UgYXMgdmFyYXJncyB3aXRoIGdfb2JqZWN0X3NldCgpLCBhbmQKCSAgdGhlcmUgd2FzIG5vIHJlYXNvbiB0byB1c2UgbG9uZyBpbiB0aGUgZmlyc3QgcGxhY2UgaGVyZS4KCSAgRml4ZXMgRklYTUUuCgoyMDEyLTA2LTA4IDE1OjU0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBlbGVtZW50czogVXNlIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIG1hbnVhbCBldmVudCBmaWRkbGluZwoKMjAxMi0wNi0wOCAxNTowNDo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAzYTBlNTcgdG8gOThlMzg2ZgoKMjAxMi0wNi0wOCAxMDoxMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdXBkYXRlIGZvciBhdWRpbyBhcGkgY2hhbmdlCgoyMDEyLTA2LTA3IDE2OjEyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MiA9PT0KCjIwMTItMDYtMDcgMTY6MTI6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkyCgoyMDEyLTA2LTA3IDE2OjExOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA2LTA3IDE1OjAzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBpbXByb3ZlIGNsb2NrIGhhbmRsaW5nCgkgIFBvc3QgdGhlIG5vdGlmeSBvdXRzaWRlIG9mIHRoZSBwYV9sb2NrIHRvIGF2b2lkIGEgZGVhZGxvY2sgY2F1c2VkIGJ5IGJhc2VzcmMKCSAgY2FsbGluZyBnZXRfdGltZSB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgUmVzZXQgdGhlIGNsb2NrIG9uIGNvbm5lY3QuCgkgIFBvc3QgY2xvY2stbG9zdCBhbmQgY2xvY2stcHJvdmlkZSBtZXNzYWdlcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzk3NwoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgoyMDEyLTA0LTEyIDEzOjIxOjE3ICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBCZXR0ZXIgR3N0Q2xvY2sgZm9yIHB1bHNlc3JjCgkgIFRoaXMgY2xvY2sgdXNlcyB0aGUgYWN0dWFsIHN0cmVhbSB0aW1lIChwYV9zdHJlYW1fZ2V0X3RpbWUpIHRvIGdldCBhIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wLgoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgoyMDEyLTA2LTA3IDExOjE2OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogZml4IHZpZGVvIHN0YXRlIGxlYWtzCgoyMDEyLTA2LTA3IDExOjE2OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHZpZGVvIHN0YXRlIGxlYWsKCjIwMTItMDYtMDcgMTI6MTE6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgcmVzZXQgdGhlIG1hbmFnZXIgb2JqZWN0IHdoZW4gd2UgZGlkIGEgc2VlawoJICBPbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIHVzZWQgYSBSYW5nZSBoZWFkZXIsIGllLiB3aGVuIHdlIGRpZCBhCgkgIHNlZWsuIE90aGVyd2lzZSB3ZSBqdXN0IHBhdXNlZCBhbmQgd2UgY2FuIHJlc3VtZSBqdXN0IGZpbmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc0NzUKCjIwMTItMDYtMDYgMTY6MTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBydHBzZXNzaW9uIGNsZWFudXAKCjIwMTItMDYtMDYgMTg6MTg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZmFiMzU5IHRvIDAzYTBlNTcKCjIwMTItMDYtMDYgMTQ6MTc6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVwZGF0ZSBmb3IgVE9DIGV2ZW50IEFQSSBjaGFuZ2UKCjIwMTItMDYtMDYgMTM6MDI6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAwOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBmaXggWTgwMCBmb3JtYXQKCjIwMTItMDYtMDEgMDE6MTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IHN0cmFpZ2h0Zm9yd2FyZCBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMzEgMTg6Mzk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBTb21lIHByaW50ZiB2YXJpYWJsZSBmb3JtYXQgZml4ZXMKCSAgVGhlIG9zeCBjb21waWxlciBjb21wbGFpbnMgYWJvdXQgdGhvc2UKCjIwMTItMDYtMDUgMDk6MTg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogRml4IEdzdEJhc2VQYXJzZTo6Z2V0X3NpbmtfY2FwcygpIGltcGxlbWVudGF0aW9ucwoJICBUaGV5IHNob3VsZCB0YWtlIHRoZSBmaWx0ZXIgY2FwcyBpbnRvIGFjY291bnQgYW5kIGFsd2F5cyByZXR1cm4KCSAgdGhlIHRlbXBsYXRlIGNhcHMgYXBwZW5kZWQgdG8gdGhlIGFjdHVhbCBjYXBzLiBPdGhlcndpc2UgdGhlCgkgIHBhcnNlcnMgc3RvcCB0byBhY2NlcHQgdW5wYXJzZWQgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBkb2VzIG5vdAoJICBrbm93IGFib3V0IGNoYW5uZWxzLCByYXRlLCBldGMuCgkgIEZpeGVzIGJ1ZyAjNjc3NDAxLgoKMjAxMi0wNi0wNCAxNjoxNzo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogc2V0IGNvbG9yaW1ldHJ5IG9uIG91dHB1dCBpbmZvCgoyMDEyLTA2LTA0IDA4OjEwOjE1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3Npbms6IEhhbmRsZSBlbmRpYW5uZXNzIGNvcnJlY3RseQoKMjAxMi0wNi0wMSAxNjozNzowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBpbnQgYXVkaW8KCjIwMTItMDYtMDEgMTA6Mjg6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMWI1YTk2IHRvIDFmYWIzNTkKCjIwMTItMDUtMzEgMTM6MzY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwYWxldHRlIHNpemUgY29ycmVjdGx5CgoyMDEyLTA1LTMxIDEwOjE1OjQzICswMjAwICBNaWNoYWVsIEpvbmVzIDxtaWNoYWVsLmpvbmVzQG1hdHJpeC12aXNpb24uZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgdjRsMjogYWRkIG1pc3NpbmcgR19FTkRfREVDTFMKCSAgR19CRUdJTl9ERUNMUyBkaWRuJ3QgaGF2ZSBtYXRjaGluZyBHX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MTY1CgoyMDEyLTA1LTMxIDEzOjA4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTJiNzI2NiB0byBmMWI1YTk2CgoyMDEyLTA1LTMxIDEwOjI2OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogUmVhbGx5IGZpeCB0aGUgYnVpbGQgb24gMTAuNQoJICBUaGUgQVBJIHRoYXQgd2UgdXNlIHRvIHJ1biB0aGUgQ29jb2EgbG9vcCBpbiBhbm90aGVyCgkgIHRocmVhZCBkb2VzIG5vdCBleGlzdCBpbiAxMC41IG9yIGVhcmxpZXIuCgoyMDEyLTA1LTI2IDEyOjIxOjE4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHJhY2UgaW4gc3RhcnRpbmcgdGhlIHJ1bmxvb3AgdGhyZWFkCgkgIEJsb2NrIGdzdF9vc3hfdmlkZW9fc2lua19ydW5fY29jb2FfbG9vcCB1bnRpbCB0aGUgbG9vcCB0aHJlYWQgaGFzIHN0YXJ0ZWQgYW5kCgkgIGZpbmlzaGVkIGluaXRpYWxpemluZyBOU0FwcC4gRml4ZXMgb2NjYXNpb25hbCB3YXJuaW5ncy9jcmFzaGVzIGR1ZSB0byB0d28KCSAgdGhyZWFkcyBnb2luZyBpbnNpZGUgTlNBcHAgYmVmb3JlIGZpbmlzaExhdW5jaGluZyBoYWQgY29tcGxldGVkLgoKMjAxMi0wNS0zMCAxNjowMzo1NSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IEZpeCBsYXN0IGNvbW1pdCB0byBhY3R1YWxseSB3b3JrCgkgIE1BQ19PU19YX1ZFUlNJT05fMTBfNiBpcyBvYnZpb3VzbHkgbm90IGRlZmluZWQgb24gMTAuNS4KCjIwMTItMDUtMzAgMTM6NTE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlb3Npbms6IFB1dCB0aGUgcmlnaHQgZmxhZ3MgaW4gdGhlIHJpZ2h0IHZhcmlhYmxlCgoyMDEyLTA1LTMwIDEzOjI0OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggR1NUX09CSkNGTEFHUwoKMjAxMi0wNS0zMCAxMjo0NToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjMWM0YTggdG8gOTJiNzI2NgoKMjAxMi0wNS0zMCAxMjo0MzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogTlNXaW5kb3dEZWxlZ2F0ZSBpcyBhdmFpbGFibGUgaW4gYWxsIE9TWCB2ZXJzaW9ucyBuZXdlciB0aGFuIDEwLjYKCjIwMTItMDUtMzAgMTI6NDA6NTcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQgd2l0aCBvbGRlciBPU1ggdmVyc2lvbnMKCjIwMTItMDUtMzAgMTE6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogQWRkIE9CSkMgc3BlY2lmaWMgY29tcGlsZXIgZmxhZ3MKCSAgU2VlIGJ1ZyAjNjQzOTM5LgoKMjAxMi0wNS0zMCAxMToyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM0MjliYTYgdG8gZWMxYzRhOAoKMjAxMi0wNS0yOSAxNzo1MDoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvOiByZW1vdmUgZHVwbGljYXRlIGZvcm1hdAoKMjAxMi0wNS0yOSAxNjo1MjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBQb3N0IGVycm9yIG1lc3NhZ2UgaWYgRU9TIGJlZm9yZSBwYWRzIHdlcmUgY3JlYXRlZAoJICBIYXBwZW5zIHdpdGggc29tZSBmaWxlcyB3aXRoIG9ubHkgaGVhZGVycwoKMjAxMi0wNS0yOCAxNToyMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xNCAxMjo0Njo1NyArMDIwMCAgSmVucyBHZW9yZyA8bWFpbEBqZW5zZ2Uub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogRHJvcCB0cmFuc2Zlck1vZGUuZGxuYS5vcmcgaGVhZGVyCgkgIExlYXZlIGl0IHRvIHRoZSBhcHBsaWNhdGlvbiB0byBkZWNpZGUgb24gdGhlIGhlYWRlci4gTm8gaGVhZGVyIGF0IGFsbAoJICBpcyBiZXR0ZXIgdGhhbiBoYXZpbmcgdGhlIHdyb25nIGhlYWRlciBhcyBETE5BIG1hbmRhdGVzIHRoYXQgYSBtaXNzaW5nCgkgIGhlYWRlciBoYXMgdG8gYmUgdG9sZXJhdGVkIHdoaWxlIGEgd3JvbmcgaGVhZGVyIGlzIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MDIwCgoyMDEyLTA0LTA3IDA5OjUyOjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZzogUG9ydCB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmgKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5oCgkgIFJldmVydGVkIHRvIDAuMTAsIG5lZWRzIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMjcgMDA6MDI6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIGZsdiwgbWF0cm9za2E6IGRvbid0IHVzZSBHc3RTdHJ1Y3R1cmUgQVBJIG9uIHRhZyBsaXN0cwoKMjAxMi0wNS0yNiAxMTo1NzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICBydHBtcDJ0ZGVwYXk6IE9ubHkgb3V0cHV0IGludGVncmFsIG1wZWctdHMgcGFja2V0cwoJICBGcm9tIFJGQyAyMjUwCgkgIDIuIEVuY2Fwc3VsYXRpb24gb2YgTVBFRyBTeXN0ZW0gYW5kIFRyYW5zcG9ydCBTdHJlYW1zCgkgIC4uLgoJICBGb3IgTVBFRzIgVHJhbnNwb3J0IFN0cmVhbXMgdGhlIFJUUCBwYXlsb2FkIHdpbGwgY29udGFpbiBhbiBpbnRlZ3JhbAoJICBudW1iZXIgb2YgTVBFRyB0cmFuc3BvcnQgcGFja2V0cy4gIFRvIGF2b2lkIGVuZCBzeXN0ZW0KCSAgaW5lZmZpY2llbmNpZXMsIGRhdGEgZnJvbSBtdWx0aXBsZSBzbWFsbCBNVFMgcGFja2V0cyAobm9ybWFsbHkgZml4ZWQKCSAgaW4gc2l6ZSBhdCAxODggYnl0ZXMpIGFyZSBhZ2dyZWdhdGVkIGludG8gYSBzaW5nbGUgUlRQIHBhY2tldC4gIFRoZQoJICBudW1iZXIgb2YgdHJhbnNwb3J0IHBhY2tldHMgY29udGFpbmVkIGlzIGNvbXB1dGVkIGJ5IGRpdmlkaW5nIFJUUAoJICBwYXlsb2FkIGxlbmd0aCBieSB0aGUgbGVuZ3RoIG9mIGFuIE1UUyBwYWNrZXQgKDE4OCkuCgkgIC4uLi4KCSAgU2luY2UgaXQgbmVlZHMgdG8gY29udGFpbiAiYW4gaW50ZWdyYWwgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMiLCBhCgkgIHNpbXBsZSBmaXggaXMgdG8gY2hlY2sgdGhhdCdzIHRoZSBjYXNlLCBhbmQgc3RyaXAgb2ZmIGFueSBsZWZ0b3ZlciBkYXRhLgoJICBGaXhlcyAjNjc2Nzk5CgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYwoKMjAxMi0wNS0yNCAyMDo0MzoxNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogbWFrZSBzdXJlIGFsbCBzZWxlY3RvcnMgYXJlIHBlcmZvcm1lZCBvbiB0aGUgc2FtZSB0aHJlYWQKCSAgV2hlbiB3ZSBhcmUgdXNpbmcgYSBkZWRpY2F0ZWQgdGhyZWFkIHRvIHJ1biB0aGUgbWFpbiBydW4gbG9vcCB3ZQoJICBtdXN0IG1ha2Ugc3VyZSB0aGF0IGFsbCBzZWxlY3RvcnMgYXJlIHBlcmZvcm1lZCBvbiB0aGlzIHNhbWUgdGhyZWFkLgoJICBGb3IgaW5zdGFuY2UgaWYgcGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkIGlzIGNhbGxlZCBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkLCBpdCB3aWxsIG5vdCBnbyB0aHJvdWdoIHRoZSBtZXNzYWdlIHF1ZXVlIGFuZCB3aWxsIGJlCgkgIGV4ZWN1dGVkIGZyb20gdGhlIHJlYWwgbWFpbiB0aHJlYWQuIEJ5IGZvcmNpbmcgdGhlIHRhcmdldCB0aHJlYWQsCgkgIHdlIGVuc3VyZSB0aGF0IGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQgZWl0aGVyIGZyb20gdGhlIHJlYWwKCSAgbWFpbiB0aHJlYWQgd2hlbiB0aGUgbWFpbiBydW4gbG9vcCBpcyBydW5uaW5nIG9yIGZyb20gb3VyIHRocmVhZAoJICBzcGlubmluZyB0aGUgbWFpbiBsb29wLgoKMjAxMi0wNS0yNCAxNjowOTo1NCArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm4gYXQgZ214LmRlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZW1vdmUgZnJhbWVyYXRlCgkgIFRoZSBqcGVnIGRlY29kZXIgZG9lc24ndCBuZWVkL2NhcmUgYWJvdXQgdGhlIGZyYW1lcmF0ZSB0byBzbyBpdCBzaG91bGQKCSAgbm90IGJlIGluIHRoZSBjYXBzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MzAyCgoyMDEyLTA1LTI0IDEzOjA4OjM1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IHRoZSBsb29wIGJlZm9yZSBjYWxsaW5nIFtnc3R2aWV3IGhhdmVTdXBlcnZpZXddCgkgIC4uLmFzIGhhdmVTdXBlcnZpZXcgcmVxdWlyZXMgdGhlIG1haW5sb29wIHRvIGJlIHJ1bm5pbmcKCjIwMTItMDUtMjQgMTM6MDg6MTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IGluZGVudGF0aW9uCgoyMDEyLTA1LTIyIDE2OjQ3OjM2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlb3Npbms6IGVuYWJsZSBydW5uaW5nIHRoZSBjb2NvYSBtYWluIHJ1bmxvb3AgaW4gYSB0aHJlYWQKCjIwMTItMDUtMjIgMTY6NDU6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhZGQgY29kZSB0byBvcHRpb25hbGx5IHJ1biB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgc2VwYXJhdGUgdGhyZWFkCgkgIEFkZCBhIGxpdHRsZSBoYWNrIHRvIHJ1biB0aGUgY29jb2EgbWFpbiBydW5sb29wIGZyb20gYSBzZXBhcmF0ZSB0aHJlYWQgX3doZW5fCgkgIHRoZSBtYWluIHJ1bmxvb3AgaXMgbm90IGJlaW5nIHJ1biAod2hpY2ggbWVhbnMgdGhhdCB0aGUgYXBwIGRvZXNuJ3QgdXNlIGNvY29hKS4KCSAgUnVubG9vcHMgYXJlIHRocmVhZCBzcGVjaWZpYywgc28gdGhlIGhhY2sgYm9pbHMgZG93biB0byBnZXR0aW5nIHRoZSBydW5sb29wIGZvcgoJICB0aGUgbWFpbiB0aHJlYWQgYW5kIHNldHRpbmcgaXQgYXMgdGhlIHJ1bmxvb3AgZm9yIG91ciBkZWRpY2F0ZWQgdGhyZWFkLgoKMjAxMi0wNS0yMiAxNjozMjo1MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCBhcHBfc3RhcnRlZCB0byBGQUxTRSB3aGVuIHNodXR0aW5nIGRvd24KCjIwMTItMDUtMjIgMTQ6NDk6MTcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVuYW1lIGNvY29hIHJ1bmxvb3AgaGVscGVyIGZ1bmNzCgoyMDEyLTA1LTIyIDE0OjI2OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRvbid0IGNyZWF0ZSBhcHBsaWNhdGlvbiBtZW51cwoKMjAxMi0wNS0xNiAyMTo1Mjo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlc2V0IHRoZSBlbWJlZCBwcm9wZXJ0eSBmb3IgYmFja3dhcmQgY29tcGF0aWxpYml0eQoKMjAxMi0wNS0xNiAyMToxMjoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBuYXZpZ2F0aW9uIHdoZW4gZm9yY2UtYXNwZWN0LXJhdGlvIGlzIGFjdGl2YXRlZAoKMjAxMi0wNS0xNiAxODo1Mjo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eQoKMjAxMi0wNS0xNCAxODowMTowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogc3RhcnQgaW50ZXJuYWwgd2luZG93IGlmIG5vIHZpZXcgaXMgcHJvdmlkZWQKCjIwMTItMDUtMTQgMTQ6Mjc6NTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBpbXBsZW1lbnQgdGhlIG5hdmlnYXRpb24gaW50ZXJmYWNlCgoyMDEyLTA1LTExIDE4OjI0OjA4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zdmlkZW9zaW5rOiBjcmVhdGUsIGRlc3Ryb3ksIHJlc2l6ZSBhbmQgZHJhdyBmcm9tIHRoZSBtYWluIHRocmVhZAoKMjAxMi0wNC0xOSAwODozNzoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW5jcmVhc2UgTkVXU0VHTUVOVCBhY2N1cmFjeSBhZnRlciBzZWVraW5nCgkgIGRlbXV4LT5jb21tb24uc2VnbWVudCBpcyBwb3B1bGF0ZWQgZHVyaW5nIHNlZWsgaGFuZGxpbmcgd2l0aCB0aGUgdGFyZ2V0CgkgIHN0YXJ0L3N0b3AgcG9zaXRpb25zLiBEb24ndCBvdmVycmlkZSB0aGVtIHdoZW4gc2VuZGluZyBvdXQgYSBORVdTRUdNRU5ULgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA0LTE5IDA4OjMxOjAwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBkaXNjYXJkIHRoZSBpbmNvbWluZyBzZWVrIHNlZ21lbnQgb24gcHVzaCBiYXNlZCBzZWVraW5nCgkgIFRoZSBpbmNvbWluZyBzZWVrIHNlZ21lbnQgd2FzIGJlaW5nIGRpc2NhcmRlZCBsZWFkaW5nIHRvIHB1c2ggYmFzZWQgc2Vla2luZwoJICBiZWluZyBwb3RlbnRpYWxseSBpbmFjY3VyYXRlLgoKMjAxMi0wNS0yMyAxODoxMjoyNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb21tb246CgkgIGNvbW1vbjogVXBkYXRlIHNvIHRoZSBwbHVnaW4gc2Nhbm5lciBjaGFuZ2VzIGFyZSBpbmNsdWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2Njc0CgoyMDEyLTA1LTIzIDE4OjA3OjM1ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdXBwcmVzcyBzb21lIHdhcm5pbmdzIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCSAgV2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyBzaG91bGQgYmUgc3VwcHJlc3NlZCBpZiBjb3JlIGhhcyB0aGUKCSAgZGVidWcgc3lzdGVtIGRpc2FibGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjcxCgoyMDEyLTA1LTI0IDA5OjI5OjI1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cDogZml4IGJ1aWxkIGlzc3VlIGluIGdzdHJ0cGgyNjRwYXkuYwoKMjAxMi0wNS0yMSAxMjoxNzozNSArMDIwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogQWRkIHVucmVzdHJpY3RlZCBjYXBzCgkgIElmIHRoZXJlIGFyZSBubyBwcm9maWxlIHJlc3RyaWN0aW9ucyBkb3duc3RyZWFtLCByZXR1cm4gY2FwcyB3aXRoCgkgIHByb2ZpbGU9Y29uc3RyYWluZWQtYmFzZWxpbmUgaW4gdGhlIGZpcnN0IHN0cnVjdHVyZSBhbmQgYXBwZW5kCgkgIHVucmVzdHJpY3RlZCBjYXBzIGFzIHRoZSBsYXN0IHN0cnVjdHVyZS4KCSAgRml4ZXMgYnVnICM2NzIwMTkKCjIwMTItMDUtMjQgMDk6NTc6MzEgKzAyMDAgIE1hcmlhIEdpb3Zhbm5hIENoaW9zc2EgPG1hcmlhZ2lvdmFubmEuY2hpb3NzYSBhdCBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogYWRkIHRoZSBTY2FsZSBoZWFkZXIgd2hlbiBuZWVkZWQKCSAgU2V0dGluZyBHU1RfU0VFS19GTEFHX1NLSVAgd2hlbiBzZW5kaW5nIGEgc2VlayBldmVudCBpbiBydHNwc3JjIHNob3VsZAoJICBzZXQgdGhlICJTY2FsZSIgZmllbGQgaW4gdGhlIHJ0c3AgUExBWSBoZWFkZXIuCgkgIEJlY2F1c2UgdGhlIGJvb2xlYW4gInNyYy0+c2tpcCIgaXMgc2V0IGFmdGVyIHRoZSBjYWxsLCAiU3BlZWQiIGluc3RlYWQKCSAgb2YgIlNjYWxlIiBpcyBhbHdheXMgc2V0LiBNb3ZlIHRoZSBhc3NpZ25tZW50IGJlZm9yZSBpc3N1aW5nIHRoZSBfcGxheQoJICByZXF1ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjE4CgoyMDEyLTA1LTE3IDE2OjIzOjU5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCB0aGUgc2FtcGxlIHBpcGVsaW5lLgoKMjAxMi0wNS0yMiAxMjozNTowNCArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogd2FybmluZyBpZiBzZXR0aW5nIHNyY3BhZCBjYXBzIGZhaWxzCgoyMDEyLTA1LTIyIDEyOjM1OjI5ICswNDAwICBBbnRvbiBOb3Zpa292IDxyYW5kb20ucGxhbnRAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBhY3RpdmF0ZSBzcmNwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBCZWZvcmUgZ3N0X3BhZF9zZXRfYWN0aXZlKCkgaXMgY2FsbGVkLCB0aGUgcGFkIGhhcwoJICBGTFVTSElORyBmbGFnIHNldCwgc28gc2V0dGluZyB0aGUgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMzo0NjoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgbW5nOiByZW1vdmUgZXh0L2xpYm1uZwoJICBQb3J0IHRvIDAuMTAgd2FzIG5ldmVyIGZpbmlzaGVkLgoJICBJbnRlcmVzdCB3YXMgbG9zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMyNDM2NAoKMjAxMi0wNS0xOCAxNjozNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXNzZXJ0aW9uIHdoZW4gaGFuZGxpbmcgYSBkYXRlIHRhZyBhcyBhIHN0cmluZwoJICBEYXRlIHRhZ3MgYXJlIEdEYXRlLCBub3Qgc3RyaW5ncy4gQWRkIGEgc3BlY2lhbCBjYXNlIHRvIGNvbnZlcnQKCSAgaXQgdG8gdGhlIGV4aWYgZGF0ZSBmb3JtYXQgcmVwcmVzZW50YXRpb24gaW4gc3RyaW5nIHRvIGF2b2lkCgkgIHRoZSBhc3NlcnRpb24KCjIwMTItMDUtMjEgMTE6NDc6MDcgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogTGlzdGVuIHRvIHNvdXJjZSBvdXRwdXQgZXZlbnRzLCBub3Qgc2luayBpbnB1dAoKMjAxMi0wNS0xOCAxMjo1Mzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgcnRwbXAydHBheTogcmVzcGVjdCBtdHUgYW5kIHBhY2tldCBib3VuZGFyaWVzCgkgIFNlZSAjNjU5OTE1LgoKMjAxMi0wNS0xOCAxMToxMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IFJlbW92ZSBkZWFkIGNvZGUKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCjIwMTItMDUtMTggMTE6MDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBGaXggY29tcGlsYXRpb24KCjIwMTItMDUtMTggMTE6MDI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBXaGVuIGRyb3BwaW5nIGZyYW1lcyBvbiBFT1MsIGZsdXNoIG91dCBkYXRhCgkgIENsZWFuZXIgd2F5IG9mIGhhbmRsaW5nIHN0cmF5IGRhdGEKCjIwMTItMDUtMTcgMDk6MzQ6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCjIwMTItMDUtMTcgMDk6MzM6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBPbmx5IHBhcnNlIGZvciBTT0kgd2hlbiB3ZSBkaWRuJ3Qgc2VlIGl0IGJlZm9yZQoKMjAxMi0wNS0xNyAwOTozMTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbWVtYmVyIGlmIHdlIHNhdyBTT0kgYW5kIGhhbmRsZSBzdHJheSBkYXRhIG9uIEVPUwoKMjAxMi0wNS0xNSAyMDo1ODoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBBbGxvdyBVIGFuZCBWIGNvbXBvbmVudHMgdG8gdXNlIGRpZmZlcmVudCBxdWFudCB0YWJsZXMgaWYgdGhleSBjb250YWluIHRoZSBzYW1lIGRhdGEKCSAgVGhpcyBhbGxvd3Mgc29tZSBjYW1lcmFzIChMb2dpdGVjaCBDOTIwKSB0aGF0IHNwZWNpZnkgZGlmZmVyZW50IHF1YW50CgkgIHRhYmxlcyBidXQgYm90aCB3aXRoIHRoZSBzYW1lIGRhdGEsIHRvIHdvcmsuCgkgIEJ1ZyByZXBvcnRlZCBieSBSb2JlcnQgS3Jha29yYQoKMjAxMi0wNS0xNCAxNTo1MToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IHBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbiBhZnRlciBzZWVraW5nCgkgIENvbnNpZGVyIGEgZG93bnN0cmVhbSBlbGVtZW50IHRoYXQgbWF5IGlzc3VlIHNlZWtzIGluIHZlcnkgc2hvcnQKCSAgc3VjY2Vzc2lvbiAoZS5nLiBxdWV1ZTIpLCBkZXBlbmRpbmcgb24gdGhlIGFjY2VzcyBwYXR0ZXJuIG9mCgkgIHRoZSBkb3duc3RyZWFtIGVsZW1lbnQgKGUuZy4gcXRkZW11eCB3aXRoIGF1ZGlvL3ZpZGVvIGNodW5rcwoJICBpbnRlcmxlYXZlZCBzbyB0aGF0IHRoZXJlJ3MgYWx3YXlzIGEgc2l6ZWFibGUgZ2FwIGJldHdlZW4gdGhlCgkgIGN1cnJlbnQgY2h1bmtzIGZvciBlYWNoIHN0cmVhbSkuIEluIHRoaXMgY2FzZSwgcXVldWUyIHdpbGwgbWFpbnRhaW4KCSAgdHdvIHJhbmdlcywgYW5kIGV2ZW4gd2hlbiBpdCBzZXJ2ZXMgYSBjaHVuayBmcm9tIG1lbW9yeSwgaXQgd2lsbAoJICBzd2l0Y2ggcmFuZ2VzIGFuZCBtYWtlIHNvdXBodHRwc3JjIHNlZWsgdG8gdGhlIGVuZCBvZiB0aGUgYXZhaWxhYmxlCgkgIGRhdGEgZm9yIHRoYXQgcmFuZ2UsIGFzc3VtaW5nIHRoYXQgdGhhdCdzIHdoZXJlIHdlJ2xsIHdhbnQgdG8KCSAgY29udGludWUgcmVhZGluZyBmcm9tIG5leHQuCgkgIFRoaXMgbWF5IGxlYWQgdG8gdGhlIGZvbGxvd2luZyBzZWVrIHJlcXVlc3QgcGF0dGVybjoKCSAgLSBzb3VyY2UgcmVhZGluZyBwb3NpdGlvbiBBCgkgIC0gc2VlayB0byBCCgkgIC0gbm93IHJlYWRpbmcgcG9zaXRpb24gc3RpbGwgQSwgcmVxdWVzdGVkX3Bvc3Rpb24gaXMgQgoJICAtIHN0cmVhbWluZyB0aHJlYWQgdG8gYmUgcmVzdGFydGVkIHRvIGNvbnRpbnVlIGZyb20gQgoJICAtIHNlZWsgdG8gQSwgYmVmb3JlIHN0cmVhbWluZyB0aHJlYWQgaGFkIHRpbWUgdG8gZG8gdGhlIHNlZWsKCSAgLSBkb19zZWVrKCkgbm93IHNlZXMgcmVhZGluZyBwb3NpdGlvbiA9PSBzZWVrIHBvc2l0aW9uIGFuZAoJICByZXR1cm5zIGVhcmx5LgoJICAtIGhvd2V2ZXIsIHJlcXVlc3RlZCBwb3NpdGlvbiBpcyBzdGlsbCBCIGZyb20gdGhlIGVhcmxpZXIKCSAgc2VlayByZXF1ZXN0CgkgIC0gc3RyZWFtaW5nIHRocmVhZCBzdGFydHMgdXAsIHNlZXMgdGhhdCBhIHNlZWsgdG8gQiBpcyBwZW5kaW5nCgkgIGFuZCByZXF1ZXN0cyBkYXRhIGZyb20gQiBmcm9tIHRoZSBzZXJ2ZXIsIHdoaWxlIHRoZSBHc3RCYXNlU3JjCgkgIHNlZ21lbnQgaGFzIG9mIGNvdXJzZSBiZWVuIHVwZGF0ZWQvcmVzZXQgdG8gcG9zaXRpb24gQSwgd2hpY2gKCSAgd2FzIHRoZSBsYXN0IHNlZWsgcmVxdWVzdC4KCSAgLSB3ZSB3aWxsIG5vdyBzZW5kIGRhdGEgZm9yIHBvc2l0aW9uIEIgYW5kIHByZXRlbmQgdGhhdCdzIHRoZQoJICBkYXRhIGZyb20gcG9zaXRpb24gQSAodmlhIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBldGMuKQoJICAtIHRoaXMgY2F1c2VzIGRhdGEgY29ycnVwdGlvbgoJICBSZXByb2R1Y2libGUgZG9pbmcgc2Vlay1lbXVsYXRlZCBmYXN0LWZvcndhcmQvYmFja3dhcmQgb24gMDA2NjQ4LgoKMjAxMi0wNS0xNiAwOToxMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBjb3JlL2Jhc2UgMC4xMS45MQoKMjAxMi0wMS0xMyAxODowOTo1MCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGFkZCB2aXN1YWwgc3R1ZGlvIElERSBmaWxlcyBhbmQgT1MgWCAuRFNfU3RvcmUgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg5OQoKMjAxMi0wNS0wMyAwOTozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNC0wNiAxMjoxMzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IFBvcnQganBlZ2RlYy9qcGVnZW5jIHRvIGJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYwoJICBleHQvanBlZy9nc3RqcGVnZGVjLmgKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwIHZlcnNpb25zIGZvciBub3csIG5leHQgcG9ydCBhZ2Fpbi4KCjIwMTItMDUtMTMgMTk6MjE6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBhbm5vZGV4OiByZW1vdmUgYW5ub2RleCBwbHVnaW4gYW5kIENNTUwgZWxlbWVudHMKCSAgVGhpcyBuZXZlciByZWFsbHkgdG9vayBvZmYgYW5kIGlzIG1vc3QgbGlrZWx5IGNvbXBsZXRlbHkKCSAgdW51c2VkLiBJZiB0aGVyZSBpcyBzdGlsbCBhIG5lZWQgZm9yIHRoaXMsIGl0IHNob3VsZAoJICBwcm9iYWJseSBiZSBkb25lIGRpZmZlcmVudGx5LCBwZXJoYXBzIGluc2lkZSBvZ2dkZW11eC9tdXguCgoyMDEyLTA1LTEzIDE2OjU5OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MSA9PT0KCjIwMTItMDUtMTMgMTY6MzE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MQoKMjAxMi0wNS0xMyAxNjozMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNS0xMyAxNTo1NjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0wOSAxNToxNDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IG9ubHkgc2VuZCBmbHVzaC1zdG9wIGlmIGl0IHdhcyBhIGZsdXNoaW5nIHNlZWsKCjIwMTItMDUtMDkgMTI6NTQ6MTEgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZml4IHY0bDJfc3RkX2lkIGxvZ2dpbmcKCSAgaW5wdXQuc3RkIGlzIG9mIHR5cGUgdjRsMl9zdGRfaWQgd2hpY2ggaXMgZGVmaW5lZCBhcyA2NC1iaXQgdW5zaWduZWQgaW50ZWdlci4KCSAgQ2FzdGluZyB0byB1aW50IG1lYW5zIHRoZSBoaWdoZXIgYml0cywgd2ljaCBhcmUgdXNlZCBmb3IgdGhlIHByaXZhdGUgdmlkZW8KCSAgc3RhbmRhcmRzIG9mIHRoZSBUSSB2aWRlbyBjYXB0dXJlL2Rpc3BsYXkgZHJpdmVyIGZvciBleGFtcGxlLCBhcmUgbG9zdC4KCjIwMTItMDUtMDkgMTI6MjQ6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBtdXN0IHNlbmQgZmx1c2gtc3RvcCBhZnRlciBhY3F1aXJpbmcgdGhlIHN0cmVhbSBsb2NrCgkgIE90aGVyd2lzZSB0aGUgc3RyZWFtaW5nIHRocmVhZCBtaWdodCBqdXN0IGtlZXAgb24gZ29pbmcgYW5kIHdlCgkgIG1pZ2h0IG5ldmVyIGdldCB0aGUgc3RyZWFtIGxvY2suCgoyMDEyLTA1LTA5IDExOjE1OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogcG9ydCBzZWVraW5nIGNvZGUgdG8gMC4xMQoKMjAxMi0wNS0wOCAxOTowNzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBzdXBwb3J0IGZvciBzZWVrcwoJICBVc2VmdWwgZm9yIGUuZy4gZmlsZXNyYyAhIHJuZGJ1ZmZlcnNpemUgISBxdWV1ZTIgISAuLi4KCjIwMTItMDUtMDggMTg6NDU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBzZW5kIFNFR01FTlQgZXZlbnQgYmVmb3JlIHB1c2hpbmcgYnVmZmVycwoJICBDb25mbGljdHM6CgkgIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYwoKMjAxMi0wNS0wOSAxMToxNTo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IGNvbXBpbGF0aW9uIGFnYWluCgoyMDEyLTAxLTEzIDEwOjQ5OjQzICswMTAwICBQYXNjYWwgQnVobGVyIDxwYWJ1aGxlckBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNyZWF0aW9uIHNob3VsZCBiZSBzaWduYWxlZCBiZWZvcmUgdmFsaWRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODUwCgoyMDEyLTA1LTA0IDE1OjIwOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGRvIG5vdCBwcm94eSBvdXIgZmlsdGVyIGNhcHMgZG93bnN0cmVhbSBvbiBjYXBzIHF1ZXJpZXMKCSAgRG93bnN0cmVhbSBsaWtlbHkgd29uJ3QgYWNjZXB0IHZpZGVvL3gtcmF3IGFuZCB0aGUgY2FwcyBxdWVyeQoJICB3aWxsIHJldHVybiBFTVBUWSBjYXBzLiBJbnN0ZWFkLCBjcmVhdGUgYSBjb3B5IG9mIHRoZSBjYXBzIHRoYXQKCSAgaGFzIGFsbCBzdHJ1Y3R1cmUgbmFtZXMgcmVwbGFjZWQgYnkgJ2ltYWdlL2pwZWcnCgkgIFNpbXBsZSBwaXBlbGluZSB0aGF0IHNob3dzIHRoZSBwcm9ibGVtOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MSAhICJ2aWRlby94LXJhdywgXAoJICB3aWR0aD0oaW50KTY0MCwgaGVpZ2h0PShpbnQpNDgwIiAhIHZpZGVvc2NhbGUgISBqcGVnZW5jICEgXAoJICAiaW1hZ2UvanBlZywgd2lkdGg9KGludCk4MDAsIGhlaWdodD0oaW50KTYwMCIgISBmaWxlc2luayBcCgkgIGxvY2F0aW9uPS90bXAvaW1hZ2UuanBnCgoyMDEyLTA1LTAyIDIxOjE3OjQzICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IHNldCBsYXlvdXQ9aW50ZXJsZWF2ZWQgb24gcmF3IGF1ZGlvIGNhcHMKCSAgVGhpcyBmaXhlcyBhIG5vdC1uZWdvdGlhdGVkIGVycm9yIGF0IGxlYXN0IG9uIG1vdiBmaWxlcyB3aXRoCgkgIHR3b3MgYXVkaW8gd2l0aCB0d28gY2hhbm5lbHMgYW5kIHZpZGVvIGR2Y3AuIEFzIHBsYXliaW4gYW5kIGdzdC1sYXVuY2gKCSAgc2FtcGxlIGNvbWluZyBmcm9tIHRoZSBxdGRlbXV4LmMgZmlsZSB1c2VzIGF1ZGlvY29udmVydCBhbmQgdGhlIGxhdHRlcgoJICByZXF1aXJlIGZvcm1hdCBpbnRlcmxlYXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTMyNgoKMjAxMi0wNS0wMiAyMTo0OTo1NiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIHdhdmVmb3JtOiBObyBtb3JlIGdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY3NTMxOQoKMjAxMi0wNS0wMiAyMDoxNDoyNCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIGRpcmVjdHNvdW5kOiBObyBtb3JlIGdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY3NTMxOQoKMjAxMi0wNS0wMSAxODo1ODowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBjaGFuZ2Ugc2luayBwYWQgdGVtcGxhdGUgbmFtZSBmcm9tIHNpbmtfJWQgdG8gc2lua18ldQoKMjAxMi0wNC0zMCAxMTowMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaGFuZGxlIEVPUyBvbiBhbGwgcGFkcwoJICBXaGVuIGFsbCBwYWRzIGdvIHRvIEVPUyBpbW1lZGlhdGVseSwgd2UgYXJlIG5vdCBuZWdvdGlhdGVkIGFuZCBvdXIgY29sbGVjdGVkCgkgIGZ1bmN0aW9uIGlzIGNhbGxlZCAod2l0aG91dCBhbnkgYXZhaWxhYmxlIGRhdGEpLiBIYW5kbGUgdGhpcyBjYXNlIGdyYWNlZnVsbHkuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgoyMDEyLTA0LTMwIDEwOjU5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBpbXByb3ZlIGRlYnVnZ2luZwoKMjAxMi0wNS0wMSAxMzozMTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFVwZGF0ZSBmb3IgYmFzZXNyYyBBUEkgY2hhbmdlcwoKMjAxMi0wNC0zMCAyMzo1NzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGRvbid0IHNldCB1cCBzdHVmZiBiZWZvcmUgdGhlIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0cyBhcmUga25vd24KCSAgRml4ZXMgY3Jhc2ggb24gc3RhcnR1cC4KCjIwMTItMDQtMzAgMTQ6MDk6MjMgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVyIHR3aWNlIGZvciBmaXJzdCBmaWxlCgoyMDEyLTA0LTMwIDEzOjMyOjQxICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IGJ1ZmZlciBsaXN0IHNpemUgY2FsY3VsYXRpb24gaW4gcmVuZGVyX2xpc3QKCSAgRml4IHVuaW5pdGlhbGl6ZWQgJ3NpemUnIHZhcmlhYmxlIGluIGNhbGwgdG8gZ3N0X2J1ZmZlcl9saXN0X2ZvcmVhY2goKS4KCjIwMTItMDQtMzAgMjE6NTg6MDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGU6IHVubmVjZXNzYXJ5IHNpemUgY2hlY2sKCjIwMTItMDQtMzAgMjE6MzA6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGJ1aWxkIGVycm9ycwoJICBmaXggcmVkdW5kYW50IGRlY2xhcmF0aW9ucwoJICBhbmQgYWxzbyBzdHlsZS9pbmRlbnQgaXNzdWVzCgoyMDEyLTA0LTI2IDEyOjQ3OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogaW1wbGVtZW50IGZvcndhcmQgc25hcHBpbmcga2V5ZnJhbWUgc2Vla2luZwoJICBSZXF1aXJlcyBhbiBpbmRleC4KCjIwMTItMDQtMjYgMTI6NDY6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgSW4gcHVsbCBtb2RlIHdpdGggYW4gaW5kZXguCgoyMDEyLTA0LTI4IDIzOjE0OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHRlc3RzOiBmaXggbWF0cm9za2FtdXggdW5pdCB0ZXN0IGFmdGVyIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0yOCAxOTo1Nzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0yNCAxNjowODo0NyArMDIwMCAgaWRjLWRyYWdvbiA8aWRjLWRyYWdvbiBhdCBnbXguZGU+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJICBjZWx0ZGVwYXk6IGNhbGN1bGF0ZSBzaXplIGNvcnJlY3RseQoJICBUaGUgc3VtbWF0aW9uIHdhcyBkb25lIHdyb25nLCBjYXVzaW5nIHRoZSBkZS1wYXlsb2FkZXIgdG8gZXhpdCBpdHMgbG9vcCB0b28KCSAgZWFybHksIGJlZm9yZSBhbGwgZnJhbWVzIGFyZSBwcm9jZXNzZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ0NzIKCjIwMTItMDQtMjQgMTU6NTc6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNC0yNCAxNTozNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzdGFydCB1bm11dGVkIHdoZW4gcmVxdWVzdGVkCgkgIFdoZW4gd2UgZXhwbGljaXRlbHkgc2V0IHRoZSBtdXRlIHByb3BlcnR5IHRvIEZBTFNFLCBjb25uZWN0IHRvIHB1bHNlYXVkaW8gd2l0aAoJICB0aGUgUEFfU1RSRUFNX1NUQVJUX1VOTVVURUQgZmxhZyBzZXQsIG90aGVyd2lzZSBwdWxzZWF1ZGlvIHdpbGwgdXNlIGl0cwoJICBwcmV2aW91c2x5IHVzZWQgdmFsdWUgKHdoaWNoIG1pZ2h0IHN0YXJ0IHRoZSBzdHJlYW0gbXV0ZWQpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNDAxCgoyMDEyLTA0LTI1IDA5OjQxOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIHRpbWVzdGFtcCBjb2RlCgkgIFNhbXBsZSB0aGUgcGlwZWxpbmUgY2xvY2sgYW5kIGRldmljZSBjbG9jayBjbG9zZXIgdG8gZWFjaG90aGVyIHRvIHJlZHVjZSBqaXR0ZXIuCgkgIERvbid0IHN1YnRyYWN0IHRoZSBmcmFtZSBkdXJhdGlvbiBmcm9tIHRoZSB0aW1lc3RhbXAgd2hlbiB3ZSBjYW4gdXNlIHRoZSBkZXZpY2UKCSAgdGltZXN0YW1wcy4KCSAgQXNzdW1lIGEgZGVsYXkgb2YgMSBmcmFtZSBpbiByZWFkLXdyaXRlIG1vZGUuCgoyMDEyLTA0LTI0IDEyOjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgZHJpdmVyIHRpbWVzdGFtcHMKCSAgVXNlIHRoZSBkcml2ZSB0aW1lc3RhbXBzIGZvciB0aW1lc3RhbXBpbmcgb3V0Z29pbmcgYnVmZmVycy4KCjIwMTItMDQtMjMgMTg6MDE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEltcHJvdmUgYnVmZmVyIG1hbmFnZW1lbnQKCSAgUXVlcnkgdGhlIGFtb3VudCBvZiBhdmFpbGFibGUgYnVmZmVycyB3aGVuIGRvaW5nIHNldF9jb25maWcoKS4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgY29uZmlndXJlIHRoZSBwYXJlbnQgYnVmZmVycG9vbCB3aXRoIHRoZSBudW1iZXIgb2YgYnVmZmVycyB0byBwcmVhbGxvY2F0ZS4KCSAgS2VlcCB0cmFjayBvZiB0aGUgcHJvdmlkZWQgYWxsb2NhdG9yIGFuZCB1c2UgaXQgd2hlbiB3ZSBuZWVkIHRvIGFsbG9jYXRlIGEKCSAgYnVmZmVyIGluIFJXIG1vZGUuCgkgIFdoZW4gd2UgYXJlIGNhbiBub3QgYWxsb2NhdGUgdGhlIHJlcXVlc3RlZCBtYXhfYnVmZmVycyBhbW91bnQgb2YgYnVmZmVycywgbWFrZQoJICBzdXJlIHdlIGtlZXAgMiBidWZmZXJzIGFyb3VuZCBpbiB0aGUgcG9vbCBhbmQgY29weSB0aGVtIGludG8gYW4gb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgYWx3YXlzIGhhdmUgYSBidWZmZXIgdG8gY2FwdHVyZSBpbnRvLiBXZSBhbHNvIG5lZWQgdG8KCSAgZGV0ZWN0IHRob3NlIGNvcGllZCBidWZmZXJzIGFuZCB1bnJlZiB0aGVtIHdoZW4gdGhleSByZXR1cm4gdG8gdGhlIHBvb2wuCgoyMDEyLTA0LTIzIDE2OjUxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMKCSAgT25seSBmcmVlIHRoZSBxdWV1ZWQgYnVmZmVycyB0aGF0IHdlIGtlZXAgdHJhY2sgb2YgaW4gb3VyIGJ1ZmZlciBhcnJheS4gZm9yIHJ3CgkgIGlvLW1vZGUsIHdlIGRvIGFsbG9jYXRlIGJ1ZmZlcnMgYnV0IHdlIGRvbid0IGtlZXAgdHJhY2sgb2YgdGhlbSBpbiB0aGUgYnVmZmVyCgkgIGFycmF5LgoKMjAxMi0wNC0yMyAxNjoxMDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG1hcmsgbWVtb3J5IGFzIG5vLXNoYXJlCgkgIFdlIGRvbid0IHN1cHBvcnQgc2hhcmluZyBvdXIgbW1hcHBlZCBtZW1vcnkgc28gbWFyayBpdCBhcyBOT19TSEFSRS4KCjIwMTItMDQtMjMgMTY6MDk6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSBvbGQgdW51c2VkIGZpbGUKCjIwMTItMDQtMjMgMTM6MzI6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24KCjIwMTItMDQtMTEgMTI6NDI6MTcgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IEhhbmRsZSBpY3kgYW5kIGljeXggVVJJIHNjaGVtZXMKCSAgQXMgaGFuZGxlZCBieSBRdWlja1RpbWUgKGZvciBpY3kpLCBhbmQgT3JiYW4vQ29kaW5nIFRlY2hub2xvZ2llcwoJICBBQUMvYWFjUGx1cyBQbGF5ZXIgKGZvciBpY3l4KS4gU2VlIGFsc286CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQyMDcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzI4NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczODk5CgoyMDEyLTA0LTIzIDEwOjAzOjE5ICswMzAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGRvY3M6IEFkZCBTaW5jZSB0YWcgZm9yIG5ldyBHc3RWNGwyU3JjOjpwcmVwYXJlLWZvcm1hdCBzaWduYWwKCjIwMTItMDQtMjMgMTA6MDc6MTIgKzAyMDAgIENocmlzIFBhbmtvdyA8a2FpbjIzOTZAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiBmb3IgbXVsdGljaGFubmVsIGlucHV0CgkgIEZpeGVzIGJ1ZyAjNjc0MDI1LgoKMjAxMi0wNC0yMSAxMTowODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHJlbW92ZSBzb21lIG1vcmUgbm9uLWV4aXN0ZW50IGZpbGVzIGZyb20gdGhlIGxpc3QKCjIwMTItMDQtMjEgMTA6MDU6NDUgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBSZW1vdmUgbm9uLWV4aXN0ZW50IHBvdGZpbGVzIGZyb20gdGhlIGxpc3QKCSAgRml4ZXMgIzY3NDUxOAoKMjAxMi0wNC0yMCAxODoxMzoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IG9zczQ6IGxpbWl0IHRlc3Qgc2NvcGUKCjIwMTItMDQtMjAgMTg6MTM6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBvc3M0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTg6MTI6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgb3NzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTY6NDk6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBmaXJzdCBhY3RpdmF0ZSBwYWQgdGhlbiBzZXQgY2FwcwoKMjAxMi0wNC0yMCAxMzozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBjYXBzIG9uIHNyY3BhZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjE5CgoyMDEyLTA0LTE5IDE0OjE2OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXBkYXRlIGZvciB2aWRlbyBhcGkgY2hhbmdlCgoyMDEyLTA0LTE5IDEyOjM4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBmaXggY29tcGlsYXRpb24gb24gb2xkZXIgdjRsMgoJICBGaXggY29tcGlsYXRpb24gb24gc3lzdGVtcyB3aGVyZSB0aGUgSDI2NCBmb3JtYXQgaXMgbm90IGRlZmluZWQuCgoyMDEyLTA0LTE5IDEyOjIwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdmlkZW86IFVwZGF0ZSBmb3IgbGliZ3N0dmlkZW8gQVBJIGNoYW5nZXMKCjIwMTItMDQtMTkgMDg6Mjc6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogQWxsb3cgbXBlZy10cyBjYW1lcmFzIHRvIG5lZ29jaWF0ZSBmb3JtYXQKCSAgVGhpcyByZW1vdmVzIGFuIHVnbHkgaGFjayB1bnRpbCB0aGUgcmVhc29uIGZvciB0aGUgaGFjayBjYW4gYmUgZG9jdW1lbnRlZAoKMjAxMi0wNC0xOSAwOTo1MDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEZpeCBtZXJnZQoKMjAxMi0wNC0xOSAwOTo0MDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogUmVuYW1lIHByZS1zZXQtZm9ybWF0IHNpZ25hbCB0byBwcmVwYXJlLWZvcm1hdAoKMjAxMi0wNC0xNiAyMjowODoyMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogQWRkIEgyNjQgZW5jb2RlZCBzdHJlYW0gc3VwcG9ydCB0byB0aGUgY2FwcwoJICBUaGlzIGlzIG5vdCBlbm91Z2ggdG8gcHJvcGVybHkgc3VwcG9ydCBIMjY0IGNhbWVyYXMsIGJ1dCBpdCB3aWxsCgkgIGFsbG93IGFuIEgyNjQgc3RyZWFtIHRvIGJlIGdlbmVyYXRlZCBieSB2NGwyc3JjIHVzaW5nIHRoZSBkZWZhdWx0CgkgIHNldHRpbmdzIG9mIHRoZSBjYW1lcmEuIElmIHVzZWQgd2l0aCB0aGUgcHJlLXNldC1mb3JtYXQgc2lnbmFsLCB0aGUKCSAgSDI2NCBlbmNvZGVyIGNhbiBiZSBmdWxseSBjb25maWd1cmVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYwoKMjAxMi0wNC0xNiAyMjowNjoyMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyLy5naXRpZ25vcmU6CgkqIHN5cy92NGwyL2dzdHY0bDItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogQWRkaW5nIGEgcHJlLXNldC1mb3JtYXQgc2lnbmFsCgkgIEluIG9yZGVyIHRvIHN1cHBvcnQgVVZDIEgyNjQgZW5jb2RpbmcgY2FtZXJhcywgYW4gSDI2NCBQcm9iZSZDb21taXQKCSAgbXVzdCBoYXBwZW4gYmVmb3JlIHRoZSBub3JtYWwgdjRsMiBzZXQtZm9ybWF0LiBUaGlzIG5ldyBzaWduYWwgaXMKCSAgbWVhbnQgdG8gYWxsb3cgYW4gZXh0ZXJuYWwgYXBwbGljYXRpb24gb3IgYmluIHRvIGRvIGl0LgoJICBJdCBhbHNvIHNlcnZlcyB0byBleHBvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciB1c2VkIGJ5IHY0bDJzcmMgaW4gY2FzZQoJICBzb21lIGN1c3RvbSBpb2N0bHMgbmVlZCB0byBiZSBjYWxsZWQuCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW0KCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYwoKMjAxMi0wNC0xOCAxNzowOTo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgZHYxMzk0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTcgMTU6MTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIGNvbGxlY3RwYWRzMjogcmVuYW1lIHRvIGNvbGxlY3RwYWRzCgoyMDEyLTA0LTE2IDE2OjM3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICBtaXNjOiBjaGFpbiB1cCB0byBjb2xsZWN0cGFkcyBldmVudCBoYW5kbGVyCgoyMDEyLTA0LTE2IDA5OjA5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRiMjViZSB0byBkYzcwMjAzCgoyMDEyLTA0LTE1IDIyOjQ5OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogdXBkYXRlIGZvciBvZ2cgbWVkaWEgdHlwZSBjaGFuZ2VzCgoyMDEyLTA0LTEzIDE2OjU0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDQtMTMgMTY6NTQ6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBpbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcKCSAgLi4uIHRvIHNlbmQgYSBwcm9wZXIgVElNRSBzZWdtZW50IGRvd25zdHJlYW0uCgoyMDEyLTA0LTEzIDE2OjU0OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4ZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTMgMTY6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogYWRqdXN0IHRvIGRlcHJlY2F0ZWQgR011dGV4IHNldHVwCgoyMDEyLTA0LTEzIDE2OjU0OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBhbHBoYSwgc21wdGU6IGFkanVzdCB0byByZW1vdmVkIGNvbG9yLW1hdHJpeCBjYXBzIGZpZWxkCgoyMDEyLTA0LTEzIDE2OjI3OjM0ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICB2NGwyOiBlbnN1cmUgYXV0b2dlbmVyYXRlZCBmaWxlcyBhcmUgY3JlYXRlZAoJICBUaGUgdHVuZXIgbWFyc2hhbCBhbmQgZW51bXR5cGVzIGFyZSBhdXRvZ2VuZXJhdGVkLCBhbmQgdGhleSBuZWVkCgkgIHRvIGJlIGNyZWF0ZWQgYmVmb3JlIHRoZSBjb21waWxhdGlvbiBvZiBnc3R2NGwydHVuZXIuYwoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGF1dG9tYWtlIGluc3RydWN0aW9uIGZvciBlbnN1cmluZyB0aGUKCSAgYXV0b2dlbmVyYXRpb24gb2YgdGhvc2UgZmlsZXMgcHJldmlvdXMgdGhlIGNvbXBpbGF0aW9uLgoKMjAxMi0wNC0xMyAxMzo0MTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTW9kZXJuaXplIGF1dG90b29scyBzZXR1cCBhIGJpdAoJICBBbHNvIHdlIG5vdyBvbmx5IGNyZWF0ZSB0YXIuYnoyIGFuZCB0YXIueHogdGFyYmFsbHMuCgoyMDEyLTA0LTEzIDEzOjM3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0ZmUxNSB0byA2ZGIyNWJlCgoyMDEyLTA0LTEzIDEzOjA0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdHVuZXItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmg6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFVwZGF0ZSBldmVyeXRoaW5nIGZvciB0aGUgcmVtb3ZhbCBvZiB0aGUgaW50ZXJmYWNlIGxpYnJhcnkgYW5kIG1peGVyL3R1bmVyIGludGVyZmFjZXMKCjIwMTItMDQtMTIgMTU6NTA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHA6IFVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlV3JpdGVyIHdoZXJlIGFwcGxpY2FibGUKCSAgVGhlIHNpemUgd2FzIGNoZWNrZWQgYmVmb3JlCgoyMDEyLTA0LTEyIDE1OjQ5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVJlYWRlci9Xcml0ZXIKCjIwMTItMDQtMTIgMTU6NDg6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgaXNvbXA0OiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVdyaXRlcgoJICBBbmQgdXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIgd2hlcmUgYXBwbGljYWJsZQoKMjAxMi0wNC0xMiAxNTo0ODowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVJlYWRlcgoJICBXZSBrbm93IHRoZXJlJ3MgYXQgbGVhc3QgNyBieXRlcyAoY2hlY2tlZCBhYm92ZSkKCjIwMTItMDQtMTIgMTU6NDc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgR3N0Qnl0ZVdyaXRlcgoKMjAxMi0wNC0xMiAxNTo0NzoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJpdFJlYWRlci9Hc3RCeXRlUmVhZGVyCgoyMDEyLTA0LTEyIDExOjU3OjU5ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBpbnRlcmxlYXZlIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMTItMDQtMTIgMTE6MTk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkwID09PQoKMjAxMi0wNC0xMiAxMDoyNzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTAKCjIwMTItMDQtMTIgMTA6MjY6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDQtMTEgMDA6MTk6MzAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBGaXggZm9ybWF0IHN0cmluZwoJICBGaXhlcyAjNjczODU5CgoyMDEyLTA0LTExIDAwOjE5OjE2ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBGaXhlcyAjNjczODU5CgoyMDEyLTA0LTEwIDExOjU3OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xMCAxMTozNzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc29tZSBtb3JlIHNlZ21lbnQgaGFuZGxpbmcgdHdlYWtpbmcKCjIwMTItMDQtMTAgMDA6NTE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTEwIDAwOjQ3OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuYzoKCSAgVXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCjIwMTItMDQtMTAgMDA6NDc6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wOSAxMjo1NTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogZGlzYWJsZSBzaW1wbGUgc21va2VlbmMvZGVjIGxhdW5jaCBsaW5lcyB0ZXN0CgkgIERpc2FibGUgdGVzdCBmb3Igc21va2UgZWxlbWVudHMsIHdoaWNoIGFyZW4ndCBwb3J0ZWQgeWV0CgkgIChhbmQgbWF5YmUgc2hvdWxkbid0IGJlIHBvcnRlZCkuCgoyMDEyLTA0LTA5IDAwOjE0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IG1ha2UgY2hhbm5lbC1wb2lzaXRpb25zIHByb3BlcnR5IGEgR1ZhbHVlQXJyYXkgYWdhaW4KCSAgT3IgcGVyaGFwcyBpdCBzaG91bGQganVzdCBiZSBhIGd1aW50NjQgY2hhbm5lbCBtYXNrLCB3aGljaCB3b3VsZAoJICBiZSBuaWNlciBpbiBDLCBidXQgbW9yZSBhd2t3YXJkIGZvciBiaW5kaW5ncyAoZXZlbiBtb3JlIHNvIHNpbmNlCgkgIHdlIGNhbid0IGFkZCBhIGZsYWdzIHR5cGUgZm9yIGl0LCBzaW5jZSB0aGF0IG9ubHkgc3VwcG9ydHMgZ3VpbnQKCSAgc2l6ZSBmbGFncykuIEZpeGVzIHdhdmVuYyB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDQtMDYgMTY6MDM6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFubHkgaW5pdGlhbGl6ZSBhbmQgc2V0IG5lZWRlZCBzZWdtZW50CgkgIEZpeGVzICM2NzMxNjUuCgoyMDEyLTA0LTA1IDE3OjE3OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdGhyZWFkaW5nIGlzc3VlIGluIGluZGV4IGhhbmRsaW5nCgoyMDEyLTA0LTA2IDA5OjEzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBzdGF0aWMgdmFyaWFibGVzIHRvIGhvbGQgaW5kZXggYXNzb2NpYXRpb25zCgkgIFRoaXMgbm90IHJlYWxseSB0aHJlYWRzYWZlIGluIGFueSB3YXkuCgoyMDEyLTA0LTA1IDE5OjE3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBtYWtlIGZldyB0ZXN0cyBtb3JlIHZhbGdyaW5kLWZyaWVuZGx5CgoyMDEyLTA0LTA1IDE5OjE3OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIChkZSlpbnRlcmxlYXZlOiBmaXggcG9ydGVkIHVuaXQgdGVzdCBhbmQgZW5hYmxlIGFzIHBvcnRlZAoKMjAxMi0wNC0wNSAxOToxNzozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBjbW1sZGVjOiBhZGp1c3QgdG8gdGFnIGV2ZW50cyBubyBsb25nZXIgcG9zdGVkIG9uIGJ1cyBieSBlbGVtZW50CgoyMDEyLTA0LTA1IDE5OjE3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZHNyYzogY2xlYXIgZXJyb3IKCjIwMTItMDQtMDUgMTg6NDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxNzo0MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDE3OjQwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL3BsdWdpbi5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxNzozNjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9wbHVnaW4uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxMzoyNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIHZlcnNpb24gdG8gMC4xMS44OS4xCgoyMDEyLTA0LTA0IDIwOjA2OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogZW5zdXJlIGluaXRpYWxpemVkIHRlc3QgYnVmZmVyIG1lbW9yeQoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxNDozODo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxNDozODo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxNDozMzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDEyOjEwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaAoKMjAxMi0wNC0wMyAxODozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHBsdWcgdGVtcGxhdGUgY2FwcyBsZWFrCgoyMDEyLTA0LTAzIDExOjUwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZpIG9ubHkga25vd3MgYWJvdXQgRFRTCgkgIE9ubHkgc2V0IERUUyBvbiBvdXRnb2luZyBidWZmZXJzIHVubGVzcyB3ZSBoYXZlIGEga2V5ZnJhbWUgYW5kIHRoZW4gd2UgY2FuIHNldAoJICB0aGUgUFRTIHRvIERUUyBhcyB3ZWxsLgoKMjAxMi0wNC0wMiAyMzozNTo0MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBta3Y6IHBvcnQgdG9jIGNoYW5nZXMgdG8gMC4xMQoKMjAxMi0wNC0wMiAyMzoxODowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmgKCjIwMTItMDMtMjkgMjM6MjI6MjggKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IGFkZCBHc3RUb2Mgc3VwcG9ydCBmb3IgbXV4ZXIKCjIwMTItMDMtMjkgMjM6MTI6MTMgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHc3RUb2MgaW4gZGVtdXhlcgoKMjAxMi0wMy0yOSAyMzowNToxNCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGFkZCBjaGFwdGVyIHN1cHBvcnQgaW4gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgoyMDEyLTA0LTAyIDEzOjAwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2xpbmVzLmM6CgkgIGdvb20yazE6IEZpeCAnbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTA0LTAyIDExOjEzOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdXNlIHRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaAoKMjAxMi0wMy0zMSAxNTo0Mzo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBjaGlsZCBwcm94eSBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDE4OjEzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTI6NTM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogVXNlIG5ldyBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfaGVhZGVycygpIEFQSQoKMjAxMi0wMy0zMCAxMjoxODo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjkgMjM6MjI6MjggKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IGFkZCBHc3RUb2Mgc3VwcG9ydCBmb3IgbXV4ZXIKCjIwMTItMDMtMjkgMjM6MTI6MTMgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHc3RUb2MgaW4gZGVtdXhlcgoKMjAxMi0wMy0yOSAyMzowNToxNCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGFkZCBjaGFwdGVyIHN1cHBvcnQgaW4gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgoyMDEyLTAzLTI5IDE3OjIyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiB3YXZwYWNrOiBmZXdlciBidWZmZXJzIGFyZSBhbHNvIGFkZXF1YXRlIGFuZCBtb3JlIGNvbnZlbmllbnQKCjIwMTItMDMtMjkgMTc6MjI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiB2aWRlb2Nyb3A6IHVubWFwIHZpZGVvIGZyYW1lIGFuZCB1bnJlZiBjYXBzCgoyMDEyLTAzLTI5IDE3OjIyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgIHRlc3RzOiBhdWRpb3dzaW5jYmFuZDogdW5tYXAgZXhhbWluZWQgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDMtMjkgMTc6MjE6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBwbHVnIHJlZiBsZWFrCgoyMDEyLTAzLTI5IDE3OjIxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IHN1cHBvcnRlZCB0ZW1wbGF0ZSBjYXBzIGFuZCBzYW1wbGUgcHJvY2Vzc2luZwoKMjAxMi0wMy0yOSAxNzoyMTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBwbHVnIHN0cnVjdHVyZSBsZWFrCgoyMDEyLTAzLTI5IDE2OjA0OjI2ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMKCjIwMTItMDMtMjkgMTU6MDM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDEyLTAzLTI4IDE2OjI2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogbXV4ZXJzIG5lZWQgVElNRSBmb3JtYXQKCjIwMTItMDMtMjggMTY6MjY6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IGZsYWNkZWM6IG5lZWRzIGZsYWNwYXJzZSBub3dhZGF5cwoKMjAxMi0wMy0yOCAxNDo0OTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIEJZVEUgc2Vla2luZyBzdXBwb3J0CgoyMDEyLTAzLTI4IDE0OjQ4OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcXVlcnkgZG93bnN0cmVhbSBmb3IgQllURSBzZWVraW5nIHN1cHBvcnQKCjIwMTItMDMtMjggMTQ6NDY6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBjbGVhbiB1cCBvYnNvbGV0ZSBsb2cgc3RhdGVtZW50CgoyMDEyLTAzLTI4IDEyOjQ5OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMjggMTI6MTY6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkgIHRlc3RzOiBhdWRpb2R5bmFtaWM6IGNvcnJlY3RseSBwb3J0IG9yaWdpbmFsIHRlc3QgdG8gbWluZCBpbiBwbGFjZSB0cmFuc2Zvcm0KCjIwMTItMDMtMjggMTE6MDU6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICBhdWRpb2Z4OiBtb3JlIGFkanVzdG1lbnQgdG8gY2hhbmdlZCBzZW1hbnRpY3Mgb2YgYXVkaW9maWx0ZXIgX3NldHVwIG1ldGhvZAoKMjAxMi0wMy0yOCAxMToxMDoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJICB0ZXN0czogYXVkaW9maXJmaWx0ZXI6IG5lZ290aWF0ZSB0aGUgaW50ZW5kZWQgcmF3IGF1ZGlvIGZvcm1hdAoKMjAxMi0wMy0yNyAxODo0MTo0NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogaW5pdCBkYXRhc3RydWN0dXJlCgoyMDEyLTAzLTI3IDE3OjE4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBmaXggc3RyaWRlcwoKMjAxMi0wMy0yNyAxNjo0MTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgY2FwczogaW1wcm92ZSBjYXBzIGhhbmRsaW5nCgkgIEF2b2lkIGNhcHMgY29weSBhbmQgbGVha3MKCjIwMTItMDMtMjcgMTQ6MDQ6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgdGVzdHM6IGljeWRlbXV4OiBhY3RpdmF0ZSBpbnRlcm5hbCB0ZXN0IGhlbHBlciBzcmMgcGFkCgoyMDEyLTAzLTI3IDEyOjQ0OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIGdldF9wYXJhbQoJICBSZW1vdmUgY29uc3QgZnJvbSB0aGUgR3N0Q2Fwcy4KCSAgUGx1ZyBzb21lIEdzdFN0cnVjdHVyZSBsZWFrcwoKMjAxMi0wMy0yNyAwMDowMjowOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogRml4IGNvbXBpbGluZyB3aXRoIG1pbmd3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODgwCgoyMDEyLTAzLTI2IDE4OjMxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IHJlcGxheWdhaW46IG1pc2MgY29tcGF0aWJpbGl0eSBmaXhlcwoJICBEaXNjYXJkIGNhcHMgZXZlbnQgd2hlbiBjaGVja2luZyBmb3IgYW5kIGNvdW50aW5nIHZhcmlvdXMgdGFnIGV2ZW50cywKCSAgYW5kIHJlbW92ZSBhbGwgdGVzdGluZyBvZiA4IGJpdHMgZGVwdGggaW4gMTYgYml0cyB3aWR0aCBmb3JtYXQgc2luY2UKCSAgaXQgbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMTItMDMtMjYgMTg6Mjg6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHA6IG1pc2MgY29tcGF0aWJpbGl5IGZpeGVzCgkgIC4uLiBzdWNoIGFzIGFsd2F5cyBzZXR0aW5nIHBhZCBjYXBzIGFuZCBwcm92aWRpbmcgbmVlZGVkIGNhcHMgZmllbGRzLgoKMjAxMi0wMy0yNiAxODoyNjo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogdmlkZW9maWx0ZXI6IGVuc3VyZSBpbml0aWFsIHNlZ21lbnQgZXZlbnQKCjIwMTItMDMtMjYgMTg6MjU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBwcm9wZXIgdmlkZW8gaW5mbyBhbmQgZnJhbWUgbWFuYWdlbWVudAoJICAuLi4gcGFydGljdWxhcmx5IHNpbmNlIGVhY2ggaW5jb21pbmcgcGFkIGhhcyBhIGRpc3RpbmN0IGZvcm1hdC4KCjIwMTItMDMtMjYgMTg6MjQ6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGVuc3VyZSBvdXRwdXQgY2FwcyBhcmUgc2V0IHdoZW4gcHVzaGluZyBvdXRwdXQgZGF0YQoJICAuLi4gZXZlbiBpZiBzb21lIFNQUy9QUFMgaGFzIG5vdCBwYXNzZWQgYnkgeWV0LgoKMjAxMi0wMy0yNiAxODoyMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2ZpbHRlcjogYXZvaWQgaG9sZGluZyBvYmplY3QgbG9jayB3aGVuIGNhbGxpbmcgYmFzZXRyYW5zZm9ybSBmdW5jdGlvbgoKMjAxMi0wMy0yNiAxODoyMjowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggc29tZSBsb2NrIG1hbmFnZW1lbnQKCSAgLi4uIHRvIGF2b2lkIHRyeWluZyB0byB0YWtlIGEgbm9uLXJlY3Vyc2l2ZSBsb2NrIHR3aWNlLgoKMjAxMi0wMy0yNiAxODoyMToxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgIHJ0cEwxNihkZSlwYXk6IGZpeCByYXcgYXVkaW8gZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTItMDMtMjYgMTg6MjA6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXlnYWluOiBhbHNvIHN0aWxsIHBvc3QgdGhlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzCgoyMDEyLTAzLTI2IDE1OjU5OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBkb24ndCBlcnJvciBpbiBzaHV0ZG93bgoJICBEb24ndCBsb2cgd2l0aCB0aGUgRVJST1IgY2F0ZWdvcnkgd2hlbiB3ZSBhcmUgc3RvcHBpbmcgYmVjYXVzZSB3ZSBhcmUgc2h1dHRpbmcKCSAgZG93bi4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4MjQKCjIwMTItMDMtMjYgMTU6NTE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGZpeCBsYXRlbmN5CgoyMDEyLTAzLTI2IDE1OjMwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogY2FsbGVkIGJhc2UgY2xhc3Mgc3RhcnQKCSAgQ2hhaW4gdXAgdG8gdGhlIGJhc2UgY2xhc3Mgc3RhcnQgbWV0aG9kIHNvIHRoYXQgbWV0YWRhdGEgaXMgcHJvcGVybHkgdGFnZ2VkLgoJICBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlLgoJICBmaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjgxMwoKMjAxMi0wMy0yNiAxMjoxMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIFJlcGxhY2UgbWFzdGVyIHdpdGggMC4xMQoKMjAxMi0wMy0yNSAwMDowMDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgImFscGhhIiBwcm9wZXJ0eSB0byBzZXQgYWxwaGEgb2Ygb3ZlcmxheSBpbWFnZQoJICAuLiBvciB0dXJuIHRoZSBvdmVybGF5IG9mZiBieSBzZXR0aW5nIGFscGhhIHRvIDAuMAoKMjAxMi0wMy0yNCAwOTo1MTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTAzLTIzIDE4OjQ3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIHRlc3RzOiBpbWFnZWZyZWV6ZTogcmVtb3ZlIGV4dHJhbmVvdXMgX3VucmVmCgoyMDEyLTAzLTIzIDE4OjQ3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICB0ZXN0czogYXZpbXV4OiBhZGp1c3QgdG8gbW9kaWZpZWQgc2luayBwYWQgdGVtcGxhdGUgbmFtZQoKMjAxMi0wMy0yMyAxODo0NjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGNsZWFudXAgZWxlbWVudCBzb29uZXIKCSAgLi4uIHRvIGF2b2lkIHN0cmF5IHJlZnMgaW4gc3RpY2t5IGNhcHMgZXZlbnRzLgoKMjAxMi0wMy0yMyAxODo0NTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBhcnJhbmdlIGZvciBzZW5kaW5nIGFuIGluaXRpYWwgc2VnbWVudCBldmVudAoJICAuLi4gd2hpY2ggaXMgbmVlZGVkIG5vd2FkYXlzIHNpbmNlIHZhcmlvdXMgZ3N0X3NlZ21lbnRfdG9fLi4uCgkgIG5vIGxvbmdlciBhdXRvbWF0aWNhbGx5IHNldCB0aGUgZm9ybWF0IHRvIHRoZSBzcGVjaWZpZWQgb25lCgkgIChmcm9tIF9VTkRFRklORUQpLgoKMjAxMi0wMy0yMyAxODo0NDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGltbWVkaWF0ZWx5IHJldHVybiBHU1RfRkxPV19FT1MKCSAgLi4uIHJhdGhlciB0aGFuIF9PSyBzaW5jZSB3ZSB3aWxsIG5vdCBiZSBjYXJpbmcgYWJvdXQgc3Vic2VxdWVudCBidWZmZXIKCSAgYW55d2F5LgoKMjAxMi0wMy0yMyAxODo0MzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGZpeCBxdWVyeSBhbmQgX2dldGNhcHMgaGFuZGxpbmcKCjIwMTItMDMtMjMgMTg6NDI6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvZng6IGFkanVzdCB0byBjaGFuZ2VkIHNlbWFudGljcyBvZiBhdWRpb2ZpbHRlciBfc2V0dXAgbWV0aG9kCgkgIC4uLiBpbiB0aGF0IGl0IHdpbGwgbm93IGNhbGwgc3ViY2xhc3Mgd2l0aCBpbmZvIG9uIHByb3Bvc2VkIGF1ZGlvIGZvcm1hdAoJICB3aXRob3V0IGhhdmluZyBzZXQgdGhhdCBpbmZvIGFscmVhZHkgaW4gYmFzZSBjbGFzcy4gIEFzIHN1Y2gsCgkgIHN1YmNsYXNzIGNhbiBub3QgcmVseSBvbiBhdWRpbyBmb3JtYXQgaW5mbyBiZWluZyBhdmFpbGFibGUgdGhlcmUuCgoyMDExLTA3LTE0IDE2OjIzOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIG91dHB1dCBpbiBBVkMgc3RyZWFtIGZvcm1hdCB3b3JrIGV2ZW4gd2l0aG91dCBjb21wbGV0ZSBzcHJvcC1wYXJhbWV0ZXItc2V0CgkgIFRoaXMgYWxsb3dzIG91dHB1dHRpbmcgc3RyZWFtcyBpbiBBVkMgZm9ybWF0IGV2ZW4gaWYgdGhlIFNQUy9QUFMgYXJlIHNlbnQgaW5zaWRlCgkgIHRoZSBSVFAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgkgIFBvcnRlZCBmcm9tIG1hc3RlcgoKMjAxMi0wMS0yOSAxODozOTo1NCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IFVubG9jayBvbiBlcnJvcgoKMjAxMi0wMy0yMiAxODoyNzozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2Ugc2luayBwYWQgdGVtcGxhdGUgY2FwcyByYXRoZXIgdGhhbiBzcmMKCjIwMTItMDMtMjIgMTg6MjM6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMy0yMiAxODoyMTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMiAxNjoxMDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBpbnRlcnNlY3QgZG93bnN0cmVhbSBhbGxvd2VkIHBlZXIgY2FwcyB3aXRoIHNpbmsgcGFkIHRlbXBsYXRlCgoyMDEyLTAzLTIyIDE1OjU1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjIgPT09CgoyMDEyLTAzLTIyIDE1OjUxOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkgIFJlbGVhc2UgMC4xMS4yCgoyMDEyLTAzLTIyIDExOjU1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMy0yMiAxMTo1MzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgdW5wb3J0IGdka3BpeGJ1ZgoJICBub3QgbWVyZ2VkOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgkgIENvbmZsaWN0czoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5CgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmgKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoJICBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgoyMDEyLTAzLTIyIDExOjQ1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogb25seSBzdGFydCBjb2xsZWN0cGFkczIgYXQgc3RhdGUgY2hhbmdlIHJhdGhlciB0aGFuIGluaXQKCjIwMTItMDMtMjEgMTM6MjI6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0yMCAxMDoyNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xOSAxMjowMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjcmMgY2hlY2sgaWYgYXBwbGljYWJsZQoJICAuLi4gc3VjaCBhcyBhIGZyYW1lIGhlYWRlciBwYXJzaW5nIHRocm93aW5nIHNvbWUgc3VzcGljaW91cyB3YXJuaW5ncy4KCSAgU28gd2UgY2FuIGJlIGEgYml0IG1vcmUgY29udmluY2VkIHdlIGRldGVybWluZSB0aGUgcmlnaHQgZnJhbWUgZW5kLgoKMjAxMi0wMy0xOSAxMTo1ODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGF2b2lkIGluZGVmaW5pdGUgZXh0ZW5kZWQgc2VhcmNoIGZvciBmcmFtZSBlbmQgaWYgcG9zc2libGUKCSAgLi4uIHdoaWNoIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgbG9ja2VkIG9uIHRvIHRoZSB3cm9uZyBmcmFtZSBzdGFydAoJICBhbmQvb3IgY29ycnVwdCBmcmFtZSBiZWluZyBjcmMgY2hlY2tlZC4KCjIwMTItMDMtMTYgMTg6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIHJlc2lsaWVuY2UKCSAgLi4uIGJ5IG5vdGluZyB0aGF0IG9uZSBvY2N1cnJlZCBpbiB0aGUgZmlyc3QgcGxhY2UsIGFuZCB0aGVuIGFwcHJvcHJpYXRlbHkKCSAgaWdub3Jpbmcgc29tZSB0cmFuc2llbnQgb25lcy4KCjIwMTItMDMtMTkgMTA6MzM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbmVnb3RpYXRlIGFuIGFsbG9jYXRvciBvbiB0aGUgc3JjcGFkcwoJICBXZSBkbyBhbiBBTExPQ0FUSU9OIHF1ZXJ5IHRvIGZpbmQgb3V0IGFuIGFsbG9jYXRvciBhbmQgcGFyYW1ldGVycyBvbiB0aGUKCSAgc3JjcGFkcy4gVGhpcyB3YXkgZGVjb2RlcnMgKGFuZCBzaW5rcykgY2FuIHNwZWNpZnkgdGhlIG1lbW9yeSBhbmQgcGFyYW1ldGVycwoJICB0aGV5IHdhbnQgdXMgdG8gd3JpdGUgaW50by4KCjIwMTItMDMtMTcgMjA6NTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgbmV3IHByb3BlcnRpZXMgYW5kIGFkZCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQKCSAgU29tZXdoYXQgYXQgbGVhc3QuIE5vIGlkZWEgd2h5IGl0IGRvZXNuJ3QgcGljayB1cCB0aGUgZGVzY3JpcHRpb24KCSAgb3IgZXhhbXBsZSBwaXBlbGluZS4KCjIwMTItMDMtMTggMDA6MTE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IG1ha2UgbW9zdCBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZSBhbmQgZmxhZyB0aGVtIGFzIG11dGFibGUtcGxheWluZwoKMjAxMi0wMy0xNyAyMzo0MTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkIHByb3BlcnRpZXMgZm9yIHBvc2l0aW9uaW5nIGFuZCBzaXppbmcKCjIwMTItMDMtMTcgMjA6MTg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmOiBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50CgkgIFN0aWxsIGxhY2tzIGZlYXR1cmVzIHN1Y2ggYXMgcG9zaXRpb25pbmcgb3IgcmVzaXppbmcsIG9yCgkgIGFuaW1hdGlvbnMsIGJ1dCBpdCdzIHVzYWJsZSBhbHJlYWR5LCBhbmQgc3VwcG9ydHMgbG90cyBvZgoJICBmb3JtYXRzLgoKMjAxMi0wMy0xNiAyMjo1MjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRvbid0IHBva2UgaW50byBiYXNldHJhbnNmb3JtIGludGVybmFscwoJICBCdXQgdXNlIHRoZSBtZXRob2RzCgoyMDEyLTAzLTE2IDIxOjQ3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGRvbid0IHBhc3MgcmFuZG9tIHBvaW50ZXJzIHRvIHB1bGxfcmFuZ2UKCjIwMTItMDMtMTUgMjI6MTU6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICB1cGRhcnRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjI6MTE6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjA6Mzc6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMS0wNy0xNCAxNjoyMzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSBvdXRwdXQgaW4gQVZDIHN0cmVhbSBmb3JtYXQgd29yayBldmVuIHdpdGhvdXQgY29tcGxldGUgc3Byb3AtcGFyYW1ldGVyLXNldAoJICBUaGlzIGFsbG93cyBvdXRwdXR0aW5nIHN0cmVhbXMgaW4gQVZDIGZvcm1hdCBldmVuIGlmIHRoZSBTUFMvUFBTIGFyZSBzZW50IGluc2lkZQoJICB0aGUgUlRQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMi0wMy0xNSAxNDowNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBhcGkgY2hhbmdlCgoyMDEyLTAzLTE1IDEzOjM4OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNSAxMzozNzozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDEzOjM2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTQgMjE6MzY6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDE5OjU1OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdGFrZSBwYWRkaW5nIGludG8gYWNjb3VudAoKMjAxMi0wMy0xNCAxNzowNzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xNCAxNTo0NTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlcGx5IEZBTFNlIG9uIHNlcmlhbGl6ZWQgcXVlcmllcwoKMjAxMi0wMy0xMyAyMzowODozOCArMDEwMCAgQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBhZGQgc3VwcG9ydCBmb3IgOC0gYW5kIDE2LWJpdCBncmF5IGltYWdlcwoJICBBZGQgc3VwcG9ydCBmb3IgZGlyZWN0IGVuY29kaW5nIG9mIDgtIGFuZCAxNi1iaXQgYmlnIGVuZGlhbiBncmF5IGltYWdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjAyNQoKMjAxMi0wMy0xNCAxMToyMTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBtcDR2cGF5OiB3ZSBjYW4gYWxzbyBoYW5kbGUgeC1kaXZ4CgoyMDEyLTAzLTE0IDEwOjM5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogZG8gbm90IHNldCBvdXRwdXQgY2FwcyBkaXJlY3RseQoJICAuLi4gYnV0IHVzZSBiYXNlIGNsYXNzIGZ1bmN0aW9uIGluc3RlYWQuCgoyMDEyLTAzLTEzIDIxOjMxOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgbXA0dmRlcGF5OiBmaXggYnVmZmVyIGhhbmRsaW5nCgkgIERvbid0IGFsd2F5cyBvdXRwdXQgdGhlIHBheWxvYWQgc3ViYnVmZmVyLCB1c2UgYSBzZXBhcmF0ZSB2YXJpYWJsZSB0bwoJICBtYWtlIHRoaW5ncyBjbGVhcmVyIGFuZCB3aXRob3V0IHRoZSBlcnJvci4KCjIwMTItMDMtMTMgMjA6NDk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHBzaW5rOiBtYWtlIGJ1ZmZlci1zaXplIHdvcmsgYWdhaW4KCjIwMTItMDMtMTMgMjA6MzY6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBTT19SQ1ZCVUYgaGFuZGxpbmcKCjIwMTItMDMtMTMgMTk6MjY6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGRvbid0IGxlYWsgdGhlIGFkZHJlc3MKCjIwMTItMDMtMTMgMTk6MjY6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IHVubWFwIG9uIGVtcHR5IHBhY2tldAoKMjAxMi0wMy0xMyAxODowNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBkbyBEVFMgYW5kIFBUUyBjb3JyZWN0bHkKCjIwMTItMDMtMTMgMTc6NTQ6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IERUUyBhbmQgUFRTIG9uIG91dHB1dCBidWZmZXJzCgkgIFNldCBQVFMgYW5kIERUUyBvbiBvdXRwdXQgYnVmZmVycyBpbnN0ZWFkIG9mIGp1c3QgdGhlIFBUUy4gSW4gc3RyZWFtaW5nIGNhc2VzCgkgIHlvdSB3YW50IHRvIHN5bmNocm9uaXplZCBlbmNvZGVkIGRhdGEgYmFzZWQgb24gdGhlIERUUyBiZWNhdXNlIHRoYXQgaXMKCSAgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nLgoKMjAxMi0wMy0xMyAxNzo1NDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGRlYnVnIGFkZGl0aW9uYWwgc2R0cCBmbGFnCgoyMDEyLTAzLTEzIDE3OjI3OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwOiBmaXggdW5tYXAgY2FsbHMKCjIwMTItMDMtMTMgMTM6MjU6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiBmaXggZm9ybWF0cywgd2UgY2FuIG5vdCBoYW5kbGUgUzggYnV0IG9ubHkgVTgKCjIwMTItMDMtMTMgMTI6NDA6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBzdHJlYW1oZWFkZXJzCgkgIEZpeCB0aGUgY2FwcyBvZiBmbGFjZW5jLCB0aGUgcmVmZXJlbmNlIGVuY29kZXIgb25seSBzdXBwb3J0IDI0IGJpdHMgaW4KCSAgMzIgYml0cy4KCSAgU2V0IHN0cmVhbWhlYWRlciBvbiBvdXRwdXQgY2Fwcy4KCjIwMTItMDMtMTIgMTc6MTc6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICB1cGRhdGUgZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTIgMTY6NDM6MjcgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjIDogYnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIDIuMzEuMTQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMQoKMjAxMi0wMy0xMiAxNToyNzoyNyArMDEwMCAgUm9zcyBCdXJ0b24gPHJvc3MgYXQgYnVydG9uaW5pLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZ2VuZXJhdGUgc2Vla3RhYmxlcyBldmVyeSAxMCBzZWMgYnkgZGVmYXVsdAoJICBTaW5jZSB0aGlzIGlzIHdoYXQgdGhlIGNvbW1hbmQgbGluZSB0b29sIGRvZXMgYXMgd2VsbCwgaXQgc2VlbXMgbGlrZQoJICBhIGJldHRlciBkZWZhdWx0LgoKMjAxMi0wMy0xMCAxMzo0NDowOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSB1bmxvY2sgcGFkIHdoZW4gaXQgd2FzIGxvY2tlZAoJICBUaGlzIGZpeGVzIHRoZSBtdXRleCBiZWluZyB1bmxvY2tlZCB0b28gbXVjaCBhbmQgZW5kaW5nIHVwIGFsbG93aW5nCgkgIG90aGVyIHRocmVhZHMgd2hlbiB0aGV5IHNob3VsZCBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE3NzYKCjIwMTItMDMtMDcgMTM6Mzk6NTAgKzAxMDAgIEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogYWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LWdyYXkgZm9ybWF0cwoJICBwbmdkZWMgY2FuIG5vdyBkZWNvZGUgZ3JheSA4LSBhbmQgMTYtYml0IGltYWdlcyB3aXRob3V0IGFscGhhIGNoYW5uZWwKCSAgZGlyZWN0IHRvIHZpZGVvL3gtcmF3LWdyYXkgZm9ybWF0LiAxNi1iaXQgZ3JheSBpbWFnZXMgaGF2ZSBiaWctZW5kaWFuCgkgIGZvcm1hdCwgYmVjYXVzZSBpdCdzIG5hdGl2ZSBQTkcgZW5kaWFubmVzcy4gR3JheSBpbWFnZXMgd2l0aCBhbHBoYQoJICBjaGFubmVsIHN0aWxsIGNvbnZlcnRlZCB0byBSR0JBLgoJICBTaWduZWQtb2ZmLWJ5OiBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoyMDEyLTAzLTA4IDE3OjA3OjUxICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIGdzdHJ0c3BzcmM6IGRpc2FibGUgUlRTUCBrZWVwLWFsaXZlIG9uIHJlcXVlc3QKCjIwMTItMDMtMTIgMTQ6NDg6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGZpeCBzdHJpZGUgaGFuZGxpbmcKCjIwMTItMDMtMTIgMTI6MjM6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICBmaXggZm9yIGNhcHMgX25vcm1hbGl6ZSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDExOjQ3OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlCgoyMDEyLTAzLTEyIDEwOjQzOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgZml4IGZvciBfZG9fc2ltcGxpZnkgY2hhbmdlcwoKMjAxMi0wMy0xMiAwODo0ODozMiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgZ3N0OiBGaXggc29tZSBxdWVyeSBsZWFrcwoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTEgMTk6MDY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTEwIDEwOjUxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBmaXggdGVtcGxhdGUgY2FwcyByZWZjb3VudAoKMjAxMi0wMy0wOSAxNTo1MzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVzZSBvZiBBQ19MQU5HX1BST0dSQU0KCSAgTm8gbmVlZCB0byBpbmNsdWRlIHRoZSBpbnQgbWFpbiAoKSB7IH0gYml0cywgdGhlIGJvZHkgaXMgZW5vdWdoLgoKMjAxMi0wMy0wOSAxNToyNTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGF1dG9nZW4uc2ggd2FybmluZ3MKCSAgY29uZmlndXJlLmFjOjQxMDogd2FybmluZzogQUNfTEFOR19DT05GVEVTVDogbm8gQUNfTEFOR19TT1VSQ0UgY2FsbCBkZXRlY3RlZCBpbiBib2R5CgoyMDEyLTAzLTA4IDEzOjA2OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmg6CgkgIGFhc2luazogcHJvcG9zZSB2aWRlb21ldGEgdXB0cmVhbQoJICBzdWJjbGFzcyBmcm9tIHZpZGVvc2luay4KCSAgUHJvcG9zZSB2aWRlb21ldGEgdXBzdHJlYW0gYmVjYXVzZSB3ZSBjYW4gaGFuZGxlIGl0IHdpdGggdGhlIHZpZGVvIGFwaS4KCjIwMTItMDMtMDggMDE6NTM6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgdW5yZWYgc2FtcGxlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTUzNAoKMjAxMi0wMy0wOCAxMTozNjowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiBpbXByb3ZlIG1vcmUgdGVzdHMKCjIwMTItMDMtMDggMTE6MjA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1ZnNpbmsuYzoKCSAgdGVzdHM6IGZpeCBzb21lIG1vcmUgdGVzdHMKCjIwMTItMDMtMDcgMTU6MjI6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBpbXByb3ZlIGNsZWFudXAKCSAgUmV1c2UgY2xlYW51cCBtZXRob2RzIHRvIG1ha2Ugc3VyZSB3ZSByZW1vdmUgYWxsIHBhZHMgY29ycmVjdGx5CgoyMDEyLTAzLTA3IDE1OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBzZXQgY2FwcyB3aXRob3V0IHRoZSBsb2NrCgkgIFJlbGVhc2UgdGhlIGxvY2sgYmVmb3JlIHNldHRpbmcgdGhlIGNhcHMgb24gdGhlIHNyY3BhZCwgd2hpY2ggdHJpZ2dlcnMgYW4gZXZlbnQsCgkgIHdoaWNoIGNvdWxkIGV2ZW50dWFsbHkgY2FsbCBiYWNrIGludG8gdXMgYW5kIGNhdXNlIGEgZGVhZGxvY2suCgoyMDEyLTAzLTA3IDE0OjU1OjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBwdGRlbXV4OiBzZXQgY2FwcyBhZnRlciBhY3RpdmF0aW5nIHRoZSBwYWQKCSAgU2V0IHRoZSBjYXBzIGFmdGVyIHdlIGFjdGl2YXRlZCB0aGUgcGFkIG9yIGVsc2UgaXQgd2lsbCBqdXN0IGZhaWwuCgoyMDEyLTAzLTA3IDE0OjU0OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBhZGQgbGF5b3V0IHRvIGF1ZGlvIGNhcHMKCjIwMTItMDMtMDcgMTQ6NTE6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgbGF3OiB1c2UgR3N0QXVkaW9JbmZvCgkgIFVzZSBHc3RBdWRpb0luZm8gdG8gZ2VuZXJhdGUgb3V0cHV0IGNhcHMuCgoyMDEyLTAzLTA3IDA0OjIwOjAwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdGRlbXV4OiBjb3ZlcnQgYXJ0IHRhZyB0eXBlIGlzIEdzdFNhbXBsZSBub3QgR3N0QnVmZmVyIG5vdwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNTM0CgoyMDEyLTAzLTA3IDEwOjI4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogZml4IFBPVEZJTEVTLmluIGZvciBuZXcgd2F2cGFja3BhcnNlIGxvY2F0aW9uIGluIHNvdXJjZSB0cmVlCgoyMDEyLTAzLTA2IDIxOjQ0OjM2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IENoYW5nZSB0aGUgZGVmYXVsdCBwb3J0IHRvIDUwMDQKCSAgdWRwc3JjL3VkcHNpbmsgYXJlIGFsbW9zdCBhbHdheXMgdXNlZCB3aXRoIFJUUCwgc28gbGV0J3MgdXNlIGFuCgkgIFJUUCBwb3J0IGFzIHRoZSBkZWZhdWx0IHBvcnQuICBJdCdzIHVuY2xlYXIgd2h5IDQ5NTEgd2FzIHVzZWQsIGl0CgkgIGdvZXMgYmFjayB0byBlYXJseSBjb21taXRzIGluIENWUy4KCjIwMTItMDMtMDYgMjE6MzY6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWVyZ2UgYnJhbmNoICcwLjExJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTItMDMtMDYgMTU6NTg6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTQ6MjU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICB3YXZwYWNrOiBGaXggcG9zc2libGUgdW5kZXJmbG93IG9mIHVuc2lnbmVkIGludGVnZXIgdmFyaWFibGUKCjIwMTItMDMtMDYgMTQ6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJwoJICBUaGlzIHZhcmlhYmxlIGNhbiBuZXZlciBiZSBiZWxvdyB6ZXJvIGFueXdheS4KCjIwMTItMDMtMDYgMTQ6MTg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBVc2UgY29ycmVjdCBlbnVtIGZvciByZXR1cm4gdmFsdWVzCgoyMDEyLTAzLTA2IDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJICBkdmRlcGF5OiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgkgIFRoaXMgd2FzIGFuIGFjdHVhbCBidWcgYXMgaXQgY291bGQndmUgY2F1c2VkIHJlYWRpbmcgZnJvbQoJICBpbnZhbGlkIG1lbW9yeSBhcmVhcyB3aGVuIHRoZSBpbnB1dCBpcyBicm9rZW4uCgoyMDEyLTAzLTA2IDEzOjIxOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCAndmFyaWFibGUgJ29sZGJ4JyBpcyB1bmluaXRpYWxpemVkIHdoZW4gdXNlZCBoZXJlJyBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wMy0wNiAxMzoxOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCAnaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdERlaW50ZXJsYWNlRmllbGRzJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnR3N0RGVpbnRlcmxhY2VNb2RlJycgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNSAxNToyOTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgZ2RrOiBjbGVhbnVwcyBhbmQgZml4IHJvd3N0cmlkZQoJICBGaXggdGhlIG91dHB1dCByb3dzdHJpZGUsIHdlIG5lZWQgdG8gdGFrZSB0aGUgc3RyaWRlIG9mIHRoZSBvdXRwdXQgdmlkZW8gZnJhbWUuCgkgIFNpbmNlIHdlIGFyZSBhbHNvIGRlYWxpbmcgd2l0aCBwbGFuZXMsIHRha2UgdGhlIHBsYW5lIGRhdGEgYW5kIHN0cmlkZS4KCSAgRG9uJ3Qgc3RvcmUgdGhlIHNhbWUgaW5mbyB0d2ljZSBpbiBkaWZmZXJlbnQgdmFyaWFibGVzLgoKMjAxMi0wMy0wNSAxMzozMTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWY6IGZpeCBldmVudCBoYW5kbGluZwoKMjAxMi0wMy0wNSAxMjoyMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogcG9ydCB3YXZwYWNrIHRlc3RzIHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6MzY6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgd2F2cGFja2RlYzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA1IDEyOjE3OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzozNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgd2F2cGFjazogcmVtb3ZlIGxlZ2FjeSB3YXZwYWNrcGFyc2UKCjIwMTItMDMtMDUgMTI6MTU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBwb3J0IHdhdnBhY2twYXJzZSB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjI5OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYwoJICBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmgKCSAgc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jCgoyMDEyLTAzLTA1IDEyOjQzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB4LXJhdy1iYXllciAtPiB4LWJheWVyCgoyMDEyLTAzLTA1IDExOjE3OjMwICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICB2NGwyc2luazogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgWEtleWNvZGVUb0tleXN5bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjk5CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMy0wNSAxMjowMzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZTogdXNlIG5ldyBzdHlsZSBjYXBzCgoyMDEyLTAzLTA1IDEwOjQ5OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogYWxsb3cgc29tZSB0aW1lc3RhbXAgdG9sZXJhbmNlIHRvIGFycmFuZ2UgZm9yIHBlcmZlY3QgdGltZXN0YW1waW5nCgkgIC4uLiB3aGljaCBhbHNvIGhhcHBlbnMgdG8gbWFrZSBzb21lIG1vcmUgdW5pdCB0ZXN0cyBwYXNzLgoKMjAxMi0wMy0wNSAxMDo0Nzo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGZpeCBjb3B5aW5nIG91dHB1dCBkYXRhCgoyMDEyLTAzLTA1IDEwOjQ2OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcmVzdG9yZSBsZWdhY3kgYnVmZmVyIG9mZnNldCBkZWNvcmF0aW5nIHNvbWV3aGF0CgkgIC4uLiBhdCBsZWFzdCBzdWZmaWNpZW50bHkgdG8gYWlkIGluIHJlY29nbml6aW5nIHJld3JpdHRlbiBoZWFkZXIgYnVmZmVyCgkgIG1ha2luZyB1bml0IHRlc3QgcGFzcy4KCjIwMTItMDMtMDUgMTA6NTE6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IGluaXRpYWxpemUgaGVhZGVyIHRvIHNpbGVuY2Ugb2xkZXIgZ2NjIHZlcnNpb25zCgoyMDEyLTAzLTA1IDEwOjQ1OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogcmVtb3ZlIGVtcHR5IGxpbmVzIGluIHZhcmFibGUgZGVjbGFyYXRpb25zIGNhdXNlZCBieSBvbGQgaW5kZW50CgoyMDEyLTAzLTA1IDEwOjQ0OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBqYWNrOiBmaXggb2J2aW91cyB3cm9uZyBkZWZpbml0aW9uIGZvciB0aGUgbWFzdGVyIGZsYWcKCjIwMTItMDMtMDQgMTk6NTU6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGNoYW5nZSB0aGUgdHJhbnNwb3J0LW1vZGUgZW51bSBpbnRvIGZsYWdzCgkgIE9uZSBjYW4gdXNlIChvciBub3QgdXNlKSBtYXN0ZXIgYW5kIHNsYXZlIG1vZGUgaW5kZXBlbmRlbnRseS4KCjIwMTItMDMtMDIgMTE6NDk6MDIgLTA1MDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHN1cHBvcnQgdXAgdG8gNiBjaGFubmVscyBvZiBBQy0zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMjAKCjIwMTItMDMtMDMgMTM6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2xlYXIgRElTQ09OVCBmbGFnIHdoZW4gcmVjeWNsaW5nIGJ1ZmZlcnMgaW50byB0aGUgYnVmZmVyIHBvb2wKCSAgVGhlIGJhc2UgY2xhc3MgbWF5IGhhdmUgc2V0IHRoZSBESVNDT05UIGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBwdXNoZWQKCSAgb3V0LiBXZSBuZWVkIHRvIGNsZWFyIHRoYXQgd2hlbiByZWN5Y2xpbmcgYnVmZmVycyBiYWNrIGludG8gdGhlIGJ1ZmZlcgoJICBwb29sLCBvdGhlcndpc2Ugd2UgY29uc3RhbnRseSBwdXNoIG91dCBidWZmZXJzIHdpdGggdGhlIGRpc2NvbnQgZmxhZwoJICBzZXQsIHdoaWNoIG1pZ2h0IHVwc2V0IGRvd25zdHJlYW0gZWxlbWVudHMsIGVzcC4gZm9yIGNvbXByZXNzZWQKCSAgZm9ybWF0cyBsaWtlIG1wZWctdHMuCgoyMDEyLTAzLTAxIDE0OjE1OjI5ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX211bm1hcCgpIGZvciBjb21wcmVzc2VkIGZvcm1hdHMKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBjYWxsIG11bm1hcCgpIHdpdGggdGhlIHNhbWUgc2l6ZSB3ZSBjYWxsZWQgbW1hcCgpCgkgIHdpdGggYmVmb3JlLgoJICBDdXJyZW50IHY0bDJzcmMgdXNlcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgZm9yIFZJRElPQ19RVUVSWUJVRiwgVklESU9DX1FCVUYKCSAgYW5kIHY0bDJfbXVubWFwIGNhbGxzLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSB2aWRlbyBidWZmZXIgc2l6ZSAobGVuZ3RoKQoJICBtYXkgdmFyeSBmb3IgY29tcHJlc3NlZCBvciBlbXVsYXRlZCBidWZzLiBWSURJT0NfUUJVRiB3aWxsIGNoYW5nZSBpdCBpZgoJICB3ZSBwYXNzIHRoZSBwb2ludGVyIG9mIGEgdjRsMl9idWZmZXIuIFRoaXMgaXMgd2h5IHdlIHNob3VsZCBhdm9pZCB1c2luZwoJICBzYW1lIHZhcmlhYmxlIGZvciBtbWFwIGFuZCB2aWRlbyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTI2CgoyMDEyLTAzLTAyIDExOjE3OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSAgZ3N0OiBVcGRhdGUgZm9yIHRoZSBnc3RtYXJzaGFsLltjaF0gcmVtb3ZhbAoKMjAxMi0wMy0wMiAxMDoxMzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgIG1peGVyL2NvbG9yYmFsYW5jZTogVXBkYXRlIGZvciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0wMSAxNzoxNTo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYWFzaW5rOiBmaXggc3RyaWRlCgoyMDEyLTAzLTAxIDExOjM2OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogZGlzYWJsZSBub24tcG9ydGVkIHdhdnBhY2twYXJzZQoKMjAxMi0wMy0wMSAxMToyOTo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmMKCSAgdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jCgoyMDEyLTAyLTI5IDIyOjMxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogcmVtb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydHkKCjIwMTItMDItMjkgMjI6MzA6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZnNjYWxlOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMi0wMi0yOSAyMjoyODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJICBnZGtwaXhidWZzaW5rOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMjI6MjU6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgZ2RrcGl4YnVmc2NhbGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAyMjoyNDo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmg6CgkgIGdka3BpeGJ1ZmRlYzogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDE3OjI2OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZXMKCjIwMTItMDItMjggMTM6NTE6MTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYmFzZXBhcnNlIGJhc2VkIHdhdnBhY2twYXJzZQoKMjAxMi0wMi0yOCAxMTozODo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIHRhZ3MKCjIwMTItMDItMjcgMjM6NDY6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogYWRqdXN0IHRvIGF1ZGlvIGZvcm1hdCBsaW1pdGF0aW9ucwoJICAuLi4gd2hpY2ggZG9lcyBub3QgYWxsb3cgZXhwcmVzc2luZyBhcmJpdHJhcnkgZGVwdGggaW4gYSBHc3RBdWRpb0Zvcm1hdC4KCSAgQWxzbyBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91ci4KCjIwMTItMDItMjcgMjM6NDY6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tkZWM6IGRldGVybWluZSBkZXB0aCBmcm9tIGJ5dGVzIHBlciBzYW1wbGUKCSAgLi4uIHJhdGhlciB0aGFuIGZyb20gYml0cyBwZXIgc2FtcGxlLCBzaW5jZSBzcGVjIHN0YXRlcyB2YWx1ZXMgYXJlIGFscmVhZHkKCSAgbGVmdCBqdXN0aWZpZWQgdy5yLnQuIGJpdHMgcGVyIHNhbXBsZSBidXQgbm90IHcuci50LiBieXRlcyBwZXIgc2FtcGxlCgkgIChhbmQgc28gdGhlIGxhdHRlciBkZXRlcm1pbmVzIHRoZSBub3JtYWxpemF0aW9uLCBvciBpbmRpY2F0ZWQgZGVwdGgpLgoKMjAxMi0wMi0yNyAyMzo0NjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgd2F2cGFja2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDItMjcgMjM6NDU6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCSAgQWxzbyBhZGp1c3QgdW5pdCB0ZXN0IHRvIHNsaWdodGx5IG1vZGlmaWVkIGJlaGF2aW91ci4KCjIwMTItMDItMjcgMTQ6NDc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvcHVsc2UuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9wcm9iZS5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgU3VwcHJlc3MgZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gc2VsZWN0ZWQgZmlsZXMsIGZvciBnX3ZhbHVlX2FycmF5XyogbW9zdGx5CgoyMDEyLTAyLTI3IDEzOjA5OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNyAxMzowNTozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IGV2ZW50IGhhbmRsaW5nCgkgIEZpeCBkb2RneSBzZWdtZW50IGV2ZW50IGhhbmRsaW5nCgkgIENoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI3IDA5OjE0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogdXNlIHB1YmxpYyBhcGkKCSAgaW5zdGVhZCBvZiBwb2tpbmcgaW50byB0aGUgcHJpdmF0ZSBzdHJ1Y3R1cmVzIG9mIHRoZSBiYXNlIGNsYXNzCgoyMDEyLTAyLTI3IDA2OjM1OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICBhbXJ3YmRlYywgbGFtZSwgbWFkOiBsaW5rIHRvIGxpYmdzdGJhc2UKCjIwMTItMDItMjcgMDE6MDk6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGZsdm11eCwgbWF0cm9za2FtdXgsIHF0bXV4OiBpZiBpbiBkb3VidCBhYm91dCBkb3duc3RyZWFtIHNlZWthYmlsaXR5IGRlZmF1bHQgdG8gc3RyZWFtaW5nPXRydWUKCSAgSWYgZG93bnN0cmVhbSBkaWRuJ3QgYW5zd2VyIG91ciBTRUVLSU5HIHF1ZXJ5IGFuZCB0b2xkIHVzCgkgIGl0J3Mgc2Vla2FibGUsIGRlZmF1bHQgdG8gc3RyZWFtaW5nPXRydWUuIFdlIGNvdWxkbid0IGRvCgkgIHRoaXMgaW4gMC4xMCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdlCgkgIGNhbiBpbiAwLjExLiBQbGF5IGl0IHNhZmUuCgoyMDEyLTAyLTI3IDAxOjAwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYwoKMjAxMi0wMi0yNyAwMDo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJ2Y5MjA3NzIyY2E4ZmQ4ZGNjMWU3MjE1ZDhhZjg1ZWZlNGRlYmZkZjQnIGludG8gMC4xMQoKMjAxMi0wMi0yNyAwMDo1NTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggdXAgYWZ0ZXIgbWVyZ2UKCjIwMTItMDItMjcgMDA6NDg6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICczODUxNmFkMzY3MTI4ZDgzZjllMTU2NTI5MDE4YWRiNDQzM2NkMzI4JyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmMKCjIwMTItMDItMjYgMjA6Mzk6NTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMi0yNiAyMDozMDoyNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMi0yNSAxNTo1NToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2UgcXRtdXggISBhcHBzaW5rIHBvc3NpYmx5IGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNSAxNTo0ODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSBmbHZtdXggISBhcHBzaW5rIHBvc3NpYmx5IGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNSAxNTo0MDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2Ugd2VibW11eCAhIGFwcHNpbmsgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI0IDExOjAzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB1cGRhdGUgZm9yIGJhc2V0cmFuc2Zvcm0gY2hhbmdlCgoyMDEyLTAyLTI0IDEwOjI2OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgY2hhbmdlCgoyMDEyLTAyLTIzIDA4OjQyOjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLnZjcHJvajoKCSAgZWZlbmNlOiByZW1vdmUgcGx1Z2luCgkgIFZhbGdyaW5kIGlzIG11Y2ggbW9yZSB1c2VmdWwgdGhlc2UgZGF5cy4KCjIwMTItMDItMjMgMTI6MDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSAgVXBkYXRlIE5FV1MgYW5kIFJFTEVBU0UgYXMgd2VsbAoKMjAxMi0wMi0yMyAxMTowNzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQnVtcCB2ZXJzaW9uIGFmdGVyIHJlbGVhc2UKCjIwMTItMDItMjMgMTI6MDM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIGF1ZGlvZng6IHJlbW92ZSB0cmFuc2Zvcm0gbG9jayB1c2FnZQoKMjAxMi0wMi0yMyAxMToxNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB1cGRhdGUgZm9yIGJhc2V0cmFuc2Zvcm0gbG9jayByZW1vdmFsCgoyMDEyLTAyLTIyIDIzOjM2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBkZWJ1Z3V0aWxzOiBkaXNhYmxlIGVmZW5jZSBwbHVnaW4gcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBpdCBidWlsdCBpZiBtbWFwIGlzbid0IGF2YWlsYWJsZSBlaXRoZXIuLgoKMjAxMi0wMi0yMiAxNzozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBnZXRfY2FwcyBmdW5jdGlvbiBzb21lIG1vcmUgc28gdGhhdCBhbGwgc3RydWN0dXJlcyBoYXZlIGNoYW5uZWwgaW5mbwoJICBTZXQgY2hhbm5lbHMgYW5kIGNoYW5uZWwtbGF5b3V0IG9uIHRoZSByaWdodCBzdHJ1Y3R1cmU7IHRoYXQgaXMsIHRoZQoJICBzdHJ1Y3R1cmUgd2UgYXJlIGdvaW5nIHRvIGFwcGVuZCB0byB0aGUgY2FwcyB3ZSBhcmUgYnVpbGRpbmcsIGFuZCBub3QKCSAgdGhlIHN0cnVjdHVyZSB3ZSBhcmUgdXNpbmcgYXMgYSB0ZW1wbGF0ZSBmb3IgYWxsIHRoZSBzdHJ1Y3R1cmVzLiBGaXhlcwoJICBmaXJzdCBzdHJ1Y3R1cmUgb2YgdGhlIHJldHVybmVkIGNhcHMgbm90IGhhdmluZyBhbnkgY2hhbm5lbCBpbmZvIHNldAoJICBvbiBpdC4KCjIwMTItMDItMjIgMTc6MDk6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgbGlzdCBhbmQgc3RyaW5nIGNvcGllcwoKMjAxMi0wMi0yMiAxNzowMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGF1ZGlvIGNhcHMgaGF2ZSBhICpsaXN0KiBvZiBmb3JtYXRzLCBub3QgYW4gYXJyYXkgb2YgZm9ybWF0cwoJICBBIGxpc3Qgb2YgdGhpbmdzIGluIGNhcHMgaXMgc29tZXRoaW5nIHdoZXJlIG9uZSBpcyBwaWNrZWQgaW4gdGhlCgkgIGNvdXJzZSBvZiBuZWdvdGlhdGlvbi4gQW4gYXJyYXkgaXMgYWx3YXlzIHNvbWV0aGluZyB0aGF0IG9ubHkgbWFrZXMKCSAgc2Vuc2UgYXMgYSB3aG9sZSBpbiB0aGF0IG9yZGVyLgoKMjAxMi0wMi0yMiAxODowMjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBwb3N0LXBvcnQgYm9ndXMgX3VucmVmCgoyMDEyLTAyLTIyIDE3OjAwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIGJvZ3VzIHBhZCBsb2NraW5nIHRoYXQgY2F1c2VzIGRlYWRsb2NrcwoJICBJdCdzIG5vdCBjbGVhciB3aHkgdGhlIHBhZCBvYmplY3QgbG9jayBpcyB0YWtlbiBoZXJlLiBCdXQKCSAgZ3N0X3BhZF97aGFzLGdldH1fY3VycmVudF9jYXBzKCkgd2lsbCB0cnkgdG8gdGFrZSB0aGUgbG9jawoJICBhcyB3ZWxsIGFuZCBkZWFkbG9jaywgc2luY2UgaXQncyBub3QgcmVjdXJzaXZlLgoKMjAxMi0wMi0yMiAxNjo1OTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHNldCByaWdodCBudW1iZXIgb2YgY2hhbm5lbHMgb24gY2FwcyBpbiBnZXRfY2FwcyBmdW5jdGlvbgoKMjAxMi0wMi0yMSAxNzoxNjozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiBhdm9pZCB0b3VjaGluZyAucG8gZmlsZXMgZHVyaW5nICdtYWtlJwoJICBBIHNpbXBsZSB3b3JrYXJvdW5kIHRvIGRlYWwgd2l0aCBHTlUgZ2V0dGV4dCBhdXRvbWFrZSBpbnRlZ3JhdGlvbgoJICBmYWlsaW5nIHRvIGRlYWwgd2l0aCBnaXQuICBGaXhlczogIzY2OTIwNwoKMjAxMi0wMi0yMiAwMjowNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTIxIDE3OjU3OjQ0ICswMTAwICBWaW5jZW50IFVudHogPHZ1bnR6QGdub21lLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogRml4IGEgYnVpbGQgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGFzc2VydHMgZGlzYWJsZWQKCSAgUmV0dXJuIGEgdmFsdWUgZXZlbiBpZiB0aGUgY29kZSB3aWxsIG5ldmVyIGJlIHJlYWNoZWQsIHRvIG1ha2UgY29tcGlsZXJzCgkgIGhhcHB5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNTYxCgoyMDEyLTAyLTIxIDE4OjQyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogc3VwcG9ydCBwYXJzaW5nIGZyZWVmb3JtIGJpdHJhdGUgc3RyZWFtCgoyMDEyLTAyLTIxIDE4OjM5OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgbW9ub3Njb3BlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjEgMTA6NTM6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTIwIDEyOjIyOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZvcmNlIGJhc2VsaW5lIGlzIHByb2ZpbGUtbGV2ZWwtaWQgaXMgdW5zcGVjaWZpZWQKCjIwMTItMDItMjEgMTA6NDA6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCBtZXJnZSBlcnJvcgoKMjAxMi0wMi0yMCAxMjoyMjoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGb3JjZSBiYXNlbGluZSBpcyBwcm9maWxlLWxldmVsLWlkIGlzIHVuc3BlY2lmaWVkCgoyMDEyLTAyLTIwIDE2OjM1OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI2IDAzOjI5OjI4IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDItMTggMTE6Mzg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGZpeCB1cCBsZXZlbCB0ZXN0IGZvciBHc3RWYWx1ZUxpc3QgLT4gR1ZhbHVlQXJyYXkgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAzMDMKCjIwMTItMDItMTYgMTg6MDE6MjkgKzAyMDAgIFBldGVyaXMgS3Jpc2phbmlzIDxwZWNpc2tAZ21haWwuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiB1c2UgR1ZhbHVlQXJyYXkgaW5zdGVhZCBvZiBHc3RWYWx1ZUxpc3QgaW4gbWVzc2FnZXMKCSAgVXBkYXRlZCBHc3RMZXZlbCBlbGVtZW50IHRvIHVzZSBHVmFsdWVBcnJheSBpbnN0ZWFkIG9mCgkgIEdzdFZhbHVlTGlzdCBmb3Igcm1zL3BlYWsvZGVjYXkga2V5cyBhdHRhY2hlZCB0byBlbGVtZW50CgkgIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAzMDMKCjIwMTItMDItMTggMDA6MDA6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGRldmVsb3BtZW50CgoyMDEyLTAyLTE3IDIzOjU0OjI5ICswMTAwICBEb21pbmlxdWUgTGV1ZW5iZXJnZXIgPGRvbWluaXF1ZS1nbm9tZXppbGxhIGF0IGxldWVuYmVyZ2VyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgTm8gbG9uZ2VyIHJlZmVyZW5jZSBkZXByZWNhdGVkIGhlYWRlciBmaWxlcyB3aGlsZSBidWlsZGluZyBkb2NzLgoKMjAxMi0wMi0xNyAyMzo0OToyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jCgoyMDEyLTAyLTE3IDE3OjIxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZml4IHN3aXRjaGluZyBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vbi1wYXNzdGhyb3VnaCB3aGVuIHBhcmFtZXRlcnMgY2hhbmdlCgkgIGNvbW1pdCBiNWJmMDI5NCBtb3ZlZCB0aGUgaWYobmVlZF9uZXdfY29lZmZpY2llbnRzKSBzZXRfcGFzc3Rocm91Z2goZXF1KQoJICBhZnRlciB0aGUgaWYoaXNfcGFzc3Rocm91Z2gpIHJldHVybiBGTE9XX09LIHNob3J0Y3V0LCBzbyB0aGUgcGFzc3Rocm91Z2gKCSAgbW9kZSB3b3VsZCBuZXZlciBnZXQgdXBkYXRlZCBldmVuIGlmIHRoZSBjb2VmZmljaWVudHMgY2hhbmdlLgoJICBGaXhlcyBlcXVhbGl6ZXItdGVzdCBkb2luZyAuLiBub3RoaW5nLgoKMjAxMi0wMi0xNyAxNzo1NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbSo6IGZpeCBsZWFrZWQgY2FwcyBldmVudAoKMjAxMi0wMi0xNyAxMzoyNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBwYXJzZSBlaXRoZXIgWGluZyBvciBWQlJJIGRhdGEKCSAgLi4uIGFuZCBhdm9pZCBjb25mdXNpbmcgZGVidWcgbWVzc2FnZSBjbGFpbWluZyBuZWl0aGVyIHByZXNlbnQuCgoyMDEyLTAyLTE3IDE0OjM4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2s6IGZpeCBzZWdtZW50IHVwZGF0ZQoKMjAxMi0wMi0xNyAxMTowNToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4xID09PQoKMjAxMi0wMi0xNyAxMTowNDo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIFJFTEVBU0UgMC4xMS4xCgoyMDEyLTAyLTE2IDIzOjMzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGJ1ZmZlciBsZWFrCgoyMDEyLTAyLTE2IDIzOjQwOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wMi0xNiAyMzozMzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMTYgMTU6MzE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTAyLTE2IDE1OjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMTQgMTE6NTY6MDAgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBwb3J0IHRvIDAuMTEKCSAgUG9ydCBvZiB0aGUgaW50ZXJsZWF2ZSBlbGVtZW50IGFuZCBpdHMgdW5pdHRlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjQzCgoyMDEyLTAyLTE2IDE0OjIzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNiAxNzoxNDoyMCArMDgwMCAgR2FyeSBDaGluZy1QYW5nIExpbiA8Y2hpbmdwYW5nQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZmFpbHVyZSB0byBxdWVyeSBzb21lIG9wdGlvbmFsIGNvbnRyb2xzIGlzIG5vdCBhIGZhdGFsIGVycm9yCgkgIERvbid0IHBvc3QgYSAoZmF0YWwpIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBqdXN0IGJlY2F1c2Ugd2UKCSAgZmFpbGVkIHRvIHF1ZXJ5IHNvbWUgY29udHJvbC4gRml4ZXMgaXNzdWUgd2l0aCBidWlsdC1pbgoJICBTdXlpbiBDb3JwIHdlYmNhbSBmb3IgSFAgbm90ZWJvb2sgKHVzYmlkIDA2NGU6ZTI4YSkgb24KCSAgT3BlblN1c2UgMTIuMSwgd2hlcmUgcXVlcnlpbmcgcmVkL2JsdWUgYmFsYW5jZSBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDE5NwoKMjAxMi0wMi0xNiAxMjo1OToxMCArMDAwMCAgVHV1a2thIFBhc2FuZW4gPHR1dWtrYS5wYXNhbmVuQGlsbWkuZmk+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCBmb3Igd2ViY2Ftc3R1ZGlvIHZsb29wYmFjawoJICBCZWNhdXNlIHZsb29iYWNrIGVtaXRzIDI1IC0gRU5PVFRZIGFuZCBubyBFSU5WQUwgdjRsMnNyYyB0aG91Z2h0IGl0CgkgIGNhbid0IGhhbmRsZSB0aGlzIGFuZCBkb2VzIG5vdCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NDU1CgoyMDEyLTAyLTE2IDExOjIxOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrCgkgIEl0J3MgaG93IHdlIHJvbGwuIEZpeGVzICdJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlJwoJICBjb21waWxlciB3YXJuaW5nLgoKMjAxMi0wMi0xNSAyMzo1NTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGZpeCBzcGVjdHJ1bSBleGFtcGxlIGJ1aWxkIGlzc3VlcwoJICBGaW5kIGZmdCBoZWFkZXJzIGluIHVuaW5zdGFsbGVkIHNldHVwLCBmaXggTElCUyBvcmRlci4KCjIwMTItMDItMTUgMTI6NDE6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZW1vdmUgc29tZSB1bnVzZWQgZGVjbGFyYXRpb25zCgoyMDEyLTAyLTE1IDExOjI1OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgIHNwZWN0cnVtLWRlbW86IHNob3cgdGhlIGVmZmVjdCBvZiBmYXN0LW1vZGUKCjIwMTItMDItMTQgMTI6MjY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBhc3BlY3RyYXRpb2Nyb3A6IGZpeCBjYXBzIHJlZmNvdW50CgoyMDEyLTAyLTE0IDExOjIyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LCB1c2UgdmlkZW9jb252ZXJ0CgoyMDEyLTAyLTE0IDEwOjUxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jCgoyMDEyLTAyLTA5IDEzOjQxOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDE3OjEzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2UKCjIwMTItMDItMTMgMTI6MDY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIHRlc3RzOiBmbGFjcGFyc2U6IGNoZWNrIGFuZCBjb21wYXJlIGludGVuZGVkIGRhdGEKCjIwMTItMDItMTIgMTc6MDM6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYwoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmMKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaAoKMjAxMi0wMi0xMiAxNjoyMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJwbHVnaW4uYzoKCSAgdGFnbGliOiBwb3J0IHRvIEdzdFRhZ011eCBiYXNlIGNsYXNzCgoyMDEyLTAyLTEyIDEyOjI0OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHRhZ2xpYjogZmluaXNoIG9mZiBhIGZldyBtaXNzZWQgdmFyaWFibGUgY2hhbmdlcwoJICBMb2NhbCB2YXJpYWJsZXMgYXJlIG5vdyB1bnVzZWQsIGFuZCB0aGUgdmFsdWVzIGZyb20gdGhlIHNlZ21lbnQgY29weQoJICBhcmUgdXNlZCBpbnN0ZWFkLCBzbyByZW1vdmUgdGhlIG5vdyB1c2VsZXNzIGxvY2FsIHZhcmlhYmxlcyBhbmQgd3JpdGUKCSAgdG8gdGhlIHNlZ21lbnQgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDEyLTAyLTEwIDE2OjIzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmMKCSAgZXh0L3B1bHNlL3BsdWdpbi5jCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jCgoyMDEyLTAyLTA4IDIzOjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IHRvIGgyNjQgc2luayBjYXBzCgkgIFdlJ3JlIGhhcHB5IHRvIGFjY2VwdCBib3RoIGJ5dGUtc3RyZWFtIGFuZCBhdmMsIGFkdmVydGlzZQoJICB0aGF0IG9uIHRoZSBzaW5rIGNhcHMgYW5kIGZpeCB1cCBfZ2V0X2NhcHMoKSBmdW5jdGlvbiB0bwoJICBub3QganVzdCByZXR1cm4gInZpZGVvL3gtaDI2NCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTItMDItMDggMjA6NTg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IGZpZWxkcyB0byBzcmMgdGVtcGxhdGUgY2FwcwoJICBCZWNhdXNlIHdlIGNhbi4gQW5kIHNvIHdlIGdldCBhIHdhcm5pbmcgaWYgd2UgdHJ5IHRvIG91dHB1dCBhdmMgd2l0aAoJICBuYWwgYWxpZ25tZW50IG9yIHNvbWVzdWNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEyLTAyLTEwIDEzOjQ0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBjbGVhbiB1cCBydHAtcGF5bG9hZGluZyB0ZXN0IGEgbGl0dGxlCgkgIEZlZWQgZGF0YSBpbnRvIHRoZSBwaXBlbGluZSB1c2luZyBhcHBzcmMgaW5zdGVhZCBvZiBmZHNyYyBhbmQKCSAgYSBwaXBlLiBTdG9yZSB1bnNpZ25lZCBieXRlIHZhbHVlcyBpbiBndWludDggaW5zdGVhZCBvZiBjaGFyLgoJICBHZXR0aW5nIHJpZCBvZiB0aGUgY2Fwc2ZpbHRlciBhbHNvIGhlbHBzIHRvIGF2b2lkICdmb3JtYXQgaXMKCSAgbm90IGZ1bGx5IHNwZWNpZmllZCcgd2FybmluZ3Mgd2hlbiBwdXNoaW5nICJ2aWRlby94LWgyNjQiIGRhdGEKCSAgaW50byBydHBoMjY0cGF5IHdpdGggZnVsbHkgc3BlY2lmaWVkIGgyNjQgY2FwcyBpbiB0aGUgc2luayB0ZW1wbGF0ZS4KCjIwMTItMDItMTAgMTA6MDc6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogdXNlIGRlZmF1bHQgcGFkIHF1ZXJ5CgkgIFdlIG5lZWQgdG8gY2hhaW4gdXAgdW5rbm93biBxdWVyaWVzIHRvIHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgaW5zdGVhZCBvZgoJICBibGluZGx5IGZvcndhcmRpbmcgdGhlbS4gSW4gdGhpcyBjYXNlIGl0IGNhdXNlZCB0aGUgY2FwcyBxdWVyeSB0byBiZSBmb3J3YXJkZWQKCSAgdG8gdGhlIHVwc3RyZWFtIHR5cGVmaW5kIGFuZCByZXR1cm4gdGhlIHdyb25nIHR5cGUgZm9yIHRoZSBhdWRpby92aWRlbyBwYWQuCgoyMDEyLTAyLTA5IDIyOjEyOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIHRlc3RzOiBtcGVnYXVkaW9wYXJzZTogcmVtb3ZlIHN0cmF5IGRlY2xhcmF0aW9uCgoyMDEyLTAyLTA5IDIyOjA3OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGNvcnJlY3RseSBzZXQgQURJRiBzcmMgY2FwcwoKMjAxMi0wMi0wOSAyMjoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcmV2ZW50IGEgZmV3IGRpcmVjdCBleGl0cyB3aXRob3V0IGNsZWFudXAKCjIwMTItMDItMDkgMjI6MDc6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzaGlmdCBpbiBwcm9wZXIgZGlyZWN0aW9uIGZvciBhdWRpbyBzYW1wbGUgY29udmVyc2lvbgoKMjAxMi0wMi0wOSAxODowOTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAyLTA5IDEwOjExOjQ4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiB0eXBvIGZpeCAoYnl0ZXMgc2VuZCAtPiBieXRlcyBzZW50KQoKMjAxMi0wMi0wOCAxNjozNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wOCAxNjozNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wNyAxNDoxMDo0NCAtMDgwMCAgUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogc2VuZCB2aWRlby93ZWJtIHRocm91Z2ggbGlic2hvdXQuCgkgIFRoaXMgcmVxdWlyZXMgU0hPVVRfRk9STUFUX1dFQk0sIGFkZGVkIGluIGxpYnNob3V0IDIuMy4wLAoJICBzbyB2aWRlby93ZWJtIHN1cHBvcnQgaXMgY29udGluZ2VudCBvbiB0aGF0IHN5bWJvbCBiZWluZwoJICBkZWZpbmVkLgoJICBBbHNvIGFuIGluZGVudGF0aW9uIGNoYW5nZSByZXF1aXJlZCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NTkwCgoyMDEyLTAxLTMwIDE2OjQwOjE5ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHBvcnQgdG8gMC4xMQoJICBQb3J0IG9mIHRoZSBkZWludGVybGVhdmUgZWxlbWVudCBhbmQgaXRzIHVuaXR0ZXN0cy4gVGhlIGludGVybGVhdmUKCSAgZWxlbWVudCB3aWxsIGJlIHBvcnRlZCBhcyBwYXJ0IG9mIGFub3RoZXIgcGF0Y2gsIGhlbmNlIGRpc2FibGluZyBpdAoJICBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4ODQ3CgoyMDEyLTAyLTA3IDIzOjQxOjEzICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY29tcGlsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2MDcKCjIwMTItMDItMDggMDA6MDg6NDkgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IFBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjEyCgoyMDEyLTAyLTA3IDIxOjU3OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHJld29yayB0cmFuc3BvcnQgc3VwcG9ydAoJICBNb3ZlIGNvbW1vbiBjb2RlIHRvIGphY2tjbGllbnQuIFRoZXJlIHdlIGNhbiBhbHNvIGhhbmRsZSB0aGUgcmVxdWVzdCBzdGF0ZQoJICBtZXNzYWdlIGluIGEgYmV0dGVyIHdheSwgYXMgdGhlIGVsZW1lbnQgY2FsbGJhY2tzIGFyZSBvbmx5IHJ1biBpZiB0aGUgZWxlbWVudCBpcwoJICBhY3RpdmUuCgoyMDEyLTAyLTA3IDEwOjQ3OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgdGVzdHM6IGltcHJvdmUgdGFnbXV4IHRlc3RzCgoyMDEyLTAyLTA3IDEwOjI5OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgdGFnbGliOiBmaXggb2JqZWN0IHJlZ2lzdHJhdGlvbgoJICBXZSBjYW4ndCB1c2UgR19ERUZJTkVfVFlQRSBiZWNhdXNlIHRoZSBjbGFzcyBpcyBub3Qgc2V0IGluIHRoZSBjbGFzc19pbml0IGFuZCB3ZQoJICBuZWVkIGl0IHRvIGdldCB0aGUgc3JjcGFkIHRlbXBsYXRlLgoJICBGaXggYSBjYXBzIGxlYWsKCjIwMTItMDItMDcgMTA6MTY6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIHRlc3RzOiBmaXgganBlZyB0ZXN0CgoyMDEyLTAyLTA3IDEwOjE1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IGNhcHMKCjIwMTItMDItMDcgMDk6NTQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0dHY6IGZpeCBpbml0aWFsaXNhdGlvbgoKMjAxMi0wMi0wNyAwOTo0MjowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogZml4IG5lZ290aWF0aW9uCgoyMDEyLTAyLTA3IDA5OjQxOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAyMjoxMzo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTA2IDE4OjM1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0OiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxNTo1Mjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTU6NTI6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogZml4IGNhcHMKCjIwMTItMDItMDYgMTU6MjA6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgaWlyZXF1YWxpemVyOiBmaXggZXF1YWxpemVyIGFuZCB1bml0IHRlc3QKCjIwMTItMDItMDYgMTM6NDQ6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxMzo0Mzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdGFrZSB0aGUgcGFkIGZyb20gY29sbGVjdHBhZHMyIGNvcnJlY3RseQoKMjAxMi0wMi0wNiAxMzoyOToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDEyLTAyLTA2IDEzOjI4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZml4IG5lZ290aWF0aW9uCgoyMDEyLTAxLTI4IDExOjEzOjE2ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBwb3N0aW5nIGludmFsaWQgZHVyYXRpb24gZm9yIGVhY2ggZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjU4MwoKMjAxMi0wMi0wNiAxMDowNzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDA5OjQ5OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGltcHJvdmUgc29tZSB0ZXN0cwoKMjAxMi0wMi0wNiAwOToyMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGppdHRlcmJ1ZmZlciB0ZXN0CgoyMDEyLTAyLTA2IDA5OjIzOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGNhcHMgYWZ0ZXIgcHQgY2hhbmdlCgoyMDEyLTAyLTA2IDA5OjE4OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGNhcHMgbGVhawoKMjAxMi0wMi0wMyAyMjowNTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBMb3dlciByYW5rIHRvIHByZXZlbnQgYXV0b3BsdWdnaW5nCgkgIHB1bHNlYXVkaW9zaW5rIGJyZWFrcyB2aXN1YWxpc2F0aW9ucyBpbiBpdHMgY3VycmVudCBmb3JtLCBzbyBsZXQncwoJICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgZm9yIHRoZSB0aW1lIGJlaW5nLgoJICBUaGUgYmVzdCB3ZSBjYW4gaG9wZSB0byBkbyBpbiB0aGUgMC4xMCBzZXJpZXMgaXMgcXVlcnkgdGhlIGxpc3Qgb2YKCSAgYXZhaWxhYmxlIHNpbmtzIGFuZCB0aGVpciBmb3JtYXRzLCBhbmQgZXhwb3NlIHRoZXNlIGFzIHRoZSBiaW4ncyBzaW5rcGFkCgkgIGNhcHMuIFdoaWxlIHRoaXMgaXMgbm90IGEgY29tcHJlaGVuc2l2ZSBzb2x1dGlvbiwgaXQgd2lsbCBtYWtlIHN1cmUgdGhhdAoJICB3ZSdyZSBvbmx5IHRyeWluZyB0byBzdXBwb3J0IGNvbXByZXNzZWQgZm9ybWF0cyBpZiB3ZSdyZSBjZXJ0YWluIHRoYXQKCSAgb25lIGV4aXN0cy4KCSAgVGhlIGxvbmctdGVybSBmaXggZm9yIHRoaXMgd2lsbCBiZSBpbiB0aGUgZm9ybSBvZiBwcm9wZXIgdXBzdHJlYW0KCSAgcmVuZWdvdGlhdGlvbiBzdXBwb3J0IGluIHRoZSAwLjExLzEuMCBzZXJpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjYzNjEKCjIwMTItMDItMDMgMTc6MjM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wMyAxNjoxMzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMi0wMyAxNjoxMjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzcmNwYWQgY2FwcyBoYW5kbGluZwoKMjAxMi0wMi0wMyAxNjoxMjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGVuYzogZml4IGNhcHMgaGFuZGxpbmcKCjIwMTItMDItMDMgMTQ6NTM6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZXZlbnQgbGVhayB3aGVuIHRoZXJlIGlzIG5vIHBlZXIgb24gdGhlIHNyYyBwYWQKCjIwMTItMDItMDIgMTY6MjE6MjkgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMTItMDItMDIgMTI6Mjc6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBzcGVjaWZ5IHdlIG9ubHkgYWNjZXB0IHJhdyBBQUMgaW4gdGVtcGxhdGUgY2FwcwoJICBObyBoZWFkZXIgc2VlbXMgdG8gYmUgYWRkZWQsIGFuZCB0aGUgY29kZWMgSUQgaXMgdGhlIHNhbWUgYXMgdXNlZAoJICBmb3IgcmF3IGJ5IGZsdmRlbXV4LCBzbyByYXcgc2VlbXMgdGhlIG9ubHkgc3VwcG9ydGVkIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTI6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc3BlY2lmeSB3ZSBvbmx5IG91dHB1dCByYXcgQUFDIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMSAxODowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIHRhZ2xpYjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAxIDE2OjQwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGlnbm9yZSBHVmFsdWVBcnJheSBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgdW50aWwgdGhpcyBnZXRzIHNvcnRlZCBvdXQgd2l0aCB0aGUgR0xpYiBmb2xrcyBhbmQgd2UgaGF2ZSBhCgkgIHZpYWJsZSBhbHRlcm5hdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyOAoKMjAxMi0wMi0wMSAxNjozNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICBwdWxzZTogZGlzYWJsZSBzb21lIHVudXNlZCBwcm9wZXJ0eSBwcm9iZSBjb2RlCgkgIHdoaWNoIHdhcyB1c2luZyBHVmFsdWVBcnJheQoKMjAxMi0wMi0wMSAxNjoyMDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIHR3b2xhbWU6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyMDoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoxMToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MDU6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMS0zMSAxNTozOTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDEtMzAgMTQ6NTI6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IGRvIG5vdCB0cnkgdG8gZmx1c2ggYSBwYWNrZXQgd2hlbiBubyBkYXRhIGlzIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4ODc0CgoyMDEyLTAxLTMxIDEzOjQxOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiB1cGRhdGUgc29tZSB0ZXN0cyBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDEtMzEgMTI6MjI6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wtc291cmNlIHR5cGUgY2hhbmdlcwoKMjAxMi0wMS0zMCAyMTozOTozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcmVuYW1lIGNvbnRyb2wtYmluZGluZ3MKCSAgZ3N0X2NvbnRyb2xfYmluZGluZ194eHggLT4gZ3N0X3h4eF9jb250cm9sX2JpbmRpbmcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wMS0zMCAxNzoxNjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTAtMDYtMTEgMDg6MzY6MzMgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBFeGNsdWRlIE5BTHUgc2l6ZSBmcm9tIHBheWxvYWQgbGVuZ3RoIG9uIHRydW5jYXRlZCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODQ2CgoyMDEyLTAxLTI4IDIzOjM1OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBvYnNvbGV0ZSB2YXJpYWJsZSwgc2V0IGJ1dCBub3QgdXNlZAoJICBSZXBvcnRlZCBieSBhbmRyZWRpZWIgb24gI2dzdHJlYW1lci4KCjIwMTItMDEtMjggMTM6MDU6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBhdm9pZCB3cmFwcGluZyBvcGFxdWUgdG8gdHJhbnNwYXJlbnQKCjIwMTItMDEtMjggMTI6MzU6MTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IGZyZWUgbWVtb3J5IHR3aWNlCgkgIEEgcmVjZW50IGNoYW5nZSB0byBmaXggbGVha2luZyBjb2RlYyBJRCBzdHJpbmcgYWNjaWRlbnRhbGx5IGNhdXNlZAoJICBvbmUgb2YgdGhlIHZlcnkgZmV3IHBsYWNlcyB0aGF0IHdlcmVuJ3QgbGVha2luZyB0byBub3cgZnJlZSB0d2ljZS4KCjIwMTItMDEtMjcgMTY6Mjc6NDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWM6IEVhY2ggb3V0cHV0IHNhbXBsZSBpcyAyIGJ5dGVzCgoyMDEyLTAxLTI3IDEyOjE0OjQ5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgbGVhayBjYXBzIGV2ZW50IHdoZW4gbm90IHB1c2hpbmcKCjIwMTItMDEtMjcgMTI6MDQ6NTMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cwoKMjAxMi0wMS0yNyAxMjowNDowNSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogUHJvdGVjdCBhbGwgdXNlcyBwYWQgbGlzdCB3aXRoIE9CSkVDVCBMT0NLCgkgIEFjdHVhbGx5IHByb3RlY3QgdGhlIGVudGlyZSBwYWQgbGlzdCBhbmQgdXNlIGl0IGluIGEgdGhyZWFkIHNhZmUKCSAgd2F5LgoKMjAxMi0wMS0yNyAxMjowMjoyNSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cyB0byBuZXcgcGFkcwoKMjAxMi0wMS0yNyAxMjowMTo0MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEFkZCBzc3JjIHRvIGZvcndhcmRlZCBDQVBTIGV2ZW50cwoJICBBbHNvIGl0ZXJhdGUgdGhlIGxpc3Qgb2YgR3N0UnRwU3NyY0RlbXV4UGFkIHNhZmVseQoKMjAxMi0wMS0yNyAxMTo1OTowOCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjY2RlbXV4OiBGYWN0b3Igb3V0IGdldHRpbmcgZHBhZCBieSBwYWQKCjIwMTItMDEtMjYgMTg6MzU6NDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEtlZXAgdGhlIGJ1ZmZlciBtYXBwZWQgd2hpbGUgaXQgaXMgYmVpbmcgbW9kaWZpZWQKCjIwMTItMDEtMjYgMTg6MzU6MjcgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGFkZHJlc3MgcG9pbnRlciB0byBOVUxMCgoyMDEyLTAxLTI3IDEyOjA3OjQzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBVc2UgbmV3LXN0eWxlIGNhcHMKCjIwMTItMDEtMjcgMTY6Mzc6MTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3NvdW5kc2luazogUG9ydCBlbGVtZW50IHRvIDAuMTEKCjIwMTItMDEtMjYgMTk6NDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcmVtb3ZlIHBhZCBldmVudCBmdW5jdGlvbgoJICBXZSB1c2UgdGhlIG9uZSBmcm9tIGNvbGxlY3RwYWRzCgoyMDEyLTAxLTI2IDE4OjI2OjAyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTMyNjEyNjExMjBiNGMwMDhkZTYxNjkxYzcwZTk0MzU0YjI4MDA0YS4KCSAgVGhlIEdzdERhdGVUaW1lLT5HRGF0ZVRpbWUgY2hhbmdlIGluIGNvcmUgd2FzIGFwcGFyZW50bHkgYWNjaWRlbnRhbCwKCSAgYW5kIGlzIG5vdyByZXZlcnRlZC4KCjIwMTItMDEtMjYgMTg6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFjYzlmMTUwOTY4YjI1YzVhZTVhNjk0MGIzNGFkMmQ1MWIxNzRmZDIuCgkgIFRoZSBHc3REYXRlVGltZS0+R0RhdGVUaW1lIGNoYW5nZSBpbiBjb3JlIHdhcyBhcHBhcmVudGx5IGFjY2lkZW50YWwsCgkgIGFuZCBpcyBub3cgcmV2ZXJ0ZWQuCgoyMDEyLTAxLTI2IDE3OjUwOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCSAgVGhpcyBpcyBhIGJsaW5kIGZpeCB0byBtYXRjaCB0aGUgb25lIEkganVzdCBtYWRlIHRvIHF0ZGVtdXgsCgkgIGFzIEkgZG8gbm90IGhhdmUgYW4gQVZJIGZpbGUgd2hlcmUgdGhlIGNvZGUgZ2V0cyBleGVjdXRlZC4KCjIwMTItMDEtMjYgMTc6NDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCjIwMTItMDEtMjYgMTg6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBtb3JlIGZpeGVzCgoyMDEyLTAxLTI2IDE4OjQzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbWFrZSB2aWRlb21peGVyIHdvcmsgc29tZXdoYXQKCjIwMTItMDEtMjYgMTg6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHBvcnQgdG8gMC4xMQoJICBJdCBidWlsZHMgYW5kIGdzdC1pbnNwZWN0LTAuMTEgd29ya3MuLiBvdGhlcndpc2UgdW50ZXN0ZWQKCjIwMTItMDEtMjYgMTU6NDg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIGR5bnVkcHNpbms6IGZpeCBnZXQtc3RhdHMgc2lnbmFsIHJlZ2lzdHJhdGlvbiBzb21lIG1vcmUKCjIwMTItMDEtMjYgMTU6NDY6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgUmV2ZXJ0ICJ1ZHA6IG1hcmsgYWN0aW9uIHNpZ25hbHMgYXMgUlVOX0ZJUlNUIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjODMwODU5OTEyOWQ5ZTE2MDZlZWRiMmQzNTQzNjE3NjU4ZGMzMDYuCgoyMDEyLTAxLTI2IDE1OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogbWFyayBhY3Rpb24gc2lnbmFscyBhcyBSVU5fRklSU1QKCjIwMTItMDEtMjYgMTU6Mzc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIHVkcDogbWFyayAiZ2V0LXN0YXRzIiBhcyBhY3Rpb24gc2lnbmFsCgoyMDEyLTAxLTI2IDE1OjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBmaXggZ2V0LXN0YXRzIGFjdGlvbiBzaWduYWwgcmVnaXN0cmF0aW9uCgkgIEl0IHJldHVybnMgYSBHc3RTdHJ1Y3R1cmUgbm93LCBub3QgYSBHVmFsdWVBcnJheQoKMjAxMi0wMS0yNiAxNjowNTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggcHJpbnQgZm9ybWF0CgoyMDEyLTAxLTI2IDExOjUwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBGaXggc2l6ZSBvZiBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMS0yNiAxMTozMzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgcmlnaHQgY29sbGVjdHBhZHMgdmVyc2lvbgoKMjAxMi0wMS0yNiAxMToyOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgdXNlIHRoZSBhbGlnbm1lbnQgcGFyYW1ldGVyIG9mIGdzdF9idWZmZXJfbmV3X2FsbG9jYXRlKCkKCSAgSXQncyBhIGJpdG1hc2sgZm9yIHRoZSBhbGlnbm1lbnQsIG5vdCB0aGUgYWxpZ25tZW50IGl0c2VsZi4KCjIwMTItMDEtMjYgMTE6MTg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IFByb3Blcmx5IHVubWFwIFdSSVRFIG1hcHMgb2YgdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTAxLTI2IDEwOjQ0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDo0MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDozNzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDoyODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFVwZGF0ZSBmb3IgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mjc6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBVcGRhdGUgZm9yIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI1IDE4OjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgZm9yd2FyZCB0aGUgZXZlbnQgd2hlbiB3ZSBkaWRuJ3QgaGFuZGxlIGl0IG91cnNlbHZlcwoKMjAxMi0wMS0yNSAxODo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI1IDE4OjAwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSAgdmlkZW9taXhlcjogcG9ydCBibGVuZCBmdW5jdGlvbgoKMjAxMi0wMS0yNSAxNjo1ODoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICAob3IgcmF0aGVyIGNpcmN1bXZlbnQgaXNzdWVzIHdpdGggbmFpdmUgY29tcGlsZXJzIC4uLikKCjIwMTItMDEtMjUgMTU6MjE6NDQgKzAwMDAgIEpheWFrcmlzaG5hbiBNIDxqYXkua3Jpc2huYW5tQGdtYWlsLmNvbT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCBidWlsZCwgbWFrZSBzdXJlIGxpYmdzdHZpZGVvIGNhbiBiZSBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NjQ4CgoyMDEyLTAxLTI1IDE0OjUwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEzOjE5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHByZXRlbmQgb3VyIHJhbmRvbSBob3N0bmFtZXMgYXJlIGZ1bGx5LXF1YWxpZmllZCBkb21haW4gbmFtZXMKCjIwMTItMDEtMjUgMTM6NDc6MzAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMjo0OTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJzAuMTEnIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMi0wMS0yNSAxMjo0OToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgoyMDEyLTAxLTI1IDEyOjQxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEyOjQxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI0IDE0OjM4OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIG1vcmUgbWVtb3J5IEFQSSBwb3J0aW5nCgoyMDEyLTAxLTIzIDE3OjI1OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAwNzoyNDo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAwNzoyNDo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMToyMTo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDExOjM4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmE1OTAxNiB0byBjNDYzYmMwCgoyMDEyLTAxLTI0IDE4OjI0OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZGlzYWJseSBzbmFwc2hvdCBiZWhhdmlvdXIgYnkgZGVmYXVsdAoJICAuLi4gc2luY2Ugc3VjaCBiZWhhdmlvdXIgaXMgbm90IGNvbnNpc3RlbnQsIGlmIGFsbG93YWJsZSBhdCBhbGwuCgoyMDEyLTAxLTI0IDE4OjIzOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgcG5nZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMTg6MjE6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMTQ6NTM6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMjQgMTQ6NTI6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdXNlIG9mIGZyZWVkIG1lbW9yeQoKMjAxMS0xMi0wMSAxNTo0OTo0MCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBEb24ndCBjcmFzaCBvbiBlbXB0eSBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MjI0CgoyMDEyLTAxLTIzIDEzOjE1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHJldmVhbCB0aGUgdXNlcidzIHVzZXJuYW1lLCBob3N0bmFtZSBvciByZWFsIG5hbWUgYnkgZGVmYXVsdAoJICBTZW5kIGEgcmFuZG9tbHkgbWFkZS11cCB1c2VyQGhvc3RuYW1lIGFzIENOQU1FIGFuZCBkb24ndAoJICBzZW5kIGEgTkFNRSBhdCBhbGwgYnkgZGVmYXVsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODMyMAoKMjAxMi0wMS0yMSAyMDowNzo1NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogbW92ZSBmcm9tIGNvbnRyb2wtYmluZGluZyB0byBjb250cm9sLWJpbmRpbmctZGlyZWN0CgoyMDEyLTAxLTIyIDIzOjMxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgQVBJCgoyMDEyLTAxLTIyIDIzOjE1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBVc2UgbmV3IEdMaWIgQVBJIHVuY29uZGl0aW9uYWxseQoKMjAxMi0wMS0yMCAxNzowNjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNpbXBsaWZ5IGludGVybmFsIHNyYyBldmVudCBkZWJ1ZyBsb2dnaW5nCgkgIC4uLiB3aGljaCBhdm9pZHMgYWxtb3N0IHN1cGVyZmx1b3VzIG9idGFpbmluZyBvZiBydHNwIGVsZW1lbnQuCgoyMDEyLTAxLTIwIDE3OjAzOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgTlVMTCBzdHJpbmcgY29tcGFyaXNvbgoKMjAxMi0wMS0yMCAxNzowMzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhcnJhbmdlIGZvciBpbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTItMDEtMjAgMTc6MDI6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBwcmV2ZW50IG91dC1vZi1ib3VuZCBhcnJheSBhY2Nlc3MKCjIwMTItMDEtMjAgMTc6MDE6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGlzb21wNDogcmVjb3Zlcnk6IGFkZCBzYW5pdHkgY2hlY2sKCSAgLi4uIG9uIHBvc3NpYmx5IGJvZ3VzL2NvcnJ1cHQgaW5wdXQgZGF0YS4KCjIwMTItMDEtMjAgMTc6MDA6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogcmVtb3ZlIGRlYWQgY29kZQoKMjAxMi0wMS0yMCAxNjo1ODoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgdmFyaWFibGUKCjIwMTItMDEtMjAgMTY6NTc6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggYXJpdGhtZXRpYyBmb3IgdW5zaWduZWQgY29tcGFyaXNvbgoKMjAxMi0wMS0yMCAxNjo1NTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGFkZCB2YXJpb3VzIG1pc3NpbmcgYnJlYWsKCjIwMTItMDEtMjAgMTY6NTQ6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgREVGQVVMVCBmb3JtYXQgZHVyYXRpb24gcXVlcnkgcmVzcG9uc2UKCjIwMTItMDEtMjAgMTY6NDk6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogcmVtb3ZlIHJlZHVuZGFudCBzdGF0ZW1lbnQKCjIwMTItMDEtMjAgMTY6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIHVwc3RyZWFtIHBlZXIgZHVyYXRpb24gcXVlcnlpbmcKCSAgLi4uIHRvIGF2b2lkIGFjY2VwdGluZyB1bmhhbmRsZWQgZHVyYXRpb24gcXVlcnkgcmVzdWx0LgoKMjAxMi0wMS0yMCAxNjo0NzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGFkZGl0aW9uYWwgZXJyb3IgY29uZGl0aW9uIGNoZWNraW5nCgoyMDEyLTAxLTIwIDE2OjQ2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGRpdGlvbmFsIGVycm9yIGNvbmRpdGlvbiBjaGVja2luZwoKMjAxMi0wMS0yMCAxNjo0NDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGNoZWNrIF9hbGxvY19idWZmZXIgcmVzdWx0IGFuZCBwZXJmb3JtIGZhbGxiYWNrIGFsbG9jIGlmIG5lZWRlZAoJICAuLi4gcmF0aGVyIHRoYW4gY2Fycnlpbmcgb24gd2l0aCBOVUxMIGJ1ZmZlci4KCjIwMTItMDEtMjAgMTQ6NDU6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wgYmluZGluZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDExOjM3OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sbGVyIGFwaSBjaGFuZ2VzCgkgIERvbid0IHVzZSB0aGUgY29udmVuaWVuY2UgYXBpIGZvciBjb250cm9sIHNvdXJjZXMuCgoyMDEyLTAxLTE5IDE0OjI0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLS1kaXNhYmxlLWZhdGFsLXdhcm5pbmdzIGNvbmZpZ3VyZSBvcHRpb24KCjIwMTItMDEtMTkgMTI6NDQ6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IEFQSQoKMjAxMi0wMS0xOSAxMTozMzo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBwb3J0IHRvIG5ldyBndGhyZWFkIEFQSQoKMjAxMi0wMS0xOCAxNjo1ODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEdJTyBjaGVjaywgdGhpcyBpcyBpbiBnc3QtZ2xpYjIubTQgbm93CgoyMDEyLTAxLTE4IDE2OjQ2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwNzE4NyB0byAyYTU5MDE2CgoyMDEyLTAxLTE4IDE2OjE1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIEdMaWIgMi4zMS4xMCBhbmQgaW1wcm92ZSBHSU8gY2hlY2sKCjIwMTItMDEtMTcgMTY6NTg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBSZW1vdmUgdW5uZWVkZWQgc29ja2V0LmggaW5jbHVkZQoKMjAxMi0wMS0xNyAxNjo1MzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIHNvY2tldC93aW5zb2NrIHNwZWNpZmljIGNoZWNrcwoJICBOb3QgbmVjZXNzYXJ5IGFueW1vcmUuCgoyMDEyLTAxLTE3IDE2OjQ5OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVwZGF0ZSBmb3IgdGhlIG5ldyBHSU8gdmVyc2lvbnMgb2YgdGhlIHVkcCBlbGVtZW50cwoKMjAxMi0wMS0xNyAxMzowODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMTE6MTk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0lPIDIuMzEuMTAKCjIwMTItMDEtMTcgMTE6MTg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogUmVtb3ZlIG5vdyB1bmVjZXNzYXJ5IGNvZGUKCjIwMTItMDEtMTcgMTE6MTg6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICB1ZHBzaW5rL211bHRpdWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkeW51ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTozMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjAzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogUG9ydCB0byBHSU8KCjIwMTItMDEtMTYgMTc6NTE6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBmaXggbGVhayBvZiB1bnVzZWQgR1ZhbHVlCgoyMDEyLTAxLTE2IDE2OjEwOjA4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgdGVzdHM6IGZpeCBhdXRvZGV0ZWN0IHRlc3Qgbm90IHRlc3RpbmcgY29ycmVjdGx5IGZvciBzdGF0ZSBjaGFuZ2Ugc3VjY2VzcwoJICBTdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIGNhbiBiZSBkb25lIGFzeW5jLCBzbyBpZiB0aGlzIGhhcHBlbnMsIHdlIG5lZWQKCSAgdG8gd2FpdCBmb3IgdGhlIGNoYW5nZSB0byBiZSBkb25lIChvciBmYWlsZWQpLgoKMjAxMi0wMS0xNiAxNTo0Mjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTE2IDEyOjEzOjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogbWFrZSBpbnRlcmxhY2VkbmVzcyB0ZXN0IGRldGVybWluaXN0aWMKCSAgSWYgdGhlIGludGVybGFjZWQgZmxhZyBpcyBub3QgcHJlc2VudCBpbiB0aGUgY2Fwcywgd2UgYXNzdW1lIHRoZQoJICBkYXRhIGlzIG5vdCBpbnRlcmxhY2VkLCBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlIGJvb2xlYW4gdW5pbml0aWFsaXplZC4KCjIwMTItMDEtMTMgMTg6MTI6MDUgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxNQoKMjAxMi0wMS0xMyAxODoxMTozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGZpeCB3cm9uZyBlcnJvciBjaGVjawoJICBwYV9zdHJlYW1fKiBmdW5jdGlvbnMgcmV0dXJuIG5lZ2F0aXZlIG9uIGVycm9yLCBkZXNwaXRlIHRoZSBkZWZpbmVzCgkgIGZvciBlcnJvciBjb2RlcyBiZWluZyBwb3NpdGl2ZS4KCSAgSSBvbmx5IGdvdCB0byByZXBybyB0aGUgZXJyb3IgdHdpY2UsIHNvIEknbSBub3Qgc3VyZSAxMDAlIHN1cmUgdGhpcwoJICBmaXhlcyB0aGUgaXNzdWUgKHRoZSBuZWdhdGl2ZSB2YXIgYmVpbmcgdW5pbml0aWFsaXplZCBhZnRlciByZXR1cm5pbmcKCSAgZnJvbSBwYV9zdHJlYW1fZ2V0X2xhdGVuY3kpLgoKMjAxMi0wMS0xMyAxNzo0Mzo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgb3NzNDogZml4IGNhcHMgbGVha3MKCjIwMTItMDEtMTMgMTc6MjU6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEzIDE1OjU3OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiB2aWRlb3Rlc3RzcmMgdGVzdAoKMjAxMi0wMS0xMyAxMjo1MDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFuIHVwIG9ic29sZXRlIGNsb3Npbmcgc2VnbWVudCBoYW5kbGluZwoKMjAxMi0wMS0xMyAxMDozMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IHBsdWcgcGFkIGxlYWsgaW4gZXJyb3IgY29kZSBwYXRoCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGlnIFNhbmRuZXMgPHN0aWcuc2FuZG5lc0BjaXNjby5jb20+CgkgIERvbid0IGxlYWsgc3JjcGFkIGlmIHRoZXJlIGFyZSBubyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODIwCgoyMDExLTEwLTA0IDEwOjAwOjAyICswMjAwICBTdGlnIFNhbmRuZXMgPHN0aWdzYW5kQGNpc2NvLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlbzogRml4IGxlYWsgb2YgTlNPcGVuR0xQaXhlbEZvcm1hdCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxOAoKMjAxMS0wOS0wNSAxMDo0MzoxOSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEb24ndCBhc3NlcnQgd2hlbiB0aGUgaW50ZXJmYWNlIGlzIG5vdCBpbXBsZW1lbnRlZC4KCSAgU2ltcGx5IHJldHVybiBGQUxTRSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE3CgoyMDEyLTAxLTEyIDAwOjE4OjM5ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICB3YXZlZm9ybXNpbms6IEZpeCBtaW5ndyB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NzE5CgoyMDEyLTAxLTEyIDIzOjU1OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgR1NUX1RZUEVfREFURSAtPiBHX1RZUEVfREFURQoKMjAxMi0wMS0xMiAyMzo0ODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBlcU1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmMKCjIwMTItMDEtMTIgMTg6MjM6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGdzdHJ0cHNzcmNkZW11eDogZml4IGVsZW1lbnQgbGVhawoKMjAxMi0wMS0xMiAxNDoxOToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGRvIG5vdCBsZWFrIGF0dGFjaG1lbnQgYnVmZmVycwoKMjAxMi0wMS0xMiAxMzoxNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudHMKCjIwMTItMDEtMTIgMTA6MzA6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBkbyBub3QgZHJvcCB0aGUgZmlyc3QgZGF0YSBidWZmZXIgb24gdGhlIGZsb29yIChhbmQgbGVhayBpdCBlaXRoZXIpCgoyMDEyLTAxLTEyIDExOjA4OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJICBmbHZkZW11eDogYWRkIHByZWZpeCB0byBsb2NhbCBHc3RJbmRleCByZWxhdGVkIGNvcGllcwoJICAuLi4gdG8gYXZvaWQgZHVwbGljYXRlIHR5cGUgbmFtZXMgd2l0aCBvdGhlciBzdWNoIGxvY2FsIGNvcGllcyBpbiB0aGUgd2lsZC4KCjIwMTItMDEtMTIgMTE6MDc6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgLi4uIHJhdGhlciB0aGFuIHRoZSB1c3VhbCAwLjEwIG90aGVyIHdheSBhcm91bmQuCgkgIEZpeGVzICM2Njc1NTguCgoyMDEyLTAxLTExIDE4OjQ1OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgVGVtcG9yYXJpbHkgZGlzYWJsaW5nIG11bHRpZmlsZSBmb3IgdGhlIEFuZHJvaWQgYnVpbGQKCSAgVGhlcmUgaXMgYSBoYXJkIGRlcGVuZGVuY3kgb24gaW5vdGlmeSBjb21taW5nIGZyb20gZ2lvLiBXZQoJICBhcmUgbm90IGN1cnJlbnRseSBidW5kbGluZyBpbm90aWZ5IHdpdGggdGhlIEFuZHJvaWQgZGlzdCBzbwoJICBJJ20gZGlzYWJsaW5nIG11bHRpZmlsZSBmb3Igbm93IHVudGlsIHNvbWVvbmUgZ2V0cyBhcm91bmQKCSAgdG8gc29ydCB0aGlzIG91dC4KCSAgVGhpcyBjaGFuZ2UgZml4ZXMgYnVpbGRpbmcgb24gQW5kcm9pZAoKMjAxMC0xMC0yMCAwMjoxNzo0MyAtMDcwMCAgTGVvIFNpbmdlciA8bGVvLnNpbmdlckBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogVXNlIG1vc3QgY29tbW9uIGNvbnZlbnRpb24gZm9yIGRlZmluaXRpb25zIG9mIElJUiBmaWx0ZXIgY29lZmZpY2llbnRzLgoJICBNb3N0IHNpZ25hbCBwcm9jZXNzaW5nIHRleHRzLCBpbmNsdWRpbmcgTUFUTEFCLCB1c2UgdGhlIGZvbGxvd2luZyBjb252ZW50aW9uIGZvciBJSVIgZmlsdGVyIGNvZWZmaWNpZW50czoKCSAgYV8wIHlbbl0gKyBhXzEgeVtuLTFdICsgLi4uICsgYV9NIHlbbi1NXSA9IGJfMCB4W25dICsgYl8xIHhbbi0xXSArIC4uLiArIGJbTl0geFtuLU5dCgkgIFVzdWFsbHksIGFfMCBpcyBzZXQgdG8gMSBiZWNhdXNlIHRoZSBjb2VmZmljaWVudHMgY2FuIGFsd2F5cyBiZSByZXNjYWxlZCwgZ2l2aW5nCgkgIHlbbl0gPSBiXzAgeFtuXSArIGJfMSB4W24tMV0gKyAuLi4gKyBiW05dIHhbbi1OXSAtIGFfMSB5W24tMV0gLSAuLi4gLSBhX00geVtuLU1dCgkgIFRoZSBjb252ZW50aW9uIHRoYXQgd2FzIHByZXZpb3VzbHkgdXNlZCBieSBhdWRpb2Z4YmFzZWlpcmZpbHRlciBhbmQgZGVyaXZlZCBjbGFzcyBoYWQgdGhlIGEgYW5kIGIgY29lZmZpY2llbnRzIHN3YXBwZWQsIGFuZCBkaWQgbm90IGhhdmUgdGhlIG1pbnVzIHNpZ25zLgoJICBUaGlzIGNoYW5nZSBtYWtlcyB0aGUgYXVkaW9meCBwbHVnaW4gdXNlIHRoZSBtb3JlIGNvbW1vbiBjb252ZW50aW9uIGRlc2NyaWJlZCBhYm92ZS4KCjIwMTItMDEtMTEgMTQ6NDc6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkIGEgdHJhbnNwb3J0IG1vZGUgZW51bQoJICBDbGllbnRzIGNhbiBjb25maWd1cmUgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIHZpYSAidHJhbnNwb3J0IiBwcm9wZXJ0eS4gVGhlCgkgIGRlZmF1bHQgYmVoYXZpb3VyIGlzIGlnbm9yaW5nIHRoZSB0cmFuc3BvcnQgc3RhdGUuIE90aGVyIG1vZGVzIGFyZSBtYXN0ZXIgYW5kCgkgIHNsYXZlLgoKMjAxMi0wMS0xMSAxNDoxMDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGJ1ZmZlciBoYW5kbGluZwoJICBzb3VwaHR0cHNyYyBpcyBub3cgdXNhYmxlIGFnYWluIGFuZCBkb2Vzbid0IGNyYXNoIGFueW1vcmUKCSAgd2hlbmV2ZXIgc29tZXRoaW5nIGlzIHJlYWQgZnJvbSBhIEhUVFAgY29ubmVjdGlvbi4KCjIwMTItMDEtMTEgMDE6NDU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IHdhdmVuYyB0ZXN0IG9uIGJpZyBlbmRpYW4KCSAgd2F2ZW5jIG9ubHkgYWNjZXB0cyBsaXR0bGUtZW5kaWFuIFBDTSwgYnV0IG1vc3Qgb2Ygb3VyCgkgIGVsZW1lbnRzIHN1Y2ggYXMgYXVkaW90ZXN0c3JjIG9ubHkgcHJvZHVjZSBvciBwcm9jZXNzCgkgIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLCBzbyB3ZSBuZWVkIHRvIHBsdWcgYQoJICBjb252ZXJ0ZXIgYmVmb3JlIHdhdmVuYyBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuCgoyMDEyLTAxLTEwIDIzOjAyOjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZGVhY3RpdmF0ZSB0aGUgcmVxdWVzdF9zdGF0ZSBjb2RlCgkgIFdoZW4gcWphY2tjdGwgaXMgc3RhcnRlZCwgdHJhbnNwb3J0IGlzIHN0b3BwZWQgYnkgZGVmYXVsdC4gVGhpcyB3b3VsZCBiZSBhCgkgIHJlZ3Jlc3Npb24gZm9yIGdzdHJlYW1lciBhcHBzIHRoYXQgYmVmb3JlIGp1c3Qgc3RhcnRlZCB0byBwbGF5IHJpZ2h0IGF3YXkuCgoyMDEyLTAxLTEwIDIyOjI3OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGQgdHJhbnNwb3J0IGNvbnRyb2wgaGFuZGxpbmcKCSAgVGhpcyBmZWF0dXJlIGFsbG93cyB0byBzdGFydCBhbmQgc3RvcCBwbGF5YmFjayBmcm9tIG90aGVyIGphY2sgYXBwbGljYXRpb25zIChlLmcuIHFqYWNrY3RsKS4KCjIwMTItMDEtMTAgMTg6NTA6MjcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGNvZGVjX3ByaXYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzQxOQoKMjAxMi0wMS0xMCAxNToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2E1MmRlYy9nc3RhNTJkZWMuYwoJICBleHQvYTUyZGVjL2dzdGE1MmRlYy5oCgkgIGV4dC9sYW1lL2dzdGxhbWUuYwoJICBleHQvbGFtZS9nc3RsYW1lLmgKCSAgZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jCgkgIGV4dC9tYWQvZ3N0bWFkLmMKCSAgZXh0L21hZC9nc3RtYWQuaAoJICBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYwoJICBnc3QvbXBlZ3N0cmVhbS9nc3RkdmRkZW11eC5jCgkgIGdzdC9yZWFsbWVkaWEvcmR0ZGVwYXkuYwoJICBwby9lcy5wbwoJICBwby9sdi5wbwoJICBwby9zci5wbwoKMjAxMi0wMS0xMCAxNTowNjozOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiB1c2UgamFjayB0eXBlIGZvciB0aGUgY2FsbGJhY2sKCSAgSmFjayBoZWFkZXJzIGhhdmUgYSB0eXBlZGVmIGZvciB0aGUgc2h1dGRvd24gY2FsbGJhY2sgYXMgd2VsbC4KCjIwMTItMDEtMTAgMTQ6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jCgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXZpL2dzdGF2aW11eC5jCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmMKCSAgZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYwoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYwoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jCgkgIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmMKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmMKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmMKCSAgcG8vamEucG8KCSAgcG8vbHYucG8KCSAgcG8vc3IucG8KCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW0KCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jCgoyMDEyLTAxLTA5IDIyOjU4OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogUmVtb3ZlIG9sZCB2aWRlb21peGVyIGhlYWRlcnMKCSAgVGhlc2UgZ290IHJlbW92ZWQgaW4gdGhlIHRyYW5zaXRpb24gdG8gdmlkZW9taXhlcjIuCgoyMDEyLTAxLTA5IDE3OjI4OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBjb2RlYyBzdHJpbmcgbGVha3MKCjIwMTItMDEtMDkgMTQ6NTE6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB2aWRlb21peGVyIGFuZCByZWdpc3RlciB2aWRlb21peGVyMiBhcyB2aWRlb21peGVyCgoyMDEyLTAxLTA5IDExOjM2OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIHZhcmlhYmxlIHRvIGF2b2lkIHVuZGVmaW5lZCB1c2UKCjIwMTItMDEtMDYgMDk6NDA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWM6IFBvcnQgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAxOToyNTozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0wNSAxOTowODowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMi0wMS0wNSAxNDoxODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgZml4IHBhZCB0ZW1wbGF0ZXMKCjIwMTItMDEtMDQgMTU6NDQ6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5jOgoJICB0d29sYW1lbXAyZW5jOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTU6NDU6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTU6MDU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjU0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCB0aGUgbmV3IGxheW91dCBmaWVsZCB0byB0aGUgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6NTI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2thdWRpb3NyYzogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjEzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgRkxBQyBhbmQgaW50ZXJsZWF2ZSB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zIGxpc3QKCSAgQm90aCBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gdGhlIGF1ZGlvL3gtcmF3IGNhcHMgYW5kIHdlcmUgb25seQoJICBoYWxmLXBvcnRlZCBiZWZvcmUuCgoyMDEyLTAxLTA0IDEzOjQ4OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IFVwZGF0ZSBmb3IgdGhlIG5ldyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDEyOjA2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXBkYXRlIGZvciBsaWJnc3RyaWZmIEFQSSBjaGFuZ2VzCgkgIFN0aWxsIG5lZWRzIHRvIGhhbmRsZSByYXcgYXVkaW8gY2hhbm5lbCByZW9yZGVyaW5nCgoyMDEyLTAxLTA0IDEyOjA1OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDEyOjAzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZXBsYXlnYWluOiBVcGRhdGUgZm9yIHRoZSBuZXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMTo1MjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBpbnRlcmxlYXZlZCBjYXBzIGZpZWxkCgkgIFN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIHRvIGhhbmRsZSB0aGUgbXVsdGljaGFubmVsIGNoYW5uZWwtbWFzawoJICBhbmQgcmVvcmRlcmluZy4KCjIwMTItMDEtMDQgMTE6MzE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMToyOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogUG9ydCB0byB0aGUgbmV3IGF1ZGlvIGNhcHMKCSAgU3RpbGwgbmVlZHMgdG8gaGFuZGxlIHRoZSBjaGFubmVsIHBvc2l0aW9ucy9tYXNrcyBhbmQKCSAgY2hhbm5lbCByZW9yZGVyaW5nLgoKMjAxMi0wMS0wNCAxMToxMTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA5OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB1cGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowODoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVwZGF0ZSBmb3IgdGhlIGxpYmdzdHJpZmYgQVBJIGNoYW5nZXMKCSAgU3RpbGwgbmVlZHMgdG8gZG8gcmVvcmRlcmluZyBvZiBjaGFubmVscyBmb3IgcmF3IGF1ZGlvLgoKMjAxMi0wMS0wNCAxMTowNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjAyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvZng6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDEwOjU0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBvc3M6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIHJhdyBhdWRpbyBjYXBzIGludGVybGVhdmVkIGZpZWxkCgoyMDEyLTAxLTA0IDEwOjI3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcwoKMjAxMi0wMS0wNCAxOTo1MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc2MmI2OTIgdG8gMDgwNzE4NwoKMjAxMi0wMS0wNCAxNzowNTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgbGFtZTogZml4IExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMi0wMS0wNCAxNzo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgYW5kIHJlbW92ZSBmaWxlcyB3aGVuIGRvbmUgaW4gcXRtdXggdGVzdAoKMjAxMS0xMi0xNCAxMDoxNDoyMCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBydW4gb3V0IG9mIGRpc2sgc3BhY2UKCSAgTWFwIHdyaXRlIGVycm5vIEVOT1NQQyB0byBHU1RfUkVTT1VSQ0VfRVJST1JfTk9fU1BBQ0VfTEVGVC4KCjIwMTItMDEtMDQgMTM6MjY6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBNb3JlIGZpeGVzL2NsZWFudXAKCjIwMTItMDEtMDQgMTM6MjU6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBwYXJhbS9wcm9jZXNzIGZ1bmN0aW9ucwoJICBXaGVuIDo6c2V0X2luZm8oKSBpcyBjYWxsZWQsIHRoZSBpbnB1dC9vdXRwdXQgVmlkZW9JbmZvIGFyZW4ndCBzZXQKCSAgeWV0IG9uIHRoZSB2aWRlb2ZpbHRlci4KCjIwMTItMDEtMDQgMTA6MDE6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDExLTEyLTMxIDIzOjMzOjMzIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogdXNlIHJpZ2h0IHZhcmlhYmxlCgkgIEZpeGVzIHVzZSBvZiB1bml0aWFsaXplZCB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzA4NQoKMjAxMi0wMS0wMyAxNToyNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDMgMTQ6NDI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiByZXdyaXRlIHRlc3QgYSBsaXR0bGUKCSAgUmV3cml0ZSB0aGUgdGFnIGNoZWNrIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBkZWFsIHdpdGggdGFnIGxpc3RzLgoKMjAxMi0wMS0wMyAxNDoxNjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IG1ha2UgbW9yZSB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAzIDExOjU2OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3Q6IG1ha2UgbW9yZSB1bml0IHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDMgMTA6MjY6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvaW5kZXguYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHVuaXQgdGVzdHMKCSAgUmVtb3ZlIHVuaXQgdGVzdCBmb3IgR3N0SW5kZXguCgkgIE1ha2Ugc29tZSBvdGhlciB1bml0IHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDIgMTQ6MzI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJICBhdXRvZGV0ZWN0LCBydHNwOiBnc3RfcmVnaXN0cnlfZ2V0X2RlZmF1bHQoKSAtPiBnc3RfcmVnaXN0cnlfZ2V0KCkKCjIwMTEtMTItMzEgMTA6MDA6NDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBBUEkgY2hhbmdlcwoKMjAxMS0xMi0zMCAxNzo0MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0zMCAxNzoyMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0zMCAxNzoyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZmx2L2dzdGluZGV4Lmg6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSAgZmx2ZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoJICBBZGQgcHJpdmF0ZSBHc3RNZW1JbmRleCBmb3Igbm93LgoKMjAxMS0xMi0zMCAxNzoxMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0yNyAyMjo1OTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggTWluZ1cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjQ4NQoKMjAxMS0xMi0yNyAyMjo1NDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogZml4IHByaW50ZiBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2OTI2CgoyMDExLTEyLTI3IDEyOjA2OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdCBiaW5hcnkKCjIwMTEtMTItMjcgMTE6NTA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdmFsZ3JpbmQgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgoyMDExLTEyLTI3IDExOjQ5OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgdW5pdCB0ZXN0IHRoYXQgc2VuZHMgMC1zaXplIHBhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgoyMDExLTEyLTIxIDEzOjIyOjAzICswMTAwICBKb2huIE9nbmVzcyA8am9obi5vZ25lc3NAbGludXRyb25peC5kZT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZHJvcCBkYXRhbGVzcyBVRFAgcGFja2V0cwoJICBJdCBpcyBhbGxvd2VkIHRvIHNlbmQvcmVjZWl2ZSBVRFAgcGFja2V0cyB3aXRoIG5vIGRhdGEuIFdoZW4gc3VjaAoJICBhIHBhY2tldCBpcyBhdmFpbGFibGUsIHNlbGVjdCgpIHdpbGwgcmV0dXJuIHdpdGggc3VjY2VzcyBidXQKCSAgaW9jdGwoRklPTlJFQUQpIHdpbGwgcmV0dXJuIDAuIEJ1dCBhIHJlYWQoKSBtdXN0IHN0aWxsIG9jY3VyIGluCgkgIG9yZGVyIHRvIGNsZWFyIG9mZiB0aGUgVURQIHBhY2tldCBmcm9tIHRoZSBxdWV1ZS4KCSAgVGhpcyBwYXRjaCB3aWxsIHJlYWQgdGhlIGRhdGFsZXNzIHBhY2tldCBmcm9tIHRoZSBzb2NrZXQuIElmCgkgIHNlbGVjdCgpIHdhcyB3b2tlbiBmb3Igb3RoZXIgcmVhc29ucyAoYW5kIEZJT05SRUFEIHJldHVybnMgMCksCgkgIHRoaXMgbWF5IHJlc3VsdCBpbiBhIFVEUCBwYWNrZXQgZ2V0dGluZyBhY2NpZGVudGFsbHkgZHJvcHBlZC4KCSAgQnV0IHNpbmNlIFVEUCBpcyBub3QgcmVsaWFibGUsIHRoaXMgaXMgYWNjZXB0YWJsZS4KCSAgTk9URTogVGhpcyBwYXRjaCBmaXhlcyBhIG5hc3R5IGJ1ZyB3aGVyZSBzZW5kaW5nIGEgZGF0YWxlc3MKCSAgVURQIHBhY2tldCB0byBhIHVkcHNyYyBpbnN0YW5jZSB3aWxsIGNhdXNlIGFuIGluZmluaXRlCgkgIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NDQKCSAgU2lnbmVkLW9mZi1ieTogSm9obiBPZ25lc3MgPGpvaG4ub2duZXNzQGxpbnV0cm9uaXguZGU+CgoyMDExLTEyLTI2IDIyOjIyOjU5ICswMDAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIHdhdmVmb3JtOiBhZGQgYXV0b3Rvb2xzIGJpdHMgZm9yIHdhdmVmb3JtIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NDg1CgoyMDExLTEyLTIxIDIwOjUwOjIxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHBlZXJfY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2ODgKCjIwMTEtMTItMjYgMTg6MjQ6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGxhbWU6IGVuc3VyZSBwYXJzZWQgb3V0cHV0CgkgIC4uLiBieSBkb2luZyBzb21lIGJhc2ljIHBhcnNpbmcgb2YgZW5jb2RlZCBsYW1lIGRhdGEuCgoyMDExLTEyLTI2IDE2OjM0OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgbGFtZTogY2xlYW51cCB1bnVzZWQgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcwoKMjAxMS0xMi0yNiAxODoyMzo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmg6CgkgIGxhbWVtcDNlbmM6IGVuc3VyZSBwYXJzZWQgb3V0cHV0CgkgIC4uLiBieSBkb2luZyBzb21lIGJhc2ljIHBhcnNpbmcgb2YgZW5jb2RlZCBsYW1lIGRhdGEuCgkgIEZpeGVzICM2NTIxNTAuCgoyMDExLTEyLTI2IDE4OjE1OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogZG8gbm90IGxlYWsgbWVyZ2VkIHRhZ3MKCjIwMTEtMTItMjUgMjM6NTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjayBmb3IgZ2RwIGxpYnJhcnkKCjIwMTEtMTItMjUgMjI6MTc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZTogcmVtb3ZlIHB1bHNlYXVkaW9zaW5rIGhlbHBlciBiaW4KCSAgVGhpcyBpcyBjYXVzaW5nIHVzIGxvdHMgb2YgaGVhZGFjaGVzIGluIDAuMTAgYW5kIG5lZWRzIHRvIGJlIGRvbmUKCSAgZGlmZmVyZW50bHkgYW5kIHByb3Blcmx5IGluIDAuMTEuIHBsYXliaW4gb3IgZGVjb2RlYmluIHNob3VsZAoJICByZWNvbmZpZ3VyZSB0aGVtc2VsdmVzIGJhc2VkIG9uIHJlY29uZmlndXJlIGV2ZW50cywgZm9yIGV4YW1wbGUuCgoyMDExLTEyLTI1IDIxOjQ1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogdXBkYXRlIGZvciByaW5nIGJ1ZmZlciBhdWRpbyBmb3JtYXQgdHlwZSBlbnVtIHJlbmFtZQoKMjAxMS0xMi0yNSAyMDozNDo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sIHNvdXJjZSBhcGkKCjIwMTEtMTItMjUgMTQ6MjM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCB0cnkgdG8gcHVzaCBhbHJlYWR5LWZyZWVkIGJ1ZmZlcnMKCSAgRml4ZXMgdW5pdCB0ZXN0LgoKMjAxMS0xMi0yNCAxMDo1Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFVzZSBzY2FsZV9jZWlsKCkgZnVuY3Rpb25zIGZyb20gY29yZSBpbnN0ZWFkIG9mIGN1c3RvbSBvbmVzCgoyMDExLTEyLTIxIDIzOjUxOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBjaGFuZ2VzLgoKMjAxMS0xMi0yMSAxNzo0MzoxMCArMDEwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogZG8gbm90IGNvbnNpZGVyIGR1cmF0aW9uIG9mIG5vbi1maW5hbGl6ZWQgZmlsZQoJICAuLi4gdG8gYXZvaWQgaXQgY2xhbXBpbmcgcmVxdWVzdGVkIHNlZWsgcG9zaXRpb24uCgkgIE5vbi1maW5hbGl6ZWQgZmlsZSBjYXNlLCBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIKCSAgX3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2sgZXZlciB1cGRhdGVzIHRoZSBzZWdtZW50IGR1cmF0aW9uLgoJICBGaXhlcyAjNjUyMTk1LgoKMjAxMS0xMi0yMSAxNTowNjo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSBkZWNpc2lvbiB0byBmYWxsIGJhY2sgdG8gc2Nhbm5pbmcgd2hlbiBzZWVraW5nCgkgIC4uLiB3aGljaCBpcyBiYXNpY2FsbHkgaWZmIG5vdCBzdHJlYW1pbmcgYW5kIG5vIGVudHJ5IGZvdW5kIGluIGluZGV4CgoyMDExLTEyLTIxIDA5OjA5OjI3ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB0byBmaXggY29tcGlsZSBlcnJvcjoKCSAgbWFrZSAtQyBhdWRpb3BhcnNlcnMKCSAgbWFrZVszXTogQmV0cmV0ZSBWZXJ6ZWljaG5pcyAnL2hvbWUvbGV4L3RtcC9nc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMnCgkgIENDICAgICBsaWJnc3RhdWRpb3BhcnNlcnNfbGEtZ3N0YWFjcGFyc2UubG8KCSAgZ3N0YWFjcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9hYWNfcGFyc2VfcmVhZF9sb2FzX2F1ZGlvX3NwZWNpZmljX2NvbmZpZyc6CgkgIGdzdGFhY3BhcnNlLmM6NDQ2OjEyOiBlcnJvcjogdmFyaWFibGUgJ3Nicicgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTEyLTIxIDExOjU5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSAgdXBkYXRlIGZvciByZW1vdmVkIHByb3BlcnR5IHByb2JlCgoyMDExLTA5LTA5IDExOjQyOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGxldCBic2lkIDkgYW5kIDEwIHRocm91Z2gKCSAgRmlsZXMgd2l0aCA5IGFuZCAxMCBoYXBwZW4sIGFuZCBzZWVtIHRvIGNvbXBseSB3aXRoIHRoZSA8PSA4CgkgIGZvcm1hdCwgc28gbGV0IHRoZW0gdGhyb3VnaC4KCSAgVGhlIHNwZWMgc2F5cyBub3RoaW5nIGFib3V0IDkgYW5kIDEwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQ2CgoyMDExLTEyLTE5IDIzOjUwOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGludGVycG9sYXRpb24tbW9kZSBhcGkKCjIwMTEtMTItMTkgMjI6NTM6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBhcGkKCjIwMTEtMTItMTkgMTk6MDM6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgbmV3IGludGVybGFjZWQgY2FwcwoKMjAxMS0xMi0xNiAxOToxNTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHByb3Blcmx5IGRldGVybWluZSBmaW5hbCBkdXJhdGlvbgoJICAuLi4gd2hpY2ggY2FuIGJlIGF1dGhvcmF0aXZlbHkgb2J0YWluZWQgZnJvbSBvdXIgb3duIHdyaXR0ZW4gdGltZXN0YW1wcy4KCjIwMTEtMTItMTkgMTM6NTY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBvbmx5IHdyaXRlIGZ1bGwgbWV0YWRhdGEgYXQgc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIGhhdmluZyAocG90ZW50aWFsbHkpIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZXMgd3JpdHRlbiBhbGwgb3ZlciwKCSAgb3IgZXZlbiBjb250cmFkaWN0b3J5IHZhcnlpbmcgZmlsZXNpemUgaW5mbywgb3IgZHVyYXRpb24gaW5mbyB0aGF0IHdpbGwgbm90CgkgIGJlIHJld3JpdHRlbiB1cG9uIGhlYWRlciByZXdyaXRlLgoKMjAxMS0xMi0xNiAxOToxNTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoJICAuLi4gc2luY2UgdGhlIGRlZmF1bHQgY29sbGVjdGlvbiBoZXVyaXN0aWNzIHN1ZmZpY2UuCgoyMDExLTEyLTE2IDE4OjAzOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgYnVmZmVyIGNhbGxiYWNrIGFuZCBydW5uaW5nIHRpbWUgY2xpcHBlcgoJICAuLi4gc2luY2UgZGVmYXVsdCBjb2xsZWN0aW9uIGhldXJpc3RpY3Mgc3VmZmljZS4KCjIwMTEtMTItMTYgMTc6MjA6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYnJpbmcgYSBmZXcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBzcGVjcwoJICAuLi4gYW5kIG1pbm9yIHNwZWxsaW5nIGZpeC4KCjIwMTEtMTItMTYgMTY6NTY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkaXRpb25hbCBzdWJ0aXRsZSBzdXBwb3J0CgoyMDExLTEyLTE1IDIxOjUwOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogYWRkaXRpb25hbCBidWZmZXIgaGFuZGxpbmcgY2xlYW51cAoKMjAxMS0xMi0xNSAyMTo0NToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCjIwMTEtMTItMDcgMTM6MjQ6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBwYXJzZSBMT0FTIHZhcmlhbnQKCSAgVGhlIExPQVMgdmFyaWFudCBzZWVtcyB0byBoYXZlIHRocmVlIGRpZmZlcmVudCBzdWJ2YXJpYW50cyBpdHNlbGYsCgkgIG9ubHkgb25lIG9mIHRoZW0gaXMgaW1wbGVtZW50ZWQgYXMgbXkgdHdvIHNhbXBsZXMgaGFwcGVuIHRvIGJlCgkgIHVzaW5nIHRoYXQgb25lLgoJICBUaGUgc2FtcGxlIHJhdGUgaXMgbm90IGFsd2F5cyByZXBvcnRlZCBjb3JyZWN0bHksIGFzIHRoZSAibWFpbiIKCSAgc2FtcGxlIHJhdGUgaXMgYXBwYXJlbnRseSBzb21ldGltZXMgaGFsZiB3aGF0IGl0IHNob3VsZCBiZSAoYm90aAoJICBvZiBteSBzYW1wbGVzIHJlcG9ydCAyNDAwMCBIeiB0aGVyZSksIGFuZCB0aGVyZSBhcmUgdHdvIG90aGVyCgkgIHBhcnRzIG9mIHRoZSBzdWJ2YXJpYW50IHdpdGggZGlmZmVyZW50IHNhbXBsaW5nIHJhdGVzLiBPbmUgb2YgdGhlbQoJICBpcyBwYXJzZWQsIGJ1dCBub3QgdGhlIG90aGVyLCBhcyBpdCdzIGxvY2F0ZWQgYWZ0ZXIgc29tZSBvdGhlcgoJICBsYXJnZSBhbW91bnQgb2YgdmFyaWFibGUgZGF0YSB0aGF0IG5lZWRzIHBhcnNpbmcgZmlyc3QsIGFuZCB0aGVyZQoJICBzZWVtcyB0byBiZSBhIExPVCBvZiBpdCwgd2hpY2ggaXMgdXNlbGVzcyBmb3Igb3VyIG5lZWRzIGhlcmUuCgkgIFRoaXMgZW5kcyB1cCBiZWluZyByYXRoZXIgaW5jb25zZXF1ZW50aWFsLCBhcyBmZmRlY19hYWNfbGF0bSwKCSAgd2hpY2ggaXMgdGhlIG9ubHkgZGVjb2RlciB0aGF0IGNhbiBkZWNvZGUgc3VjaCBzdHJlYW1zLCBkb2VzIG5vdAoJICBuZWVkIHRoZSBzYW1wbGUgcmF0ZSBvbiB0aGUgY2FwcyBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTEtMTItMTkgMTA6NDg6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvbid0IHJlbW92ZSBzcmNwYWQKCSAgRG9uJ3QgcmVtb3ZlIHRoZSBhbHdheXMgc3JjcGFkIGluIHJlYWR5IGFuZCBtYWtlIHRoZSBlbGVtZW50IHJldXNhYmxlLgoKMjAxMS0xMi0xNSAxNjo0MDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjMwOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MTY6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjoxNToyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE0IDE5OjEzOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgc21wdGU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjEwOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydG11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MDc6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOTowMjoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjU1OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODo1MjozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHhtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjM4OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6MzQ6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xMyAxODoxODo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZmlsdGVyIGJvZ3VzIGluZGV4IGVudHJpZXMgd2l0aCBtaXNzaW5nIGJsb2NrIG51bWJlcgoJICAuLi4gdG8gYXZvaWQgY29udHJhZGljdG9yeSBpbmZvcm1hdGlvbiByZXN1bHRpbmcgaW4gc2Vla3Mgc2VuZGluZyBtb3JlCgkgIGRvd25zdHJlYW0gdGhhbiBuZWVkZWQgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHNlZ21lbnQuCgoyMDExLTEyLTEzIDE4OjE1OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYXRlciBmb3Igc2FmZXIgYXJpdGhtZXRpYyB3aXRoIGdsb2JhbCBzdGFydCB0aW1lCgoyMDExLTEyLTEzIDE3OjAyOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiB0d2VhayBmaW5hbCBjbG9zaW5nIHNlZ21lbnQgc2VuZGluZwoJICAuLi4gdG8gYXZvaWQgaXQgaW50ZXJmZXJpbmcgd2l0aCAoc3BhcnNlKSBzdHJlYW0gc3luY2luZy4KCjIwMTEtMTItMTIgMTE6NTE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2UgZGVidWcgbWVzc2FnZSBtb3JlIHVzZWZ1bAoJICBBZGQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhZ2xpc3QgYW5kIHdoaWNoIHBhZCByZWNlaXZlZCB0aGUKCSAgdGFnIGV2ZW50IG9uIHRoZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMS0xMi0xMyAxMTo0Njo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGF2b2lkIHVzaW5nIGZsb2F0aW5nIHBvaW50IHVubmVjZXNzYXJpbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTkxMQoKMjAxMS0xMi0xMyAxMTo0Mjo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCBmb3JtYXQgc3BlY2lmaWVyIHNpZ25lZG5lc3MKCSAgVXNlIHVuc2lnbmVkIHNwZWNpZmllcnMgZm9yIGFsbCB1bnNpZ25lZCB2YWx1ZXMuCgkgIEEgbG90IG9mIHRoZSB2YWx1ZXMgdXNlZCBoZXJlIGFyZSB1bnNpZ25lZCwgYW5kIHNvbWUgY2FuIHRha2UKCSAgaGlnaCBlbm91Z2ggdmFsdWVzIHRoYXQgdGhlaXIgc2lnbmVkIGNvdW50ZXJwYXJ0IHdpbGwgYmUgbmVnYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTIgMTY6NDk6MTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogYWRkIGEgaWdub3JlLWxlbmd0aCBwcm9wZXJ0eQoJICBUaGlzIGFsbG93cyBwbGF5aW5nIGJyb2tlbiBzdHJlYW1zIHdoaWNoIHdyaXRlIGFuIGluY29ycmVjdAoJICBsZW5ndGggaW4gdGhlaXIgZGF0YSBjaHVua3MgKHN1Y2ggYXMsIGF0IGxlYXN0LCBvbmUgc3RyZWFtaW5nCgkgIGNhbWVyYSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTIgMTE6NTQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSAgZ2xpYi1jb21wYXQ6IEFkZCBsaWNlbnNlIGJvaWxlcnBsYXRlIGZvciBMR1BMCgoyMDExLTEyLTEyIDE1OjE1OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtaW5kICh1bilzaWduZWQgaW4gc29tZSB0aW1lc3RhbXAgYXJpdGhtZXRpYwoJICAuLi4gdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggaW52YWxpZCAobmVnYXRpdmUpIGR1cmF0aW9uLgoKMjAxMS0wMi0wOSAxNTozMToyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5jcmVhc2UgcGFyc2UgdG9sZXJhbmNlIGZvciBmdXp6eSBmaWxlIGNhc2VzCgoyMDExLTEyLTEyIDEwOjM4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogZGlzdCBnbGliLWNvbXBhdC1wcml2YXRlLmggcHJvcGVybHkKCSAgQWRkIG1pc3Npbmcgc2xhc2guCgoyMDExLTEyLTEyIDEwOjE4OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiB1c2UgYXRleGl0LCBnX2F0ZXhpdCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGdsaWIgbWFzdGVyCgoyMDExLTEyLTEyIDAyOjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFN1cHByZXNzIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHNlbGVjdGVkIGZpbGVzLCBmb3IgZ19zdGF0aWNfcmVjX211dGV4XyogbW9zdGx5CgkgIEdTdGF0aWNSZWNNdXRleCBpcyBwYXJ0IG9mIG91ciBBUEkvQUJJLCBub3QgbXVjaCB3ZSBjYW4gZG8gaGVyZQoJICBpbiAwLjEwIGZvciBtb3N0IG9mIHRoZXNlLgoKMjAxMS0xMi0xMiAwMjo0MTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIHRlc3RzOiBnX3RocmVhZF9pbml0KCkgaXMgZGVwcmVjYXRlZCBpbiBnbGliIG1hc3RlcgoJICBJdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTEtMTItMTIgMDI6Mzg6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVXNlIGdfdGhyZWFkX3RyeV9uZXcoKSBpbnN0ZWFkIG9mIGdfdGhyZWFkX2NyYXRlKCkgd2l0aCBuZXdlciBnbGliIHZlcnNpb25zCgoyMDExLTEyLTEyIDAyOjMxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IHVzZSBuZXcgZ2xpYiBBUEkgZm9yIHN0YXRpYyBtdXRleCBpZiBhdmFpbGFibGUKCjIwMTEtMTItMTIgMDI6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFdvcmsgYXJvdW5kIGRlcHJlY2F0ZWQgdGhyZWFkIEFQSSBpbiBnbGliIG1hc3RlcgoJICBBZGQgcHJpdmF0ZSByZXBsYWNlbWVudHMgZm9yIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIHN1Y2ggYXMKCSAgZ19tdXRleF9uZXcoKSwgZ19tdXRleF9mcmVlKCksIGdfY29uZF9uZXcoKSBldGMuLCBtb3N0bHkKCSAgdG8gYXZvaWQgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiBXZSdsbCBjaGFuZ2UgdGhlc2UKCSAgb3ZlciB0byB0aGUgbmV3IEFQSSBvbmNlIHdlIGRlcGVuZCBvbiBnbGliID49IDIuMzIuCgoyMDExLTEyLTEyIDEwOjI0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdMaWIgPj0gMi4yNAoJICBBbGwgb3RoZXIgbW9kdWxlcyByZXF1aXJlIHRoaXMgYWxyZWFkeSBhbmQgbm9ib2R5IGlzIHRlc3Rpbmcgd2l0aAoJICBvbGRlciB2ZXJzaW9ucyBhbnl3YXkuCgoyMDExLTEyLTExIDE4OjQwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSAgZ2RrcGl4YnVmc2luazogZml4IGludmVydGVkIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBTcG90dGVkIGJ5IE1pa2UgTW9ycmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4ODIKCjIwMTEtMTItMTEgMTc6NTU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBkb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZQoKMjAxMS0xMi0xMCAxNDo0ODo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cDogZml4IHN0YXJ0L3N0b3AgcmFjZSBpbiBzb3VwaHR0cGNsaWVudHNpbmsKCSAgRml4IGNyYXNoIG9yIGhhbmcgaW4gZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0IHdoZW4gZG9pbmcgc3RvcCgpCgkgIHJpZ2h0IGFmdGVyIHN0YXJ0KCkuIENyZWF0ZSBtYWluIGxvb3AgaW4gdGhlIHN0YXJ0IGZ1bmN0aW9uIGFscmVhZHkKCSAgYW5kIG5vdCBqdXN0IGluIHRoZSB0aHJlYWQgZnVuY3Rpb24sIHNvIHRoYXQgc3RvcCgpIGFsd2F5cyBoYXMgYQoJICB2YWxpZCBtYWluIGxvb3AgdG8gcXVpdCBvbi4gQWxzbywgY2FsbGluZyBnX21haW5fbG9vcF9xdWl0KCkgYmVmb3JlCgkgIGdfbWFpbl9sb29wX3J1bigpIHdvbid0IHdvcmsgYW5kIHJlc3VsdCBpbiB0aGUgc3RvcCBmdW5jdGlvbiB3YWl0aW5nCgkgIGZvciB0aGUgdGhyZWFkIHRvIGpvaW4gZm9yZXZlci4gVGhlcmVmb3JlLCB3YWl0IGZvciB0aGUgdGhyZWFkIHRvCgkgIGJlIHJlYWR5IGFuZCBnZXQgdGhlIG1haW4gbG9vcCBydW5uaW5nIGluIHRoZSBzdGFydCgpIGZ1bmN0aW9uLCB0bwoJICBiZSBzdXJlIHN0b3AoKSBhbHdheXMgd29ya3MuCgoyMDExLTEyLTEwIDEzOjM1OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzdCB0ZXN0IGZpbGUgdXNlZCBpbiBtYXRyb3NrYXBhcnNlIHVuaXQgdGVzdAoKMjAxMS0xMi0xMCAxMjozMjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHVwIHJndm9sdW1lIHRlc3QgZm9yIGJhc2V0cmFuc2Zvcm0gZXZlbnQgY2FjaGluZwoJICBTb21lIHRlc3RzIGFzc3VtZWQgdGhhdCB0YWcgZXZlbnRzIHdvdWxkIGFsd2F5cyBwdXNoZWQgdGhyb3VnaAoJICBpbW1lZGlhdGVseSwgd2hpY2ggaXNuJ3QgdGhlIGNhc2UgYW55IGxvbmdlciwgc28gcHVzaCBhIG5ld3NlZ21lbnQKCSAgZXZlbnQgYW5kIGFuIGVtcHR5IGJ1ZmZlciBmaXJzdC4KCjIwMTEtMTItMTAgMTE6MTI6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBmaXggaXRlcmF0b3IgYW5kIGNhcHMKCjIwMTEtMTItMTAgMTE6MTE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQKCjIwMTEtMTItMTAgMTE6MDk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzaW1wbHkgZm9yd2FyZCB0aGUgY2FwcyBldmVudAoJICBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50IHdlIGdldCBhcyBpbnB1dCBpbnN0ZWFkIG9mIG1ha2luZyBhIG5ldyBldmVudCBldGMuLgoKMjAxMS0xMi0wOSAyMDoxMDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZm9yd2FyZCBjYXBzCgoyMDExLTEyLTA5IDE5OjQ2OjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHA6IHBhc3MgcGFyZW50IHRvIHNldGNhcHMgbWV0aG9kcwoKMjAxMS0xMi0xMCAwMjoyMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lby5wbzoKCSogcG8vamEucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMTItMDkgMTY6MDQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHJlbmFtZSAiY2xpZW50IiBwcm9wZXJ0aWVzIHRvICJjbGllbnQtbmFtZSIKCSAgQmV0dGVyIG5hbWUsIGJ1dCBhbHNvIG1hdGNoZXMgdGhlIHByb3BlcnR5IG9uIHRoZSBqYWNrCgkgIGVsZW1lbnRzICh3aGVyZSAiY2xpZW50IiBpcyB1c2VkIGZvciBzb21ldGhpbmcgZWxzZSkuCgoyMDExLTEyLTA5IDE1OjUwOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2xpZW50IG5hbWUgd2hlbiBmcmVlaW5nIHRoZSBlbGVtZW50CgkgIEFuZCBhZGQgZ3RrLWRvYyBjaHVua3MgZm9yIHRoZSBuZXcgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4NzIKCjIwMTEtMTItMDkgMTU6NDU6MDMgKzAwMDAgIE5pY29sYXMgQmFyb24gPGhvZ2dpbnNAcmFkaW9tLmZyPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkICJjbGllbnQtbmFtZSIgcHJvcGVydHkgdG8gamFja2F1ZGlvc2luayBhbmQgamFja2F1ZGlvc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU4NzIKCjIwMTEtMTItMDkgMTI6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgbGF3OiBmaXggQ0ZMQUdTIGFuZCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTEyLTA5IDEyOjE1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMi0wOSAxMDo1MToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwOiBmaXggbWFyc2hhbGxlcnMKCSAgUmVtb3ZlIGN1c3RvbSBtYXJzaGFsbGVycyBmb3IgbWlub2JqZWN0LgoJICBJbml0IFJUQ1AgYnVmZmVyIGNvcnJlY3RseS4KCSAgSGFuZGxlIHJlc3VsdHMgZnJvbSBzZXRjYXBzCgkgIFJlbW92ZSBhc3NlcnRzLgoKMjAxMS0xMi0wOSAxMDo1MDoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgbGF3OiBmaXggbmVnb3RpYXRpb24KCjIwMTEtMTItMDggMTE6MDA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RyZWFtLWZvcm1hdD1yYXcgZ29lcyB3aXRoIGFhYyBjYXBzLCBub3QgbXAzIGNhcHMKCjIwMTEtMTItMDggMDE6Mjg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jCgoyMDExLTEyLTAyIDEyOjA3OjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IGlnbm9yZSB0aGUgaGlnaGVzdCBmcmFtZSBpbnRlcnZhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTAyIDExOjU5OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogZG8gbm90IGlnbm9yZSB0aGUgbGFyZ2VzdCByZXNvbHV0aW9uCgkgIFRoZSAnbWF4JyB2YWx1ZSBpc24ndCBhbiBTVEwgc3R5bGUgIm9uZSBhZnRlciB0aGUgZW5kIiBib3VuZCwKCSAgYnV0IHRoZSBsYXJnZXN0IGFsbG93ZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDYgMTY6NDc6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgZG9jczogYWRkIGFkZCB0aGUgdHdvIGVudW0gdmFsdWVzIHRoYXQgd2VyZSBqdXN0IGFkZGVkIHRvbwoKMjAxMS0xMi0wNiAxNjoxNDo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogZXhwb3NlIHRoZSBlbnVtIHByb3BlcnR5IGRvY3MgZm9yIHNwbGl0dGluZyBtb2RlLgoJICBGaXhlcyAjNjY1NjY2LgoKMjAxMS0xMi0wNiAxNDoyMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiBmaXggaW52YWxpZCByZXR1cm4gdmFsdWUKCjIwMTEtMTItMDYgMTM6NTk6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bnVzZWQgZmx1c2ggcGFyYW0KCjIwMTEtMTItMDUgMTg6NDA6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJICBydHB4cXRkZXBheTogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDE4OjQwOjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBJbml0aWFsaXplIEdzdFJUUEJ1ZmZlciBiZWZvcmUgdXNhZ2UKCjIwMTEtMTItMDUgMTg6Mzk6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDEyOjE1OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogcmVwbGFjZSBkZXByZWNhdGVkIEdTVF9DTEFTU19MT0NLCgoyMDExLTExLTI0IDEzOjU4OjAxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBDZWlsIGpwZWcgZGltZW5zaW9ucywgaW5zdGVhZCBvZiBmbG9vcgoJICBBIEpQRUcgaW1hZ2UgaW5zaWRlIGFuIFJUUCBzdHJlYW0gaGFzIGEgcHJlY2VlZGluZyBSRkMyNDM1IGhlYWRlciB0aGF0CgkgIGNvbnZleXMgd2lkdGgvaGVpZ2h0LiBUaGUgZGltZW5zaW9ucyBpbiB0aGlzIGhlYWRlciBhcmUgbGltaXRlZCB0byBiZQoJICBtdWx0aXBsZXMgb2YgOC4gU2luY2UgSlBFRyB1c2VzIGFuIE1DVSBvZiA4eDggcGl4ZWxzIGFueSBpbWFnZSBtdXN0CgkgIGFscmVhZHkgaW5kaXJlY3RseSBoYXZlIGltYWdlIGRhdGEgZGltZW5zaW9ucyB0aGF0IGFyZSByb3VuZGVkIHVwIGluCgkgIG9yZGVyIHRvIGNvbnRhaW4gZW5vdWdoIGRhdGEgdG8gcmVuZGVyIHRoZSBpbWFnZS4gVGhlcmVmb3JlIHRoaXMgZml4CgkgIHNhZmVseSByb3VuZHMgdGhlIGltYWdlIGRpbWVuc2lvbnMgaW4gdGhlIFJGQzI0MzUgaGVhZGVyIHVwIHRvIHRoZQoJICBjbG9zZXN0IG11bHRpcGxlIG9mIDguCgoyMDExLTEyLTA0IDEyOjUwOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZW5zdXJlIHdlIG9ubHkgY2hlY2sgZm9yIHNhbXBsZS9ibG9jayBtaXh1cCBhdCBzdGFydAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgdHJpZ2dlciBhdCBzb21lIHBvaW50IHdpdGhpbiB0aGUgZmlsZSwgYnV0IHRoZQoJICBjaGVjayBpcyBvbmx5IG1ha2luZyBzZW5zZSBmb3IgdGhlIHNlY29uZCBibG9jay4KCjIwMTEtMTItMDMgMTg6MTQ6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IHdhcm4gaWYgYWNjdW11bGF0aW5nIGhlYWRlcnMgYWZ0ZXIgdGhleSB3ZXJlIHB1c2hlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NDEyCgoyMDExLTEwLTI1IDEyOjU0OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBmaXggcGFyc2luZwoJICBNYXJrIG1vcmUgcGFydHMgYXMgYmVsb25naW5nIHRvIHN0cmVhbWhlYWRlcnMuCgoyMDExLTEyLTAzIDE3OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkaXNjb250aW51aXR5IHRocmVzaG9sZCBjaGVjayB3aGVuIHRpbWVzdGFtcHMgZ28gYmFja3dhcmRzCgkgIFNpbmNlIHVuc2lnbmVkIHR5cGVzIGFyZSB1c2VkLCBhIG5lZ2F0aXZlIHZhbHVlIHdvdWxkIHNob3cgYXMgdmVyeSwgdmVyeQoJICBwb3NpdGl2ZS4KCSAgRml4ZXMgQS9WIHN5bmMgb24gc29tZS4uLiBsZXNzIHRoYW4gd2VsbCBtYWRlIGZpbGVzIHdoZXJlIHRpbWVzdGFtcHMgZ28KCSAgYmFja3dhcmRzLgoKMjAxMS0xMi0wMiAyMjoyNToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICB1cGRhdGUgZm9yIGJhc2VzaW5rIGV2ZW50IGhhbmRsZXIgY2hhbmdlcwoKMjAxMS0xMi0wMiAxMjowMToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGFkZCBhIGNvbW1lbnQgYWJvdXQgYSAiaGlkZGVuIiBhc3N1bXB0aW9uIG9uIHJhbmsgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzODcKCjIwMTEtMTItMDIgMDE6NTg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmMKCjIwMTEtMTItMDEgMTg6NTU6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgdGFnIEFQSSBjaGFuZ2VzCgoyMDExLTEyLTAxIDE1OjI5OjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwbGFjYXRlIGdjYyBzaW5jZSAtV2Vycm9yIGlzIHVzZWQKCSAgSW5pdGlhbGl6ZSB2YWx1ZXMgdGhhdCBHQ0MgY2Fubm90IHByb3ZlIGFyZSBub3QgdXNlZCB3aXRob3V0CgkgIGJlaW5nIGluaXRpYWxpemVkLCBhbmQgYXNzZXJ0IHRoYXQgSSBkaWQgbm90IG1lc3MgdXAgbXkgcHJvb2YuCgoyMDExLTEyLTAxIDE0OjEzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHVwIExJQlMgb3JkZXIgc29tIG1vcmVgCgoyMDExLTEyLTAxIDEzOjIyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBmaXggbmFtZSBvZiBuZXcgcHJvcGVydHkgYW5kIHRoZSB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM3OQoKMjAxMS0wOS0yNSAxNDo1Nzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIGJhc2ljIGJ1ZmZlciBsaXN0IGhhbmRsaW5nCgkgIFdlIGFzc3VtZSBmb3Igbm93IHRoYXQgYWxsIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdAoJICBzaG91bGQgZW5kIHVwIGluIHRoZSBzYW1lIGZpbGUgKHNvIHdlIGNhbiBncm91cCBHT1BzCgkgIGluIGJ1ZmZlciBsaXN0cywgZm9yIGV4YW1wbGUpLiBDb3VsZCBvcHRpbWlzZSB0aGlzCgkgIGEgYml0IHRvIGF2b2lkIHRoZSBtZW1jcHkuCgoyMDExLTA5LTIzIDE4OjQzOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiB3cml0ZSBzdHJlYW0taGVhZGVycyB3aGVuIHN3aXRjaGluZyB0byB0aGUgbmV4dCBmaWxlIGluIG1heC1zaXplIG1vZGUKCjIwMTEtMDktMjMgMTg6MzE6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgbmV3ICdtYXgtc2l6ZScgbW9kZSBmb3Igc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGZpbGUKCjIwMTEtMDktMjMgMTc6NDk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgIm1heC1maWxlLXNpemUiIHByb3BlcnR5IGZvciBuZXcgbmV4dC1maWxlIG1vZGUKCjIwMTEtMTItMDEgMTM6Mzg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGZvcmdldCBTU0Egc3VidGl0bGVzIGluIGxhc3QgY29tbWl0CgoyMDExLTEyLTAxIDEzOjM0OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgY2hlY2sgZm9yIG1hcmt1cCBhbmQgZXNjYXBlIGlmIG5lY2Vzc2FyeSBmb3IgcGxhaW50ZXh0IHN1YnRpdGxlcwoJICBPdGhlcndpc2Ugd2UgYnJlYWsgVVNGIGFuZCBBU1MvU1NBIHN1YnRpdGxlcy4KCjIwMTEtMTItMDEgMTM6MjM6MzMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgbXVsdGlmaWxlOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIC1iYXNlIGxpYnMgaW5jbHVkZXMgdG8gQ0ZMQUdTLCBmaXggb3JkZXIgb2YgTElCUyA8Y2l0Pi4KCjIwMTEtMTItMDEgMTM6MDg6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBmaXggZ19ta2R0ZW1wIHByZXNlbmNlIGNoZWNrIGluIG11bHRpZmlsZSB0ZXN0cwoJICBnX21rZHRlbXAgd2FzIGFkZGVkIGluIGdsaWIgMi4zMCBldmVuIHRob3VnaCB0aGUgZG9jIGNsYWltcyBpdCB3YXMgYWRkZWQgaW4KCSAgMi4yNi4KCjIwMTEtMDctMTcgMjM6NTY6MDQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBmbGFnIHRvIGN1dCBhZnRlciBhIGZvcmNlIGtleSB1bml0IGV2ZW50CgoyMDExLTEyLTAxIDEyOjQ3OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDb3B5IGFsbCBidWZmZXIgZmxhZ3Mgd2hlbiBjcmVhdGluZyBhIHN1YnRpdGxlIGJ1ZmZlciBjb3B5IGFmdGVyIHBvc3Rwcm9jZXNzaW5nCgkgIFRoaXMgYWxzbyBjb3BpZXMgdGhlIGNhcHMuIE90aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgcHVzaW5nCgkgIHRoZSBmaXJzdCBidWZmZXIgd2l0aG91dCBhbnkgY2Fwcywgd2hpY2ggY2F1c2VzIGRvd25zdHJlYW0KCSAgdG8gbm90IGdldCBub3RpZmllZCBhYm91dCB0aGUgY2Fwcy4KCSAgRml4ZXMgYnVnICM2NjQ4OTIuCgoyMDExLTEwLTExIDAyOjA3OjEzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGRlZmF1bHQgZnJhbWVyYXRlIG9wdGlvbmFsIHBlciBzdHJlYW0KCSAgdGhlcmUgaXMgYXQgbGVhc3QgdHdvIHVzZSBjYXNlcyB3aGVyZSBkZWZhdWx0IGZyYW1lIHJhdGUKCSAgc2hvdWxkIG9yIG1heSBiZSBkaXNhYmxlZDoKCSAgLSB2cDggc3RyZWFtIHdpdGggYWx0cmVmIGZyYW1lIGVuYWJsZWQuIElmIGRlZmF1bHQgZnJhbWUgcmF0ZQoJICBpcyBlbmFibGVkLCBzb21lIHBsYXllcnMgd2lsbCBtaXNzaW50ZXJwcmV0ZSBpdCAoY3JpdGljYWwhKQoJICAtIGZvciB3ZWJtIGNvbnRhaW5lciwgdG8gcmVkdWNlIG1pY3JvIG92ZXJoZWFkCgkgIC0gZm9yIHN0cmVhbSB3aXRoIHZhcmlhYmxlIGZyYW1lIHJhdGUuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMTEtMzAgMjI6MTM6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSAgcmlwcGxldHY6IGZpeCBDTEFNUCBlbmQtdmFsdWVzCgoyMDExLTExLTMwIDE5OjI1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0xMS0zMCAxOTowMDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuaDoKCSAgc3BsaXRmaWxlc3JjOiBzcGVjaWZ5IGZpbGVuYW1lcyB2aWEgbm9ybWFsIHdpbGRjYXJkcyBpbnN0ZWFkIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbnMKCSAgTGVzcyBjcmFja3Rhc3RpYyBpbiB0aGUgZW5kLgoKMjAxMS0xMC0xMCAxODoyODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGNoZWNrIGJ5dGVzIGFjdHVhbGx5IHJlYWQsIGp1c3QgaW4gY2FzZQoJICBIYW5kbGUgY29ybmVyIGNhc2Ugd2hlcmUgd2UgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlCgkgIGxhc3QgZmlsZSBwYXJ0LCBpbiB3aGljaCBjYXNlIHdlIHdhbnQgdG8gcmV0dXJuIGEgc2hvcnQgcmVhZC4KCSAgSWYgd2UgZ2V0IGZld2VyIGJ5dGVzIHRoYW4gZXhwZWN0ZWQgZm9yIGFueSBvdGhlciBmaWxlIHBhcnQsCgkgIHdlIHNob3VsZCBqdXN0IGVycm9yIG91dCwgc2luY2Ugc29tZXRoaW5nIGZpc2h5J3MgZ29pbmcgb24KCSAgdGhlbi4KCjIwMTEtMTAtMDYgMDg6MzM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBzZXQgb2Zmc2V0cyBvbiBidWZmZXJzCgkgIExvb2tzIGxpa2Ugc29tZSBwYXJzZXJzIChpbiBzb21lIHZlcnNpb25zIGF0IGxlYXN0KSBleHBlY3QgdGhlCgkgIG9mZnNldHMgdG8gYmUgc2V0LCBhbmQgYmVoYXZlIHdlaXJkIGlmIHRoYXQncyBub3QgdGhlIGNhc2UKCSAgKGUuZy4gb2ZmLWJ5LW9uZSBpbiBoMjY0cGFyc2UpLgoKMjAxMS0wNy0yOCAyMDoxOTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmg6CgkgIG11bHRpZmlsZTogYWRkIHNwbGl0ZmlsZXNyYyBlbGVtZW50CgkgIEFkZCBuZXcgc3BsaXRmaWxlc3JjIGVsZW1lbnQgdGhhdCBwcmVzZW50cyBtdWx0aXBsZSBmaWxlcwoJICAoc2VsZWN0YWJsZSB2aWEgYSBsb2NhdGlvbiByZWdleCkgYXMgb25lIHNpbmdsZSBjb250aWd1b3VzCgkgIGZpbGUuCgoyMDExLTExLTMwIDA3OjU3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbW92ZWQgYXVkaW8gaW50ZXJmYWNlcwoKMjAxMS0xMS0yOSAxNzozNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIFJldmVydCAicHVsc2VhdWRpb3Npbms6IGZpeCBjYXBzIGxlYWsiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDZhOWRlOWUyYWVkYzhiNjZhYjMyMTk5MDJiNWEzN2U4ZDY1YWRhMi4KCSAgc2V0Y2FwcyBmdW5jdGlvbnMgYXJlbid0IHN1cHBvc2VkIHRvIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZAoKMjAxMS0xMS0yOSAxOToxMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIGZpeCBmb3IgbW92ZWQgaW50ZXJmYWNlcwoKMjAxMS0xMS0yOCAyMzoyMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzc1MjFiNTk3ZjRkYzQ5ZDhkMTY4ZjM2OGYwZTdlYmFmOThhNzIxNTYnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMTozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6MzE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI4IDIxOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMToyNzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJ2EyMzM3YjhhZjQ1Y2I1ZThjMDkxZmYwZTFjM2VmNGI2Y2M3YjIwYTMnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAxODoyNTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBVcGRhdGUgZm9yIGluZGV4YWJsZSBjaGFuZ2UKCjIwMTEtMTEtMjggMTc6NTI6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgIHVwZGF0ZSBmb3IgY2xvY2sgcHJvdmlkZXIgQVBJIGNoYW5nZQoKMjAxMS0xMS0yOCAxNjo1NzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgZml4IGZvciBlbGVtZW50IGZsYWcgdXBkYXRlcwoKMjAxMS0xMS0yOCAxMjo1ODo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjggMTM6MTA6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgcmVmIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTEtMjggMTM6MTA6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI4IDExOjQ3OjExICswMTAwICBDaGFkIDxjaGFubmFAY2FsdGVjaC5lZHU+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBzZXQgZ2FwLWF3YXJlCgkgIFRoZSBlbGVtZW50IGRvZXMgbm90IG1vZGlmeSB0aGUgZGF0YSBhbnl3YXkuCgoyMDExLTExLTI3IDIzOjMyOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgcG8gZmlsZXMKCjIwMTEtMTEtMjcgMjM6MzE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYwoKMjAxMS0xMS0yNiAyMTozOTozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogYWxzbyBzeW5jIHRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZmlsdGVyIGJhbmRzCgoyMDExLTExLTI2IDE2OjA2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgbWF0cm9za2FkZW11eDogaW5pdGlhbGlzZSBzZWVuX21hcmt1cF90YWcgZmllbGQgb24gc3VidGl0bGUgc3RyZWFtIGNvbnRleHQKCjIwMTEtMTEtMjYgMTA6MDE6MDcgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYTogcG9ydCB0byAwLjExCgkgIFN1cHBvcnQgZm9yIFRBR19JTUFHRSBhbmQgVEFHX0FUVEFDSE1FTlQgaXMgY29tbWVudGVkIG91dDsgdGhpcyByZXF1aXJlcyBjYXBzCgkgIG9uIGJ1ZmZlcnMgd2hpY2ggaXMgZ29uZSBmcm9tIDAuMTEuCgkgIFNlZ21lbnQgaGFuZGxpbmcgaW4gdGhlIGRlbXV4ZXIgaXMgYSBiaXQgY29tcGxleDsgSSBhZGRlZCBzb21lIEZJWE1FIGNvbW1lbnRzCgkgIGluIHBsYWNlcyB3aGVyZSBJJ20gbm90IHlldCBzdXJlIGlmIEkgcG9ydGVkIGNvcnJlY3RseS4KCjIwMTEtMTEtMjYgMTM6NTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2VhdWRpbzogcmVxdWlyZSBwdWxzZWF1ZGlvID49IDEuMAoKMjAxMS0xMS0yNiAxMzozNDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYwoJICBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmgKCSAgZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmMKCSAgU29tZSBwb3NzaWJsZSBGSVhNRXMgcmVtYWluaW5nIGluIHRoZSBhdWRpbyBwYXJzZXIgZ2V0Y2FwcyBmdW5jdGlvbnMuCgoyMDExLTExLTI1IDE5OjI4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIGlzbWxtdXg6IFVzZSBpc28tZnJhZ21lbnRlZCBhcyB2YXJpYW50IHR5cGUKCSAgVXNpbmcgJ2lzbycgY29uZmxpY3RzIHdpdGggbXA0bXV4IHZhcmlhbnQgdHlwZSwgaXNtbG11eCBub3cKCSAgdXNlcyBpc28tZnJhZ21lbnRlZAoJICBGaXhlcyAjNjU2ODIzCgoyMDExLTExLTI0IDEyOjA1OjMzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IEltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlCgkgIFB1bHNlQXVkaW8gMS4wIHN1cHBvcnRzIHBlci1zb3VyY2Utb3V0cHV0IHZvbHVtZXMsIGFuZCB0aGlzIGV4cG9zZXMgdGhlCgkgIGZ1bmN0aW9uYWxpdHkgdmlhIHRoZSBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlLgoJICBXaGVuIGNvbXBpbGVkIGFnYWluc3QgcHJlLTEuMCBQdWxzZUF1ZGlvLCB0aGUgaW50ZXJmYWNlIGlzIG5vdAoJICBpbXBsZW1lbnRlZCwgYW5kIHRoZSAidm9sdW1lIiBvciAibXV0ZSIgcHJvcGVydGllcyBhcmUgbm90IGF2YWlsYWJsZS4KCSAgVGhpcyBiaXQgb2YgdWdsaW5lc3Mgd2lsbCBnbyBhd2F5IHdoZW4gd2UgY2FuIGRlcGVuZCBvbiBQdWxzZUF1ZGlvIDEuMAoJICBvciBncmVhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MDU1CgoyMDExLTA5LTEwIDIxOjIxOjM4IC0wNzAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogVHJpdmlhbCBjb21tZW50IGNvcHktcGFzdGUtbyBmaXgKCjIwMTEtMTEtMTQgMTI6NDM6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBSZW1vdmUgcmVkdW5kYW50IGNvZGUKCjIwMTEtMTEtMTQgMTI6NDE6NDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBDbGVhbiB1cCByZWZjb3VudGluZyBpbiBldmVudCBwcm9iZQoJICBNYWtlcyBzdXJlIHdlIGRvbid0IGxlYWsgYSByZWZjb3VudCBpZiB0aGUgb2JqZWN0IGlzIGRpc3Bvc2VkIGJlZm9yZSBhCgkgIE5FV1NFR01FTlQgdHVybnMgdXAuCgoyMDExLTExLTI0IDE2OjMxOjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzZWVraW5nCgkgIFdoaWNoIEkgYWNjaWRlbnRhbGx5IGJyb2tlIHdoZW4gZml4aW5nIGZsdiB2aWRlb3MgYnJlYWtpbmcgb24KCSAgc3B1cmlvdXMgdGltZXN0YW1wIGRpc2NvbnRpbnVpdGllcyBpbiBicm9rZW4gZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMTEtMjUgMTM6MTM6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogcmVwYWlyIGNvbG9yIG1vZGVzIGluIHJhZGlvYWN0diBieSB0YWtpbmcgcmdiLGJnciBpbnRvIGFjY291bnQKCjIwMTEtMTEtMjUgMTE6NDQ6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkgIHJhZGlvYWN0djogYWRkIG9uZSBtb3JlIHNldCBvZiBjYXBzCgkgIEl0IGFsc28gd29yayBpbiB0aGlzIGZvcm1hdC4gQXZvaWRzIHRoZSBuZWVkIGZvciBjb252ZXJzaW9uLgoKMjAxMS0xMS0yNSAxMTo0NDoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R0djogZml4IHJldmVyc2UgbmVnb3RpYXRpb24KCSAgVGhlIHBsdWdpbnMgd2VyZSB1c2luZyBfZml4ZWRfY2Fwc18gYW5kIHRodXMgbm90IGFkanVzdGluZyB0byBuZXcgdXBzdHJlYW0KCSAgc2l6ZXMuIFNwb3R0ZWQgYnkgVGltIE3DvGxsZXIuCgoyMDExLTExLTI1IDExOjQzOjE2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IHJlbW92ZSBub3QgbmVlZGVkIGlmZGVmCgoyMDExLTExLTI1IDEwOjE1OjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIHJpcHBsZXR2OiBjbGVhbiB1cCB0aGUgcmVuZGVyaW5nIGNvZGUgYSBiaXQKCSAgVGhpcyBpcyBjb3JycnVwdHMgdGhlIG1lbW95IHdoZW4gcmVzaXppbmcuIEFkZCBhIEZJWE1FIHRvIG1ha2UgaXQgcmVzaXplYWJsZQoJICBvbmNlIHRoYXQgaXMgc29sdmVkLgoKMjAxMS0xMS0yNCAyMTo0MTowMyArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMS0xMS0yNCAyMDo0Mjo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0dHY6IGZpeCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIFRoZSBwbHVnaW5zIHdlcmUgdXNpbmcgX2ZpeGVkX2NhcHNfIGFuZCB0aHVzIG5vdCBhZGp1c3RpbmcgdG8gbmV3IHVwc3RyZWFtCgkgIHNpemVzLiBTcG90dGVkIGJ5IFRpbSBNw7xsbGVyLgoKMjAxMS0xMS0yNCAxNDoxNDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IEZpeCBsZWFrIG9mIGZpbGVuYW1lIHN0cmluZ3MKCSAgRG8gbm90IGZvcmdldCB0byBmcmVlIHRoZSBmaWxlbmFtZSBzdHJpbmdzIHdoZW4gZGVsZXRpbmcKCSAgdGhlIGxpc3Qgb2YgZmlsZXMuCgoyMDExLTExLTI0IDE0OjExOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlOiBmaXggYnVpbGQgb2YgdGVzdHMKCSAgVGVzdHMgZmFpbCB0byBidWlsZCBiZWNhdXNlIGdfbWtkdGVtcCBpcyBhdmFpbGFibGUgZnJvbSBnbGliIHNpbmNlCgkgIDIuMjYuCgkgIFRoaXMgcGF0Y2ggYWRkcyBhIGNvbmRpdGlvbiBhcm91bmQgdGhlIHJlZGVmaW5pdGlvbiBvZgoJICBnX21rZHRlbXAgb24gdGhlIHRlc3RzIHRvIG9ubHkgYnVpbGQgaXQgaWYgZ2xpYiBpcyBvbGRlciB0aGFuCgkgIDIuMjYuCgoyMDExLTA5LTI3IDE2OjQ5OjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc2tpcCBpZDMyIHRhZ3MKCSAgVGhpcyBhbGxvd3MgZGVjb2RpbmcgYXQgbGVhc3Qgb25lIHNhbXBsZSB3aGVyZSBzb21ldGhpbmcgaGFzCgkgIHN0dWZmZWQgc29tZSBJRDMgdGFnIGJlZm9yZSB0aGUgKHN1cHBvc2VkbHkgaW5pdGlhbCkgRk1UXCAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAyNDkKCjIwMTEtMTAtMzEgMTc6MDY6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IHRyaXZpYWwgY29tbWVudCBmaXggZm9yIGNsYXJpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTg0MQoKMjAxMS0xMC0zMSAxNzowNDoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogZG9uJ3QgbGVhdmUgYml0cyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciB1bmluaXRpYWxpemVkCgkgIExldCdzIGluaXRpYWxpemUgdGhlbSB0byB6ZXJvLiBJdCBsb29rcyBhbHJpZ2h0LCBidXQgdGhlbiBpdAoJICBhbHNvIGxvb2tzIGFscmlnaHQgd2l0aCB2Mywgb3Igd2l0aCB0aGUgY29ycmVzcG9uZGluZyBwaXhlbHMKCSAgZnJvbSB0aGUgc291cmNlLiBJIGRvbid0IGtub3cgd2hhdCB0aGUgb3JpZ2luYWwgaW50ZW50IHdvdWxkCgkgIGJlLCBhbmQgdGhlIG9yaWdpbmFsIGVmZmVjdHYgc291cmNlIGFsc28gaGFzIHRoaXMgYnVnL2ZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE4NDEKCjIwMTEtMTEtMjQgMTA6MjU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFVzZSB0aGUgc2lua3BhZCB0ZW1wbGF0ZSBjYXBzIGFzIGZhbGxiYWNrLCBub3QgdGhlIHNyY3BhZCBvbmVzCgoyMDExLTExLTI0IDA5OjU5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo1NTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjQ5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IE1hcmsgc29tZSBtb3JlIGZ1bmN0aW9ucyBhcyBzdGF0aWMKCjIwMTEtMTEtMjQgMDk6NDg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjQ0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IE1hcmsgc29tZSBmdW5jdGlvbnMgYXMgc3RhdGljIGFuZCByZW1vdmUgdW51c2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucwoKMjAxMS0xMS0yNCAwOTo0MzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDE6NDg6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBzb3VwIHRlc3QgZm9yIHJlbW92ZWQgaXJhZGlvLW1vZGUgcHJvcGVydHkKCjIwMTEtMTEtMjQgMDE6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGdldCByaWQgb2YgaXJhZGlvLSogcHJvcGVydGllcywgcG9zdCB0YWdzIGluc3RlYWQKCjIwMTEtMTEtMjQgMDE6NDA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsd2F5cyBzZW5kIGljZWNhc3QgcmVxdWVzdCBoZWFkZXIsIGRyb3AgaXJhZGlvLW1vZGUgcHJvcGVydHkKCSAgU2VydmVyIHNob3VsZCBpZ25vcmUgdW5rbm93bi91bmhhbmRsZWQgaGVhZGVycy4uCgoyMDExLTExLTI0IDAxOjE5OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBtYWtlIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkgYSBndWludDY0CgoyMDExLTExLTI0IDAwOjUyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIHJ0cG1hbmFnZXI6IHJlbmFtZSBnc3RydHAqIC0+IHJ0cCoKCSAgVGhpcyB3YXMgZG9uZSBpbiAwLjEwIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggdGhlIHJ0cCBlbGVtZW50cyBpbgoJICBmYXJzaWdodCwgYnV0IHRoZSBnc3QtcHJlZml4aW5nIGlzIG5vIGxvbmdlciBuZWVkZWQgaW4gMC4xMQoKMjAxMS0xMS0yMyAyMzoyOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lbXAyZW5jLmM6CgkgIGV4dDogZml4IG1vcmUgcHJpbnRmIGZvcm1hdCB3YXJuaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMS0xMS0yMyAyMzoyOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGV4dDogZml4IG1vcmUgcHJpbnRmIGZvcm1hdCB3YXJuaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMS0xMS0yMyAxMDoyMzoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjMgMDk6MjY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGF2b2lkIGVuZGxlc3MgY2FwcyBsb29wCgkgIENoZWNrIGlmIHRoZSBjYXBzIGFyZSB0aGUgc2FtZSBiZWZvcmUgYWRkaW5nIGEgbmV3IHByb2JlLiBCZWNhdXNlIG9mIHJlY29uZmlndXJlCgkgIGV2ZW50cywgdXBzdHJlYW1zIHNlbmRzIG11bHRpcGxlIGNhcHMgZXZlbnRzLgoKMjAxMS0xMS0yMyAwMDo1NzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FwYXJzZS5jOgoJKiB0ZXN0cy9maWxlcy9waW5rbm9pc2Utdm9yYmlzLm1rdjoKCSAgdGVzdHM6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIG1hdHJvc2thcGFyc2UKCjIwMTEtMTEtMjMgMDA6NTY6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGRvbid0IGxlYWsgc3RyZWFtIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDU0OAoKMjAxMS0xMS0yMiAwMTo0MDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBNb3JlIHByaW50ZiBmb3JtYXQgd2FybmluZyBmaXhlcwoKMjAxMS0xMS0yMSAyMDozMTozMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCAvIDY0Yml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTUKCjIwMTEtMTEtMjEgMTM6Mzc6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIGFjdGl2YXRpb24gY2hhbmdlcwoKMjAxMS0xMS0xOCAxNzo1OToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBuZXcgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0xMS0xOCAxMzo1NzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhZGQgcGFyZW50IHRvIGFjdGl2YXRlIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAxNzozNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBTZXRpbmcgY2FwcyBvbiBhbiBpbmFjdGl2ZSBmbHVzaGluZyBwYWQgZG9lcyBub3RoaW5nLgoKMjAxMS0xMS0xNyAxNzoxNzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMKCjIwMTEtMTEtMTcgMTU6MDI6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAwODoyNDo1OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBjb2xsZWN0cGFkczogcG9ydCBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xNiAxOTowODowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGVuc3VyZSB0byBmcmVlIGFsbG9jYXRlZCBwYWRkZWQgZGF0YQoKMjAxMS0xMS0xNiAxODo1NzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHJlc2V0IHRhZyBzZXR0ZXIgaW50ZXJmYWNlIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTEtMTEtMTYgMTg6NTc6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZXNldCB0YWcgc2V0dGVyIGludGVyZmFjZSB3aGVuIGFwcHJvcHJpYXRlCgoyMDExLTExLTE2IDE3OjU0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGFkZCBwYXJlbnQgdG8gaW50ZXJuYWwgbGlua3MKCjIwMTEtMTEtMTYgMTc6Mjc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYWRkIHBhcmVudCB0byBxdWVyeSBmdW5jdGlvbgoKMjAxMS0xMS0xNiAxMjo0MDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogdXBkYXRlIGZvciByZW5hbWVkIGZsYWdzCgkgIFVzZSB0aGUgX2NoZWNrX3JlY29uZmlndXJlIG1ldGhvZCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZsYWdzLgoJICBEb24ndCBuZWVkIHRvIHJlZiB0aGUgcGFyZW50IGFueW1vcmUsIGNvcmUgZG9lcyB0aGF0LgoKMjAxMS0xMS0xNSAxODowMToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIF9xdWVyeV9wZWVyXyooKSAtPiBfcGVlcl9xdWVyeV8qKCkKCjIwMTEtMTEtMTUgMTc6NDU6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgX2FjY2VwdF9jYXBzKCkgLT4gX3F1ZXJ5X2FjY2VwdF9jYXBzKCkKCjIwMTEtMTEtMTUgMTc6Mjk6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIF9wZWVyX2dldF9jYXBzKCkgLT4gX3BlZXJfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjU1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBfZ2V0X2NhcHMoKSAtPiBfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjMxOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBjaGFuZ2UgZ2V0Y2FwcyB0byBxdWVyeQoJICBDaGFpbiB1cCBldmVudCBmdW5jdGlvbiBpbiBwYXlsb2FkZXJzLgoKMjAxMS0xMS0xNSAxMzoyMzo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBzcHVyaW91cyB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICBXZSBuZWVkIHRvIHRlbGwgdGhlIGJhc2UgY2xhc3MgdGhhdCB3ZSdyZSBkcm9wcGluZyBidWZmZXJzLAoJICBzbyBpdCBkcm9wcyB0aGUgaW5wdXQgdGltZXN0YW1wcyBjb3JyZXNwb25kaW5nIHRvIHRoZXNlLgoJICBPdGhlcndpc2UsIHRoZSBmaXJzdCBhY3R1YWwgYXVkaW8gYnVmZmVycyB3ZSBvdXRwdXQgd2lsbCBiZQoJICBzdGFtcGVkIHdpdGggdGhvc2UgLSBHU1RfQ0xPQ0tfVElNRVNUQU1QX05PTkUuIFRoYXQgbWlzbWF0Y2gKCSAgYmV0d2VlbiBpbnB1dCBidWZmZXIgY291bnQgYW5kIG91dHB1dCBidWZmZXIgY291bnQgd2lsbCBzdGF5CgkgIHdoaWxlIHBsYXlpbmcuIFdpdGggZW5vdWdoIGhlYWRlcnMgYW5kIGxvbmcgZW5vdWdoIGJ1ZmZlcgoJICBkdXJhdGlvbnMsIHRoZSBzaW5rIHdpbGwgaGF2ZSBwbGF5ZWQgZW5vdWdoIGJlZm9yZSByZWNlaXZpbmcKCSAgdGhlIGZpcnN0IHZhbGlkIHRpbWVzdGFtcCAodXN1YWxseSAwKSwgYW5kIHdpbGwgdHJpZ2dlciBhbgoJICBhdWRpYmxlIGRpc2NvbnRpbnVpdHkuCgoyMDExLTExLTE0IDE1OjM0OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZGV0ZWN0IHdoZW4gYSBmaWxlIGxpZXMgYWJvdXQgZml4ZWQgYmxvY2sgc2l6ZQoJICBJZiB0aGUgc2FtcGxlL2Jsb2NrIG51bWJlciBoYXBwZW5zIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBibG9jawoJICBzaXplLCB3ZSBhc3N1bWUgdmFyaWFibGUgYmxvY2sgc2l6ZSwgYW5kIHRodXMgY291bnRlcnMgaW4gc2FtcGxlcwoJICBpbiB0aGUgaGVhZGVycy4gVGhpcyBjYW4gb25seSBnZXQgdXMgYSBmYWxzZSBwb3NpdGl2ZSBmb3IgYSBibG9jawoJICBzaXplIG9mIDEsIHdoaWNoIGlzIGludmFsaWQuIFdlIGNhbiBnZXQgZmFsc2UgbmVnYXRpdmVzIG1vcmUKCSAgb2Z0ZW4gdGhvdWdoIChlZywgaWYgbm90IHN0YXJ0aW5nIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtKSwKCSAgYnV0IHRoZW4gdGhhdCdzIGFscmVhZHkgR0lHTy4KCjIwMTEtMDktMDIgMTk6MjA6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEFkZCBzcGVjaWFsIG1vZGUgdG8gdXNlIEZJUiBhcyByZXBhaXIgYXMgR29vZ2xlIGRvZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOS0wMSAxNzo0NzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBTZW5kIEZJUiByZXF1ZXN0cyBpbiByZXNwb25zZSB0byBrZXkgdW5pdCByZXF1ZXN0cyB3aXRoIGFsbC1oZWFkZXJzPVRSVUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOS0wMSAxNjoyNToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBQdXQgdGhlIFBMSSByZXF1ZXN0cyBpbiBlYWNoIFJUUFNvdXJjZQoJICBBbHNvIHJlZmFjdG9yIGEgYml0IGFuZCBwdXQgYWxsIHRoZSBrZXlmcmFtZSByZXF1ZXN0IGNvZGUgaW4gb25lCgkgIHBsYWNlIGluc2lkZSBydHBzZXNzaW9uLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOC0zMSAxNDozNTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSGFjayB0byBGSVIgYmVjYXVzZSBHb29nbGUgZG9lc24ndCBzZXQgdGhlIHNlbmRlciBzc3JjIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA4LTMwIDE5OjA2OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFByb2Nlc3MgcmVjZWl2ZWQgRnVsbCBJbnRyYSBSZXF1ZXN0cwoJICBQcm9jZXNzIEZJUiByZXF1ZXN0cyBhY2NvcmRpbmcgdG8gUkZDIDUxMDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0xMS0wNyAxODo0MzoyNiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gdG8gMS8xCgkgIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHNldHRpbmcgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIFY0TDIuIFNvCgkgIHNpbXBseSBzZXQgaXQgdG8gYmUgMS8xIGluIHRoZSBjYXBzIHRvIHByZXZlbnQgbmVnb3RpYXRpb24gZmFpbHVyZXMgd2hlbgoJICBmaXhhdGluZyB0byB3ZWlyZCB2YWx1ZXMgKGUuZy4gd2hlbiB0aGUgZG93bnN0cmVhbSBjYXBzIGhhcwoJICBwaXhlbC1hc3BlY3QtcmF0aW8gPSBbIE1JTiwgTUFYIF0gKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNTgwCgoyMDExLTExLTE0IDA5OjM5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHRlc3RzOiBtYWtlIGlkM2RlbXV4IHRlc3QgY29tcGlsZQoJICBTdGlsbCBmYWlscyB0aG91Z2guCgoyMDExLTExLTEyIDE1OjQyOjI3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBubyBuZWVkIHRvIGV4cGxpY2l0ZWx5IGFkZCBjb250cm9sbGVkIHByb3BlcnRpZXMgYW55bW9yZQoKMjAxMS0xMS0xMyAyMzo0Mjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBVcGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgZ2V0X3Byb3RvY29scygpIGNoYW5nZXMKCjIwMTEtMTEtMTMgMTg6NTA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgc291cCwgcHVzaGZpbGUsIHJ0c3AsIHVkcCwgdjRsMjogdXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIEFQSSBjaGFuZ2VzCgoyMDExLTExLTExIDE5OjI0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgoyMDExLTExLTExIDE5OjIxOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cDogZml4IGZvciBydHAgaGVhZGVyIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTA6MDY6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZml4IGNhcHMgbGVhawoKMjAxMS0xMS0xMSAxNDo1NTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG8gbm90IGxlYWsgY2xpZW50bmFtZSB3aGVuIHNldHRpbmcgdXAgcHJvcGVydHkKCjIwMTEtMTEtMTEgMTg6MDU6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBDaGFpbiB1cCBkaXNwb3NlKCkgaW4gcHVsc2VhdWRpb3NpbmsKCjIwMTEtMTEtMTEgMTI6MzI6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZm52MWhhc2guaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDEyOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDEyOjAxOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW9iYXNlKiByZW5hbWUKCjIwMTEtMTEtMTEgMTE6NTM6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBhdWRpbzogdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMTozMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgZml4IGZvciByaW5nYnVmZmVyIHJlbmFtZQoKMjAxMS0xMS0xMSAxMToyNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgdXBkYXRlIGZvciByaW5nYnVmZmVyIGNoYW5nZQoKMjAxMS0xMS0xMSAwMToyNzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IGNvc21ldGljIGVycm9yIG1lc3NhZ2UgY2hhbmdlCgkgIExFVCdTIFRSWSBUTyBLRUVQIENBUElUQUxTIFRPIEEgTUlOSU1VTS4KCjIwMTEtMTEtMTEgMDA6NTg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWVtcDJlbmMuYzoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZW1wMmVuYy5oOgoJICB0d29sYW1lOiByZW5hbWUgdG8gdHdvbGFtZW1wMmVuYwoKMjAxMS0xMS0xMSAwMDo1MTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkgIHR3b2xhbWU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAyMzoxNTozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCBhcGkgY2hhbmdlcwoKMjAxMS0xMS0xMCAyMzowOToyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIHZhcmlvdXM6IGFkZCBtaXNzaW5nIGluY2x1ZGVzCgoyMDExLTExLTEwIDIxOjM1OjI0ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjb21waWxhdGlvbiB3aXRoIHB1bHNlYXVkaW8gMC45CgoyMDExLTExLTEwIDE4OjMyOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMTAgMTc6MjM6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB1cGRhdGUgZm9yIGNoYW5nZWQgYmFzZSBjbGFzc2VzCgoyMDExLTExLTEwIDEzOjUwOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBmaXggZm9yIGF1ZGlvIGNsb2NrIGNoYW5nZQoKMjAxMS0xMS0xMCAxMTowMzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB1cGRhdGUgZm9yIHJlbW92ZWQgZml4YXRlIGZ1bmN0aW9uCgoyMDExLTExLTA5IDE3OjQwOjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wOSAxNzozODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHVwZGF0ZXMgZm9yIG5ldyBhY2NlcHRjYXBzIHF1ZXJ5CgoyMDExLTExLTA4IDE1OjM1OjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB3cm9uZyBzdHJpZGUgd2hlbiBpbnZlcnRpbmcgdW5jb21wcmVzc2VkIHZpZGVvCgkgIFN1Y2ggZnJhbWVzIGhhdmUgYSBzdHJpZGUgbXVsdGlwbGUgb2YgNCwgc2VlCgkgIGh0dHA6Ly9sc2N1YmUub3JnL3BpcGVybWFpbC9mZm1wZWctaXNzdWVzLzIwMTAtQXByaWwvMDEwMjQ3Lmh0bWwuCgkgIFRoaXMgc2hvd2VkIHVwIG9uIGEgc2FtcGxlIHVzaW5nIGEgb2RkIHdpZHRoIG9mIDI0IGJpdCB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjI4OAoKMjAxMS0xMS0wOSAxMjoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgaDI2M3BwYXk6IHJlcG9ydCB0byAwLjExCgoyMDExLTExLTA5IDEyOjE4OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDExLTExLTA5IDExOjU2OjA3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IGZpeCBjb21waWxlciB3YXJuaW5nIGZvciB1bmluaXRpYWxpemVkIHZhbHVlcwoKMjAxMS0xMS0wOSAxMTo1MzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA5IDEwOjMyOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtaW5pbWFsIHNhbml0eSBjaGVjayBvbiBjcmVhdGlvbiBkYXRldGltZQoKMjAxMS0xMS0wNCAxNzo1NDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogUmVqZWN0IHN0YXJ0L3N0b3AgcmVxdWVzdHMgdGhhdCBjb21lIG91dCBvZiBvcmRlcgoKMjAxMS0xMC0yOSAxODoyNDoyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBQb3N0IG1lc3NhZ2VzIHdoZW4gc3RhcnRpbmcgdG8gc2VuZC9yZWNlaXZlIERUTUYKCSAgVGhpcyB3YXksIHRoZSBVSSBjYW4gZGlzcGxheSB0aGUgRFRNRiBldmVudHMgYXMgdGhleSBhcyBiZWluZyBzZW50LgoKMjAxMS0xMS0wMiAxMjo1ODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFJldHVybiB0aGUgc2luayBwYWQgdGVtcGxhdGUgYXMgc2luayBjYXBzLCBub3QgdGhlIHNyYydzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMTUgMTk6MjY6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEFsc28gaW1wbGVtZW50IHNpemUvZnJhbWVyYXRlIHJlc3RyaWN0aW9ucyBpbiBnZXRjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMDQgMjA6NTA6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEltcGxlbWVudCBnZXRjYXBzIGZvbGxvd2luZyBSRkMgNDYyOSwgcGlja3MgdGhlIHJpZ2h0IGFubmV4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAxMS0xMS0wOCAxNDozMTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBzZXQgc2VnbWVudCBzdG9wIGF0IHN0YXJ0dXAgcmF0aGVyIHRoYW4gb25seSBwb3N0IHNlZWsKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSBjb25zaXN0ZW50IHBsYXliYWNrIHdpdGggb3Igd2l0aG91dCBzZWVrLCBlc3BlY2lhbGx5CgkgIGluIHByZXNlbmNlIG9mIHNvbWUgYm9ndXMgZWRpdCBsaXN0IGVudHJpZXMuCgoyMDExLTExLTA4IDExOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwODo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogY29kZSBjbGVhbnVwcwoJICBNb3ZlIHZhcmlhYmxlcyB0byB0aGUgc2NvcGUgd2hlcmUgdGhleSBhcmUgbmVlZGVkLiBVc2Ugb3VyIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIG1vcmUuCgoyMDExLTExLTA4IDA4OjQ5OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBhZGQgYSBzaW5rX3F1ZXJ5IHRvIGVhdCBhbGxvY2F0aW9uIHF1ZXJpZXMKCSAgV2Ugc2hvdWxkIG5vdCBmb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBmb3IgYXVkaW8gdG8gdGhlIHZpZGVvIHNpbmsuCgoyMDExLTExLTAyIDE3OjAyOjU0ICswMDAwICBSYXVsIEd1dGllcnJleiBTZWdhbGVzIDxyZ3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgZ3N0L2Zsdi86IGFkZCBhbWZkZWZzLmggdG8gbm9pbnN0X0hFQURFUlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMzNAoKMjAxMS0xMS0wNyAxNzoxNDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgcHJvYmUgdXBkYXRlcwoKMjAxMS0xMC0wMyAxNzo1MDo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGRldGVjdCBsYXJnZSBwdHMgZ2FwcyBhbmQgcmVzeW5jCgkgIFNob3VsZCB3b3JrIG9uIG11bHRpcGxlIGdhcHMsIGJ1dCB0ZXN0ZWQgb24gb25seSBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMDgtMjIgMTA6NDA6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggb2ZmIGJ5IG9uZSBiZXR3ZWVuIGdyYW5wb3MgYW5kIGxhc3Rfc3RvcAoKMjAxMS0xMC0wNyAxOTo0MTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBsYXN0IGZyYW1lIHRpbWVzdGFtcCBpbiBmaXhlZCBibG9jayBzaXplIG1vZGUKCSAgVGhlIGxhc3QgYmxvY2sgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmxvY2sgc2l6ZSwgc28gd2Ugc2hvdWxkIG5vdAoJICB1c2UgaXQgdG8gc2NhbGUgb3Igd2UnbGwgZW5kIHVwIHdpdGggYSB3cm9uZyB0aW1lc3RhbXAuCgkgIFNlZSBjb21tZW50IGFuZCBxdW90ZSBmcm9tIHRoZSBGTEFDIGZvcm1hdCBkb2N1bWVudGF0aW9uIGluIHRoZSBjb2RlLgoJICBGaXhlcyBsb29wZWQgcGxheWJhY2sgb2YgRkxBQyBmaWxlcyAodmlhIGFib3V0LXRvLWZpbmlzaCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEyMTUKCjIwMTEtMTAtMjcgMTU6NTI6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU2CgoyMDExLTExLTA3IDEyOjAwOjEyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGZpeCByZWdyZXNzaW9uIGNhdXNpbmcgbWFsZm9ybWVkIGZpbGVzCgkgIFRoaXMgd2FzIGNhdXNlZCBieSBtZSBpbiAxYjIxM2QuIEl0IHNlZW1zIEkgd2FzIHRvbyBmb2N1c2VkIG9uIDAuMTEgd2hlbiBJIGRpZAoJICB0aGlzIGFuZCB0ZXN0ZWQgdGhlIHdyb25nIGJyYW5jaC4KCSAgVGhlIHByb2JsZW0gd2FzIHJlcG9ydGVkIGJ5IEFsZXhleSBGaXNoZXIuCgoyMDExLTExLTA0IDE4OjQxOjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTc6Mzk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTY6MjE6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IG1vcmUgMC4xMSBmaXhpbmcKCSAgTWFrZSBzdXJlIHRoZSBjYXBzIGV2ZW50IGdldHMgdG8gdGhlIHNpbmsuCgoyMDExLTExLTA0IDE1OjM1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHNvbWUgbW9yZQoJICBSZW5hbWUgZGVjb2RlYmluMiAtPiBkZWNvZGViaW4gc29tZSBtb3JlCgkgIENsZWFudXAgdXAgc2lua3BhZCBldmVudCBoYW5kbGluZwoKMjAxMS0xMS0wNCAxMzo1NjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCBzb21lIG1vcmUgdG8gMC4xMQoJICBXZSBtdXN0IG5vdCBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50LiBpbnN0ZWFkIHdlIHdpbGwgZGVjaWRlIHdoYXQgdG8gZG8gd2hlbiB0aGUKCSAgcGFkIGJsb2NrIGlzIHRha2VuLgoJICBVc2UgZGVjb2RlYmluIGluc3RlYWQgb2YgZGVjb2RlYmluMgoKMjAxMS0xMS0wNCAxMzoxMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDExOjU4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIG1ha2UgJXUgaW4gYWxsIHJlcXVlc3QgcGFkIHRlbXBsYXRlcwoKMjAxMS0xMS0wNCAxMTowMTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jCgoyMDExLTExLTA0IDEwOjMyOjQ2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBQb3J0IGFwZWRlbXV4CgoyMDExLTExLTAzIDIzOjI4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogdXNlIEdMaWIncyBHX0JJR19FTkRJQU4gZGVmaW5lIGluc3RlYWQgb2YgQklHX0VORElBTgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3MzIKCjIwMTEtMTEtMDMgMTY6NDM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG5ldCBsaWJyYXJ5CgoyMDExLTExLTAyIDEyOjA5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdGFnczogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6NDA6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDAyOjQwOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV0YnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTEtMTAtMzEgMDI6MzU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldGFkZHJlc3MgY2hhbmdlCgoyMDExLTEwLTMxIDAyOjI0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YSBhcGkgY2hhbmdlCgoyMDExLTEwLTI5IDA5OjI5OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXcgdGFzayBhcGkKCjIwMTEtMTAtMjkgMDk6MDk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgYnVmZmVybGlzdDogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDAwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTMxIDE4OjM4OjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IG9idmlvdXMgY3Jhc2gKCjIwMTEtMTAtMzEgMTY6MTg6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgc2hvcnRjdXQgZXZhbHVhdGlvbiB3aGVuIGFkZGluZyBwYWlyZWQgbXA0IHRhZwoJICBGaXhlcyAocGFydCBvZikgIzYzODcxMS4KCjIwMTEtMTAtMzEgMTU6NDM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1bm9mZmljYWwgVl9NSlBFRyBjb2RlYyBpZAoJICAuLi4gYnV0IGFzIG5vdCBzcGVjJ2VkIGVzcGVjaWFsbHksIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkgY2FzZS4KCSAgRml4ZXMgIzY1OTgzNy4KCjIwMTEtMTAtMzAgMTk6MzA6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiByZW1vdmUgZGVhZCBjb2RlIGZyb20gaGVhZGVyCgkgIFdlIHJlcXVpcmUgYSBuZXctZW5vdWdoIGxpYmZsYWMgdGhhdCB0aGlzIGNvbmRpdGlvbiB3aWxsIG5ldmVyIGFwcGx5LgoKMjAxMS0xMC0zMCAxOTowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHBhcnNlIHN0cmVhbSBoZWFkZXJzIGZyb20gY2FwcyBpbiBzZXRfZm9ybWF0IGZ1bmN0aW9uCgkgIE5vdCB0aGF0IHRoaXMgc2VlbXMgdG8gYmUgYWN0dWFsbHkgbmVlZGVkLCBsaWJmbGFjIGhhcHBpbHkgZGVjb2RlcwoJICBzdHVmZiBldmVuIGlmIHdlIGp1c3QgZHJvcCBhbGwgaGVhZGVycyBhbmQgbmV2ZXIgZmVlZCBpdCB0byB0aGUKCSAgbGlicmFyeS4KCjIwMTEtMTAtMzAgMTg6NDk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGRvbid0IGV4dHJhY3QgbWV0YWRhdGEsIGxlYXZlIHRoYXQgdG8gdGhlIHBhcnNlciBvciBjb250YWluZXIKCjIwMTEtMTAtMzAgMTg6NDU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IHdlIGV4cGVjdCBmcmFtZWQgaW5wdXQgbm93LCByZW1vdmUgc29tZSBtb3JlIGNvZGUKCjIwMTEtMTAtMDkgMTY6MTg6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IG5haXZlIHBvcnQgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIFRoaXMgd291bGQgcHJvYmFibHkgaGF2ZSBiZWVuIHRvbyBpbnZhc2l2ZSB0byBkbyBpbiB0aGUgMC4xMAoJICBicmFuY2gsIHdpdGggYWxsIHRoZSBwdWxsLW1vZGUgYW5kIHBhcnNlciBoYW5kbGluZyBjb2RlIGluCgkgIHRoZXJlLgoKMjAxMS0xMC0zMCAxMjoyOToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvUkVBRE1FOgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSogZXh0L2xhbWUvcGx1Z2luLmM6CgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbGFtZS5jOgoJICBsYW1lOiByZW1vdmUgbGFtZSBlbGVtZW50LCBpdCdzIGJlZW4gc3VwZXJzZWRlZCBieSBsYW1lbXAzZW5jCgoyMDExLTEwLTMwIDExOjUxOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgZXh0LCBnc3Q6IHVwZGF0ZSBmb3IgdGFnbGlzdCBBUEkgY2hhbmdlcwoKMjAxMS0xMC0zMCAxMTo0NDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQsIGdzdDogdXBkYXRlIGZvciB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMwIDExOjQxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGF1ZGlvIHRlc3RzIGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDExLTEwLTI4IDIxOjI2OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBzaW1wbGlmeSBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDIxOjE5OjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIHRlc3RzOiBhdWRpb2VjaG86IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAyMToxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBpbnRlcm5hbCBidWZmZXIgc2l6ZSBjYWxjdWxhdGlvbgoKMjAxMS0xMC0yOCAxNDowNTo0OCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgdGVzdHM6IGF1ZGlvY2hlYmJhbmQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxNjo1MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjggMTU6MDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBwb3J0aW5nIGVycm9ycwoJICBUaGUgcHJvYmVzIHdlcmUgcG9ydGVkIHdyb25nbHkgYW5kIGNhdXNlZCBkZWFkbG9ja3MuCgoyMDExLTEwLTI4IDA5OjU3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIHNvZi1tYXJrZXIgdG8gdGVtcGxhdGUgY2Fwcywgc28gd2UgZG9uJ3QgZ2V0IHBsdWdnZWQgZm9yIGxvc3NsZXNzIGpwZWcKCSAganBlZ2RlYyAodXNpbmcgbGlianBlZyA2LjIvOCkgY2FuJ3QgZGVjb2RlIHNvbWUgbG9zc2xlc3MgdHlwZXMgb2YgSlBFRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NjY0OAoKMjAxMS0xMC0yOCAxMzowNjoyMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHRlc3RzOiBhdWRpb2NoZWJsaW1pdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDEzOjAyOjU2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IGNyYXNoIGluIHByb2Nlc3MoKQoKMjAxMS0xMC0yOCAxMTo0ODozMSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJICB0ZXN0czogYXVkaW9hbXBsaWZ5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTI6NTE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IGZpeCBjaGVjayBmb3IgZW1wdHkgY2FwcwoKMjAxMS0xMC0yOCAxMjozMDozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxhYm9yYXRlIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0xMC0xMSAyMDo1Njo1MSArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGJlIGNhcmVmdWwgd2l0aCBuZWdhdGl2ZSBjdHMKCSAgRml4ZXMgIzY2MTQ3Ny4KCjIwMTEtMTAtMDYgMTM6MDQ6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR1bmUgbm9uLXVwZGF0ZSBzZWVrIGhhbmRsaW5nIGNhc2VzCgkgIEZpeGVzICM2NjEwNDkuCgoyMDExLTEwLTI4IDExOjQ2OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jCgoyMDExLTEwLTI4IDExOjE2OjM4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZG9uJ3Qgc2V0IHByb2Nlc3MgZnVuY3Rpb24gdG9vIGVhcmx5CgkgIEdzdEF1ZGlvSW5mbyBhbmQgR3N0QXVkaW9GaWx0ZXIgaGF2ZSBiZWVuIGNoYW5nZWQgc28gdGhhdCB0aGlzIGNvZGUgZG9lc24ndAoJICBjcmFzaCBhbnltb3JlIHdoZW4gYSBwcm9wZXJ0eSBpcyBzZXQgaW4gTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTA6NDI6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSAgdGVzdHM6IGF1ZGlvZHluYW1pYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDAwOjI0OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgdGVzdHM6IHNwZWN0cnVtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTc6MTcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkgIHRlc3RzOiBhdWRpb3Bhbm9yYW1hOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTY6MTIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDEwOjQwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVc2UgdGhlIGNsaXAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcHJlcGFyZV9idWZmZXIgZnVuY3Rpb24KCjIwMTEtMTAtMjggMDk6MDU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHJ0cG1hbmFnZXIsIHY0bDI6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhZnRlciBnc3RfY2Fwc19uZXdfc2ltcGxlKCkgY2hhbmdlCgoyMDExLTEwLTI4IDA5OjAxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWZ0ZXIgZ3N0X2NhcHNfbmV3X3NpbXBsZSgpIGNoYW5nZQoKMjAxMS0xMC0yOCAwOTozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogVXNlIGNvbGxlY3RwYWRzMiBmcm9tIGNvcmUKCjIwMTEtMTAtMjcgMTk6Mzk6MjAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHBvcnQgdG8gMC4xMSByYXcgYXVkaW8gY2FwcwoKMjAxMS0xMC0yNyAxOTowNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgoyMDExLTEwLTI3IDE5OjAwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIG1ha2Ugc29tZSBtb3JlIHRoaW5ncyBjb21waWxlIGFnYWluCgoyMDExLTEwLTI3IDE2OjA4OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0xMC0yNyAxNjowMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yOCAwMDo0MTo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCBwb2ludGxlc3NseSBob2xkIG9iamVjdCBsb2NrIG92ZXIgY2FwcyBvcGVyYXRpb25zCgkgIEF2b2lkcyBhIGRlYWRsb2NrIHdoZW4gZ2V0Y2FwcyBpcyByZWN1cnNpdmUgZHVlIHRvIHRoZSBnZXRjYXBzIGJlaW5nCgkgIHJlZmxlY3RlZCB1cHN0cmVhbS9kb3duc3RyZWFtLiBUaGUgbG9jayBpc24ndCBhY3R1YWxseSBwcm90ZWN0aW5nCgkgIGFueXRoaW5nIGhlcmUuCgoyMDExLTEwLTI3IDAwOjM3OjAzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgc29tZSBjb21tZW50cyBhbmQgZGVmaW5lcyB0byBjbGFyaWZ5IGNvZGUuCgoyMDExLTEwLTEwIDE1OjM2OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGVibWwtd3JpdGUgdG8gYmUgbW9yZSAwLjExIGZyaWVuZGx5CgkgIFN3aXRjaGluZyB0byBhIG1vcmUgMC4xMS1mcmllbmRseSBwYXR0ZXJuLCB3aGVyZSBnZXR0aW5nIHRoZSBidWZmZXIncyBkYXRhCgkgIHBvaW50ZXIgYW5kIHNldHRpbmcgdGhlIHNpemUgbWFueSB0aW1lcyBpcyBsZXNzIG5hdHVyYWwuIFRoaXMgaXMgb2YgY291cnNlIGluCgkgIHByZXBhcmF0aW9uIHRvIHRoZSB1cGNvbWluZyBwb3J0IG9mIHRoZSBwbHVnaW4uCgoyMDExLTEwLTExIDIxOjQ1OjQ2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBzdGFsZSBmbG9hdGNhc3QgaW5jbHVkZQoJICBHRE9VQkxFX1RPX0JFIHdhcyBtb3ZlZCB0byBjb3JlIGEgbG9uZyB0aW1lIGFnby4KCjIwMTEtMTAtMTEgMjI6MTA6MjcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggcG9zc2libGUgY3Jhc2ggd2l0aCBtYWxmb3JtZWQgZGlyYWMgY29kZWNfZGF0YQoJICBTaW5jZSBzaXplIGlzIHVuc2lnbmVkLCB3ZSBuZWVkIHRvIHNhZmVndWFyZCBhZ2FpbnN0IHdyYXBwaW5nIGJlbG93IHplcm8uCgoyMDExLTEwLTIxIDIyOjMzOjM0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiByZW1vdmUgYXZvaWRhYmxlIGNhbGwgdG8gZ3N0X29iamVjdF9zZXRfbmFtZQoKMjAxMS0xMC0yMSAyMjozMjozOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGF2b2lkYWJsZSBjYWxsIHRvIGdzdF9vYmplY3Rfc2V0X25hbWUKCjIwMTEtMTAtMjEgMTQ6NTE6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0yMSAxMTozNzowNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBzbyBpdHMgcGFyYWxlbC1pbnN0YWxsYWJsZSBhbmQgb25seSB0cmllcyB0byBwYWNrYWdlIHBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTE2IDIwOjMwOjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBpbmNyZWFzZSBhcmJpdHJhcnkgcmVzb2x1dGlvbiBsaW1pdHMKCSAgQXBwYXJlbnRseSBsaWJwbmcgY2FuIHRlY2huaWNhbGx5IGRvIHVwIHRvIDJeMzEtMSByb3dzIGFuZCBjb2x1bW5zLiBIb3dldmVyIGl0CgkgIGltcG9zZXMgYW4gKGFyYml0cmFyeSkgZGVmYXVsdCBsaW1pdCBvZiAxIG1pbGxpb24gKHRoYXQgY291bGQgdGhlb3JldGljYWxseSBiZQoJICBsaWZ0ZWQgYnkgdXNpbmcgc29tZSBhZGRpdGlvbmFsIEFQSSkuCgkgIE1vdmVkIGFycmF5IGFsbG9jYXRpb24gdG8gdGhlIGhlYXAgbm93LgoKMjAxMS0xMC0xNiAyMDoyNTo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZG9uJ3QgdW5jb25kaXRpb25hbGx5IGFsbG9jYXRlIDQwOTYgcG9pbnRlcnMgb24gdGhlIHN0YWNrCgkgIEluc3RlYWQgYWxsb2NhdGUgYXMgbWFueSBhcyBuZWVkZWQgKG9uIHRoZSBzdGFjayBzdGlsbCkuCgoyMDExLTEwLTE2IDIwOjA1OjI4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBlbnN1cmUgc2V0Y2FwcyB3YXMgY2FsbGVkIGJlZm9yZSBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBlcnJvciBvdXQgZm9yIGUuZy4gImZha2VzcmMgISBwbmdlbmMgISBmYWtlc2luayIuCgoyMDExLTEwLTE2IDE5OjQ0OjI3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB2YWxpZGF0ZSBpbnB1dCBidWZmZXIgc2l6ZQoJICBKdXN0IGZvciBzYWZldHk7IG9mIGNvdXJzZSBzdWNoIG1pc21hdGNoIHJlcHJlc2VudHMgYSBidWcgaW4gYW5vdGhlciBlbGVtZW50LgoKMjAxMS0xMC0xNiAxOTo0MToyOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogbWFrZSBzZXRjYXBzIG1vcmUgcm9idXN0LCB1c2UgZ3N0dmlkZW8gZnVuY3Rpb25zCgkgIEEgc2V0Y2FwcyBmdW5jdGlvbiBuZWVkcyB0byBhY3R1YWxseSB2ZXJpZnkgdGhlIGNhcHMgY2FyZWZ1bGx5LiBJbiB0aGlzIGNhc2UsCgkgIGl0IHdhcyBwb3NzaWJsZSB0byBlLmcuIGxpbmsgYSB2aWRlbyBkZWNvZGVyIHdpdGggWVVWK1JHQiB0ZW1wbGF0ZSBjYXBzIHRvCgkgIHBuZ2VuYy4gIFRoYXQgd291bGQgY2F1c2UgYSBjcmFzaCB3aGVuIHRoZSBkZWNvZGVyIHB1c2hlcyBhIFlVViBidWZmZXIuIFNhbWUKCSAgdGhpbmcgd2hlbiBwdXNoaW5nIGEgdmFsaWQgYnVmZmVyIHRoYXQgZXhjZWVkcyB0aGUgcmVzb2x1dGlvbiBsaW1pdHMuCgkgIEFsc28sIG1pc3NpbmcgZnJhbWVyYXRlIGNhcHMgZmllbGQgd291bGQgY2F1c2UgYSBnbGliIGNyaXRpY2FsIHdhcm5pbmcgZHVlIHRvCgkgIGludmFsaWQgR1ZhbHVlLiBUaGlzIGZhaWxzIGhhcmQgbm93LgoKMjAxMS0xMC0yMSAxMDowMTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBlYm1sOiBzbWFsbCBjb3JyZWN0aW9uIHRvIHByZXZpb3VzIGNvbW1pdAoJICBTaWduYWwgYSBzaG9ydCByZWFkIHdpdGggVU5FWFBFQ1RFRCwgZXhhY3RseSBsaWtlIHRoZSBwZWVrX2J5dGVzIGZ1bmN0aW9uLgoKMjAxMS0xMC0xOSAxMzowOTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZWJtbDogRml4IHB1c2gtYmFzZWQgYmVoYXZpb3VyCgkgIFRoZSAncGVlaycgbWV0aG9kIHdhcyBjb21wbGV0ZWx5IHdyb25nICghPykKCjIwMTEtMTAtMTggMTg6MzE6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBHZXQgY2FwcyBjb3JyZWN0bHkgb24gcGFkIGJsb2NrCgkgIEluc3RlYWQgb2YgYWx3YXlzIGdvaW5nIHVwc3RyZWFtLCB3ZSBzaG91bGQgZmlyc3Qgc2VlIGlmIGFscmVhZHkgZ290CgkgIGNhcHMgZnJvbSBhIHNldGNhcHMoKSBjYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMjYyCgoyMDExLTEwLTE4IDEyOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogZG9uJ3QgdW5yZWYgYnVmZmVyIHdpdGggZ3N0X29iamVjdF91bnJlZigpCgoyMDExLTEwLTE4IDEyOjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgdXNlIGlzX3BjbSBmb3IgMS4wIG9mIHB1bHNlYXVkaW8KCjIwMTEtMTAtMTggMTE6NTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSBkaXNhYmxlIHRyaWNrbW9kZXMgZm9yICFwY20KCSAgT25seSBkaXNhYmxlIHRyaWNrbW9kZXMgd2hlbiB3ZSBhcmUgbm90IGRlYWxpbmcgd2l0aCByYXcgUENNIHNhbXBsZXMuCgoyMDExLTEwLTE2IDE1OjMyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMTYgMTU6MjY6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYwoKMjAxMS0xMC0xNCAxMDo1NjoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRml4IGEgbGVhawoJICBCdWZmZXJzIHdlcmVuJ3QgYmVpbmcgdW5yZWYnZWQgaW4gb25lIGNhc2UgaW5zaWRlLCBjYXVzaW5nIG1lbW9yeSB1c2FnZQoJICB0byBibG93IHVwLgoKMjAxMS0xMC0xNCAwOToxMDowMSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHNldCBjb2xvdXIgbWFza3MgZm9yIHZpZGVvL3gtcmF3LXJnYiBpbiBydHB2cmF3ZGVwYXkKCjIwMTEtMTAtMTMgMDE6MDU6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZS1lbmFibGUgdmlkZW9jcm9wIHBsdWdpbgoJICBBbHJlYWR5IHBvcnRlZCB0byAwLjExCgoyMDExLTEwLTEzIDAxOjA1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBhc3BlY3RyYXRpb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAwMDozOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMTc6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJICB0ZXN0czogYXNwZWN0cmF0aW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDg6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgdGVzdHM6IGFscGhhY29sb3I6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAxNzoxMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHJlZ2lzdGVyIHR5cGUKCSAgSXQncyBhIHN1YmNsYXNzIG9mIEdzdEF1ZGlvRW5jb2RlciBhbmQgbm90IG9mIEdzdEVsZW1lbnQKCjIwMTEtMTAtMTMgMTY6NTk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZpeCBpbmNvcnJlY3QgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgY2FsbAoJICBUaGlzIGdvdCBleHBvc2VkIHdoZW4gZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2FzIGNoYW5nZWQgZnJvbSBhIG1hY3JvIHRvIGEKCSAgZnVuY3Rpb24uCgoyMDExLTEwLTEzIDA5OjM0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB3cm9uZyB1c2FnZSBvZiBnc3RfaXRlcmF0b3JfZmlsdGVyCgkgIEl0IHRha2VzIGEgR1ZhbHVlKiBhcyB0aGUgdXNlcl9kYXRhLgoJICBBbmQgZG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBkZW11eGVyIGJlZm9yZSByZXR1cm5pbmcuCgoyMDExLTEwLTEzIDA5OjAyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBmaXggY29tcGlsZQoKMjAxMS0xMC0xMyAwODo1ODowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmMKCjIwMTEtMTAtMTIgMDg6MDk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdGVzdHM6IGNtbWxlbmM6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwODowMjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogY21tbGRlYzogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA3OjI5OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IFVzZSBuZXcgR3N0SXRlcmF0b3IgQVBJIGNvcnJlY3RseQoJICBHc3RJdGVyYXRvciBub3cgdXNlcyBHVmFsdWUsIHVzZSBpdCBjb3JyZWN0bHkuCgoyMDExLTEwLTEyIDExOjI2OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBPbmx5IHVzZSAyNCBMU0IgZm9yIGRlcHRoPTI0IFJHQiBjYXBzCgkgIC4uLiBhbmQgaW5kZW50IHRoZSBtYXNrcyBmb3IgY2xhcml0eQoKMjAxMS0xMC0xMSAxNDo1ODo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBzZWdtZW50IGhhbmRsaW5nLCBzbyB3ZSBhY3R1YWxseSB1c2UgcnVubmluZyB0aW1lCgkgIGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQgYWRqdXN0cyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBydW5uaW5nIHRpbWUgdXNpbmcKCSAgdGhlIHNlZ21lbnQgc3RvcmVkIGluIHRoZSBwYWQncyBjb2xsZWN0IGRhdGEuIEhvd2V2ZXIsIHRoZSBldmVudCBoYW5kbGVyIGRpZG4ndAoJICBwYXNzIHRoZSBuZXdzZWdtZW50IGV2ZW50IG9uIHRvIGNvbGxlY3RwYWRzJyBoYW5kbGVyLCBzbyB0aGlzIHNlZ21lbnQgd2FzIG5ldmVyCgkgIHVwZGF0ZWQgYXQgYWxsLgoJICBSZS1maXhlcyBidWcgIzQzMjYxMi4KCjIwMTEtMTAtMTAgMTk6MDE6MjMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIGdzdHJ0cGc3MjJwYXk6IENvbXBlbnNhdGUgZm9yIGNsb2NrcmF0ZSB2cy4gc2FtcGxlcmF0ZSBkaWZmZXJlbmNlCgkgIFRoZSBSVFAgY2xvY2stcmF0ZSB1c2VkIGZvciBHNzIyIGlzIDgwMDAsIGV2ZW4gdGhvdWdoIHRoZSBzYW1wbGVyYXRlIGlzCgkgIDE2MDAwLiBDb21wZW5zYXRlIGZvciB0aGlzIGJ5IHByZXRlbmRpbmcgRzcyMiBoYXMgOCBiaXRzIHBlciBzYW1wbGUKCSAgaW5zdGVhZCBvZiB0aGUgNCBiaXRzIGFzIGlmIGl0IHdlcmUgYSBjb2RlYyB0aGF0IHJhbiBhdCBoYWxmIHRoZSBzcGVlZCwKCSAgYnV0IHdpdGggdHdpY2UgdGhlIG51bWJlciBvZiBiaXRzLiBGaXhlcyAjNjYxMzc2CgoyMDExLTA5LTI3IDE5OjI1OjUzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogSW1wbGVtZW50IHVwc3RyZWFtIG5lZ290aWF0aW9uCgkgIEFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IganBlZ2RlYy4gRml4ZXMgIzY2MDI3NQoKMjAxMS0xMC0xMCAxOTowMjo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGRvbid0IGxlYWsgYXVkaW8gY29kZWNfZGF0YSBidWZmZXIKCjIwMTEtMTAtMTAgMTc6NDE6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgYWxwaGE6IERvbid0IHVzZSBzdGFydCgpIHZtZXRob2QKCSAgVGhlIG9ubHkgdGhpbmcgd2UncmUgZG9pbmcgaXMgaW5pdGlhbGl6aW5nIHBhcmFtZXRlcnMgLi4uCgkgICogd2hpY2ggd29uJ3Qgd29yayBiZWNhdXNlIHdlIGRvbid0IGhhdmUgdXBzdHJlYW0vZG93bnN0cmVhbSBjYXBzCgkgICogd2hpY2ggd2lsbCBiZSBpbml0aWFsaXplZCB3aGVuIDo6c2V0X2NhcHMoKSBpcyBjYWxsZWQKCjIwMTEtMTAtMTAgMTQ6MDg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTEwIDEzOjIyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMzoyMDowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgUExVR0lOX0FTRV9MSUJTIHRvIExEQURECgoyMDExLTEwLTEwIDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMjoyNzowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMTo0ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoKMjAxMS0xMC0xMCAwMDoxODo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBwb3J0IHB1bHNldXRpbCB0byAwLjExCgoyMDExLTEwLTA5IDIxOjE3OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOSAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeGluZyBnZXRjYXBzIGZ1bmN0aW9uCgkgIFVwZGF0ZSBnZXRjYXBzIGZ1bmN0aW9uIHRvIDAuMTEgQVBJCgoyMDExLTEwLTA5IDIxOjMxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IG9ubHkgcHVzaCBoZWFkZXIgYnVmZmVycyBmb2xsb3dpbmcgaW5pdGlhbCBldmVudHMKCjIwMTEtMTAtMDkgMTY6Mjk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA5IDE2OjI0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgX19nc3RfZGVidWdfbWluIG5hbWUgY2hhbmdlCgoyMDExLTEwLTA5IDExOjE4OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IEZpeCBtZW1vcnkgbGVhayBvbiBhdG9tcyByZWNvdmVyeSBmdW5jdGlvbgoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBmdHlwIGRhdGEgYWZ0ZXIgd3JpdGluZyBpdCB0byBhIGZpbGUuCgkgIEZpeGVzICM2NjA5NjkKCjIwMTEtMTAtMDYgMTI6MjY6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBvcnQgbmV3IGJpdHMKCjIwMTEtMTAtMDYgMTI6MjM6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L2lzb21wNC9hdG9tcy5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoKMjAxMS0wOS0yMSAxODo0NTo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc2VnbWVudCBoYW5kbGluZyB3aXRoIG5vbi16ZXJvIHN0YXJ0aW5nIHRpbWVzdGFtcAoJICAuLi4gYXMgd2VsbCBhcyByZWxhdGVkIGl0ZW1zLCBzdWNoIGFzIHNlZWtpbmcgYW5kIHBvc2l0aW9uIHJlcG9ydGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTgwOAoKMjAxMS0wOS0yOSAxODo0MTo1MyArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdjRsMiwgeGltYWdlc3JjOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxNTAKCjIwMTEtMDktMzAgMTI6NDI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBSZWZhY3RvciBiaXRyYXRlIGNoZWNrIHRlc3QKCSAgUmVmYWN0b3IgYml0cmF0ZSBjaGVjayB0ZXN0IHRvIGFjY29tb2RhdGUgbXVsdGlwbGUgdGVzdHMKCSAgZm9yIGJpdHJhdGUKCjIwMTEtMDktMzAgMTM6MDI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogdXBkYXRlIGVzZHMgYXRvbSB1bmRlciB3YXZlIGF0b20gZm9yIGFhYyBiaXRyYXRlcwoJICBBQUMgaW4gbW92IGZvcm1hdCBwdXRzIGFuIEVTRFMgYXRvbSBpbnNpZGUgb2YgYSBXQVZFIGF0b20gaW4KCSAgU1RTRCBhdG9tLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgYml0cmF0ZSBvbiB0aGlzIEVTRFMuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgaXQuCgoyMDExLTA5LTMwIDEyOjQxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRtdXg6IEFsc28gdXBkYXRlIGJ0cnQgYXRvbQoJICBXaGVuIHJld3JpdGluZyBiaXRyYXRlcywgYWxzbyB1cGRhdGUgdGhlIGJ0cnQgYXRvbSB1bmRlciBzdHNkCgoyMDExLTA5LTMwIDEwOjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIGZvciBiaXRyYXRlIGF2ZXJhZ2UgY2FsY3VsYXRpb24KCSAgQWRkcyB0ZXN0cyB0byBtYWtlIHN1cmUgcXRtdXgvbXA0bXV4IHNldHMgYXZlcmFnZSBiaXRyYXRlCgkgIGNvcnJlY3RseQoKMjAxMS0wOS0yOCAxMTo0MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBDYWxjdWxhdGUgYXZlcmFnZSBiaXRyYXRlIGZvciBzdHJlYW1zCgkgIENhbGN1bGF0ZSBhbmQgdXNlIGF2ZXJhZ2UgYml0cmF0ZSBmb3Igc3RyZWFtcyB3aGVuIG5vCgkgIGJpdHJhdGUgdGFnIHdhcyByZWNlaXZlZAoKMjAxMS0wOS0yOCAxMDo0MToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBdm9pZCBhIGJ1ZmZlciBtZXRhZGF0YSBjb3B5IGlmIHBvc3NpYmxlCgkgIElmIGZpcnN0X3RzIGlzIDAgdGhlcmUgaXMgbm8gbmVlZCB0byBzdWJ0cmFjdCwgc28gd2UgbWlnaHQKCSAgc2tpcCBzb21lIGNvcHlpbmcgdG8gbWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLgoKMjAxMS0wOS0yOSAyMzoyMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGluaXRpYWxpc2UgdmFyaWFibGUgYmVmb3JlIGFkZGluZyB0byBpdAoKMjAxMS0wOS0yOSAxNzoyMToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yOSAxNjozMzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IGNsZWFuIHVwIHNvbWUgdW51c2VkIHJlbW5hbnRzCgoyMDExLTA5LTI5IDE3OjMyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjggMTk6MTA6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIGdyYW51bGVwb3MgaGFuZGxpbmcKCSAgTGVhdmUgdGhhdCB0byB0aGUgcGFyc2VyIG9yIGRlbXV4ZXIuIFRoZXJlJ3Mgc3RpbGwgc29tZQoJICBjb2RlIGZvciBvcGVyYXRpbmcgaW4gREVGQVVMVCAoc2FtcGxlcykgZm9ybWF0LCBidXQgdGhhdAoJICB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIuCgoyMDExLTA5LTI4IDE4OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIHB1bGwtbW9kZSBzdXBwb3J0IGFuZCBmb2N1cyBvbiBiZWluZyBhIGRlY29kZXIKCSAgTGVhdmUgYWxsIHRoZSBvdGhlciBzdHVmZiB0byBmbGFjcGFyc2UuCgoyMDExLTA5LTI4IDE3OjI5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGZsYWMsIGpwZWc6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA5LTI4IDE3OjQwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA5LTI4IDE3OjM5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoKMjAxMS0wOS0yOCAxNjoxODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTY6MDk6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yNyAxNTo1OToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG1pbmltYWwgYWxpZ25tZW50IGZvciBhdWRpby94LXJhdy0qIGJ1ZmZlcnMKCSAgU2luY2UgbWF0cm9za2FkZW11eCB3aWxsIGF0dGVtcHQgdG8gcHVzaCB1bmFsaWduZWQgYnVmZmVycywKCSAgZG93bnN0cmVhbSBtaWdodCBoYXZlIHRyb3VibGUgd2l0aCB0aG9zZSwgZXNwZWNpYWxseSBpZiBkb3duc3RyZWFtCgkgIHVzZXMgT1JDLCBzdWNoIGFzIGF1ZGlvY29udmVydC4KCSAgRW5zdXJlIHdlIHB1c2ggYnVmZmVycyBhbGlnbmVkIHRvIHRoZSBiYXNpYyB0eXBlIGF0IGxlYXN0IGZvcgoJICB0aG9zZSByYXcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTc5OAoKMjAxMS0wOS0yOCAxMjo0NDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYwoKMjAxMS0wOS0yOCAwMDoxMDowOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9nb29tX2NvcmUuYzoKCSAgZ29vbTJrMTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgRml4ZXMgYnVnICM2NjAyOTQuCgoyMDExLTA5LTI3IDE4OjE5OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IGZpeCByYXcgYXVkaW8gY2FwcyB0b28KCjIwMTEtMDktMjcgMTg6MTU6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogcG9ydCB0byAwLjExCgoyMDExLTA5LTI2IDE2OjI5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSAgdHdvbGFtZTogU2ltcGxlIGZpeCBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2UKCjIwMTEtMDktMjYgMTY6Mjg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICB0d29sYW1lOiBGaXggdmFyaWFibGUgJ2dzdGVsZW1lbnRfY2xhc3MnIHNldCBidXQgbm90IHVzZWQgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wOS0yNiAxNjowODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogRG9uJ3QgZ2V0IHRoZSBwYXJlbnQgY2xhc3MgYWdhaW4sIEdTVF9CT0lMRVJQTEFURSBkb2VzIHRoaXMgYWxyZWFkeQoKMjAxMS0wOS0yNiAxNjowNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogRml4IHZhcmlhYmxlICdnc3RlbGVtZW50X2NsYXNzJyBzZXQgYnV0IG5vdCB1c2VkIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDktMjYgMTI6MDc6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICB0d29sYW1lOiBpbXByb3ZlIG91dHB1dCBmcmFtaW5nIGFuZCB0aW1lc3RhbXBpbmcKCSAgLi4uIHdoaWNoIHNpbXBseSBjb21lcyBkb3duIHRvIHJlcXVlc3Rpbmcgb25lIGZyYW1lIG9mIGlucHV0IGRhdGEgYXQgYSB0aW1lLAoJICBzaW5jZSB0aGUgZW5jb2RlciBuaWNlbHkgdHVybnMgdGhpcyBpbnRvIDEgZW5jb2RlZCBmcmFtZS4KCjIwMTEtMDktMjYgMTE6NTY6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICB0d29sYW1lOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yMyAxNTozMjowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGxhbWU6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjMgMTU6MjY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGxhbWU6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTIzIDE0OjMzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yNiAxNDo0NDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IHJlYWxseSByZXBvcnQgYml0cmF0ZSByYXRoZXIga2JpdHJhdGUKCjIwMTEtMDktMjYgMTQ6NDQ6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5oOgoJICBsYW1lbXAzZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yNSAxNToxMzozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkgIHNvdXA6IHJlbmFtZSBzb3VwaHR0cHNpbmsgdG8gc291cGh0dHBjbGllbnRzaW5rCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbiwgYW5kIGJlY2F1c2Ugd2UgbWlnaHQgd2FudCBhIHNlcnZlcgoJICBzaW5rIGF0IHNvbWUgcG9pbnQgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTQ3CgoyMDExLTA5LTIzIDE2OjM5OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSAgc291cGh0dHBzaW5rOiBkb24ndCBjcmVhdGUgdW51c2VkIHNlY29uZCBzaW5rIHBhZCBvYmplY3QKCSAgVGhlIGJhc2UgY2xhc3Mgd2lsbCBjcmVhdGUgdGhlIHNpbmsgcGFkLgoKMjAxMS0wOS0yMyAxNTozNjozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBjb3JyZWN0bHkgY2hlY2sgZm9yIGFjMy9lLWFjMyBzd2l0Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0MwoKMjAxMS0wOS0yMSAxNDowMToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiB0byAwLjExIGJyYW5jaAoKMjAxMS0wOS0yMCAxMzozODo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGltcHJvdmUgZG93bnN0cmVhbSBmbG93IHJldHVybiBmZWVkYmFjayB0byB1cHN0cmVhbQoJICAuLi4gYWx0aG91Z2ggYmFzZXJ0cGRlcGF5IGRvZXMgbm90IHJlYWxseSBtYWtlIGl0IGVhc3kvcG9zc2libGUgdG8gZG8gc28KCSAgYWxsIHRoZSB3YXkuCgoyMDExLTA5LTIwIDEyOjExOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogYWRkIHhpZCBhbmQgeG5hbWUgcHJvcGVydGllcyB0byBhbGxvdyBjYXB0dXJpbmcgYSBwYXJ0aWN1bGFyIHdpbmRvdwoJICBBIHBhcnRpY3VsYXIgd2luZG93IG1heSBiZSBzZWxlY3RlZCB1c2luZyB0aGUgbmV3IHhpZCAoWC1XaW5kb3cKCSAgWElELCBlZyBhIHBvaW50ZXIpIGFuZCB4bmFtZSAod2luZG93IHRpdGxlKSBwcm9wZXJ0aWVzLiBJZiBib3RoCgkgIGFyZSBzcGVjaWZpZWQsIHRoZSBYSUQgaXMgdXNlZCBpbiBwcmVmZXJlbmNlLCBmYWxsaW5nIGJhY2sgdG8KCSAgeG5hbWUgaWYgbm90IGZvdW5kLgoJICBEZWZhdWx0IChpZiBub25lIG9mIHhpZCBhbmQgeG5hbWUgYXJlIHNwZWNpZmllZCwgb3IgaWYgbm8gc3VjaAoJICB3aW5kb3cgaXMgZm91bmQpIGlzIHRvIGNhcHR1cmUgdGhlIHJvb3Qgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ2OTMyCgoyMDExLTA4LTAyIDE3OjM5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IHRvIG1ha2Ugc3VyZSBlbmNvZGViaW4gcGlja3MgbXA0bXV4IGZvciB2YXJpYW50PWlzbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNDk2CgoyMDExLTA5LTE5IDEyOjE1OjExICswMjAwICBIYSBOZ3V5ZW4gPGhhbmd1eXR2QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZpeCBhIGxlYWtlZCBjbG9jayBmb3IgZWFjaCBidWZmZXJpbmcgbWVzc2FnZQoJICBGaXhlcyBidWcgIzY1OTIzNy4KCjIwMTEtMDktMTkgMTI6MTE6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcGFyc2UgZW1iZWRkZWQgSUQzMiB0YWdzCgoyMDExLTA5LTAyIDEzOjQxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIHNvdXJjZSBwcmVtYXR1cmUgdGltaW5nIG91dAoJICBVc2Ugc2xpZ2h0bHkgYWRqdXN0ZWQgc2VuZGVyIGludGVydmFsIHRvIGRldGVybWluZSBzZW5kZXIgdGltZW91dCByYXRoZXIgdGhhbgoJICBvdXIgb3duIHNlbmRlciBzaWRlIGludGVydmFsICh3aGljaCBtYXkgaGF2ZSBiZWVuIGZvcmNlZCBzbWFsbCkuCgoyMDExLTA4LTI1IDEyOjQwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGF2b2lkIHRpbWluZyBvdXQgc291cmNlIHRvbyBxdWlja2x5CgkgIC4uLiBmb2xsb3dpbmcgYSBQQVVTRS9QTEFZIGN5Y2xlLCBwYXJ0aWN1bGFybHkgYXBwbGljYWJsZSB3aGVuIG9wZXJhdGluZwoJICB3aXRoIGEgc2hvcnQgUlRDUCBpbnRlcnZhbCAocG9zc2libHkgZm9yY2VkIHNvIHNlcnZlci1zaWRlKS4KCjIwMTEtMDgtMjQgMTQ6Mzc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXIvcnRwYmluOiByZWxheCBkcm9wcGluZyBydGNwIHBhY2tldHMKCSAgLi4uIHRvIGF0IGxlYXN0IGhhdmluZyBpdCB0cmlnZ2VyIGEvdiBzeW5jaHJvbml6YXRpb24sIHBvc3NpYmx5IHdpdGhvdXQKCSAgdXNpbmcgcHJvdmlkZWQgdmFsdWVzIHdoaWNoIGFyZSBzdGlsbCBub3QgY29uc2lkZXJlZCBzYW5lCgkgIChhcyBwcmV2aW91c2x5IGRyb3BwZWQpLgoKMjAxMS0wOC0yNCAxNDozNDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzb21lIG1vcmUgcmVzZXQgd2hlbiBjbGVhcmluZyBwdCBtYXAKCSAgLi4uIHdoaWNoIGluIHBhcnRpY3VsYXIgY2F0ZXJzIGZvciBzb21lIG1vcmUgcmVzZXQgZm9sbG93aW5nIGEgcG9zc2libGUKCSAgcnRzcCBQTEFZLgoKMjAxMS0wOC0yMSAyMTo1ODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvIG5vdCBzZXQgZWxlbWVudHMgdG8gUExBWUlORyB3aGVuIGRvaW5nIHNlZWsgaW4gUEFVU0VECgoyMDExLTA5LTAxIDE0OjQ3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG9ubHkgcmVzZXQgc2tldyBvbiBnYXAgaWYgaW5wdXQgdHMgYXZhaWxhYmxlCgoyMDExLTA4LTE4IDE0OjEyOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGNoZWNrIHNvbWUgbW9yZSBmb3IgcG9zc2libGUgcnRwIHRpbWVzdGFtcCBkaXNjb250aW51aXR5CgkgIC4uLiB3aGVuIG9wZXJhdGluZyBpbiBub24gc2xhdmUgbW9kZSwgYW5kIHJlc2V0IGlmIGRldGVjdGVkLgoJICBUaGlzIHNob3VsZCBhdm9pZCBzb21lIChsYXJnZSkgYm9ndXMgb3V0Z29pbmcgdGltZXN0YW1wIGR1ZSB0byBqdW1wcwoJICBpbiBydHAgdGltZSwgYXMgcmVzdWx0IG9mIFBBVVNFL1BMQVkgb3Igc2VlayBvciAuLi4KCjIwMTEtMDgtMDggMTI6NDg6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzd2l0Y2ggdG8gcnRwIHRpbWUgYmFzZWQgc3luY2luZyB3aGVuIGd1ZXNzZWQgYXBwcm9wcmlhdGUKCjIwMTEtMDgtMDggMTI6MTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFsdGVybmF0aXZlIGludGVyLXN0cmVhbSBzeW5jaW5nIG1ldGhvZHMKCSAgLi4uIGF0IGxlYXN0IGlmIG5vdCBzeW5jaW5nIHRvIE5QVCB0aW1lOgoJICAqIGVpdGhlciBzeW5jIHVzaW5nIFJUQ1AgU1IgZGF0YSAoYXMgY3VycmVudGx5KQoJICAqIG9ubHkgcGVyZm9ybSB0aGUgYWJvdmUgb25jZSB1c2luZyBpbml0aWFsIFJUQ1AgU1IgcGFja2V0cwoJICAqIGRpc2NhcmQgUlRDUCBhbmQgc3luYyBieSBlcXVhdGluZyBwcm92aWRlZCBzdHJlYW0ncyBjbG9jay1iYXNlIHJ0cHRpbWUsCgkgIGFzIHByb3ZpZGVkIGJ5IGppdHRlcmJ1ZmZlciAodHlwaWNhbGx5IG9idGFpbmVkIGZyb20gUlRQLUluZm8gaW4gUlRTUCkuCgoyMDExLTA4LTA4IDEyOjExOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFsc28gcHJvdmlkZSBjbG9jay1iYXNlIHRvIHN5bmMgc2lnbmFsCgoyMDExLTA4LTA4IDEyOjA5OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbGxvdyBjb25maWd1cmFibGUgcnRjcCBzdHJlYW0gc3luY2luZyBpbnRlcnZhbAoJICAuLi4gcmF0aGVyIHRoYW4gbmVjZXNzYXJpbHkgc3luY2luZyBhdCBlYWNoIFJUQ1AgU1IuCgoyMDExLTA4LTAxIDA4OjM1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdHJpZ2dlciByZWNvbnNpZGVyYXRpb24gaWYgcnRjcCBpbnRlcnZhbCBzZXQKCjIwMTEtMDgtMDEgMDg6MzI6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb25maWd1cmUgcnRjcCBpbnRlcnZhbCBpZiBwcm92aWRlZAoJICAuLi4gaW4gUExBWSByZXNwb25zZS4KCjIwMTEtMDktMTYgMTY6NTM6MjIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBGaXggYWxsb3dpbmcgemVybyBkdXJhdGlvbiB0cmFja3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzQ4NgoKMjAxMS0wOS0wNSAxMDoxMToxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHNyYzogZXJyb3Igb3V0IHdoZW4gbm8gcHJvdG9jb2wgaXMgc3BlY2lmaWVkIGluIHRoZSB1cmkKCSAgSXQgaXMgY2VydGFpbmx5IGJldHRlciB0aGFuIHRvIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4MTc4CgoyMDExLTA5LTE5IDA5OjM3OjU4ICswMjAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZG8gbm90IHVzZSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDExLTAzLTI5IDEyOjA5OjE4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgcHVsc2U6IE5ldyBwdWxzZWF1ZGlvc2luayBlbGVtZW50IHRvIGhhbmRsZSBmb3JtYXQgY2hhbmdlcwoJICBUaGlzIGludHJvZHVjZXMgYSBuZXcgYmluIHdoaWNoIHdyYXBzIGFyb3VuZCBwdWxzZXNpbmsgYW5kIGRlcGVuZGluZyBvbgoJICB0aGUgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIHNpbmssIHBsdWdzIGluL291dCBhIGRlY29kZWJpbjIgYXMKCSAgcmVxdWlyZWQuIFRoaXMgYWxsb3dzIHVzZXJzIHRvIHN3aXRjaCBzaW5rcyBvbiB0aGUgc3RyZWFtIGFuZCBhZGFwdHMKCSAgYWNjb3JkaW5nbHkgKGZvciBleGFtcGxlLCB5b3UgY291bGQgd2F0Y2ggYSBtb3ZpZSBpbiBwYXNzdGhyb3VnaCBtb2RlIG9uCgkgIHlvdXIgcmVjZWl2ZXIgd2hpY2ggc3VwcG9ydHMgQUMzIGRlY29kZSwgdGhlbiBwbHVnIG91dCBhbmQgc3dpdGNoIHRvIGEKCSAgbm9uLWRpZ2l0YWwgcHJvZmlsZSB0byBjb250aW51ZSB1bmludGVycnVwdGVkIG9uIGFuYWxvZyBvdXRwdXQpLgoJICBUaGUgYmluIGlzIHJlcXVpcmVkIGJlY2F1c2UgZG9pbmcgdGhlIHNhbWUgd2l0aCBwbGF5YmluMi9wbGF5c2luayB3aWxsCgkgIHJlcXVpcmUgQVBJIGNoYW5nZXMgdGhhdCBjYW5ub3QgYmUgbWFkZSBpbiAwLjEwLiBXaXRoIDAuMTEvMS4wLCB3ZQoJICBzaG91bGQgYmUgYWJsZSB0byBhc2sgZm9yIHVwc3RyZWFtIGNhcHMgcmVuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggYWxsCgkgIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcxNzkKCjIwMTEtMDktMTYgMTU6MDM6MjMgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IEF2b2lkIHNlbmRpbmcgRU9TIHdoZW4gaW4gcGF1c2VkIHN0YXRlCgkgIENoYW5nZWQgdGhlIGVibWwgcmVhZGVyJ3MgZ3N0X2VibWxfcGVla19pZF9sZW5ndGgoKSBmdW5jdGlvbiBzbwoJICB0aGF0IGl0IHJldHVybnMgdGhlIGFjdHVhbCByZWFzb24gZm9yIHdoeSB0aGUgcGVlayBmYWlsZWQsIGluc3RlYWQKCSAgb2YgKGFsbW9zdCkgYWx3YXlzIHJldHVybmluZyBHU1RfRkxPV19VTkVYUEVDVEVELiBUaGlzIHByZXZlbnRzCgkgIHRoZSBwdWxsaW5nIHRhc2sgZnJvbSBzZW5kaW5nIEVPUyB3aGVuIGRvaW5nIGEgZmx1c2hpbmcgc2Vlay4KCjIwMTEtMDktMTUgMTU6NTM6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHV0dGVyaW5nIEEvVgoJICBTb21lb25lIGdvdCBoYWQgYnkgaW1wbGljaXQgcHJvbW90aW9uIHRvIHVuc2lnbmVkIGluIG9wcyB3aXRoCgkgIGEgc2lnbmVkIGFuZCBhbiB1bnNpZ25lZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTE1MwoKMjAxMS0wOS0xNCAxNjozNzoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IHRvZ2dsZSBwYXVzZS9wbGF5IG9uIHNwYWNlIGJhcgoJICBBIHVzZWZ1bCB0aGluZyB0byBoYXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDY1CgoyMDExLTA5LTE0IDE0OjQ2OjAwICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBjb25maWd1cmFibGUgdGltZXN0YW1wIGdhcCBoYW5kbGluZwoJICBtYXRyb3NrYWRlbXV4IHBlcmZvcm1zIHNlZ21lbnQgdHJpY2tzIHRvIHNraXAgZ2FwcyBpbiBzdHJlYW1zLAoJICBub3RhYmx5IGF0IHN0YXJ0IGZvciBub24gMCBiYXNlZCBmaWxlcy4gIFRoZXJlIG1heSBob3dldmVyIGJlCgkgIGNhc2VzIHdoZW4gZnVsbCBwcmVzZW50YXRpb24gKGluY2x1ZGluZyBpbnRlcm1lZGlhdGUgZ2FwcykgaXMKCSAgZGVzaXJlZCwgc28gYSBwcm9wZXJ0eSBhbGxvd3MgdG8gY29uZmlndXJlIGFzIG9mIHdoaWNoIGdhcAoJICB0byBhY3QgKG9yIG5vdCBhdCBhbGwpLgoJICBBUEk6IEdzdE1hdHJvc2thRGVtdXg6Om1heC1nYXAtdGltZQoJICBGaXhlcyAjNjU5MDA5LgoKMjAxMS0wOS0xMiAwOToyMTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgdGVzdHM6IGZsdm11eDogRml4IGZsdm11eCdzIHRlc3RzIGFmdGVyIGZpeCBmb3IgcmVxdWVzdCBwYWRzIGhhbmRsaW5nCgkgIE5vdyB0aGF0IGZsdm11eCBkb2Vzbid0IHJlbGVhc2UgaXRzIHJlcXVlc3QgcGFkcyBvbiBQQVVTRUQtPlJFQURZIHRoZQoJICB0ZXN0IGRvZXNuJ3QgbmVlZCB0byByZS1yZXF1ZXN0IHRoZW0gZm9yIGV2ZXJ5IHJldXNlIHRlc3Qgc3RhcnQuCgoyMDExLTA5LTA5IDA5OjEyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBjdHRzIGdlbmVyYXRpb24gZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBzdGFydCBhdCAwIHRpbWVzdGFtcHMKCSAgU3VidHJhY3QgdGhlIGZpcnN0IHRpbWVzdGFtcCBvZiBhIHN0cmVhbSBmcm9tIGFsbCBpbnB1dCBidWZmZXJzIHRvCgkgIGdldCAwLWJhc2VkIHRpbWVzdGFtcHMgZm9yIGNyZWF0aW5nIGEgc2FuZSBjdHRzIHRhYmxlLiBXaXRob3V0IHRoaXMKCSAgcGF0Y2ggdGhlIGN0dHMgY291bGQgaGF2ZSBsYXJnZXIgdmFsdWVzIHRoYW4gbmVlZGVkLCBjYXVzaW5nIHRoZQoJICBwbGF5YmFjayB0byBoYXZlIGEgZGVsYXkgYXQgc3RhcnR1cC4KCSAgQXMgdGhlIGZpcnN0IHRpbWVzdGFtcCBpcyBvbmx5IGZvdW5kIGFmdGVyIGEgZmV3IGJ1ZmZlcnMgYXJlIHF1ZXVlZAoJICAoZHVlIHRvIHBvc3NpYmxlIHJlb3JkZXJlZCBidWZmZXJzKSwgb25jZSB3ZSBmaW5kIHRoZSBmaXJzdCB0aW1lc3RhbXAKCSAgd2Ugc3VidHJhY3QgaXQgZnJvbSBhbGwgYnVmZmVycyBvbiB0aGUgcXVldWUsIGZyb20gdGhhdCBwb2ludCBvbiwKCSAgYWxsIGJ1ZmZlcnMgaGF2ZSB0aGVpciB0aW1lc3RhbXBzIHN1YnRyYWN0IHdoZW4gdGhleSBhcmUgY29sbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NjU5CgoyMDExLTA5LTEyIDA3OjU1OjE5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgZ29pbmcgUEFVU0VELT5SRUFEWQoJICBEb24ndCByZWxlYXNlIHJlcXVlc3QgcGFkcyBidXQganVzdCByZXNldCB0aGVtLiBUaGlzIG1ha2VzIHBpcGVsaW5lcyB1c2luZwoJICBmbHZtdXggcmV1c2FibGUuCgoyMDExLTA5LTA5IDEyOjM1OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHVzZSBic2lkIDkgYW5kIDEwIHRvIGNvbnRyb2wgc2FtcGxlIHJhdGUKCSAgU2VlIGh0dHA6Ly9tYXRyb3NrYS5vcmcvdGVjaG5pY2FsL3NwZWNzL2NvZGVjaWQvaW5kZXguaHRtbAoJICBUaGUgc3BlYyBpcyBzaWxlbnQgYWJvdXQgdGhpcyB0aG91Z2guLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0NgoKMjAxMS0wOS0wNyAxNDoxMzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGVuc3VyZSBzb21lIGluaXRpYWwgc3RhdGUgdmFyaWFibGUgc2V0dXAKCSAgLi4uIHdoaWNoIG1pZ2h0IG90aGVyd2lzZSBiZSBza2lwcGVkIGlmIHRoZSBQTEFZIGNvbW1hbmQgaXMgaXNzdWVkIGJlZm9yZQoJICB0aGUgT1BFTiBjb21tYW5kIGhhZCBhIGNoYW5jZSB0byBhY3R1YWxseSBiZSBhY3RlZCB1cG9uLgoJICBGaXhlcyAjNjU3Mzc2LgoKMjAxMS0wOS0wOCAxNTowMjowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHdlYWsgZ2FwIGhhbmRsaW5nCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBidWZmZXJzIGJlZm9yZSBhbmQgYWZ0ZXIgZ2FwIHRvIGhhdmUgaWRlbnRpY2FsIHJ1bm5pbmcgdGltZS4KCjIwMTEtMDktMDggMTM6Mjg6MjQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1c2UgR1NUX1JFU09VUkNFX0VSUk9SX0JVU1kgaWYgdjRsMl9pb2N0bCBmYWlscyB3aXRoIEVCVVNZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDMKCjIwMTEtMDktMDcgMDg6NTQ6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIG9uZSBHX1VOTElLRUxZIGZvciB1c2VyIHByb3BlcnR5CgkgIFVzaW5nIEdfVU5MSUtFTFkgb24gdXNlciBwcm9wZXJ0aWVzIGlzbid0IG5pY2UsIHNwZWNpYWxseSB3aGVuCgkgIHRoYXQgaXMgdGhlIGRlZmF1bHQgb3B0aW9uLgoKMjAxMS0wMy0xNSAxMTowMzo1MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBoYW5kbGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50CgkgIC4uLiBieSBzdGFydGluZyBhIG5ldyBjbHVzdGVyIGFmdGVyIGZvcndhcmRpbmcgZXZlbnQuCgkgIEZpeGVzICM2NDQxNTQuCgoyMDExLTA5LTA3IDE0OjI3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBjbW1sOiBVc2UgY29tcGxldGUgY21tbCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MjY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFVzZSBjb21wbGV0ZSBNUEVHIGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMS0wOS0wNyAxNDoxODo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogY2xlYW51cCBtYWtlZmlsZXMKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgcGFydHMgdGhhdCB3ZSBkb24ndCBuZWVkLiBSZW1vdmUgInRoZSB3aW5nbyBhZGRpdGlvbiIgLSBubwoJICBzbyB1c2VmdWwgYWZ0ZXIgYWxsLiBOYXJyb3cgZG93biBmaWxlLWdsb2JzIGZvciBwbHVnaW4gZG9jcy4KCjIwMTEtMDgtMjkgMTQ6MTI6MjIgKzAyMDAgIEtvbnN0YW50aW4gTWlsbGVyIDxrb25zdGFudGluLm1pbGxlckBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgaGFuZGxlIEhUVFAgcmVzcG9uc2UgNDA3IGFzIGVycm9yIGlmIHByb3h5IGF1dGhlbnRpY2F0aW9uIGRhdGEgaXMgYXZhaWxhYmxlCgkgIEZpeGVzIGJ1ZyAjNjU3NDIyLgoKMjAxMS0wOS0wNyAxMjoxMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBBZGQgQ29udmVydGVyIHRvIHRoZSBjbGFzc2lmaWNhdGlvbiBiZWNhdXNlIGl0IGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGFsaWdubWVudHMKCSAgVGhpcyBhbGxvd3MgZGVjb2RlYmluMiB0byBsZXQgaXQgbmVnb3RpYXRlIHByb3Blcmx5LgoKMjAxMS0wOS0wNyAxMjoxMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogSW1wcm92ZSBzcmMgdGVtcGxhdGUgY2FwcwoJICBSZW1vdmUgdGhlIHBhcnNlZC9mcmFtZWQgZmllbGRzIGFuZCBhZGQgYWxsIGZpZWxkcyB0byB0aGUgdGVtcGxhdGUKCSAgY2FwcyB0aGF0IGFsd2F5cyBleGlzdC4KCjIwMTEtMDktMDYgMTU6NTk6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBwYXJzZSBjb2RlY19kYXRhIHRvIGRldGVybWluZSBudW1iZXIgb2Ygc2FtcGxlcyBwZXIgZnJhbWUKCSAgRml4ZXMgIzY1NjczNC4KCjIwMTEtMDktMDYgMjE6MjQ6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzOWViODMgdG8gMTFmMGNkNQoKMjAxMS0wOS0wNiAxNjo1NzoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB0cnkgdG8gZGlzYWJsZSBkZWludGVybGFjZS4uCgoyMDExLTA5LTA2IDE1OjQwOjMyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTY6Mzc6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgoyMDExLTA5LTA2IDE2OjA2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYwoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE1OjA1OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogbWFrZSBkZWZhdWx0IGR1cmF0aW9uIGNoZWNrIGxlc3Mgc2Vuc2l0aXZlCgkgIEZyYW1lIGR1cmF0aW9uIG1pZ2h0IHZhcnkgZm9yIDEgdXNlY29uZCwgaW4gdGhpcyBjYXNlIG1hdHJvc2thbXV4CgkgIGRlY2lkZXMgdG8gY3JlYXRlIEJMT0NLR1JPVVAgaW5zdGVhZCBvZiBTSU1QTEVCTE9DSy4KCSAgQ29udmVydCBkdXJhdGlvbiB0byB0aW1lY29kZXNjYWxlIHdoaWNoIGlzICh0eXBpY2FsbHkpIGxlc3MgcHJlY2lzZSwgYW5kCgkgIHRoZW4gYWxzbyBhbGxvdyB0aGUgZGlmZmVyZW5jZSBvZiAxLy0xIHRvIGFycmFuZ2UgZm9yIGxlc3Mgc2Vuc2l0aXZlIGNoZWNrLgoJICBCYXNlZCBvbiBwYXRjaCBieSBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIEZpeGVzICM2NTMwODAuCgoyMDExLTA5LTA2IDEzOjE4OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogaW1wcm92ZSBib2d1cyBpbnRlcmxlYXZlZCBpbmRleCBjb21wZW5zYXRpbmcKCSAgUGF0Y2ggYnkgPGd1ZGFrZUBnbWFpbC5jb20+CgkgIEZpeGVzICM2NTQ1ODUuCgoyMDExLTA5LTA2IDEzOjE2OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgLWdvb2Q6IHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMKCjIwMTEtMDktMDYgMTA6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IHBvc2l0aXZlLCBub24tMS4wIHNlZ21lbnQgcmF0ZXMKCSAgT25seSBuZWdhdGl2ZSByYXRlcyBhcmUgbm90IHN1cHBvcnRlZC4gRml4ZXMgYnVnICM2NTgzMDUuCgoyMDExLTA5LTA1IDE1OjUwOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogcGFyc2VyczogcHJvdmlkZSBtb3JlIHJlYWwgZGF0YSB3aGVuIHRlc3RpbmcgZHJhaW5pbmcgb2YgZ2FyYmFnZQoKMjAxMS0wOS0wNSAxNTo1MDowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBmaXggYW5kIHN0cmVhbWxpbmUgdmFsaWQgZnJhbWUgY2hlY2tpbmcKCSAgLi4uIHRvIGhhbmRsZSB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBzeW5jIG9yIG5vdCwgYW5kIHN1ZmZpY2llbnQgZGF0YQoJICBvciBub3QgYXMgbWlnaHQgYmUgZXhwZWN0ZWQuCgkgIEZpeGVzICM2NTA3MTQuCgoyMDExLTA5LTA1IDE0OjQ5OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGF2b2lkIGFkanVzdG1lbnQgZm9yIGtleWZyYW1lIHNlZWsKCSAgLi4uIHNpbmNlIGFsbCBpbmRleCBkYXRhIG1heSBub3QgeWV0IGJlIGF2YWlsYWJsZSBhdCB0aGF0IHRpbWUuCgoyMDExLTA5LTA1IDE0OjQ4OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IG1hcmsgYWxsIGF1ZGlvIHRyYWNrIHNhbXBsZXMgYXMga2V5ZnJhbWUKCjIwMTEtMDktMDUgMTQ6NDY6MjkgKzAyMDAgIEJyaWFuIExpIDxicmlhbjcwMDNAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgcHJvcGVybHkgaW5pdCByZXR1cm4gdmFyaWFibGUgdmFsdWUKCSAgRml4ZXMgIzY1NTkxOC4KCjIwMTEtMDktMDUgMTM6MzE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgZ3RrLWRvYyBmb3IgbmV3IHNob3J0LWhlYWRlciBwcm9wZXJ0eQoKMjAxMS0wOS0wNSAxMzoxODozOSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhbGxvdyBzZW5kaW5nIHNob3J0IFJUU1AgcmVxdWVzdHMgdG8gYSBzZXJ2ZXIKCSAgU29tZSBlbmNvZGVycyAoQXJlY29udCkgZG8gbm90IGxpa2UgdGhlIGxvbmcgT1BUSU9OUyBzZW50IGF0IHN0YXJ0dXAgYXMgc2VudCBieQoJICBHU3RyZWFtZXIsIGJ1dCBkbyBhY2NlcHQgdGhlIHNob3J0IGhlYWRlciBhcyBzZW50IGJ5IExpdmU1NTUuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlIGV4dGVuZGluZyB0aGUgcmVxdWVzdCBvcHRpb25hbCBieSBhZGRpbmcgYSBwcm9wZXJ0eQoJICAoc2hvcnQtaGVhZGVyKS4KCSAgRml4ZXMgIzY1NTgwNS4KCSAgQVBJOiBHc3RSVFNQU3JjOnNob3J0LWhlYWRlcgoKMjAwOS0wMy0wNCAxNDo1MTowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogU2V0IEgyNjMtMjAwMCBpZiB0aGF0cyB3aGF0IHRoZSBvdGhlciBzaWRlIHdhbnRzCgkgIFRoZSBzdGF0aWMgY2FwcyBzdGF0ZXMgdGhpcyBlbGVtZW50IHN1cHBvcnRzIEgyNjMtMjAwMCwgYnV0IHNldGNhcHMgbmV2ZXIKCSAgc2V0cyBpdCwgc28gaXQgd2FzIGxpZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMTEtMDgtMzAgMTk6MDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGxhc3Rfa2V5ZnJhbWVfcmVxdWVzdCB2YXJpYWJsZQoKMjAxMS0wOC0zMSAxNjowNDoyNCArMDIwMCAgUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogbWFrZSBhZGQvcmVtb3ZlL2NsZWFyL2dldC1zdGF0cyBhY3Rpb24gc2lnbmFscwoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc4MzAKCSAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCjIwMTEtMDgtMzEgMTg6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgbXAydDogZml4IGVuY29kaW5nIG5hbWUgYWNjb3JkaW5nIHRvIFJGQzM1NTEKCjIwMTEtMDgtMzAgMTM6MzM6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwdXNoIG1vZGU7IHBlcmZvcm0gc29tZSBleHRyYSBjaGVja3MgcHJpb3IgdG8gdXBzdHJlYW0gc2Vla2luZwoKMjAxMS0wOC0zMCAxMzoyODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBmaXggYnVmZmVyZWQgc3RyZWFtaW5nCgkgIFRoYXQgaXMsIGluIGNhc2Ugd2hlcmUgbm8gc2VlayBpcyBwZWZvcm1lZCB0byBtb292LCBidXQgcHJlY2VkaW5nCgkgIGxpbWl0ZWQgbWRhdCBpcyBidWZmZXJlZC4KCjIwMTEtMDgtMzAgMTQ6MDY6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogcG9ydCB0byAwLjExCgoyMDExLTA4LTMwIDEyOjQ5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBsYXcgaXMgcG9ydGVkIG5vdwoKMjAxMS0wOC0zMCAxMjoyNTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogcG9ydCB0byAwLjExCgoyMDExLTA4LTI5IDE5OjExOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgIGFsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGNvbW1lbnQKCjIwMTEtMDgtMjkgMTg6MDI6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBwb3J0IHNvdXAgZWxlbWVudHMgdG8gMC4xMQoKMjAxMS0wOC0yOSAxNToxMzo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgb3ZlcmZsb3cgd3JhcGFyb3VuZCBpbiB0aW1lc3RhbXAgd2hlbiBhZGRpbmcgZHVyYXRpb25zCgkgIERvIHNvbWUgdHlwZSBqdWdnbGluZyB0byBhdm9pZCBvdmVyZmxvdywgd2hpbGUgc3RpbGwgYWxsb3dpbmcgZm9yICduZWdhdGl2ZScKCSAgZHVyYXRpb25zICh3aGljaCB3b3VsZCBuZWVkIGEgd3JhcGFyb3VuZCBlZmZlY3QpLgoKMjAxMS0wOC0yOSAxMzo0Mzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMjYgMTQ6MjA6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgYWxsb2NhdGlvbjogZml4IGZvciB2bWV0aG9kIGNoYW5nZXMKCjIwMTEtMDgtMjUgMjM6Mzc6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBtYWtlIHRoaXMgd29yayBtb3JlIHRoYW4gb25jZSBpbiBhIHJvdwoJICBXZSB1c2VkIHRvIHNraXAgZnJhbWUgcmF0ZSBzZXR1cCBpZiB0aGUgY2FtZXJhIHdhcyBhbHJlYWR5IHNldHVwCgkgIHdpdGggdGhlIHJlcXVlc3RlZCBmcmFtZSByYXRlLiBUaGlzIGJyZWFrcyBzb21lIGNhbWVyYXMgdGhvdWdoLAoJICBjYXVzaW5nIHRoZW0gdG8gbm90IG91dHB1dCBkYXRhIChzZXZlcmFsIG1vZGVscyBvZiBUaGlua3BhZCBjYW1lcmFzCgkgIGhhdmUgdGhpcyBwcm9ibGVtIGF0IGxlYXN0KS4KCSAgU28sIGRvbid0IHNraXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgzMDAKCjIwMTEtMDgtMjUgMTY6NDE6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHBvcnQgdG8gbmV3IHZpZGVvIGZsYWdzCgoyMDExLTA4LTI0IDE4OjQwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogYWRkIHNvbWUgbW9yZSBjaGFubmVscwoKMjAxMS0wNy0xMiAyMTo0ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBBZGQgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMiAxOTowOTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IE1heCBldmVudCB0eXBlIGlzIDE1CgoyMDExLTA0LTE0IDE1OjQ2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogQWxpZ24gRFRNRiBzb3VuZCBidWZmZXJzIHdpdGggbGFzdC1zdG9wIGZyb20gZXZlbnQKCSAgQWxzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgbmV2ZXIgZ28gYmFja3dhcmRzCgoyMDExLTA3LTExIDIxOjMxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDb3JyZWN0bHkgcmVjb2duaXplIHRoZSBlbmQgb2YgYSBidWZmZXIKCjIwMTEtMDctMTEgMjA6NDc6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE1ha2Ugc3VyZSBydHBkdG1mc3JjIHRpbWVzdGFtcHMgZG9uJ3Qgb3ZlcmxhcAoKMjAxMS0wNy0xMSAyMDo0NjoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUHV0IHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCBhdCB0aGUgZW5kLCBub3QgYXQgdGhlIHN0YXJ0CgkgIFRoZSByZWFzb24gaXMgdG8gbGV0IHJ0cGR0bWZtdXggZHJvcCBidWZmZXJzIGR1cmluZyB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwsCgkgIHRoaXMgd2F5LCB0aGVyZSB3aWxsIGJlIG1vcmUgc2lsZW5jZSBhcm91bmQgdGhlIERUTUYgdG9uZXMgc28gSVZGcyB3aWxsIGhhdmUKCSAgYSBiZXR0ZXIgY2hhbmNlIHJlY29nbml6aW5nIHRoZW0uCgoyMDExLTA0LTE0IDE3OjA4OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogU3RhcnQgYXQgdGhlIGxhc3Rfc3RvcCBmcm9tIHRoZSBzdGFydCBldmVudCBpZiB0aGVyZSB3YXMgb25lCgkgIFRoZSBnb2FsIGlzIHRvIHRyeSB0byBub3QgaGF2ZSBhIEdBUCBiZXR3ZWVuIHRoZSBhdWRpbyBhbmQgdGhlIERUTUYKCjIwMTEtMDQtMTQgMTY6NDk6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBSZXNwZWN0IHB0aW1lIGZyb20gdGhlIGNhcHMKCSAgUmVzcGVjdCB0aGUgcHRpbWUgZnJvbSB0aGUgY2FwcyBmb3IgdGhlIERUTUYgcGFja2V0cwoKMjAxMS0wNy0xMSAyMTozMDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogSnVzdCBlcnJvciBvdXQgaWYgdGhlcmUgaXMgbm8gY2xvY2sKCjIwMTEtMDgtMjQgMTQ6MTY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIzIDEyOjEyOjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG9ubHkgcmVxdWlyZSB0d28gZnJhbWVzIGluIGEgcm93IHdoZW4gd2UgZG8gbm90IGhhdmUgc3luYwoJICBUaGlzIGF2b2lkcyBhIHNpbmdsZSBiaXQgZXJyb3IgZHJvcHBpbmcgdHdvIGZyYW1lcyB1bm5lY2Vzc2FyaWx5LgoJICBUaGUgdHdvIGNvbnNlY3V0aXZlIGZyYW1lcyBjaGVjayBpcyBzdGlsbCByZXF1aXJlZCB3aGVuIHdlIGRvbid0CgkgIGhhdmUgc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA4MAoKMjAxMS0wOC0yMyAyMTo0MToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogVHJpdmlhbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTEtMDgtMjMgMTk6MDk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyBjb2xvcmltZXRyeSBpbmZvCgoyMDExLTA3LTIxIDE3OjIzOjI4IC0wNDAwICBNb250eSBNb250Z29tZXJ5IDxjbW9udGdvbUByZWRoYXQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBDb3JyZWN0IHNhbXBsZSBudW1iZXIgcm91bmRpbmcgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCBqaXR0ZXIKCSAgZmxhY2RlYyBjb252ZXJ0cyB0aGUgc3JjIHRpbWVzdGFtcCB0byBhIHNhbXBsZSBudW1iZXIsIHVzZXMgdGhhdCBpbnRlcm5hbGx5LCB0aGVuIHJlY29udmVydHMgdGhlIHNhbXBsZSBudW1iZXIgdG8gYSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVyLiAgVW5mb3J0dW5hdGVseSwgc2FtcGxlIG51bWJlcnMgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgaW4gYW4gaW50ZWdlciBudW1iZXIgb2YgbmFub3NlY29uZHMsIGFuZCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIHdhcyB0cnVuY2F0aW5nIHJhdGhlciB0aGFuIHJvdW5kaW5nLCByZXN1bHRpbmcgaW4gc2FtcGxlIG51bWJlcnMgYW5kIG91dHB1dCB0aW1lc3RhbXBzIHRoYXQgd2VyZSBvZnRlbiBvZmYgYnkgYSBmdWxsIHNhbXBsZS4KCSAgVGhpcyBjb3JyZWN0cyB0aGUgdGltZS0+c2FtcGxlIGNvbnZlc2lvbgoKMjAxMS0wOC0yMiAxMzoxMDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMjIgMTI6MjQ6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkgIGZvdXJjYzogcmVtb3ZlIGZvdXJjYyBmcm9tIGNhcHMKCjIwMTEtMDgtMjAgMTQ6NDg6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSAgYnJlYWtteWRhdGE6IGVsZW1lbnQgaXMgbm90IHBhc3N0aHJvdWdoCgoyMDExLTA3LTEzIDExOjIwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogcXVpZXQgZGVidWdnaW5nCgoyMDExLTA3LTEwIDIxOjQwOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogY2hhbmdlIGZpZWxkIGhhbmRsaW5nIHRocm91Z2ggbWV0aG9kcwoJICBUaGlzIGxpa2VseSBicmVha3Mgc3R1ZmYuICBUaGUgZ29vZDogYWxsIG9mIHRoZSBtZXRob2RzIG5vdyBjcmVhdGUKCSAgZmllbGQgaW1hZ2VzIGFsaWduZWQgd2l0aCBpbnB1dCBmcmFtZXMsIHdpdGhvdXQgdGltZXN0YW1wIG1hbmdsaW5nLgoJICBUaGUgYmFkOiB0aGlzIHRvdWNoZXMgYSBsb3Qgb2YgY29kZSwgbXVjaCBvZiB3aGljaCBpcyBoYWlyeSBhbmQgaW4KCSAgbmVlZCBvZiBjbGVhbnVwLiAgSG93ZXZlciwgYXQgdGhpcyBwb2ludCB3ZSBjYW4gcmVhc29uYWJseSBjcmVhdGUgYQoJICBQU05SLWJhc2VkIHRlc3QuCgoyMDExLTA4LTIxIDE0OjQxOjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiByZXNldCAtPnN0cmVhbWhlYWRlcnMgdG8gTlVMTCBvbiBfc3RvcAoJICBGaXhlcyBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgcmV1c2luZyBtdWx0aWZpbGVzaW5rCgoyMDExLTA4LTIwIDEwOjQ2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSAgY3V0dGVyOiBicmluZyBjdXR0ZXIgc29tZXdoYXQgaW50byB0aGlzIG1pbGxlbm5pdW0KCjIwMTEtMDgtMTkgMTY6Mjc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJnOiBmaXggY2FwcwoKMjAxMS0wOC0xOSAxNjoxMzoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBwb3J0IGFmdGVyIG1lcmdlCgoyMDExLTA4LTE5IDE2OjEyOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOSAxNjowOTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgcG9ydCB0byBtb3JlIGF1ZGlvIGFwaSBjaGFuZ2VzCgoyMDExLTA4LTE5IDE0OjAxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBwb3J0IG1vcmUgZWxlbWVudHMgdG8gbmV3IGF1ZGlvIGNhcHMgYW5kIEFQSQoKMjAxMS0wOC0xOSAxMTo0OTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIEFQSSBhbmQgY2FwcwoKMjAxMS0wOC0xOCAxMzozNzozOSArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWxsb3cgd3JpdGVzIGluIGJpZ2dlciBjaHVua3MKCSAgVGhlcmUncyBubyB1c2UgaW4gc3BsaXR0aW5nIHRoZSBpbmNvbWluZyBkYXRhIGRvd24gdG8gdGhlIHNlZ3NpemUKCSAgbGltaXQgLSBieSB3cml0aW5nIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGNodW5rLCB3ZSBpbmNyZWFzZQoJICBwZXJmb3JtYW5jZSBhbmQgYXZvaWQgUHVsc2VBdWRpbyB1bm5lY2Vzc2FyeSByZXdpbmRzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCjIwMTEtMDgtMTggMTk6Mzc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE4IDE5OjIxOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIHBvcnQgdG8gbmV3IGF1ZGlvIGNhcHMuCgoyMDExLTA4LTA4IDIyOjE0OjI4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBlbnN1cmUgbm8tbW9yZS1wYWRzIGlzIGFsd2F5cyBlbWl0dGVkCgkgIEluIHBhcnRpY3VsYXIsIGRvIHNvIGV2ZW4gaWYgZmFpbGluZyB0byByZWFkIHdoaWxlIHByZXJvbGxpbmcsCgkgIHN1Y2ggYXMgd2hlbiByZWFkaW5nIGZyb20gYSBwYXJ0aWFsIGZpbGUgKGVnLCB3aGlsZSBpdCBpcyBiZWluZwoJICBkb3dubG9hZGVkKS4KCSAgVGhpcyBmaXhlcyBhIHdlZGdlIGluIHBsYXliaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxOTY1CgoyMDExLTA4LTE3IDE3OjU3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBpbXByb3ZlIGZpeGF0ZSBmdW5jdGlvbgoJICBVc2UgbmV3IGNvcmUgZnVuY3Rpb24gdG8gZml4YXRlIGEgZmllbGQuCgkgIENoYWluIHVwIHRvIHBhcmVudCBmaXhhdGUgZnVuY3Rpb24uCgoyMDExLTA4LTE3IDE1OjUyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoKMjAxMS0wOC0xNyAxNTozOToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBwb3J0IHRvIDAuMTEKCSAgQWxzbyBkaXNhYmxlIHNtb2tlIGZvciBub3cuCgoyMDExLTA4LTE2IDE3OjI3OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogYXZvaWQgdGltZXN0YW1wL29mZnNldCB0cmFja2luZyBnb2luZyBvdXQgb2Ygc3luYwoJICBUaGUgbGliRkxBQyBBUEkgaXMgY2FsbGJhY2sgYmFzZWQsIGFuZCB3ZSBtdXN0IG9ubHkgY2FsbCBpdCB0bwoJICBvdXRwdXQgZGF0YSB3aGVuIHdlIGtub3cgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgZGF0YS4gRm9yIHRoaXMKCSAgcmVhc29uLCBhIHNpbmdsZSBwcm9jZXNzaW5nIHN0ZXAgaXMgZG9uZSB3aGVuIHJlY2VpdmluZyBhIGJ1ZmZlci4KCSAgSG93ZXZlciwgaWYgdGhlcmUgd2VyZSBtZXRhZGF0YSBidWZmZXJzIHN0aWxsIHBlbmRpbmcsIGEgc3RlcAoJICBpbnRlbmRlZCBmb3IgdGhlIGZpcnN0IGF1ZGlvIGZyYW1lIG1pZ2h0IGVuZCB1cCB3cml0aW5nIHRoYXQKCSAgbGVmdG92ZXIgbWV0YWRhdGEuIFNpbmNlIGEgc2luZ2xlIHN0ZXAgaXMgZG9uZSBwZXIgYnVmZmVyLCB0aGlzCgkgIHdpbGwgY2F1c2UgZXZlcnkgYnVmZmVyIHRvIGJlIHdyaXR0ZW4gb25lIHN0ZXAgbGF0ZS4KCSAgVGhpcyB3b3VsZCBhZGQgc29tZSBsYXRlbmN5IChhIGJ1ZmZlcmZ1bGwncyB3b3J0aCksIHBvc3NpYmx5CgkgIGxvc2UgYSBidWZmZXIgd2hlbiBzZWVraW5nIG9yIHRoZSBsaWtlLCBhbmQgYWxzbyBjYXVzZSB0aW1lc3RhbXAKCSAgYW5kIG9mZnNldCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3cm9uZyBidWZmZXIsIGFzIHVwZGF0ZXMgdG8KCSAgdGhlICJjdXJyZW50IiBzZWdtZW50IGxhc3Rfc3RvcCAoZnJvbSBpbmNvbWluZyBidWZmZXIgdGltZXN0YW1wKQoJICB3aWxsIGJlIGFwcGxpZWQgdG8gYW4gb3V0cHV0IGJ1ZmZlciBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcmV2aW91cwoJICBpbmNvbWluZyBidWZmZXIuCgkgIFRoaXMgZml4ZXMgdGhlIGlzc3VlIGJ5IGVuc3VyaW5nIHRoYXQsIHVwb24gcmVjZWl2aW5nIHRoZSBmaXJzdAoJICBhdWRpbyBmcmFtZSwgcHJvY2Vzc2luZyBpcyBkb25lIHRpbGwgYWxsIG1ldGFkYXRhIGlzIHByb2Nlc3NlZCwKCSAgc28gdGhlIG5leHQgInNpbmdsZSBzdGVwIiBkb25lIHdpbGwgYmUgZm9yIHRoZSBhdWRpbyBmcmFtZS4gQWZ0ZXIKCSAgdGhpcywgd2Ugc2hvdWxkIGtlZXAgdG8gMSBpbnB1dCBidWZmZXIgLT4gMSBvdXRwdXQgYnVmZmVyIGFuZCBzbwoJICBhdm9pZCBnZXR0aW5nIG91dCBvZiBzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE3IDExOjE3OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxNTozMjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGJhaWwgb24gcmVzZXJ2ZWQgdmFsdWUKCSAgTm93IHRoYXQgd2UgbG9vayBhdCB0aGUgcmlnaHQgYml0cywgd2UgY2FuIHRlc3QgYWdhaW5zdCB0aGUgcmVzZXJ2ZWQKCSAgdmFsdWUgYXMgd2UgZG8gZm9yIG90aGVyIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxNToyNzo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBiaXQgdHdpZGRsaW5nCgkgIFJpZ2h0IHNoaWZ0aW5nIGEgOCBiaXQgdmFsdWUgYnkgOCBiaXRzIGlzIHR3aWNlIHRvbyBtdWNoCgkgIHRvIGdldCB0aGUgaGlnaCA0IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6MjI6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiB3YXJuIGlmIHdlIHNlZSBhIHZhcmlhYmxlIGJsb2NrIHNpemUgd2hlcmUgdW5zdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNiAxODoyNToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGF2b2lkIGNyYXNoaW5nIGJ5IHJlc2V0dGluZyB0aGUgY29ycmVjdCBudW1iZXIgb2YgY2hhbm5lbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjYwNgoKMjAxMS0wOC0xNiAxODozNTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTEtMDgtMTYgMTM6MTY6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggb2ZmIGJ5IG9uZSBpbiBmcmFtZSBzaXplIGNoZWNrCgkgIFllcywgSSB3YXMgdHJhY2tpbmcgYW5vdGhlciBidWcgYW5kIHRoZSBzbWFsbCB0ZXN0IGZpbGUgSSBnZW5lcmF0ZWQKCSAgdG8gdGVzdCB3aXRoIGltcHJvYmFibHkganVzdCBoYXBwZW5lZCB0byB0cmlnZ2VyIHRoaXMsIHdpdGggYSBzZWNvbmQKCSAgYW5kIGxhc3QgZnJhbWUgb2YgMTYxNSBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0OQoKMjAxMS0wOC0xNSAxMjoxOToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBfbmVnb3RpYXRlZF9jYXBzKCkgY2hhbmdlCgoyMDExLTA4LTE0IDIwOjQ2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1mcmFtZXMudHh0OgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgIGlkM2RlbXV4OiByZW1vdmUgc3BlY3MgZnJvbSBnaXQgYXMgd2VsbCBub3cgdGhhdCBwYXJzaW5nIGNvZGUgaXMgaW4gLWJhc2UKCjIwMTEtMDctMTQgMTU6NDI6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHVzZSAtYmFzZSBwcm92aWRlZCBpZDMgdGFnIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDM4OAoKMjAxMS0wOC0xMyAxNjo1MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja2F1ZGlvc3JjOiBmaXggZXJyb3IgbWVzc2FnZSBjb2RlCgkgIEFuZCBhbHNvIHBvc3QgJ25vdCBmb3VuZCcgZXJyb3IgaWYgamFja2QgaXMgbm90IGV2ZW4gaW5zdGFsbGVkLgoKMjAxMS0wOC0xMiAxNjozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluaXRpYWxpemUgYml0cmF0ZSB2YXJpYWJsZSBhbmQgcmVzZXQgZm9yIGVhY2ggbG9vcAoJICBEb24ndCBjaGVjayBldmVudHVhbGx5IHVuc2V0IHZhcmlhYmxlIGFuZCBkb24ndCBhY2NpZGVudGlhbGx5IHVzZSB2YWx1ZXMgZnJvbSBsYXN0CgkgIGN5Y2xlLgoKMjAxMS0wOC0xMCAxMToyODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTEtMDgtMDkgMTE6Mjg6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgU0RQIGNvbnRhaW5zIG5vIHN0cmVhbXMKCSAgQWxzbyBmaXhlcyB1bml0aWFsaXplZCB2YXJpYWJsZSBlcnJvciBvbiBtYWNvc3guCgoyMDExLTA4LTA5IDA5OjA1OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZmxhZ3Mgb24gYnVmZmVyIHJldXNlCgkgIFRoaXMgd2lsbCBlbnN1cmUgYSBsb2dpY2FsbHkgbmV3IGJ1ZmZlciBkb2VzIG5vdCBrZWVwIGZsYWdzIGZyb20KCSAgYSBwcmV2aW91cyB1c2Ugb2YgdGhhdCBidWZmZXIgKGVnLCBESVNDT05UIHdvdWxkIGJlIHNldCBvbiB0aGUgZmlyc3QKCSAgYnVmZmVyLCBhbmQgbWlzdGFrZW5seSBrZXB0IHdoZW4gcmV1c2VkKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcwOQoKMjAxMS0wOC0wOCAxMDo1NDoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHRha2UgY2FyZSBub3QgdG8gY2hhbmdlIHRoZSBjdXJyZW50IGZvcm1hdCB3aGVyZSBhcHByb3ByaWF0ZQoJICBTb21lIGRyaXZlcnMgYXJlIGJ1Z2d5IGFyZSB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlbgoJICBwcm9jZXNzaW5nIFZJRElPQ19UUllfRk1ULiBTYXZlIGFuZCByZXN0b3JlIHRoZSBjdXJyZW50IGZvcm1hdAoJICB0byBlbnN1cmUgdGhlIGZvcm1hdCBpcyBrZXB0IHVuY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTA2NwoKMjAxMS0wOC0wOCAxNToyNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOC0wOCAxNToyNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGFhbGliOiBtYWtlIHN1cmUgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSBpcyBkZWZpbmVkCgkgIFNvIHdlIGRvbid0IGdldCB3YXJuaW5ncy4KCjIwMTEtMDgtMDggMTU6MjU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgR3N0WE92ZXJsYXkgPT4gR3N0VmlkZW9PdmVybGF5IHJlbmFtZQoKMjAxMS0wOC0wNyAxMjoyMzoyNiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFVzZSBmcmFjdGlvbiBjb21wYXJlIHV0aWwgZnVuY3Rpb24uCgkgIFVzZSB0aGUgZnJhY3Rpb24gY29tcGFyZSB1dGlsaXR5IHRvIGNvbXBhcmUgZnVuY3Rpb24sIG5vdCB0aGUKCSAgaGFuZGNyYWZ0ZWQgb25lLiBUaGUgaGFuZGNyYWZ0ZWQgb25lIGlzIGJ1Z2d5IGFzIGl0IGRvZXNuJ3QgdGFrZSBpbnRvCgkgIGFjY291bnQgcm91bmRpbmcgZXJyb3IuIEZvciBleGFtcGxlIGNvbXBhcmluZyBhIGZyYW1lcmF0ZSBvZiAyMC8xIG9uIGEKCSAgY2FtZXJhIGNvbmZpZ3VyZWQgYXMgMzAvMSBmcHMgd291bGQgeWllbGQgdHJ1ZTogMSA9PSAoMSAqIDIwKS8zMCBhbmQgbm90CgkgIHJlLWNvbmZpZ3VyZSB0aGUgY2FtZXJhLiBGaXhlcyAjNjU2MTA0CgoyMDExLTA4LTA3IDExOjE0OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogYXZvaWQgcmFjZSBpbiBzdGFydGluZwoJICBTaW5lIHRoZSBiYXNlIGNsYXNzIG5vdyBkb2VzIHRoZSBuZWdvdGlhdGlvbiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIHdlIGhhdmUKCSAgdG8gYmUgY2FyZWZ1bCBhbmQgY2hlY2sgaWYgdGhlIHN0cmVhbSBpcyByZWFkeSBiZWZvcmUgY2hhbmdpbmcgaXRzIGNvcmtlZCBzdGF0ZS4KCjIwMTEtMDgtMDUgMTI6Mjc6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBVc2UgR1NUX0NGTEFHUyB3aGVuIGJ1aWxkaW5nIHRlc3RzCgkgIEVuc3VyZXMgd2UgaGF2ZSB0aGUgcHJvcGVyIGRlZmluZSBmb3IgdXNpbmcgdW5zdGFibGUgQVBJCgoyMDExLTA4LTA1IDA4OjU5OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IGZpeHVwIGFmdGVyIHNtYWxsIGFwaSBjaGFuZ2VzCgkgIFBvcnQgdG8gcmVjZW50bHkgY2hhbmdlZCBhcGkgc28gdGhhdCBpdCBjb21waWxlcyBhZ2Fpbi4KCjIwMTEtMDgtMDUgMTE6MzI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgeTRtZW5jOiBOb3cgZGVwZW5kcyBvbiBsaWJnc3R2aWRlbwoKMjAxMS0wOC0wNCAxODo0MToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogbW9yZSBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxODoxNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc21hbGwgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTY6MzU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGNhbGwgc2V0X2NhcHMgbWV0aG9kIG9mIGJhc2VjbGFzcwoJICBDYWxsIHRoZSBiYXNlY2xhc3Mgc2V0X2NhcHMgZnVuY3Rpb24gdG8gbWFrZSBpdCBzZW5kIHRoZSBjYXBzIGV2ZW50IGFuZAoJICBwcm9wZXJseSB0cmlnZ2VyIHRoZSBuZWdvdGlhdGlvbiBmdW5jdGlvbnMuCgoyMDExLTA4LTA0IDE2OjI1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxNToyNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBwb3J0IHRvIG5ldyBjYXBzCgoyMDExLTA4LTA0IDEzOjUyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBTaXplIHZhcmlhYmxlIHNob3VsZCBiZSBhIGd1aW50IGFuZCBub3QgYSBnc2l6ZQoKMjAxMS0wOC0wNCAxMjo1MDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGFjdGl2YXRlIHRoZSBwb29sIGluIGZhbGxiYWNrCgkgIFdoZW4gbm9ib2R5IGlzIHVzaW5nIG91ciBwb29sLCBhY3RpdmF0ZSBpdCBvdXJzZWx2ZXMuCgkgIEF2b2lkIGxlYWtpbmcgdGhlIGJ1ZmZlciBhcnJheS4KCSAgU2V0IGRlZmF1bHQgcG9vbCBjb25maWd1cmF0aW9uIHdpdGggY2Fwcy4KCSAgRG9uJ3Qga2VlcCBjdXJyZW50X2NhcHMsIGNvcmUgZG9lcyB0aGF0IGZvciB1cyBub3cuCgoyMDExLTA4LTAzIDIyOjU3OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBmaXggY29tcGlsYXRpb24KCSAgaGFsIGVsZW1lbnRzIHdlcmUgcmVtb3ZlZCwgcmVtb3ZlIHRoZW0gZnJvbSBkb2NzIHRvbwoJICBjaGFuZ2UgZXhhbXBsZSBmb3IgcGFkLWJsb2NrIEFQSSAoYWN0dWFsbHkgcmVtb3ZlIHRoZSBwYWQgYmxvY2ssIGFuIGFwcGxpY2F0aW9uCgkgIHNob3VsZCBub3QgYmUgYm90aGVyZWQgd2l0aCB3b3JraW5nIGFyb3VuZCBidWdzIGluIGVsZW1lbnRzKQoKMjAxMS0wOC0wMyAxODozNzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDgtMDMgMTg6MjU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jCgoyMDExLTA4LTAzIDIyOjUwOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYTogUmVnaXN0ZXIgbmV3IGRlYnVnIGNhdGVnb3J5CgkgIFJlZ2lzdGVyIHRoZSBtYXRyb3NrYXJlYWRjb21tb24gZGVidWcgY2F0ZWdvcnkgd2hlbiB0aGUKCSAgcGx1Z2luIGlzIGxvYWRlZCB0byBhdm9pZCBhc3NlcnRpb24gb3V0cHV0IHdoZW4gZGVidWcgaXMgdHVybmVkIG9uLgoKMjAxMS0wOC0wMyAxMzozODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdC9pY2tsZXM6IFBvcnQgZ2RrcGl4YnVmc2luayB0ZXN0CgoyMDExLTA4LTAzIDEzOjMzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIFJldmVydCAidGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yLi4uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ3NWFlZDhhZjZkMmE1N2MxZDIxNDkwYzgyNGU3NTRhNmIyMzY3YTkuCgkgIEl0IHdvbid0IGNvbnNpZGVyIGVsZW1lbnRzIGZyb20gYW55d2hlcmUgZWxzZSBhbnltb3JlCgoyMDExLTA4LTAzIDEzOjEwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgY2hlY2s6IFVwZGF0ZSBwYXJzZXIgbWluaS1saWIgdG8gMC4xMSBBUEkKCjIwMTEtMDgtMDMgMTM6MDk6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgZm9yIG1vZGlmaWVkIHNvdXJjZSBmaWxlIGxvY2F0aW9uCgoyMDExLTA4LTAzIDEzOjA4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjYWlyb19nb2JqZWN0IGlzbid0IHBvcnRlZCBlaXRoZXIKCjIwMTEtMDgtMDMgMTA6NTk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmM6CgkqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuaDoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L2hhbC9oYWwuaDoKCSAgaGFsOiBSZW1vdmUgaGFsIHBsdWdpbgoJICBoYWwgaXMgbm90IGRldmVsb3BlZCBhbnltb3JlIGFuZCBub2JvZHkgaXMgdXNpbmcgdGhlIHBsdWdpbiBub3dhZGF5cy4KCjIwMTEtMDctMjkgMTM6MDM6NTUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29mdGVuIGFzc2VydGlvbiBjaGVjayBvbiBzdHJlYW0gc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTcwCgoyMDExLTA4LTAzIDEwOjA5OjQyICswMjAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEFkZCBzdXBwb3J0IGZvciBILjI2NCBwYXlsb2FkIGluIE1KUEVHIGNvbnRhaW5lcgoJICBTZWUgaHR0cDovL3d3dy5xdWlja2NhbXRlYW0ubmV0L3V2Yy1oMjY0L1VTQl9WaWRlb19QYXlsb2FkX0guMjY0XzAuODcucGRmCgkgIEZpeGVzIGJ1ZyAjNjU1NTMwLgoKMjAxMS0wOC0wMiAyMjowNTowOCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgamFja2F1ZGlvc2luazogRG9uJ3QgY2FsbCBnX2FsbG9jYSgpIGluIHByb2Nlc3NfY2IKCSAgZ19hbGxvY2EoKSBpcyBub3QgUlQtc2FmZSwgc28gaW5zdGVhZCB3ZSBzaG91bGQgYWxsb2NhdGUgdGhlCgkgIG1lbW9yeSBuZWVkZWQgaW4gYWR2YW5jZS4gRml4ZXMgIzY1NTg2NgoKMjAxMS0wOC0wMyAwODo1ODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIGhhbCB0byB0aGUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDMgMDg6NTM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBtb25vc2NvcGUgdG8gdGhlIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAzIDA4OjUxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogRml4IHVudXNlZCBidXQgc2V0IHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA4LTAyIDIzOjQyOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBkb2NzOiBmaXggdHdvIG1vcmUgU2luY2U6IHRhZ3MKCjIwMTEtMDctMzEgMDQ6MTk6MDAgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IFNpbmNlIHRhZ3MgZm9yIGZpZWxkYW5hbHlzaXMgcmVsYXRlZCBuZXcgcHJvcGVydGllcwoJICBjb21taXQgYzFiMTAwY2Y5YyBpcyBhZnRlciAwLjEwLjI5IGFuZCAwLjEwLjMwIHdhcyBhIGJyYW5jaGVkIHJlbGVhc2UuCgkgIFNvIGZpeCBTaW5jZSB0YWdzIGZyb20gMC4xMC4yOSB0byAwLjEwLjMxIGZvciB0aGUgbmV3IHByb3BlcnRpZXMuCgoyMDExLTA4LTAyIDExOjUxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBmaXggcG9ydGluZyBlcnJvcgoKMjAxMS0wOC0wMiAxMToyOTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRGVmaW5lIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAyIDExOjI5OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzdWJtb2R1bGUKCjIwMTEtMDgtMDIgMTE6MTc6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFNvcnQgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbHBoYWJldGljYWxseQoKMjAxMS0wNy0yOSAxNzoyNzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgLWdvb2Q6IGZpeCBmb3IgYnVmZmVycG9vbCBBUEkgY2hhbmdlCgoyMDExLTA3LTI5IDE3OjIxOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGw6IGNoYW5nZSBmb3IgbmV3IEFQSQoKMjAxMS0wNy0yOSAxMzowNTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHZhcmlhYmxlLXNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZyB3aXRoIG9sZGVyIHB1bHNlIHZlcnNpb25zCgoyMDExLTA3LTI5IDEyOjA3OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJvcGVybHkgaW5pdCBydGNwX21pbl9pbnRlcnZhbAoKMjAxMS0wMy0wOSAxMTowNDozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZXNpbms6IEFkZCBzdXBwb3J0IGZvciBjb21wcmVzc2VkIGZvcm1hdHMKCSAgVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHZhcmlvdXMgY29tcHJlc3NlZCBmb3JtYXRzIChBQzMsIEUtQUMzLCBEVFMgYW5kCgkgIE1QMykgcGF5bG9hZGVkIGluIElFQyA2MTkzNyBmb3JtYXQgKHVzZWQgZm9yIHRyYW5zbWlzc2lvbiBvdmVyIFMvUERJRiwKCSAgSERNSSBhbmQgQmx1ZXRvb3RoKS4KCSAgVGhlIGFjY2VwdGNhcHMoKSBmdW5jdGlvbiBhbGxvd3MgYmlucyB0byBwcm9iZSBmb3Igd2hhdCBmb3JtYXRzIHRoZSBzaW5rCgkgIGJlaW5nIGNvbm5lY3RlZCB0byBzdXBwb3J0LiBUaGlzIG9ubHkgd29ya3MgYWZ0ZXIgdGhlIGVsZW1lbnQgaXMgc2V0IHRvCgkgIGF0IGxlYXN0IFJFQURZLgoJICBJZiB0aGUgdW5kZXJseWluZyBzaW5rIGNoYW5nZXMgYW5kIHRoZSBmb3JtYXQgd2UgYXJlIHN0cmVhbWluZyBpcyBub3QKCSAgYXZhaWxhYmxlLCB3ZSBlbWl0IGEgbWVzc2FnZSB0aGF0IHdpbGwgYWxsb3cgdXBzdHJlYW0gZWxlbWVudHMvYmlucyB0bwoJICBibG9jayBhbmQgcmVuZWdvdGlhdGUgYSBuZXcgZm9ybWF0LgoKMjAxMS0wMy0wMSAxNTozNDo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogVXNlIHRoZSBleHRlbmRlZCBzdHJlYW0gQVBJIGlmIGF2YWlsYWJsZQoJICBUaGlzIHVzZXMgdGhlIG5ldyBleHRlbmRlZCBBUEkgZm9yIGNyZWF0aW5nIHN0cmVhbXMuIFRoaXMgd2lsbCBhbGxvdyB1cwoJICB0byBzdXBwb3J0IGNvbXByZXNzZWQgZm9ybWF0cyBuYXRpdmVseSBpbiBwdWxzZXNpbmsgYXMgd2VsbC4KCjIwMTEtMDctMjkgMDA6MDc6NTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogQWRkIGEgc291cmNlLW91dHB1dC1pbmRleCBwcm9wZXJ0eQoJICBUaGlzIGV4cG9zZXMgdGhlIHNvdXJjZSBvdXRwdXQgaW5kZXggb2YgdGhlIHJlY29yZCBzdHJlYW0gdGhhdCB3ZSBvcGVuCgkgIHNvIHRoYXQgY2xpZW50cyBjYW4gdXNlIHRoaXMgd2l0aCB0aGUgaW50cm9zcGVjdGlvbiBpZiB0aGV5IHdhbnQgKHRvCgkgIG1vdmUgdGhlIHN0cmVhbSwgZm9yIGV4YW1wbGUpLgoKMjAxMS0wNy0yOCAxNDo0NDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBrZWVwIGEgcmVmIG9uIHRoZSBzcmMgcGFkIHdoaWxlIHVzaW5nIGl0CgkgIFByZXZlbnQgYSBwb3NzaWJsZSByYWNlIGlmIGNsZWFyX3NzcmMoKSBpcyBjYWxsZWQgYmV0d2VlbiBnZXR0aW5nIHRoZSBwYWQgYW5kCgkgIGRvaW5nIHRoZSBwdXNoLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA1LTI0IDExOjI5OjU3ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBydHBzc3JjZGVtdXg6IE1ha2UgdGhlIHBhZHMgbG9jayByZWN1cnNpdmUgYW5kIGhvbGQgaXQgYWNyb3NzIHRoZSBzaWduYWwgZW1pdAoJICBXZSBuZWVkIHRvIGtlZXAgdGhlIGxvY2sgaGVsZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYSBwdXNoIGJlZm9yZSB0aGUgIm5ldy1zc3JjLXBhZCIKCSAgaGFuZGxlciBoYXMgY29tcGxldGVkLiBCdXQgd2UgbWF5IHdhbnQgdG8gcHVzaCBhbiBldmVudCBmcm9tIGluc2lkZSB0aGF0IGhhbmRsZXIsIGhlbmNlCgkgIHRoZSByZWN1cnNpdmUgbXV0ZXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDUtMjQgMTE6MTc6MjUgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVc2UgUEFEcyBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDctMjggMTE6MDk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogdXBkYXRlIGZvciBwb3NpdGlvbi9xdWVyeS9jb252ZXJ0IEFQSSBjaGFuZ2VzCgoyMDExLTA3LTI4IDEwOjU0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGdzdDogdWRwYXRlIGZvciBwb3NpdGlvbi9kdXJhdGlvbi9jb252ZXJ0IHF1ZXJ5IEFQSSBjaGFuZ2VzCgoyMDExLTA3LTI4IDAwOjM3OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGF2aWRlbXV4LmM6IEluIGZ1bmN0aW9uICdnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSc6CgkgIGdzdGF2aWRlbXV4LmM6MTI2MToyNDogZXJyb3I6ICdkYXRhJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9dW5pbml0aWFsaXplZF0KCSAgZ3N0YXZpZGVtdXguYzoxMjA0OjExOiBub3RlOiAnZGF0YScgd2FzIGRlY2xhcmVkIGhlcmUKCjIwMTEtMDctMjcgMTg6MTU6MjAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBDb3BlIHdpdGggRlUtQSBFIGJpdCBub3QgYmVpbmcgc2V0CgkgIFNvbWUgaDI2NCBwYXlsb2FkZXJzIGFyZSB1bmZvcnR1bmF0ZWx5IGJ1Z2d5IGFuZCBkb24ndCBjb3JyZWN0bHkgc2V0IHRoZQoJICBFIGJpdCBpbiBGVS1BIE5BTCB3aGVuIHRoZXkgaGF2ZSBlbmRlZC4gV29yayBhcm91bmQgdGhpcyBieSBhc3N1bWluZwoJICBzdWNoIGEgZnJhZ21lbnRhdGlvbiB1bml0IGhhcyBlbmRlZCB3aGVuIHRoZXJlIHdhcyBubyBwYWNrZXQgbG9zcyBhbmQgYQoJICBuZXcgTkFMIGlzIHN0YXJ0ZWQKCjIwMTEtMDQtMTIgMTc6MDE6NDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBTdXBwb3J0IHN3aXRjaGluZyBhbGlnbm1lbnQgb24tdGhlLWZseQoJICBUaGlzIGFsbG93cyBzd2l0Y2hpbmcgb2YgYWxpZ25tZW50IGZvciBFLUFDMyBzdHJlYW1zIGF0IHJ1bi10aW1lLiBUaGlzCgkgIGlzIHJlcXVlc3RlZCBieSBkb3duc3RyZWFtIGVsZW1lbnRzIHZpYSBhIGN1c3RvbSBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDMxMwoKMjAxMS0wNy0yNyAxNjo0Njo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgkgIFVzZSB0aGUgbW9yZSBzcGVjaWFsaXplZCB0eXBlIGZvciB0aGUgYnVmZmVycG9vbC4KCSAgVXNlIHRoZSBzaXplIGZyb20gdGhlIGRyaXZlciBhcyB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2UgdG8gcmVhZC4KCSAgRG9uJ3QgY29uZmlndXJlIHRoZSBwb29sIHdoZW4gY3JlYXRlZC4gVGhpcyB3aWxsIGJlIGRvbmUgaW4gdGhlIHNldHVwX2FsbG9jYXRpb24KCSAgbWV0aG9kIGxhdGVyIG9yIGJ5IHVwc3RyZWFtIGZvciBzaW5rcy4KCSAgUmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzIGFuZCB2YXJpYWJsZXMuIEJ1ZmZlcnBvb2wgc2l6ZXMgYXJlIG5vdyBjb25maWd1cmVkIGluCgkgIHRoZSBidWZmZXJwb29sIGJ5IHRoZSBlbGVtZW50cyBpbiB0aGUgcGlwZWxpbmUuIFdlIG1pZ2h0IHdhbnQgdG8gaW5mbHVlbmNlIHRoZQoJICBwb29sIHNpemUgbGF0ZXIgc29tZWhvdy4KCjIwMTEtMDctMjcgMTM6NDY6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNy0yNyAxMzo0MzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogYWRkIG1ldGFkYXRhCgoyMDExLTA3LTI3IDEzOjQxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgYnVmZmVycG9vbDogY2hlY2sgZm9yIG1ldGFkYXRhCgkgIE9ubHkgYWRkIHZpZGVvIG1ldGFkYXRhIHdoZW4gaXQgd2FzIGNvbmZpZ3VyZWQgaW4gdGhlIHBvb2wuIEZhaWwgaWYgdGhlcmUgd2FzIG5vCgkgIHZpZGVvIG1ldGFkYXRhIGNvbmZpZ3VyZWQgYW5kIHRoZSBzdHJpZGVzIGFyZSBub3QgdGhlIGRlZmF1bHQgb25lcy4KCjIwMTEtMDctMjcgMTI6NDI6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycDogYWRkIHN0cmlkZSBzdXBwb3J0CgoyMDExLTA3LTI3IDEyOjQxOjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgY29sb3JzcGFjZSB0byBkZWJ1ZwoKMjAxMS0wNy0yNiAxNzo0NTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0wNy0yNiAxNjoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHJlbmFtZSBhIHZhcmlhYmxlCgkgIFJlbmFtZSB0aGUgc2l6ZSB2YXJpYWJsZSB0byBzaXplaW1hZ2UgYW5kIGZpbGwgaXQgd2l0aCB0aGUgc2l6ZSB0aGF0IGhhcyBiZWVuCgkgIGdpdmVuIHRvIHVzZSBieSB0aGUgdjRsMiBkcml2ZXIgaW5zdGVhZCBvZiBtYWtpbmcgc29tZXRoaW5nIHVwLi4KCjIwMTEtMDctMjYgMTM6MTg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiB1c2UgbmV3IHNldHVwX2FsbG9jYXRpb24gdm1ldGhvZAoKMjAxMS0wNy0yNiAxMDo1NjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGltcGxlbWVudCBtb3JlIGJpdHMgb2YgUlcgSS9PIG1vZGUKCSAgSW1wbGVtZW50IHRoZSByZWxhZXNlIG9mIFJXIGJ1ZmZlcnMgaW4gdGhlIHBvb2wuCgkgIFdhcm4gZm9yIHVuc3VwcG9ydGVkIHdyaXRlKCkgbW9kZSBmb3Igc2lua3MuCgoyMDExLTA3LTI2IDEwOjU0OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbXByb3ZlIElPIG1vZGUgZXJyb3IgaGFuZGxpbmcKCSAgRXJyb3Igb3V0IHdoZW4gYW4gdW5zdXBwb3J0ZWQgSU8gbW9kZSB3YXMgc2VsZWN0ZWQKCjIwMTEtMDQtMDkgMTI6MjY6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgSUVDIDYxOTM3IGFsaWdubWVudAoJICBXaGVuIHB1c2hpbmcgb3V0IGJ1ZmZlcnMgb3ZlciBTL1BESUYgb3IgSERNSSwgSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgcmVxdWlyZXMgZWFjaCBidWZmZXIgdG8gY29udGFpbiA2IGJsb2NrcyBmcm9tIGVhY2ggc3Vic3RyZWFtLiBUaGlzIGFkZHMKCSAgY29kZSB0byBjb2xsZWN0IGFsbCB0aGUgZnJhbWVzIG5lZWRlZCB0byBtZWV0IHRoaXMgcmVxdWlyZW1lbnQgYmVmb3JlCgkgIHB1c2hpbmcgb3V0IGEgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMzEzCgoyMDExLTA2LTA4IDE1OjU3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFsd2F5cyBzZW5kIGFwcGxpY2F0aW9uIHJlcXVlc3RlZCBmZWVkYmFjayBpbiBpbW1lZGlhdGUgbW9kZQoJICBTZW5kIGFzIG1hbnkgYXBwbGljYXRpb24gcmVxdWVzdGVkIGZlZWRiYWNrIG1lc3NhZ2VzIGluIGltbWVkaWF0ZSBtb2RlLCBldmVuIGlmIHRoZXkKCSAgaGF2ZSBhbHJlYWR5IGJlZW4gc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU4MwoKMjAxMS0wNi0wOCAxNDo0ODowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgbGV0IHRoZSBjb21wdXRlZCBSVFAgYmFuZHdpZHRoIGZhbGwgdG9vIGxvdwoJICBJZiBpdCBmYWxscyB0b28gbG93LCB0aGUgY29tcHV0ZWQgUlRDUCBiYW5kd2lkdGggd2lsbCBiZSBuZWFyIHplcm8gYW5kCgkgIHRoZSBSVENQIHRocmVhZCB3aWxsIGJlIHN0b3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1ODMKCjIwMTEtMDQtMjUgMTY6MTM6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogV2FpdCBsb25nZXIgdG8gdGltZW91dCBTU1JDIGNvbGxpc2lvbgoJICBVc2luZyB0aGUgY3VycmVudCBSVENQIGludGVydmFsIHRvIHRpbWVvdXQgU1NSQyBjb2xsaXNpb24gY2FuIGxlYWQgdG8KCSAgY29sbGlzaW9ucyBiZWluZyB0aW1lZCBvdXQgaW1tZWRpYXRlbHkgaWYgYSBCWUUgcGFja2V0IGlzIHNlbnQgYmVjYXVzZQoJICBpdCBpcyBzZW50IGltbWVkaWF0ZWx5LCBzbyB0aGUgaW50ZXJ2YWwgaXMgMC4gVGhpcyBpcyBub3Qgd2hhdCB3ZQoJICB3YW50LiBTbyBqdXN0IHNldCBhIHN0YXRpYyAxMCB0aW1lcyB0aGUgZGVmYXVsdCBSVENQIGludGVydmFsLCBpdAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg2NDIKCjIwMTEtMDctMjUgMTU6NTE6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIG1ldGhvZAoKMjAxMS0wNy0yNSAxNTozODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGZsdXNoaW5nIHN0YXJ0IGFuZCBzdG9wCgkgIE1vdmUgdGhlIGZsdXNoaW5nIGNhbGxzIHRvIHRoZSByaWdodCBwbGFjZSBpbiB0aGUgYnVmZmVycG9vbC4KCSAgRml4IHRoZSBtaW4gYW5kIG1heCBidWZmZXIgc2l6ZXMuCgoyMDExLTA3LTI1IDE0OjQ3OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZGVxdWV1ZSBidWZmZXJzIHdoZW4gYWxsIGFyZSBxdWV1ZWQKCSAgUHJlZmVyIHRvIGFsd2F5cyB1c2UgdGhlIGRlZmF1bHQgYnVmZmVycG9vbCBxdWV1ZSBmb3IgdGhlIF9hY3F1aXJlIGZ1bmN0aW9uCgkgIGJlY2F1c2UgaXQgcHJvcGVybHkgc3VwcG9ydHMgdW5ibG9ja2luZyB3aGVuIHNldHRpbmcgaW5hY3RpdmUgZXRjLiBBcyBhIHJlc3VsdCwKCSAgd2UgbmVlZCB0byBkZXF1ZXVlIGJ1ZmZlcnMgYW5kIHB1dCB0aGVtIGJhY2sgaW4gdGhlIGJ1ZmZlcnBvb2wgcXVldWUgd2hlbiB3ZQoJICBoYXZlIHF1ZXVlZCBhbGwgYnVmZmVycyBpbiB0aGUgc2luay4KCSAgUmVuYW1lIHNvbWUgdmFyaWFibGVzIHRvIG1vcmUgbWVhbmluZ2Z1bGwgbmFtZXMgdG8gYXZvaWQgYSBwcm9ibGVtIHdpdGgKCSAgZnJlZWluZyB0aGUgd3JvbmcgYW1vdW50IG9mIGJ1ZmZlcnMuCgoyMDExLTA3LTE5IDEzOjM4OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFNPVVJDRSBmbGFnIGF0IGluaXQgdGltZQoJICBGaXhlcyAjNjU0ODE2LgoKMjAxMS0wNy0yNSAxMDoxMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgdmVydGlnb3R2OiBhZGQgc3RyaWRlIHN1cHBvcnQKCjIwMTEtMDctMTkgMTg6MjU6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBvbmx5IHRvIFNUUkVBTU9GRiB3aGVuIHN0cmVhbWluZwoJICBPbmx5IGNhbGwgU1RSRUFNT0ZGIHdoZW4gd2UgcHJldmlvdXNseSBjYWxsZWQgU1RSRUFNT04KCjIwMTEtMDctMjIgMjE6MjY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheTogZml4IGZvciBldmVudCBoYW5kbGVyCgoyMDExLTA3LTIyIDIxOjE5OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJICBmaXhlcyBmb3IgZXZlbnQgaGFuZGxlciBjaGFuZ2VzCgoyMDExLTA3LTE4IDE2OjQ2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBDb21wbGV0ZSBtZXJnZWQgQVUgb24gbWFya2VyIGJpdAoJICBUaGUgbWFya2VyIGJpdCBvbiBhIFJUUCBwYWNrZXQgbWVhbnMgdGhlIEFVIGhhcyBiZWVuIGNvbXBsZXRlZCwgc28gcHVzaCBpdCBvdXQKCSAgaW1tZWRpYXRlbHkgdG8gcmVkdWNlIHRoZSBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDExLTA3LTE4IDIwOjI3OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBPbmx5IHNldCB0aGUgbWFya2VyIGJpdCBvbiB0aGUgbGFzdCBOQUxVIG9mIGEgbXVsdGktTkFMVSBhY2Nlc3MgdW5pdAoJICBBbiBhY2Nlc3MgdW5pdCBjb3VsZCBjb250YWluIG11bHRpcGxlIE5BTCB1bml0cywgaW4gdGhhdCBjYXNlLCBvbmx5IHRoZSBsYXN0CgkgIFJUUCBwYWNrZXQgb2YgdGhlIGxhc3QgTkFMVSBzaG91bGQgaGF2ZSBpdHMgbWFya2VyIGJpdCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTEtMDctMjAgMDg6NTI6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0OiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNy0xOSAxODoyMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogaGFuZGxlIHVuc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTEtMDctMTkgMTY6NTk6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogRml4IHNpbmsgYnVmZmVycG9vbCBoYW5kbGluZwoJICBSZW1vdmUgb2xkIG1ldGhvZCwgdXNlIG5ld3cgX3Byb2Nlc3MgbWV0aG9kIGZvciB0aGUgc2luay4KCSAgSW5mb3JtIHRoZSBwYXJlbnQgYnVmZmVycG9vbCBjbGFzcyBhYm91dCB0aGUgc2V0dGluZ3MgdG9vLiBUaGlzIGlzIG5lZWRlZCB0byBsZXQKCSAgaXQga25vdyBhYm91dCB0aGUgbWF4LWJ1ZmZlcnMuCgkgIEFsbG9jYXRlIHRoZSBuZWdvdGlhdGVkIG1heC1idWZmZXJzIGFuZCBpbml0aWFsbHkgbW1hcCBtaW4tYnVmZmVycy4gVGhlIGlkZWEgaXMKCSAgdGhhdCB0aGUgYnVmZmVycG9vbCB3aWxsIGFsbG9jYXRlIG1vcmUgd2hlbiBuZWVkZWQuCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBPbmx5IHBvbGwgaW4gY2FwdHVyZSBtb2RlLCBpdCBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgaW4gcGxheWJhY2sgbW9kZSBvbiB0aGlzCgkgIGJlYWdsZWJvYXJkLgoKMjAxMS0wNy0xOSAxMjowNTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGF2b2lkIGhhbmdpbmcgb24gaW52YWxpZCBzaG9ydCBpbnB1dAoJICAuLi4gYXMgaW4gc3VjaCBjYXNlIHRoZXJlIGlzIG5vIHNyY3BhZCB5ZXQgb24gd2hpY2ggdG8gZm9yd2FyZCBFT1MuCgoyMDExLTA3LTE4IDE1OjEzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IGRlZmF1bHQgdmFsdWUgbGVha2luZwoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGNsaWVudCBuYW1lLCBhdm9pZGluZyBhCgkgIGxlYWsKCjIwMTEtMDctMTggMTg6NTQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IE1vcmUgd29yayBvbiBidWZmZXJwb29scwoJICBBZGQgZGlmZmVyZW50IHRyYW5zcG9ydCBtZXRob2RzIHRvIHRoZSBidWZmZXJwb29sIChNTUFQIGFuZCBSRUFEL1dSSVRFKQoJICBEbyBtb3JlIHBhcnNpbmcgb2YgdGhlIGJ1ZmZlcnBvb2wgY29uZmlnLgoJICBTdGFydCBhbmQgc3RvcCBzdHJlYW1pbmcgYmFzZWQgb24gdGhlIGJ1ZmZlcnBvb2wgc3RhdGUuCgkgIE1ha2Ugc2VwYXJhdGUgbWV0aG9kcyBmb3IgZ2V0dGluZyBhIGJ1ZmZlciBmcm9tIHRoZSBwb29sIGFuZCBmaWxsaW5nIGl0IHdpdGgKCSAgZGF0YS4gVGhpcyBhbGxvd3MgdXMgdG8gZmlsbCBidWZmZXJzIGZyb20gb3RoZXIgcG9vbHMgdG9vLiBFaXRoZXIgdXNlIGNvcHkgb3IKCSAgcmVhZCB0byBmaWxsIHVwIHRoZSB0YXJnZXQgYnVmZmVycy4KCSAgQWRkIHByb3BlcnR5IHRvIGZvcmNlIGEgdHJhbnNmZXIgbW9kZSBpbiB2NGwyc3JjLgoJICBJbmNyZWFzZSBkZWZhdWx0IG51bWJlciBvZiBidWZmZXJzIHRvIDQuCgkgIE5lZ290aWF0ZSBidWZmZXJwb29sIGFuZCBpdHMgcHJvcGVydGllcyBpbiB2NGwyc3JjLgoKMjAxMS0wNy0xOCAxNDoyNDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlc2V0IHVwb24gRkxVU0hfU1RPUAoJICAuLi4gd2hpY2ggaXMgcGFydGljdWxhcmx5IG5lZWRlZCB3aGVuIG1lcmdpbmcgTkFMIHVuaXRzLCB3aGVyZSBub3QgcmVzZXR0aW5nCgkgIHdvdWxkIGxlYWQgdG8gb3V0cHV0IG9mIGFuIG9sZGVyIChwcmUtZmx1c2gpIEFVICh3aXRoIHVuaW50ZW5kZWQgdGltZXN0YW1wKS4KCjIwMTEtMDctMTggMTQ6MzA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvIG5vdCB1c2UgZ19zbGlzdF9mcmVlX2Z1bGwKCSAgLi4uIGFzIHRoYXQgaXMgb25seSBpbiBHTGliIDIuMjgsIHdoaWNoIGlzIG5vdCB5ZXQgcmVxdWlyZWQgYXQgdGhpcyB0aW1lLgoKMjAxMS0wNy0xOCAxMDo1MjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBhZGQgSU8gbWV0aG9kIGVudW0KCjIwMTEtMDctMTggMTA6NTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBidWZmZXJwb29sOiBpbXByb3ZlIF9uZXcgZnVuY3Rpb24KCjIwMTEtMDctMTggMDk6Mzg6MjYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIG1heC1maWxlcyBwcm9wZXJ0eQoJICBBZGQgbWF4LWZpbGVzIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgZmlsZXMgc2F2ZWQgb24gZGlzay4KCSAgQVBJOiBtdWx0aWZpbGVzaW5rOjptYXgtZmlsZXMKCjIwMTEtMDctMTcgMjM6MzY6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHJlZmFjdG9yIGZpbGUgb3BlbmluZyBhbmQgY2xvc2luZyBjb2RlCgoyMDExLTA3LTE2IDE5OjM4OjUxICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBoZWFkZXIgaGFzIG9ubHkgb25lIGRpc3BsYXkgdmFyaWFibGUKCSAgQ3VycmVudCBtYXRyb3NrYSBkZW11eCBjYWxjdWxhdGVzIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gb25seSBpZiBib3RoCgkgIERpc3BsYXlIZWlnaHQgYW5kIERpc3BsYXlXaWR0aCBhcmUgc2V0LCBidXQgaXQgaXMgbGVnYWwgdG8gdXNlIG9ubHkKCSAgb25lIHZhcmlhYmxlIGlmIHRoZSBvdGhlciBpcyBlcXVhbCB0byBQaXhlbFdpZHRoIG9yIFBpeGVsSGVpZ2h0LCBhdAoJICBsZWFzdCB0aGUgbWtjbGVhbiB1dGlsaXR5IGlzIGRvaW5nIHRoYXQuIFNvIHRoaXMgbWFrc2UgbWtjbGVhbmVkCgkgIGZpbGVzIHBsYXkgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NzQ0CgoyMDExLTA3LTE2IDIzOjQ3OjUwICswMTAwICBBbnRvaW5lIEphY291dG90IDxhamFjb3V0b3RAb3BlbmJzZC5vcmc+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBmaXggYnVpbGQgb24gUFBDIG9uIG9wZW5ic2QKCSAgQSBtaXNzaW5nIHN5cy9wYXJhbS5oIGluY2x1ZGUgcmVzdWx0cyBpbjoKCSAgL3Vzci9pbmNsdWRlL3N5cy9wcm9jLmg6NjQ6IGVycm9yOiAnTUFYTE9HTkFNRScgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYQoJICBmdW5jdGlvbikKCSAgL3Vzci9pbmNsdWRlL3N5cy9wcm9jLmg6Mjg1OiBlcnJvcjogJ01BWENPTUxFTicgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYQoJICBmdW5jdGlvbikKCSAgd2hlbiBjb21waWxpbmcgZ29vbSBvbiBvcGVuYnNkL3BwYy4gV2UgY2FuIGp1c3QgcmVtb3ZlIHRoZSB0d28gc3lzLyBpbmNsdWRlcwoJICBoZXJlLCB0aGV5IGFyZSBub3QgbmVlZGVkIGZvciBhbnl0aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDc0OQoKMjAxMS0wNy0xNSAxNzowNjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMTUgMTY6NTU6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGltcGxlbWVudCBzZXR1cF9hbGxvY2F0aW9uCgkgIEltcGxlbWVudCB0aGUgc2V0dXBfYWxsb2NhdGlvbiB2bWV0aG9kLCB3ZSdsbCBob3BlZnVsbHkgZG8gc29tZXRoaW5nIGNsZXZlciBpbgoJICB0aGVyZSBsYXRlci4KCjIwMTEtMDctMTUgMTY6MjY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGltcHJvdmUgYnVmZmVycG9vbCBjb25maWcgc2V0dGluZwoJICBQYXNzIHRoZSBjYXBzIGFuZCB0aGUgZGVmYXVsdCB2aWRlbyBzaXplIHRvIHRoZSBidWZmZXJwb29sIGNvbmZpZy4KCSAgRG9uJ3QgYWN0aXZhdGUgdGhlIGJ1ZmZlcnBvb2wsIHRoaXMgd2lsbCBiZSBkb25lIGJ5IHRoZSBvYmplY3QgdGhhdCBkZWNpZGVzIHRvCgkgIHVzZSB0aGUgYnVmZmVycG9vbC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGVycm9yIHJlcG9ydGluZy4KCjIwMTEtMDctMTUgMTM6NTI6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBoYW5kbGUgZGVxdWV1ZWluZyBjb3JyZWNseQoJICBGaXJzdCBjbGVhbiB1cCB0aGUgYnVmZmVycyBpbiB0aGUgcXVldWUsIHRoZW4gdGhlIHJlbWFpbmluZyBvbmVzIGluIHRoZQoJICBkZXZpY2UuCgoyMDExLTA3LTE1IDEzOjI5OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1bnJlZiBjb3BpZWQgYnVmZmVyCgkgIEFmdGVyIHdlIGNvcHkgdGhlIGluY29tbWluZyBidWZmZXIgdG8gb25lIG9mIG91ciBidWZmZXJwb29sIGJ1ZmZlcnMsIHVucmVmIHRoZQoJICB0YXJnZXQgYnVmZmVyIGFmdGVyIHJlbmRlcmluZyBzbyB0aGF0IGl0IGlzIHB1dCBiYWNrIGluIHRoZSBwb29sLgoKMjAxMS0wNy0xNSAxMzowNzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGRlcXVldWUgYnVmZmVycyBmb3IgdGhlIHNpbmsKCSAgV2hlbiB3ZSBoYXZlIGFsbCBidWZmZXJzIHF1ZXVlZCBmb3IgcGxheWJhY2sgYW5kIHdlIG5lZWQgYSBuZXcgZW1wdHkgYnVmZmVyLAoJICBkZXF1ZXVlIG9uZSBhbmQgcmV0dXJuIGl0LgoJICBTZXQgdGhlIHJpZ2h0IHNpemUgZm9yIHNpbmsgYnVmZmVycy4KCSAgSW1wcm92ZSBjb3VudGluZyBvZiBxdWV1ZWQgYnVmZmVycy4KCjIwMTEtMDctMTUgMTI6MzU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiB1c2UgdGhlIHBhcmVudCBxdWV1ZSBmb3IgdGhlIHNpbmsKCSAgV2Ugd2FudCB0byBtYWludGFpbiBhIHF1ZXVlIG9mIGZyZWUgYnVmZmVycyBmb3IgdGhlIHNpbmssIHVzZSB0aGUgcGFyZW50IG1ldGhvZHMKCSAgdG8gZG8gdGhhdC4KCjIwMTEtMDctMTUgMTI6MDA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBlcnJvciBtZXNzYWdlcwoKMjAxMS0wNy0xNSAxMTozMDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGFkZCBBTExPQ0FUSU9OIHF1ZXJ5IHRvIHRoZSBzaW5rCgoyMDExLTA3LTE1IDExOjI3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGNvbnZlcnQgdG8gR3N0QnVmZmVyUG9vbAoJICBFeHRlbmQgZnJvbSBHc3RCdWZmZXJQb29sLgoJICBIYW5kbGUgdGhlIGxpZmV0aW1lIG9mIHRoZSBwb29sIGJ1ZmZlcnMgY29ycmVjdGx5IHdpdGggdGhlIHN0YXJ0L3N0b3Agdm1ldGhvZHMuCgkgIE1hcCBhY3F1aXJlIGFuZCByZWxlYXNlIGRpcmVjdGx5IHRvIFFCVUYgYW5kIERRQlVGLiBXZSBzdGlsbCBleHBvc2UgYW4gZXhwbGljaXQKCSAgcWJ1ZiBmb3IgdGhlIHY0bDJzaW5rIGZvciBub3cuCgoyMDExLTA3LTE1IDExOjE4OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgZXhwZXJpbWVudGFsIG1hcmtlcnMKCjIwMTEtMDctMTQgMjA6MTA6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cHBjbUFwYXkvZGVwYXk6IFN0YXRpYyBjbG9jayByYXRlcyBvbiBzdGF0aWMgcGF5bG9hZHMsIGR5bmFtaWMgb24gZHluYW1pYwoJICBQYXJ0aWFsbHkgcmV2ZXJ0cyAzOTdkYzYwYgoKMjAxMS0wNy0xNCAxNjoyMTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogbWVyZ2UgY29kZQoKMjAxMS0wNy0xNCAxNjoxMjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyOiBNb3ZlIG91dHB1dCBkZXRhaWxzIHRvIGRldmljZSBvYmplY3QKCSAgTW92ZSB0aGUgZGV0YWlscyBvZiBob3cgYSBidWZmZXIgaXMgcmVuZGVyZWQgdG8gdGhlIGRldmljZSBvYmplY3QuCgoyMDExLTAzLTA0IDE1OjQxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSW1wbGVtZW50IGdldGNhcHMKCSAgQ29udmVydCBwcm9maWxlLWxldmVsLWlkIGZyb20gUlRQIGNhcHMgaW50byB2aWRlby94LWgyNjQgc3R5bGUgY2FwcyAod2l0aCBwcm9maWxlIGFuZCBsZXZlbCkKCjIwMTEtMDctMTMgMTg6MzI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogbW92ZSBjYXB0dXJlIGNvZGUgdG8gZGV2aWNlIG9iamVjdAoJICBNb3ZlIHRoZSBkZXRhaWxzIG9mIGhvdyB0byBjYXB0dXJlIHRvIHRoZSBkZXZpY2Ugb2JqZWN0LiBSZW1vdmUgdGhlCgkgIHY0bDJzcmNfY2FsbHMuW2NoXSBmaWxlcyBiZWNhdXNlIHRoZXkgYXJlIGVtcHR5IG5vdy4KCSAgUHJvdmlkZSB0d28gc2ltcGxlIG1ldGhvZHMgdG8gZ2V0IGFuZCByZXR1cm4gYSBidWZmZXIgdG8gdGhlIGRldmljZS4KCSAgQWxzbyBkbyBhIHNsb3cgY29weSB3aGVuIHRoZSBidWZmZXIgaXMgbm90IGZyb20gb3VyIHBvb2wuCgoyMDExLTA3LTEzIDE2OjU4OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDExLTA3LTEzIDE2OjU2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogc3RvcCBzdHJlYW1pbmcgaW4gUkVBRFkgYW5kIE5VTEwKCjIwMTEtMDctMTMgMTY6NDA6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHN0YXJ0IHN0cmVhbWluZyBmb3IgdGhlIG91dHB1dCBhcyB3ZWxsCgoyMDExLTA3LTEzIDE2OjMzOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IExldCB0aGUgZGV2aWNlIG9iamVjdCBtYW5hZ2UgdGhlIHBvb2wKCSAgUmVuYW1lIHN0YXJ0IGFuZCBzdG9wIG1ldGhvZHMgdG8gb3BlbiBhbmQgY2xvc2UgYmVjYXVzZSB0aGF0IGlzIHdoYXQgdGhleSBkby4KCSAgQWZ0ZXIgc2V0dGluZyB0aGUgZm9ybWF0IG9uIHRoZSBkZXZpY2Ugb2JqZWN0LCBzZXR1cCB0aGUgYnVmZmVycG9vbHMuIE1vdmUgdGhpcwoJICBjb2RlIGZyb20gdGhlIHY0bDJzcmNfY2FsbHMuYyBmaWxlLCBpdCBpcyBzaGFyZWQgYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsuCgkgIE1ha2UgbmV3IGRldmljZSBzdGFydCBhbmQgc3RvcCBtZXRob2QgdGhhdCBtZXJnZXMgdmFyaW91cyBiaXRzIG9mIGNvbW1vbiBjb2RlCgkgIHNwcmVhZCBvdmVyIHNldmVyYWwgZmlsZXMuCgoyMDExLTA3LTEzIDEzOjUyOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGRvbid0IHN0b3JlIHN0cmlkZSBpbiB0aGUgdmlkZW9pbmZvCgkgIFdlIHdhbnQgdG8ga2VlcCB0aGUgZGVmYXVsdCBzdHJpZGVzIGluIHRoZSB2aWRlb2luZm8uIEtlZXAgdGhlIHN0cmlkZSBvZiB0aGUKCSAgdmlkZW8gZnJhbWVzIHNlcGFyYXRlIHNvIHRoYXQgd2UgY2FuIHVzZSBib3RoIHRvIGNvcHkgYSB2aWRlbyBmcmFtZSBhbmQgZG8KCSAgY29ycmVjdCBzdHJpZGUgY29udmVyc2lvbi4KCjIwMTEtMDctMTMgMTM6Mzg6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBVc2UgdmlkZW8gZnJhbWUgY29weSBmb3IgcmF3IHZpZGVvCgkgIFVzZSB0aGUgdmlkZW8gZnJhbWUgY29weSBBUEkgZm9yIHJhdyB2aWRlbyBmcmFtZXMgc28gdGhhdCB3ZSBjb3B5IHdpdGggdGhlIHJpZ2h0CgkgIHN0cmlkZXMuCgoyMDExLTA3LTEzIDEzOjM3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYWRkIHZpZGVvIG1ldGFkYXRhIHRvIHJhdyB2aWRlbyBidWZmZXJzCgoyMDExLTA3LTEzIDEzOjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wNy0xMyAxMzowMDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBpbXByb3ZlIGNhcHMgcGFyc2luZwoJICBVc2UgR3N0VmlkZW9JbmZvIHRvIHN0b3JlIHRoZSBwYXJzZWQgY2Fwcy4KCSAgUmVtb3ZlIG91dHNpemUgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGNvZGUsIGl0J3Mgd3JvbmcgYmVjYXVzZSBpdCBkb2VzIG5vdCB1c2UKCSAgdGhlIHN0cmlkZSBnaXZlbiBieSB0aGUgZHJpdmVyLgoKMjAxMS0wNy0xMyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIGVycm5vCgoyMDExLTA3LTEzIDExOjM2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBoYW5kbGUgRUlOVkFMIHdpdGhvdXQgcG9zdGluZyBhIHdhcm5pbmcKCSAgRUlOVkFMIG1lYW5zIHRoYXQgYSBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQsIHdlIG9ubHkgd2FudCB0byBwb3N0IGEgV0FSTklORyB3aGVuCgkgIHNvbWV0aGluZyBpcyByZWFsbHkgd3JvbmcuCgoyMDExLTA3LTEzIDExOjI5OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBvbmx5IHNldCBmcmFtZXJhdGUgZm9yIGNhcHR1cmUgZm9yIG5vdwoKMjAxMS0wNy0xMyAxMToxOToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogTW92ZSBjb25maWd1cmF0aW9uIG9mIGZyYW1lcmF0ZSB0byBfc2V0X2Zvcm1hdAoJICBNb3ZlIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBmcmFtZXJhdGUgdG8gd2hlcmUgd2Ugc2V0IHRoZSBvdGhlciBmb3JtYXQKCSAgcGFyYW1ldGVycy4KCSAgUmVtb3ZlIGhhY2sgdG8gY2hlY2sgaWYgdGhlIGRldmljZSBpcyBhY3RpdmUuCgkgIFN0b3JlIHN0cmVhbXBhcm0gaW4gdGhlIGRldmljZSBpbmZvLgoJICBVc2Ugc29tZSBtYWNyb3MgdG8gYWNjZXNzIHRoZSBjdXJyZW50IGRldmljZSBjb25maWd1cmF0aW9uLgoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgZmllbGRzIGluIHNyYyBhbmQgc2luayBhbmQgdXNlIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbgoJICBpbnN0ZWFkLgoKMjAxMS0wNy0xMiAxOToxMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHJldHVybiB2YWx1ZS4uLgoKMjAxMS0wNy0xMiAxOTowMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBzaW1wbGlmeSBzZXR0aW5nIHRoZSBjYXB0dXJlIGZvcm1hdAoJICBQYXNzIHRoZSBjYXBzIHRvIHRoZSBzZXRfZm9ybWF0IGZ1bmN0aW9uIGFuZCBtYWtlIF9zZXRfZm9ybWF0IHBhcnNlIHRoZSBjYXBzLgoJICBBbHNvIGtlZXAgdGhlIHBhcnNlZCB2YWx1ZXMgaW4gdGhlIHY0bDJvYmplY3Qgc28gdGhhdCB3ZSBjYW4gcmVmZXIgdG8gdGhlbSB3aGVuCgkgIHdlIHdhbnQuCgoyMDExLTA3LTEyIDE4OjQxOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIG1vcmUgdW51c2VkIHBhcmFtZXRlcnMKCjIwMTEtMDctMTIgMTg6Mjk6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDogaGFuZGxlIG9iamVjdCBvdXQgb2YgdGhlIG5vcm1hbCBmbG93CgoyMDExLTA3LTEyIDE4OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogTGV0IHRoZSBidWZmZXJwb29sIG93biB0aGUgVjRsMk9iamVjdAoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBmb3JtYXQgYW5kIHNldHRpbmcgaW4gdGhlCgkgIHY0bDJvYmplY3QuCgkgIFBhc3MgdGhlIHY0bDJvYmplY3QgdG8gdGhlIGJ1ZmZlcnBvb2wgY29uc3RydWN0b3Igc28gdGhhdCB0aGUgYnVmZmVycG9vbCBjYW4KCSAga25vdyBldmVyeXRoaW5nIGFib3V0IHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBzZXR0aW5ncy4gVGhpcyBhbHNvIGFsbG93cyB1cwoJICB0byByZW1vdmUgc29tZSBhd2t3YXJkIGNvZGUuCgoyMDExLTA3LTEyIDE3OjA2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGw6IHJlbW92ZSBjYXBzIGFyZ3VtZW50LCBpdCdzIG5vdCBuZWVkZWQKCSAgUmVtb3ZlIHRoZSBjYXBzIHBhcmFtZXRlciwgd2UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlIGJlY2F1c2Ugd2UgZG9uJ3Qgc2V0CgkgIGNhcHMgb24gYnVmZmVycyBhbnltb3JlLgoKMjAxMS0wNy0xMiAxNjo0NjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDogcGFzcyB0aGUgYnl0ZXNwZXJsaW5lIGFyb3VuZAoJICBXaGVuIHNldHRpbmcgYSBmb3JtYXQsIHJldHVybiB0aGUgYnl0ZXNwZXJsaW5lIHRvIHRoZSBjYWxsZXIgc28gdGhhdCBpdCBjYW4gYmUKCSAgdXNlZCB0byBhbGxvY2F0ZSBidWZmZXJzLgoKMjAxMS0wNy0xMiAxNjo0MzowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHBvb2w6IG1ha2UgYnVmZmVyIHdyaXRhYmxlCgkgIFdlIG5lZWQgd3JpdGFibGUgYnVmZmVycyB3aGVuIHdlIG5lZWQgdG8gZG8gYSBzbG93IG1lbWNweS4KCjIwMTEtMDctMTIgMTU6MDQ6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc2Vla2luZyByZWdyZXNzaW9uCgkgIC4uLiBpbnRyb2R1Y2VkIHdoZW4gc2h1ZmZsaW5nIGFyb3VuZCBjb2RlIGZvciB0aGUgYXN5bmMgaW1wbGVtZW50YXRpb24KCSAgYnkgc2V0dGluZyBzdGF0ZSBvZiBzb3VyY2UgKGFuZCB1ZHAgc291cmNlcykgaW4gX3BsYXkgYmVmb3JlIGRvd25zdHJlYW0KCSAgZmx1c2hpbmcgaXMgdW5kb25lLgoKMjAxMS0wNy0xMSAxNToyMzo0MSArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogZml4IGJ1ZmZlciBkdXJhdGlvbiBvbiBibG9ja3MtcGVyLWZyYW1lIGNoYW5nZQoJICBUaGUgZ3N0X2Jhc2VfcGFyc2Vfc2V0X2ZyYW1lX3JhdGUgY2FsbCB3YXMgcHJlZGljYXRlZCBvbiBhIGNoYW5nZSB0bwoJICBzYW1wbGUgcmF0ZSwgZHVyYXRpb24gb3IgcHJvZmlsZS4gSG93ZXZlciwgdGhlIGJsb2NrIGNvdW50IHBlciBmcmFtZSBjYW4KCSAgYWxzbyBjaGFuZ2UgYmV0d2VlbiBwYWNrZXRzLCB3aGljaCB3b3VsZCByZXN1bHQgaW4gaW5jb3JyZWN0IGJ1ZmZlcgoJICBkdXJhdGlvbnMuCgoyMDExLTA3LTExIDEzOjUxOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGhhbmRsZSBwb29scwoJICBDcmVhdGUgYSBuZXcgcG9vbCBpbiBzZXRjYXBzIGFuZCBzdG9wL2Rlc3Ryb3kgdGhlIG9sZCBvbmUuCgkgIFJlbW92ZSBidWZmZXJfYWxsb2MgZnVuY3Rpb25zLgoJICBDaGVjayB0aGF0IHdlIGhhdmUgdjRsMiBtZXRhZGF0YSBpbiBzaG93X2ZyYW1lIGFuZCBmYWxsIGJhY2sgdG8gbWVtY3B5IGludG8gYQoJICBidWZmZXIgZnJvbSBvdXIgcG9vbCBpZiB3ZSBkb24ndCByZWNlaXZlIG9uZSBvZiBvdXIgb3duIGJ1ZmZlcnMuCgoyMDExLTA3LTExIDEyOjA0OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHZhcmlvdXMgY2xlYW51cHMKCSAgVmFyaW91cyBjbGVhbnVwcywgYXZvaWRzIHVzZWxlc3MgY2FzdHMsIG1vdmUgZXJyb3IgaGFuZGxpbmcgb3V0c2lkZSBvZiB0aGUgbWFpbgoJICBjb2RlIGZsb3cuCgkgIE5lZ290aWF0ZSB0byBhIHJlc29uYWJsZSByZXNvbHV0aW9uIGluc3RlYWQgb2YgdGhlIG1heCByZXNvbHV0aW9uLgoKMjAxMS0wNy0xMCAyMTo1MDoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cDogcG9ydCByZW1haW5pbmcgdG8gMC4xMQoKMjAxMS0wNy0xMCAxNDo1NjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMzo0NDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bTogcG9ydCBzb21lIG1vcmUKCSAgVXNlIHZpZGVvIGhlbHBlcnMuCgoyMDExLTA3LTEwIDEzOjI4OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTI6NDY6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydDogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDExOjQyOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0xMCAxMTo0MDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVnOiBwb3J0IHRvIDAuMTEsIGRpc2FibGUgb3RoZXJzCgkgIERpYXNhYmxlIHRoZSBlZmVuY2UgYW5kIGNhcHNkZWJ1ZyBlbGVtZW50cywgcG9ydCB0aGVtIGxhdGVyLgoKMjAxMS0wNy0wOSAxOToyMzo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGVzcmM6IEltcHJvdmUgbG9vcGluZwoJICBBZGQgc3RhcnQtaW5kZXggYW5kIHN0b3AtaW5kZXggcHJvcGVydGllcy4KCjIwMTEtMDYtMTYgMTM6NTc6MDMgKzAxMDAgIEpvbm55IExhbWIgPGpvbm55bGFtYkBqb25ueWxhbWIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlOiBhZGQgbG9vcCBwcm9wZXJ0eSB0byBtdWx0aWZpbGVzcmMKCSAgRml4ZXM6ICM2NTI3MjcKCSAgU2lnbmVkLW9mZi1ieTogSm9ubnkgTGFtYiA8am9ubnlsYW1iQGpvbm55bGFtYi5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0xMS0yMCAxMDowNzo0MyArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiAxNi1iaXQgYXVkaW8gaXMgc2lnbmVkLCA4LWJpdCBpcyB1bnNpZ25lZC4KCSAgUHJldGVuZGluZyB0byBoYW5kbGUgOC1iaXQgc2lnbmVkIGNhdXNlcyBkaXN0b3J0ZWQgYXVkaW8gd2hlbgoJICBhY3R1YWxseSBnaXZlbiBzdWNoIGF1ZGlvLCB3aGljaCB5b3Ugd2lsbCBnZXQgaWYgcGFzc2luZyA4LWJpdAoJICB1bnNpZ25lZCB0aHJvdWdoIGF1ZGlvY29udmVydCAhIGF1ZGlvcmVzYW1wbGUsIGFzIGF1ZGlvcmVzYW1wbGUKCSAgb25seSBoYW5kbGVzIDgtYml0IHNpZ25lZC4gIEZpeGVzICM2MDU4MzQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wOCAxNjozNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogZml4IGdyYXkgZm9ybWF0LCB1c2UgZmlsdGVyIGluIGdldGNhcHMKCjIwMTEtMDctMDggMTY6MTA6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBwb3J0IGFuZCBlbmFibGUgdjRsMnNpbmsKCjIwMTEtMDctMDggMTQ6MzQ6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogcG9ydCB0byBuZXcgdmlkZW8gZm9ybWF0cwoKMjAxMS0wNy0wOCAxMjo1MToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMDggMTI6NDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcG9ydCB0byAwLjExCgoyMDExLTA3LTA3IDE4OjI3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIGJsb2NrcyB3aXRoIGR1cmF0aW9uPTAKCSAgU29tZSB2aWRlbyBmcmFtZXMsIGZvciBleGFtcGxlIGFsdC1yZWYgZnJhbWUgaW4gVlA4LCB3aWxsIGJlCgkgIG5ldmVyIGRpc3BsYXllZC4gVGhpcyBpcyB3aHkgaXQgaGFzIGR1cmF0aW9uPTAuCgkgIFRoaXMgcGF0Y2ggYWxsb3cgdG8gdXNlIHRoaXMgZHVyYXRpb24uCgkgIEJ1ZzogNjU0MTc1CgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDctMDYgMTc6MTg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgZGlyZWN0IGRpcmFjIG1hcHBpbmcKCjIwMTEtMDctMDcgMTc6NTk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkgIGVmZmVjdHY6IHBvcnQgbGFzdCBlZmZlY3R2IGVsZW1lbnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzo0OTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJICBlZmZlY3R2OiBwb3J0IHN0cmVha3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6NDA6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogcG9ydCByYWRpb2FjdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzoyOTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IGZpeCBkb2NzCgoyMDExLTA3LTA3IDE3OjI5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0djogcG9ydCBvcCB0byAwLjExCgoyMDExLTA3LTA3IDE3OjE4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIGVmZmVjdHY6IHBvcnQgcXVhcmsgdHYKCjIwMTEtMDctMDcgMTY6NTc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkgIGVmZmVjdHY6IHBvcnQgcmV2dHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNjo0Njo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJICBlZmZlY3R2OiBwb3J0IHZlcnRpZ290diB0byAwLjExCgoyMDExLTA3LTA3IDE2OjM4OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkgIGVmZmVjdHY6IHBvcnQgc2hhZ2FkZWxpY3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTE6MjI6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiB1c2UgQUxXQVlTIHNyYyBwYWQgcmF0aGVyIHRoYW4gU09NRVRJTUVTCgoyMDExLTA3LTA3IDExOjE0OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE5OjAzOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBiZWdpbm5pbmdzIG9mIHBvcnRpbmcKCjIwMTEtMDctMDYgMTg6NTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycHR2OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTg6NTA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2U6IGtlZXAgdHJhY2sgb2YgaW5mbwoKMjAxMS0wNy0wNiAxODozMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJICBlZmZlY3R2OiBwb3J0IGRpY2UKCjIwMTEtMDctMDYgMTg6MDk6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJICBlZmZlY3R2OiBwb3J0IGFnaW5ndHYKCjIwMTEtMDctMDYgMTc6NTA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICBhYXNpbms6IHBvcnQgdG8gbmV3IHZpZGVvIEFQSQoKMjAxMS0wNy0wNiAxNzo0MDoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBjYWNhc2luazogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE2OjUwOjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiBiZWdpbm5pbmdzIG9mIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjozMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVzZSBBTFdBWVMgc291cmNlIHBhZCByYXRoZXIgdGhhbiBTT01FVElNRVMKCjIwMTEtMDctMDYgMTY6MTA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE2OjEwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDEyOjIyOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGp1c3QgdG8gdW5zaWduZWQgc2VnbWVudCBmaWVsZHMKCjIwMTEtMDctMDYgMTU6NTc6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBwb3J0IHNwZWV4IGVsZW1lbnRzCgoyMDExLTA3LTA2IDEyOjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0wNiAxMDoxMTo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyIGFuZCBjb3JyZXNwb25kaW5nIHJ0cCBhbmQgcnRjcCBidWZmZXIgaW50ZXJmYWNlcwoJICAqIG1pc2MgY2FwcyBhbmQgc2VnbWVudCBoYW5kbGluZyBjaGFuZ2VzCgkgIEZJWE1FOiBhbHNvIHJlbGllcyBvbiBiZWluZyBhYmxlIHRvIHBhc3MgY2FwcyBhbG9uZyB3aXRoIGEgYnVmZmVyLAoJICB3aGljaCBoYXMgbm8gZXZpZGVudCBlcXVpdmFsZW50IHlldCwgc28gdGhhdCBlaXRoZXIgbmVlZHMgb25lLAoJICBvciBzdGlsbCBuZWVkcyBxdWl0ZSBzb21lIGNvZGUgcGF0aCBtb2RpZmljYXRpb24gdG8gZHJhZyBhbG9uZyBjYXBzLgoKMjAxMS0wNi0yOSAyMDo1OToyNiArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHByZXZlbnQgcmFjZSBjb25kaXRpb24gY2F1c2luZyByZWYgbGVhawoJICBTaW5jZSBjb21taXQgOGJmZDgwLCBnc3RfcHVsc2VyaW5nYnVmZmVyX3N0b3AgZG9lc24ndCB3YWl0IGZvciB0aGUKCSAgZGVmZXJyZWQgY2FsbCB0byBiZSBydW4gYmVmb3JlIHJldHVybmluZy4gVGhpcyBjYXVzZXMgYSByYWNlIHdoZW4KCSAgUkVBRFktPk5VTEwgaXMgZXhlY3V0ZWQgc2hvcnRseSBhZnRlciwgd2hpY2ggc3RvcHMgdGhlIG1haW5sb29wLiBUaGlzCgkgIGxlYWtzIHRoZSBlbGVtZW50IHJlZmVyZW5jZSB3aGljaCBpcyBwYXNzZWQgYXMgdXNlcmRhdGEgZm9yIHRoZSBjYWxsYmFjawoJICAoaW50cm9kdWNlZCBpbiBjb21taXQgN2NmOTk2LCBidWcgIzYxNDc2NSkuCgkgIFRoZSBjb3JyZWN0IGZpeCBpcyB0byB3YWl0IGluIFJFQURZLT5OVUxMIGZvciBhbGwgb3V0c3RhbmRpbmcgY2FsbHMgdG8KCSAgYmUgZmlyZWQgKHNpbmNlIGxpYnB1bHNlIGRvZXNuJ3QgcHJvdmlkZSBhIERlc3Ryb3lOb3RpZnkgZm9yIHRoZQoJICB1c2VyZGF0YSkuIFdlIGdldCByaWQgb2YgdGhlIHJlZmVyZW5jZSBwYXNzaW5nIGZyb20gN2NmOTk2IGFsdG9nZXRoZXIsCgkgIHNpbmNlIGZpbmFsaXphdGlvbiBmcm9tIHRoZSBjYWxsYmFjayB3b3VsZCBhbnl3YXlzIGxlYWQgdG8gYSBkZWFkbG9jay4KCSAgUmUtZml4ZXMgYnVnICM2MTQ3NjUuCgoyMDExLTA3LTA0IDA4OjU4OjE0ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNtYWxsIGNsZWFudXAgb2YgY29weS1wYXN0ZSBjb2RlCgoyMDExLTA2LTI5IDE5OjUwOjQyICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmVtb3ZlIHVudXNlZCBtZW1iZXIgdmFyaWFibGUgYW5kIG1pc2xlYWRpbmcgbG9nIG1lc3NhZ2UKCSAgV2ltIGNoYW5nZWQgaXQgaW4gY29tbWl0IDhiZmQ4MCBzbyB0aGF0IHBhX2RlZmVyX3JhbiBpcyBub3QgcmVhZAoJICBhbnl3aGVyZS4KCSAgVGhlIGxvZyBtZXNzYWdlIHVzZWQgdG8gYW5ub3RhdGUgYSBtYWlubG9vcF93YWl0IGNhbGwgd2hpY2ggaXMgZ29uZS4KCjIwMTEtMDctMDUgMTU6Mzc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZml4IGNhcHMKCjIwMTEtMDctMDUgMTE6NDA6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSAgZWZmZWN0djogcG9ydCBlZGdldHYKCjIwMTEtMDctMDUgMTA6MTI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSB0byB0aGUgY29tcGlsZXIgZmxhZ3MgdG8gYXZvaWQgd2FybmluZ3MKCjIwMTEtMDctMDQgMTI6NTg6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBEb24ndCBhbnN3ZXIgbGFudGVuY3kgcXVlcmllcyBiZWZvcmUgbmVnb3RpYXRpb24KCjIwMTEtMDctMDQgMTg6MTU6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDctMDQgMTg6MTI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVtb3ZlIGltcGxlbWVudHNpbnRlcmZhY2UKCjIwMTEtMDctMDQgMTg6MTA6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGZpeCBjYXBzCgoyMDExLTA3LTA0IDE4OjA2OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhOiBwb3J0IHRvIG5ldyB2aWRlbyBBUEkKCjIwMTEtMDctMDQgMTc6MDA6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IG1vcmUgcG9ydGluZwoKMjAxMS0wNy0wNCAxNjowOTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgcG9ydCB0byBuZXcgdmlkZW8gYXBpCgoyMDExLTA2LTI4IDE0OjAzOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyB2aWRlbyBhcGlzCgoyMDExLTA3LTA0IDE0OjMwOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgY3Jhc2hpbmcgb24gaW52YWxpZCBpbnB1dCB3aXRob3V0IGNvbXBvbmVudHMKCjIwMTEtMDctMDQgMTE6MDk6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pc2Mgc2VnbWVudCBhbmQgY2FwcyBjaGFuZ2VzCgoyMDExLTA3LTA0IDExOjQ4OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCjIwMTEtMDctMDQgMTE6MjU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwYXNzIGFsb25nIHNlZ21lbnQgaW5mbyB0byBjb2xsZWN0cGFkcwoJICAuLi4gc28gaXQgY2FuIHRyYWNrIHRoaXMgYW5kIGJlIHN1YnNlcXVlbnRseSB1c2VkIHRvIGRldGVybWluZSBydW5uaW5nIHRpbWUgZXRjLgoKMjAxMS0wNy0wNCAxMToyNDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBpbmRpY2F0ZSByYXcgZm9ybWF0IGluIGFhYyBjYXBzCgoyMDExLTA3LTA0IDExOjA3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1pbmQgcmVxdWVzdGVkIG5hbWUgZm9yIHJlcXVlc3QgcGFkCgoyMDExLTA3LTA0IDExOjA2OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZyZWUgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0wNy0wMyAxOTo1MTozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlOiBJbmNyZWFzZSByYW5rcyB0byBQUklNQVJZICsgMTAKCSAgU28gdGhhdCBwdWxzZXNyYy9wdWxzZXNpbmsgZ2V0IGNob3NlbiBvdmVyIG90aGVyIHBvc3NpYmxlIFBSSU1BUlkKCSAgc3JjL3NpbmtzIGJ5IGF1dG9hdWRpb3NpbmsuICBQcmVzdW1hYmx5LCBpZiBwdWxzZSBpcyBhdmFpbGFibGUsIGl0CgkgIGlzIGFsd2F5cyBwcmVmZXJyZWQgb3ZlciBhbm90aGVyIHNyYy9zaW5rLgoJICBGaXhlczogIzY0NzU0MC4KCjIwMTEtMDYtMzAgMTg6NDc6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0bXV4OiBBZGQgXHJcbiB0byB0YWlsIG9mIHB1c2hlZCBidWZmZXJzCgkgIENsaWVudHMgc3VjaCBhcyBGaXJlZm94IHJlcXVpcmUgdGhlIFxyXG4gYWZ0ZXIgdGhlIHBheWxvYWQuCgoyMDExLTA2LTE2IDE0OjUyOjUxICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgbG9vcGluZyB3aGVuIHNlYXJjaGluZyBmb3IgY2x1c3RlcnMKCSAgRml4ZXMgc29tZSBidWdzIHRoYXQgcmVzdWx0cyBpbiB0aGUgZGVtdXhlciBsb29waW5nIHdoZW4gc2VhY2hpbmcKCSAgZm9yIGNsdXN0ZXJzIGluIG5vbi1maW5hbGl6ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIxOTUKCjIwMTEtMDYtMzAgMTI6MzA6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZTogcG9ydCB0byAwLjEwCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pc2MgY2FwcyBoYW5kbGluZwoKMjAxMS0wNi0zMCAxMTozNToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaW5vciBtaXNjCgoyMDExLTA2LTMwIDExOjE3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJlcGxheWdhaW46IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6NTM6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMS0wNi0zMCAxMDo1MTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6Mzg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjMwOjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0xMCAxODo1NDo0OCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGZpeCByZWZlcmVuY2UgY291bnRpbmcgb2YgcGFyc2UtPnN0cmVhbWhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMjg2CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0yOSAxNDozOTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IERvbid0IHJvdW5kIHVwIHNpemUgb2YgZW5jb2RlZCBidWZmZXJzCgkgIEZvciBzb21lIHJlYXNvbiwgaW4gY29kZSBkYXRpbmcgdG8gMjAwMSwgZW5jb2RlZCBqcGVnIGJ1ZmZlcnMgd2VyZQoJICByb3VuZGVkIHVwIHRvIG11bHRpcGxlcyBvZiA0IGJ5dGVzLiAgV2l0aCB0aGUgYWRkZWQgYm9udXMgdGhhdCB0aGUKCSAgZXh0cmEgYnl0ZXMgYXJlIHVud3JpdHRlbiwgY2F1c2luZyB2YWxncmluZCBpc3N1ZXMuICBPb3BzLiAgSSBjYW4ndAoJICB0aGluayBvZiBhbnkgcmVhc29uIHdoeSBKUEVHIGJ1ZmZlcnMgbmVlZCB0byBiZSBtdWx0aXBsZXMgb2YgNCBieXRlcywKCSAgc28gSSByZW1vdmVkIHRoZSBwYWRkaW5nLiAgVGhlcmUgbWlnaHQgYmUgc29tZSBjb2RlIHNvbWV3aGVyZSB0aGF0CgkgIGRlcGVuZHMgb24gdGhpcyBiZWhhdmlvciwgc28gaWYgdGhpcyBuZWVkcyB0byBiZSByZXZlcnRlZCwgcGxlYXNlIGZpeAoJICB0aGUgdmFsZ3JpbmQgaXNzdWVzLgoKMjAxMS0wNi0yOSAxMjo0NjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIGlzb21wNDogcG9ydCB0byAwLjExCgoyMDExLTA2LTI4IDEyOjU1OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIHNvbWUgcG9ydGVkIHNlZ21lbnQgaGFuZGxpbmcKCSAgLi4uIHRvIGF2b2lkIGxvc2luZyBkdXJhdGlvbiBkdXJpbmcgcHVzaCBtb2RlIHNlZWtpbmcsIGFuZCB0byBwcm9wZXJseQoJICBhY2N1bXVsYXRlIHJ1bm5pbmcgdGltZSB3aGVuIHNlZ21lbnQgc2Vla2luZy4KCjIwMTEtMDYtMjkgMTI6MDU6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZnJlZSBkYXRlIHRhZwoKMjAxMS0wNi0yOCAxMjoyNjozNyArMDIwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXMubGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBub3Qgc28gZ3JlZWR5IG1pbmltdW0gZnJhbWUgc2l6ZQoJICBGaXhlcyAjNjUzNTU5LgoKMjAxMS0wNi0yNSAxMTozOToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG5vbi1wa2ctY29uZmlnIGNoZWNrIGZvciBzaG91dAoJICBGaXhlczogNjUzMzI3CgoyMDExLTA2LTIwIDE4OjQ5OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0c3JjOiBtYWtlIHRoZSBpbnRlcm5hbCBjbG9jayB0aHJlYWQgc2FmZQoJICBGaXhlczogIzY1MzA5MS4KCjIwMTEtMDYtMjQgMTE6NTQ6MjkgKzAyMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmV0dXJuIGNvcnJlY3QgdHlwZSB3aGVuIGFzc2VydGlvbiBmYWlscwoKMjAxMS0wNi0yMyAxMToyODoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY5Yjk4MWYgdG8gNjA1Y2Q5YQoKMjAxMS0wNi0yMiAxNjo0MToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZml4IGZvciB1cmkgY2hhbmdlcwoKMjAxMS0wMi0wMiAxNjoxODo1NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogRHJvcCBzdXBwb3J0IGZvciBQQSB2ZXJzaW9ucyBiZWZvcmUgMC45LjE2CgkgIFRoaXMgZHJvcHMgc3VwcG9ydCBmb2YgUHVsc2VBdWRpbyB2ZXJzaW9ucyBwcmlvciB0byAwLjkuMTYsIHdoaWNoIHdhcwoJICByZWxlYXNlZCBhYm91dCAxLjUgeWVhcnMgYWdvLiBUZXN0aW5nIHdpdGggdmVyeSBvbGQgdmVyc2lvbnMgaXMgbm90CgkgIGZlYXNpYmxlIGFuZCB3ZSBkb24ndCB3YW50IHRvIG1haW50YWluIDIgaW5kZXBlbmRlbnQgY29kZS1wYXRocy4KCjIwMTEtMDYtMjEgMTg6MjQ6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCjIwMTEtMDYtMjEgMTg6MTk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGZvciBoZWFkZXIgY2xlYW51cHMKCjIwMTEtMDYtMjEgMTU6MTU6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBmaXggb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGluIGNhc2Ugb2YgbXVsdGlwbGUgZnJhbWVzCgoyMDExLTA2LTIwIDE2OjQ3OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUaGUgc2lnbmFsIGhhcyA1IGFyZ3VtZW50cywgbm90IDQKCjIwMTEtMDYtMjAgMTI6MTM6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBzdHJpbmcgZm9yIHZpZGVvIGZvcm1hdCBub3cKCjIwMTEtMDYtMjAgMTI6MDQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICBhdmk6IGxpbmsgYWdhaW5zdCBnc3R2aWRlbyBub3cKCjIwMTEtMDYtMjAgMTI6MDM6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmk6IHBvcnQgdG8gbmV3IGNhcHMKCjIwMTEtMDYtMTggMTM6NDM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgQnVtcCBnaXQgdmVyc2lvbiBhZnRlciB1bnBsYW5uZWQgMC4xMC4zMCByZWxlYXNlCgkgIE1lcmdlIGJyYW5jaCAnMC4xMC4zMCcKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wNi0xNyAxMDozNzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgc3VuYXVkaW86IGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMTEtMDYtMTcgMTg6MTI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTE3IDE4OjExOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogZml4IGNhcHMKCjIwMTEtMDYtMTYgMTU6Mzg6MTAgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuZGViZXRoZW5jb3VydEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggdW51c2VkLWJ1dC1zZXQtY29tcGlsZXIgd2FybmluZ3MKCSAgUmVtb3ZlIHVubmVjZXNzYXJ5IHJlcyB2YXJpYWJsZXMsIGNvcmUgY2hlY2tzIGV4aXN0YW5jZQoJICBhbmQgdHlwZSBvZiB0aGVzZSBmaWVsZHMgZm9yIHVzIGFscmVhZHkgdmlhIHRoZSB0ZW1wbGF0ZQoJICBjYXBzLCBhbmQgd2Uga25vdyB0aGF0IHRoZXNlIGZpZWxkcyBleGlzdCBiZWNhdXNlIHdlJ3ZlCgkgIGZpeGF0ZWQgdGhlbSBiZWZvcmUgaW4gX25lZ290aWF0ZSgpLgoKMjAxMS0wNi0xNyAwMzowNzowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IHBhcmFtIGZsYWdzCgkgIElmIHRoZSBwYXJhbWV0ZXIgY2Fubm90IGJlIGNoYW5nZWQgaW4gcGF1c2VkJnBsYXlpbmcsIGl0IGlzIG5vdCBjb250cm9sYWJsZS4gU2V0CgkgIHRoZSBhcHByb3ByaWF0ZSBtdXRhYmlsaXR5IGZsYWcgaW5zdGVhZC4KCj09PSByZWxlYXNlIDAuMTAuMzAgPT09CgoyMDExLTA2LTE1IDIzOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4zMAoJICBUaGlzIGlzIGFuIGFkLWhvYyByZWxlYXNlIHRoYXQgaXMgYWxtb3N0IGlkZW50aWNhbCB0byAwLjEwLjI5OgoJICAqIHdvcmsgYXJvdW5kIEdMaWIgYXRvbWljIG9wcyBBUEkgY2hhbmdlCgkgICogYmV0dGVyIGhhbmRsaW5nIG9mIG1hbGZvcm1lZCBidWZmZXJzIGluIFJUUCBkZXBheWxvZGVycwoJICAqIHNvbWUgbWlub3IgY29tcGlsYXRpb24gZml4ZXMKCjIwMTEtMDYtMDggMTg6MzM6MTAgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3LXc2NAoJICBGaXhlczogIzY1MjE0NC4KCSAgZ3N0dWRwbmV0dXRpbHMuaDozMjowOiBlcnJvcjogIldJTlZFUiIgcmVkZWZpbmVkCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoKMjAxMS0wNi0wNCAxMzo0OTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNS0xOCAxMjozNjo0MCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IHByb2Nlc3NpbmcgcGF5bG9hZCBidWZmZXJzCgkgIFRoaXMgY29tbWl0IGNoZWNrcyBpZiB0aGUgdmFsdWUgcmV0dXJuZWQgYnkKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfYnVmZmVyIGFuZAoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9zdWJidWZmZXIgaXMgTlVMTCBiZWZvcmUgdXNpbmcgaXQuCgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA0LTI5IDA4OjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQWxsb3cgc2V0Y2FwcyB0byBiZSBjYWxsZWQgYWZ0ZXIgYSBmb3JtYXQgd2FzIG5lZ290aWF0ZWQgaWYgaXQncyBjb21wYXRpYmxlCgkgIE90aGVyd2lzZSB3YXZlbmMgd2lsbCBmYWlsIGlmIHVwc3RyZWFtIGRlY2lkZXMgdG8gc2V0IGVxdWl2YWxlbnQgY2FwcyBvciBjYXBzCgkgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsYXRlci4KCSAgVGhhbmtzIHRvIEFsZXhhbmRlciBTY2hyZW1tZXIgZm9yIGZpbmRpbmcgdGhpcyBidWcuCgoyMDExLTA2LTE1IDE1OjA2OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmg6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZXNkL2VzZHNpbmsuaDoKCSogZXh0L2VzZC9nc3Rlc2QuYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvYXMtYXJ0cy5tNDoKCSogbTQvZXNkLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgUmVtb3ZlIGVzb3VuZC9lc2RzaW5rIHBsdWdpbgoKMjAxMS0wNi0xNSAxNDozNzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuYzoKCSogZXh0L2djb25mL2dzdGdjb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSogZ2NvbmYvLmdpdGlnbm9yZToKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nY29uZi0yLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBnY29uZiBlbGVtZW50cyBhbmQgcGx1Z2luCgkgIEdDb25mIHdhcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBHU2V0dGluZ3MgZXRjLgoKMjAxMS0wNi0xNSAxNToxNzoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHVuaXRpYWxpemVkIGFjY2VzcwoKMjAxMS0wNi0wOSAyMTowNjoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBhZGQgbWlzc2luZyBzdGRpbyBpbmNsdWRlIGZvciBzc2NhbmYKCjIwMTEtMDYtMTMgMTk6MDg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTEzIDE3OjUxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIC1nb29kOiBwb3J0IHNvbWUgbW9yZSBwbHVnaW5zCgoyMDExLTA2LTEzIDE3OjE0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBmaXggZm9yIGZsdXNoX3N0b3AgQVBJIGNoYW5nZQoKMjAxMS0wNi0xMyAxNzoxNDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgKGRlKXBheWxvYWRlcgoKMjAxMS0wNi0xMyAxNzowNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBub3Qgc28gZ3JlZWR5IG1pbmltdW0gZnJhbWUgc2l6ZQoJICAuLi4gd2hpY2ggd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IHBhcnNpbmcgYW55d2F5LCBhbmQgYXZvaWRzIGludHJvZHVjaW5nCgkgIHJlZHVuZGFudCBhZGRpdGlvbmFsIGxhdGVuY3kuCgoyMDExLTA2LTEzIDE2OjMzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIC1nb29kOiB1cGRhdGUgZm9yIGJ1ZmZlciBBUEkgY2hhbmdlCgoyMDExLTA2LTEzIDE2OjMzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0xMyAxMzoyNTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHA6IGZpeCBmb3IgQVBJIGNoYW5nZXMgaW4gdGhlIGJhc2UgY2xhc3NlcwoKMjAxMS0wNi0xMyAxMzowNzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIGNhcHMgZXZlbnQgZm9yIG5lZ290aWF0aW9uCgoyMDExLTA2LTEzIDEzOjA3OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGZvciBmbHVzaCBzdG9wIGV2ZW50IGNoYW5nZXMKCjIwMTEtMDYtMDggMTg6MzM6MTAgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3LXc2NAoJICBGaXhlczogIzY1MjE0NC4KCSAgZ3N0dWRwbmV0dXRpbHMuaDozMjowOiBlcnJvcjogIldJTlZFUiIgcmVkZWZpbmVkCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoKMjAxMS0wNi0xMSAxODo1ODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGZvciBidWZmZXJwb29sIHVwZGF0ZQoKMjAxMS0wNi0xMCAxODowNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogdXBkYXRlIGZvciBhbGlnbm1lbnQgY2hhbmdlCgoyMDExLTA2LTA5IDE3OjU2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcG9ydCBzb21lIG1vcmUKCjIwMTEtMDYtMDkgMTc6NTI6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3A6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0wOSAxNzo1MDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogcG9ydCB0byAwLjExCgoyMDExLTA2LTA5IDExOjM3OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IHJlZ2lzdGVyIHRlbXBsYXRlIGFuZCBrbGFzcyBjb3JyZWN0bHkKCjIwMTEtMDYtMDkgMTA6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcG9ydCBnb29tCgoyMDExLTA2LTA4IDE4OjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0wOCAxODowNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYXNzaW5rOiBwb3J0IGFhc2luayB0byAwLjExCgoyMDExLTA2LTA3IDEyOjA2OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSAgZGVidWd1dGlsczogU3dpdGNoIGZyb20gR1NUX0JPSUxFUlBMQVRFIHRvIEdfREVGSU5FX1RZUEUKCjIwMTEtMDYtMDcgMTE6MjU6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogVXNlIG5ldyBHc3RCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm1fY2FwcyBBUEkKCjIwMTEtMDYtMDcgMTE6MjM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFCgoyMDExLTA2LTA3IDExOjIyOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBCdWZmZXJzIG5vIGxvbmdlciBoYXZlIGNhcHMKCjIwMTEtMDYtMDcgMTE6MjA6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhOiBVc2UgbmV3IHRyYW5zZm9ybV9jYXBzIHZtZXRob2QgKHdpdGggZmlsdGVyKQoKMjAxMS0wNi0wNiAyMDo0MzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZml4IHNvbWUgbW9yZSBwYXJzZXJzCgoyMDExLTA2LTA2IDE4OjIxOjA0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2NoYXB0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTQ6NDc6MjcgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9hdHRhY2htZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDEyOjQzOjE0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2F0dGFjaGVkX2ZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAyMjo0NTo1NSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAxMDoxNToyMyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMDk6NTQ6NDIgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGFfaWRfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMDI6MjQ6NDEgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDEyOjQyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQgc3RhdGUgdHJhY2tpbmcgdmFyaWFibGUgd2hlbiBhcHByb3ByaWF0ZQoJICAuLi4gc28gd2UgZG9uJ3QgZW5kIHVwIGludGVycnVwdGluZyBhbiBvcGVyYXRpb24gdGhhdCBzaG91bGQgbm90IGJlIGludGVycnVwdGVkCgkgIGJhc2VkIG9uIHRoZSBpbmRpY2F0aW9uIG9mIGEgcHJldmlvdXMgaW50ZXJydXB0YWJsZSBvcGVyYXRpb24uCgoyMDExLTA2LTA0IDEzOjQ5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA2LTA0IDEzOjQzOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSAgc291cGh0dHBzaW5rOiBjb2RlIGNsZWFudXAKCjIwMTEtMDYtMDUgMDI6MDA6MDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBVc2UgQVJUSVNUIHRhZyBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCSAgQVVUSE9SIG9ubHkgZXhpc3RlZCBpbiBhbiBvbGQgdmVyc2lvbiBvZiB0aGUgc3BlYyBhbmQgQVJUSVNUIGlzCgkgIHRoZSBuZXcgcmVwbGFjZW1lbnQgZm9yIHRoaXMuIFdlIGFyZSBzdGlsbCByZWFkaW5nIGJvdGggdG8gc3RpbGwKCSAgYmUgY29tcGF0aWJsZSB3aXRoIG9sZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM2NDQ4NzUuCgoyMDExLTA2LTAyIDE4OjUxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jCgoyMDExLTA2LTAyIDE4OjQ3OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiBwb3J0IEFWSSBlbGVtZW50cyB0byBuZXcgQVBJCgoyMDExLTA2LTAyIDEzOjM4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpcnN0IHF1ZXJ5IHRoZSBwZWVyIGR1cmF0aW9uIGluIHRoZSByZXF1ZXN0ZWQgZm9ybWF0IGJlZm9yZSBjb252ZXJ0aW5nIHRvIEJZVEVTCgkgIEZpeGVzIHVzYWdlIG9mIGR2ZGVtdXggYWZ0ZXIgYW5vdGhlciBkZW11eGVyLCBlLmcuIG14ZmRlbXV4LgoJICBGaXhlcyBidWcgIzY1MDUwMy4KCjIwMTEtMDYtMDIgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkgIHNvdXBodHRwc2luazogRml4IHJlZmNvdW50aW5nIG9mIHRoZSAic2Vzc2lvbiIgcHJvcGVydHkKCSAgUHJvcGVydGllcyBzaG91bGQgbmV2ZXIgdGFrZSBvd25lcnNoaXAgb2YgdGhlIHZhbHVlcwoJICBwYXNzZWQgdG8gdGhlbS4KCjIwMTEtMDYtMDEgMTc6MDQ6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRm9yIHN0cmVhbWluZyBmaWxlcywgcHVzaCB0YWdzIGZpcnN0CgoyMDExLTA1LTI0IDE0OjUyOjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogQWRkIHNvdXBodHRwc2luawoKMjAxMS0wNi0wMSAxMDoxOTozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWxsb3cgc2tpcC1maXJzdC1ieXRlcyBvZiBmdWxsIGJ1ZmZlciBzaXplCgoyMDExLTA1LTMwIDE4OjMxOjUwICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9oZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0zMCAxMjowOTozMSArMDIwMCAgQW50b25pbyBGcmVkaWFuaSA8YW50b25pby5mcmVkaWFuaUBpbndpbmQuaXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgR1NUX1RBR19JTUFHRSBmb3IgY292ZXJhcnQgdG9vCgkgIEZpeGVzIGJ1ZyAjNjM4MTA3LgoKMjAxMS0wNS0zMCAxMDo0MDowOCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZ2V0X3NlZWtfdHJhY2sKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZXNldF9zdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjggMjI6MDQ6MzQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2F7ZGVtdXgscGFyc2V9X2ZvdW5kX2dsb2JhbF90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yOCAxMDo1OTowOSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX2luZGV4X3NlZWtfZmluZAoJICAtIGdzdF9tYXRyb3NrYXtkZW11eCxwYXJzZX1fZG9faW5kZXhfc2VlawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDIzOjE1OjIzICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3RyYWNrbnVtYmVyX3VuaXF1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDIwOjI4OjE5ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2RlY29kZV9kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMTk6MzA6NDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZ2V0X2xlbmd0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDA5OjE3OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogUmV2ZXJ0IDFhOTBhNmM0IGFuZCBkcm9wIERpcmFjIHN1cHBvcnQgYWdhaW4KCSAgSXQgZG9lcyBub3Qgd29yayBhdCBhbGwgKEEvViBzeW5jIGlzc3VlcyksIGlzIG5vdCB2ZXJ5IHVzZWZ1bCwKCSAgb3RoZXIgY29udGFpbmVycyB3b3JrIG11Y2ggYmV0dGVyIHdpdGggRGlyYWMgYW5kIERpcmFjIGluIEFWSQoJICBpcyBub3Qgc3VwcG9ydGVkIGJ5IG90aGVyIHNvZnR3YXJlLgoJICBGaXhlcyBidWcgIzU0MTIxNS4KCjIwMTEtMDUtMjYgMjM6MzU6NTIgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2VuY29kaW5nX2NtcAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3JlYWRfdHJhY2tfZW5jb2RpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfaWRfbGVuZ3RoX3B1bGwKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2lkX2xlbmd0aF9wdXNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2FkYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNiAxMjo0ODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeHZpbWFnZXNpbms6IEZhbGxiYWNrIHRvIG5vbi1YU2htIG1vZGUgaWYgYWxsb2NhdGluZyB0aGUgWFNobSBpbWFnZSBmYWlsZWQKCSAgRml4ZXMgYnVnICM2MzA0NTYuCgoyMDExLTA1LTI2IDEyOjIyOjUyICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IERlcHJlY2F0ZWQgc2VuZC1jb25maWcgcHJvcGVydHkgYW5kIHJlcGxhY2UgYnkgY29uZmlnLWludGVydmFsCgkgIEZpeGVzIGJ1ZyAjNjIyNDEyLgoKMjAxMC0wNi0yMyAxMToxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBVVEYtOCBzdWJ0aXRsZXMgbWF5IGhhdmUgbWFya3VwCgkgIEZpeGVzICM2MTY5MzYuCgoyMDExLTAxLTIzIDE1OjU2OjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogZm9yd2FyZCBuZXcgc2VnbWVudCBldmVudHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE5vdCBkb2luZyBzbyB3aWxsIGNhdXNlIGJ1ZmZlcnMgdG8gYmUgcmVjZWl2ZWQgYnkgZG93bnN0cmVhbSB3aXRob3V0CgkgIGEgdGltZSBiYXNlIHNldC4KCSAgV2UgdXNlIHRoZSBzYW1lIG1ldGhvZCBhdmltdXggdXNlcyB0byBnZXQgYWNjZXNzIHRvIHRoZSBldmVudCB3aGVuCgkgIGNvbGxlY3RwYWRzIGdvdCB0aGUgc2luayBldmVudCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDMyMwoKMjAxMS0wMS0yNCAxMToxMTo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IGZvcndhcmQgc291cmNlIGV2ZW50cyB0byBzaW5rcwoJICBFdmVudHMgYXJlIHBhc3NlZCB0byB0aGUgdmlkZW8gc2luaywgYW5kIHRvIHRoZSB0ZXh0IHNpbmsgaWYgaXQgaXMKCSAgbGlua2VkLgoJICBUaGlzIHdpbGwgYWxsb3cgc2Vla2luZywgZm9yIGluc3RhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg2NDUwCgoyMDExLTA1LTI1IDIxOjEyOjEyICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogQWRkIHByb3BlcnR5IHRvIGFzc3VtZSBhIHNpbmdsZSBzdHJlYW0gYW5kIGVtaXQgbm8tbW9yZS1wYWRzCgkgIEZpeGVzIGJ1ZyAjNjE2Njg2LgoKMjAxMS0wNS0yNSAxNDo1MDoyNiArMDIwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVuaWZvcm0gdW5rbm93biBtZXNzYWdlIGhhbmRsaW5nCgkgIERvIHRoZSBzYW1lIHByb2Nlc3NpbmcgaW4gYWxsIHRoZSBjYXNlcyB3aGVuIGFuIHVua25vd24gbWVzc2FnZSBpcyByZWNlaXZlZC4KCSAgVGhhdCBpcywgZ2l2ZSBhIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEwNTkKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19wdWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2J5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2VuY29kaW5nX29yZGVyX3VuaXF1ZQoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3JlYWRfdHJhY2tfZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNCAxODoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wNS0yNCAxNzozNDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jCgkgIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jCgoyMDExLTA1LTI0IDEzOjEyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgIHBjbXVkZXBheTogYWxsb3cgdmFyaWFibGUgc2FtcGxlIHJhdGUKCjIwMTEtMDUtMjQgMTM6MTE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgcGNtYWRlcGF5OiBhbGxvdyB2YXJpYWJsZSBzYW1wbGUgcmF0ZQoKMjAxMC0wNC0wNCAwNjo0Mzo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eQoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEd1ZW5uYWRpIExpYWtob3ZldHNraS4KCSAgdjI6IHVwZGF0ZXMgYmVjYXVzZSBJIGZvcmdvdCB0byBhZGQgR3N0VHVuZXIgaW50ZXJmYWNlIHRvIHY0bDJzaW5rCgkgIHYzOiB1cGRhdGUgdG8gYWRkIGFsbCBwb3NzaWJsZSB2YWx1ZXMgdG8gbm9ybSBlbnVtCgoyMDExLTA1LTIzIDIwOjQ2OjA0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBmaXhlZCBjb3B5cmlnaHQgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2FfZGVjb2RlX2NvbnRlbnRfZW5jb2RpbmdzCgkgIC0gZ3N0X21hdHJvc2thX2RlY29tcHJlc3NfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjQ4OjU3ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBtb3ZlIEdzdE1hdHJvc2the0RlbXV4LFBhcnNlfTo6c3RhdGUgdG8gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjQgMDk6NDg6NTYgKzAyMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzLmxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBidWZmZXIgbGVhayB3aXRoIGNvcnJ1cHRlZCBmaWxlcwoJICBGaXhlcyBidWcgIzY1MDkxMi4KCjIwMTEtMDUtMjMgMDI6NDY6MzggLTA3MDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggcGFyYW1ldGVyIHR5cGUgaW4gdHJhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkzNwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBSZXBsYWNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHdpdGggdGhlaXIgZ3N0X21hdHJvc2thX3JlYWRfY29tbW9uXyoKCSAgY291bnRlcnBhcnRzOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2luZGV4CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2Vfc2tpcAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3N0cmVhbV9mcm9tX251bQoJICBJbnRyb2R1Y2UgR3N0TWF0cm9za2FSZWFkQ29tbW9uIHRvIGNvbnRhaW4gdGhvc2UgbWVtYmVycyBvZgoJICBHc3RNYXRyb3NrYURlbXV4IGFuZCBHc3RNYXRyb3NrYVBhcnNlIHRoYXQgd2VyZSB1c2VkIGJ5IHRoZSBhYm92ZQoJICBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTM6NTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0ZWxsIGJhc2VwYXJzZSB0aGUgZHVyYXRpb24gaW4gc2FtcGxlcyBmb3IgYmV0dGVyIGFjY3VyYWN5CgkgIFRlbGwgR3N0QmFzZVBhcnNlIHRoZSBkdXJhdGlvbiBpbiBzYW1wbGVzIGluc3RlYWQgb2YgdGltZSwgc28gdGhhdAoJICBhIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IHdpbGwgcmV0dXJuIHRoZSBjb3JyZWN0IG51bWJlcgoJICBvZiBzYW1wbGVzIHdpdGhvdXQgcm91bmRpbmcgZXJyb3JzLiBCYXNlcGFyc2Ugd2lsbCBjb252ZXJ0IHRoaXMKCSAgaW50byB0aW1lIGl0c2VsZiB3aGVuIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDc4NQoKMjAxMS0wNS0yMyAxMzoyNTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFsc28gdHJ5IHVwc3RyZWFtIGZpcnN0IGZvciBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNzg1CgoyMDExLTA1LTIzIDEzOjIzOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWFrZSBjb252ZXJzaW9uIGZyb20gVElNRSB0byBERUZBVUxUIGZvcm1hdCAoc2FtcGxlcykgd29yawoJICBGaXggY29weSduJ3Bhc3RlIGVycm9yIGluIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDExLTA1LTIzIDExOjM2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW1wbGVtZW50IGNvbnZlcnNpb25zIGJldHdlZW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQKCSAgRml4ZXMgYnVnICM2NTA3ODUuCgoyMDExLTA1LTIyIDE4OjUwOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG9uJ3QgZXJyb3Igb3V0IG9uIGludmFsaWQgbWluaW11bV9ibG9ja3NpemUgdmFsdWUgaW4gc3RyZWFtaW5mbyBoZWFkZXIKCSAgV2UgZG9uJ3QgdXNlIGl0LCBzbyBtYXkganVzdCBhcyB3ZWxsIGFjY2VwdCBhbiBpbnZhbGlkIHZhbHVlCgkgIG9mIDAgaGVyZSwgd2hpY2ggaXMgbGlrZWx5IGluY29uc2VxdWVudGlhbCBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA2OTEKCjIwMTEtMDUtMjAgMTA6MzQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBmaXggc3RhdGljIGFycmF5IG92ZXJydW5zIGluIGEgbmljZXIgd2F5CgkgIFVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyB0aGUgYXJyYXkgc2l6ZS4KCjIwMTEtMDUtMjAgMDA6NTM6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBmaXggc3RhdGljIGFycmF5IG92ZXJydW5zCgkgIFllcyBhcnJheVsxMF0gaGFzIGVsZW1lbnRzIGZyb20gMC4uLjkuCgoyMDExLTA1LTE5IDIzOjMxOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEKCSAgTm93IG1vcmUgZmlsZXMgYXJlIG1lcmdlZCBhbmQgcHJvZHVjZWQgaW4gYSBjYW5vbmljYWwgZmFzaGlvbiwgd2hpY2ggaG9wZWZ1bGx5CgkgIGNyZWF0ZXMgbGVzcyBvciBubyBkZWx0YSBpbiB0aGUgZnV0dXJlLgoKMjAxMS0wNS0xOSAyMjo1NzoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5ZTViYmQ1IHRvIDY5Yjk4MWYKCjIwMTEtMDUtMTkgMTg6MjE6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgbWlzc2luZyBicmVhawoKMjAxMC0xMS0wOCAxNDowNjoxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIGRlaW50ZXJsYWNpbmcgdXNpbmcgYnVmZmVyIGNhcHMvZmxhZ3MKCSAgV2hlbiBub3QgdXNpbmcgdGhlIGZpZWxkYW5hbHlzaXMgZWxlbWVudCBpbW1lZGlhdGVseSB1cHN0cmVhbSBvZiBkZWludGVybGFjZSwKCSAgYmVoYXZpb3VyIHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLiBmaWVsZGFuYWx5c2lzIHdpbGwgc2V0IHRoZSBjYXBzIGFuZCBmbGFncyBvbgoJICB0aGUgYnVmZmVycyBzdWNoIHRoYXQgdGhleSBjYW4gYmUgaW50ZXJwcmV0ZWQgYW5kIGFjdGVkIHVwb24gdG8gcHJvZHVjZQoJICBwcm9ncmVzc2l2ZSBvdXRwdXQuCgkgIFRoZXJlIGFyZSB0d28gbWFpbiBtb2RlcyBvZiBvcGVyYXRpb246CgkgIC0gUGFzc2l2ZSBwYXR0ZXJuIGxvY2tpbmcKCSAgUGFzc2l2ZSBwYXR0ZXJuIGxvY2tpbmcgaXMgYSBub24tYmxvY2tpbmcsIGxvdy1sYXRlbmN5IG1vZGUgb2Ygb3BlcmF0aW9uIHRoYXQKCSAgaXMgc3VpdGFibGUgZm9yIGNsb3NlLXRvLWxpdmUgdXNhZ2UuIEluaXRpYWxseSBhIHRlbGVjaW5lIHN0cmVhbSB3aWxsIGJlCgkgIG91dHB1dCBhcyB2YXJpYWJsZSBmcmFtZXJhdGUgd2l0aCBuYcOvdmUgdGltZXN0YW1wIGFkanVzdG1lbnQuIFdpdGggZWFjaAoJICBpbmNvbWluZyBidWZmZXIsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBsb2NrIG9udG8gYSBwYXR0ZXJuLiBXaGVuIGEgbG9jayBpcwoJICBvYnRhaW5lZCwgdGhlIHNyYyBwYWQgYW5kIG91dHB1dCBidWZmZXIgY2FwcyB3aWxsIHJlZmxlY3QgdGhlIHBhdHRlcm4gYW5kCgkgIHRpbWVzdGFtcHMgd2lsbCBiZSBhY2N1cmF0ZWx5IGludGVycG9sYXRlZCBiZXR3ZWVuIHBhdHRlcm4gcmVwZWF0cy4gVGhpcwoJICBtZWFucyB0aGF0IGluaXRpYWxseSBhbmQgYXQgcGF0dGVybiB0cmFuc2l0aW9ucyB0aGVyZSB3aWxsIGJlIHNob3J0IHBlcmlvZHMKCSAgb2YgaW5hY2N1cmF0ZSB0aW1lc3RhbXBpbmcuCgkgIC0gQWN0aXZlIHBhdHRlcm4gbG9ja2luZwoJICBBY3RpdmUgcGF0dGVybiBsb2NraW5nIGlzIGEgYmxvY2tpbmcsIGhpZ2gtbGF0ZW5jeSBtb2RlIG9mIG9wZXJhdGlvbiB0aGF0IGlzCgkgIHRhcmdldGVkIGF0IHVzZS1jYXNlcyB3aGVyZSB0aW1lc3RhbXAgYWNjdXJhY3kgaXMgcGFyYW1vdW50LiBCdWZmZXJzIHdpbGwgYmUKCSAgcXVldWVkIHVudGlsIGVub3VnaCBhcmUgcHJlc2VudCB0byBtYWtlIGEgbG9jay4gV2hlbiBsb2NrZWQsIHRpbWVzdGFtcHMgd2lsbAoJICBiZSBhY2N1cmF0ZWx5IGludGVycG9sYXRlZCBiZXR3ZWVuIHBhdHRlcm4gcmVwZWF0cy4gT3JwaGFuIGZpZWxkcyBjYW4gYmUKCSAgZHJvcHBlZCBvciBkZWludGVybGFjZWQuIElmIG5vIGxvY2sgY2FuIGJlIG9idGFpbmVkLCBhIHNpbmdsZSBmaWVsZCBtaWdodCBiZQoJICBwdXNoZWQgdGhyb3VnaCB0byBiZSBkZWludGVybGFjZWQuCgkgIExvY2tpbmcgY2FuIGFsc28gYmUgZGlzYWJsZWQgb3IgJ2F1dG8nIGNob29zZXMgYmV0d2VlbiBwYXNzaXZlIGFuZCBhY3RpdmUKCSAgbG9ja2luZyBtb2RlcyBkZXBlbmRpbmcgb24gd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlLgoKMjAxMS0wNS0xMCAxNjoyNTo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIGNvbmZpZyBzY3JpcHQgY2hlY2sgZm9yIGNhY2EKCjIwMTEtMDUtMTggMTI6MzY6NDAgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogRml4IHNlZ21lbnRhdGlvbiBmYXVsdCBwcm9jZXNzaW5nIHBheWxvYWQgYnVmZmVycwoJICBUaGlzIGNvbW1pdCBjaGVja3MgaWYgdGhlIHZhbHVlIHJldHVybmVkIGJ5CgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX2J1ZmZlciBhbmQKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfc3ViYnVmZmVyIGlzIE5VTEwgYmVmb3JlIHVzaW5nIGl0LgoKMjAxMS0wNS0xOCAxNDo0OToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiBQb3N0IENPREVDIGFuZCBCSVRSQVRFIHRhZ3MKCSAgQWxzbyBmaWx0ZXIgYW55IENPREVDL0FVRElPX0NPREVDIHRhZ3MgZnJvbSBpbmNvbWluZwoJICB0YWcgZXZlbnRzLgoJICBGaXhlcyBidWcgIzM5MTU0My4KCjIwMTEtMDUtMTggMTY6MTA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQzNTA3MyB0byA5ZTViYmQ1CgoyMDExLTA1LTE4IDEyOjUyOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGVuc3VyZSAwLXBhZGRpbmcgd2hlbiBjb3JyZWN0aW5nIGR1YmlvdXMgbGlzdCBzaXplCgoyMDExLTA1LTE4IDEyOjI0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2ZGZjZWEgdG8gZmQzNTA3MwoKMjAxMS0wNS0xOCAxMDoyMjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgRUlOVkFMIGZvciBtaXNzaW5nIHVybCBwYXJhbWV0ZXIKCSAgRml4ZXMgZ2NjIHdhcm5pbmcgYWJvdXQgdXNpbmcgdW5pbml0aWFsaXplZCB2YXJpYWJsZSAncmVzJy4KCjIwMTEtMDQtMjggMTU6Mzc6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIHZhcmlvdXM6IGZpeCBhdXRob3IgdGFnIGluIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wNC0yMCAxNToyNTo1OCAtMDQwMCAgQ2hyaXMgRSBKb25lcyA8Y2hyaXNAY2hyaXNlam9uZXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBpbXBsZW1lbnQgc2Vla2luZwoJICBJbXBsZW1lbnQgc2Vla2luZyBhbmQgc2Vla2luZyBxdWVyeS4gRml4ZXMgIzY0NDUxMgoKMjAxMS0wNS0xNyAxNjoxMzo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDQtMDYgMTY6MDU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIGFsbG93IFBBVVNFIHRvIGJlIGludGVycnVwdGVkCgkgIC4uLiBhcyBpdCBpcyBvbiB0aGUgd2F5IG91dCB0byBOVUxMLgoJICBTZWUgIzYzMjUwNC4KCjIwMTEtMDQtMDYgMTU6NTE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBlbnN1cmUgcHJvcGVyIGNsb3NpbmcgYW5kIGNsZWFudXAKCSAgLi4uIHNpbmNlIHRoZSBURUFSRE9XTiBzZXF1ZW5jZSBtaWdodCBub3QgaGF2ZSBoYWQgYSBjaGFuY2UgdG8gZXZlbiBzdGFydCwKCSAgYnV0IGF0IGxlYXN0IGNvbm5lY3Rpb25zIHNob3VsZCBiZSBjbG9zZWQgKHN5bmNocm9ub3VzbHkpIGFuZCBzdGF0ZSBjbGVhbmVkIHVwLgoJICBTZWUgIzYzMjUwNC4KCjIwMTEtMDQtMDYgMTU6NDk6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZpeCBhbmQgaW1wcm92ZSBhc3luYyBoYW5kbGluZwoJICBTaW1wbGlmeSB0aGUgY29tbWFuZCBoYW5kbGluZzsgcGFzc2luZyBhIGNvbW1hbmQgdG8gdGhyZWFkIG1lYW5zIHdlIHJlYWxseQoJICB3YW50IGl0IHRvIGdldCB0aGUgbWVzc2FnZSwgd2hpY2ggbWVhbnMgdG8gYWx3YXlzIGZsdXNoIHByb3ZpZGVkIHRoZSBjb21tYW5kCgkgIGNhbiBoYW5kbGUgYmVpbmcgaW50ZXJydXB0ZWQuICBDb21tYW5kIHRocmVhZCBpbmRpY2F0ZXMgd2hldGhlciBjb21tYW5kCgkgIGFsbG93cyBpbnRlcnJ1cHRpb24gYW5kIGVuc3VyZSBub24tZmx1c2hpbmcgY29ubmVjdGlvbiBhcyBpdCBzdWJzZXF1ZW50bHkKCSAgbmVlZHMgaXQuCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgYWxzbyBtYWtlcyB0aGUgVEVBUkRPV04gc2VxdWVuY2UgaW50ZXJydXB0YWJsZQoJICBhbmQgYWxzbyBwcmV2ZW50cyByYWNlcyB3aGVyZSBfbG9vcF8gY291bGQgbWlzcyBhIGNvbW1hbmQgYW5kIHdvdWxkCgkgIGNvbnRpbnVlIHJlY2VpdmluZyAob3IgYXQgbGVhc3QgdHJ5aW5nIHRvKS4KCSAgU2VlICM2MzI1MDQuCgoyMDExLTA0LTA2IDE0OjUzOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdHdlYWsgcG9zdC1zZWVrIGxvb3AgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTI6NDY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogb3BlbiBvbiBwbGF5IGFuZCBwYXVzZSB3aGVuIG5vdCBkb25lIHlldAoJICBXaXRoIHRoZSBhc3luYyBzdGF0ZSBjaGFuZ2VzLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdlIG5lZWQgdG8gb3BlbiB0aGUgc3RyZWFtCgkgIGJlZm9yZSBwbGF5IGFuZCBwYXVzZS4KCSAgQWxzbyBtYWtlIHN1cmUgd2UgcmVtZW1iZXIgYSBwcmV2aW91cyBvcGVuIGZhaWx1cmUgc28gdGhhdCB3ZSBkb24ndCBrZWVwIHRyeWluZwoJICBhZ2Fpbi4KCjIwMTEtMDEtMTAgMTE6NDU6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgYXN5bmMgaGFuZGxpbmcKCSAgU2ltcGxpZnkgdGhlIGNvbW1hbmQgaGFuZGxpbmcsIG9ubHkgY29udGludWUgbG9vcGluZyB3aGVuIHdlIGhhdmUgbm90IHJlY2VpdmVkCgkgIGFub3RoZXIgY29tbWFuZCBvciB3aGVuIHRoZSBwcmV2aW91cyBsb29wIHdhcyBzdWNjZXNzZnVsbC4KCSAgQXZvaWQgbG9vcGluZyBvbiBhIGRpc2Nvbm5lY3RlZCBzb2NrZXQuCgoyMDExLTAxLTA3IDE4OjAyOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXdvcmsgcmVjb25uZWN0IGNvZGUKCSAgVXNlIHRoZSBzYW1lIGFzeW5jIGNvZGUgcGF0aCB0byBpbXBsZW1lbnQgcmVjb25uZWN0cy4KCSAgTWFrZSBzdXJlIHdlIG9ubHkgcG9zdCBwcm9ncmVzcyBtZXNzYWdlcyB3aGVuIGRvaW5nIGFzeW5jIHRoaW5ncy4KCjIwMTEtMDEtMDcgMTc6MTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNtYWxsIGNsZWFudXBzCgkgIE1ha2Ugc3VyZSB3ZSBjYW5jZWwgdGhlIHByZXZpb3VzIHRhc2sgd2hlbiBxdWV1aW5nIGEgbmV3IG9uZS4KCSAgTW92ZSB0aGUgbWVzc2FnZXMgdG8gYSBjZW50cmFsIHBsYWNlIHNvIHdlIGNhbiBtb3JlIGVhc2lseSBwb3N0IHRoZW0uCgoyMDExLTAxLTA3IDE1OjE1OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBwb3N0IGVycm9ycyB3aGVuIGludGVycnVwdGluZwoKMjAxMS0wMS0wNyAxMzo0MzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBpbXBsZW1lbnQgbW9yZSBhc3luYyBoYW5kbGluZwoJICBSZW1vdmUgc29tZSBvbGQgbG9ja3MuCgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBnbyBpbnRvIHRoZSBsb29wIGZ1bmN0aW9uIHdoZW4gZmx1c2hpbmcuCgoyMDExLTAxLTA3IDExOjQwOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXJzdCBhdHRlbXB0IGF0IGFzeW5jIGltcGxlbWVudGF0aW9uCgoyMDExLTAxLTA3IDExOjQwOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzbWFsbCBoZWFkZXIgY2xlYW51cHMKCjIwMTEtMDUtMTcgMTA6NDc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyBmb3IgKHByZS0pIHJlbGVhc2VzIHRvbwoKMjAxMS0wNC0yOCAxNTo1NzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3RzOiBPbmx5IGFsbG93IG1wZWctdHMgb24gc291cmNlIG9iamVjdHMKCSAgVWdseSBmaXggZm9yICM2NDgzMTIKCjIwMTEtMDUtMTcgMDk6MjQ6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNS0wNiAxOTowOToxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogSW1wbGVtZW50IGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgZm9yIHNpbmsgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTA2IDE4OjQxOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBpdGVyYXRlIHBhZCBmdW5jdGlvbiBpcyBvbmx5IHZhbGlkIGZvciBzcmMgcGFkcwoJICBUaGUgaXRlcmF0ZSBmdW5jdGlvbiBpcyBvbmx5IHVzZWQgZm9yIHNyYyBwYWRzLCBzbyBtYXJrIGl0IGFzIHN1Y2ggYW5kIHJlbW92ZQoJICBkZWFkIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk2MTcKCjIwMTEtMDUtMDYgMTg6MTI6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgc2lnbmFsCgkgIElmIHRoZSBsb2NrIGlzIG5vdCByZWxlYXNlZCBiZWZvcmUgZW1pdHRpbmcgYSBzaWduYWwsIGl0IG1heSBjYXVzZSBhIGRlYWRsb2NrCgkgIGlmIGFueSBvdGhlciBmdW5jdGlvbiBpbiB0aGUgZWxlbWVudCBpcyBjYWxsZWQuCgkgIEFsc28gcmVtb3ZlZCBhbiB1bnVzZWQgdGltZXN0YW1wIHBhcmFtZXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NjE3CgoyMDExLTA1LTE1IDIzOjI1OjE1ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogY2FsY3VsYXRlIHNlZ21lbnQgZHVyYXRpb24gYWZ0ZXIgcGFyc2luZyBhbGwgdGhlIElEcwoJICBTaW5jZSB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBnaXZlbiBpbiB0ZXJtcyBvZiB0aGUKCSAgR1NUX01BVFJPU0tBX0lEX1RJTUVDT0RFU0NBTEUgd2Ugc2hvdWxkIG9ubHkgY29udmVydCBpdCBpbnRvCgkgIG5hbm9zZWNvbmRzIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBhbnkgc2NhbGUgc3BlY2lmaWVkIGluIHRoZSBmaWxlIGhhcwoJICBiZWVuIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAyNTgKCjIwMTEtMDUtMTYgMTc6NTI6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTA1LTE2IDE3OjUwOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIC1nb29kOiBmaXggZm9yIG5ldyBBUEkKCjIwMTEtMDUtMDQgMTE6NTU6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZGl0aW9uYWwgbG9jayBzYWZldHkKCSAgRml4ZXMgIzYxOTU5MC4KCjIwMTEtMDQtMjYgMTY6MDY6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY2hlY2sgZm9yIGJpdHJhdGUgaW5mbyBpbiBjYXBzCgoyMDEwLTA1LTI1IDAxOjA0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZ3Vlc3MgYml0cmF0ZSBpZiBvbmx5IG9uZSBzdHJlYW0ncyBiaXRyYXRlIGlzIHVua25vd24KCSAgSWYgdGhlIGJpdHJhdGVzIGZvciBhbGwgYnV0IG9uZSBhdWRpby92aWRlbyBzdHJlYW1zIGFyZSBrbm93biwgYW5kIHRoZQoJICB0b3RhbCBzdHJlYW0gc2l6ZSBhbmQgZHVyYXRpb24gY2FuIGJlIGRldGVybWluZWQsIHRoaXMgY2FsY3VsYXRlcyB0aGUKCSAgdW5rb3duIGJpdHJhdGUgYXMgKHN0cmVhbSBzaXplIC8gZHVyYXRpb24pIC0gKHN1bSBvZiBrbm93biBiaXRyYXRlcykuCgkgIFdoaWxlIHRoaXMgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgdmVyeSBhY2N1cmF0ZSwgaXQgc2hvdWxkIGJlIGdvb2QKCSAgZW5vdWdoIGZvciBtb3N0IHB1cnBvc2VzLgoJICBGb3IgZXhhbXBsZSwgdGhpcyBpcyB1c2VmdWwgZm9yIEguMjYzICsgQUFDIHN0cmVhbXMgd2hlcmUgbm8gJ2J0cnQnIGF0b20KCSAgaXMgYXZhaWxhYmxlIGZvciB0aGUgdmlkZW8gcG9ydGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTU0OAoKMjAxMC0wNS0zMSAyMzo1OTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IG1heCBiaXRyYXRlIGZvciBBTVItTkIvLVdCIHN0cmVhbXMKCSAgVGhpcyBwYXJzZXMgdGhlICdkYW1yJyBhdG9tIGlmIHByZXNlbnQsIGFuZCBleHBvcnRzIHRoZSBtYXhpbXVtIGJpdHJhdGUKCSAgb2YgdGhlIHN0cmVhbSB1c2luZyB0aGUgbW9kZSBzZXQgZmllbGQgdG8gZGV0ZXJtaW5lIHRoZSBoaWdoZXN0IGJpdHJhdGUKCSAgZnJhbWUgdHlwZSB0aGF0IG1pZ2h0IGJlIHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxODYKCjIwMTEtMDUtMTYgMDk6MDQ6MzEgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBEZWZpbmUgUEFUSF9NQVggaWYgaXQgaXNuJ3QgZGVmaW5lZAoJICBHTlUgSHVyZCBmb3IgZXhhbXBsZSBkb2Vzbid0IGRlZmluZSBpdC4KCjIwMTEtMDUtMTUgMjM6MjU6MTUgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBjYWxjdWxhdGUgc2VnbWVudCBkdXJhdGlvbiBhZnRlciBwYXJzaW5nIGFsbCB0aGUgSURzCgkgIFNpbmNlIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGdpdmVuIGluIHRlcm1zIG9mIHRoZQoJICBHU1RfTUFUUk9TS0FfSURfVElNRUNPREVTQ0FMRSB3ZSBzaG91bGQgb25seSBjb252ZXJ0IGl0IGludG8KCSAgbmFub3NlY29uZHMgd2hlbiB3ZSBhcmUgc3VyZSB0aGF0IGFueSBzY2FsZSBzcGVjaWZpZWQgaW4gdGhlIGZpbGUgaGFzCgkgIGJlZW4gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDI1OAoKMjAxMS0wNS0wOSAxOTowMDo0NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBBZGQgc3VwcG9ydCBmb3IgbXBlZ3ZlcnNpb24gMiwgd2hpY2ggaXMgYWxzbyBBQUMKCjIwMTEtMDUtMTEgMTA6MjU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IFNlbmQgRU9TIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgZW5kIG9mIGZpbGUgaW5zdGVhZCBvZiBmYWlsaW5nCgkgIEZpeGVzIGJ1ZyAjNjQ5NzgwLgoKMjAxMS0wNC0yOSAwODo1OToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IFNldCBmaXhlZGNhcHMgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZAoJICB3YXZlbmMgZG9lcyBub3QgYWxsb3cgdG8gY2hhbmdlIHRoZSBjYXBzIGR1cmluZyBwbGF5YmFjawoJICBhbmQgYWx3YXlzIHJldHVybmluZyB0aGUgdGVtcGxhdGUgY2FwcyBpcyBqdXN0IHdyb25nLgoKMjAxMS0wNC0yOSAwODo1NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEFsbG93IHNldGNhcHMgdG8gYmUgY2FsbGVkIGFmdGVyIGEgZm9ybWF0IHdhcyBuZWdvdGlhdGVkIGlmIGl0J3MgY29tcGF0aWJsZQoJICBPdGhlcndpc2Ugd2F2ZW5jIHdpbGwgZmFpbCBpZiB1cHN0cmVhbSBkZWNpZGVzIHRvIHNldCBlcXVpdmFsZW50IGNhcHMgb3IgY2FwcwoJICB3aXRoIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbGF0ZXIuCgkgIFRoYW5rcyB0byBBbGV4YW5kZXIgU2NocmVtbWVyIGZvciBmaW5kaW5nIHRoaXMgYnVnLgoKMjAxMS0wNS0xNCAxMDowMjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI5ID09PQoKMjAxMS0wNS0xMCAxMDowNDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yOQoJICBIaWdobGlnaHRzOgoJICAtIGFtcnBhcnNlLCBhYWNwYXJzZSwgYWMzcGFyc2UsIGZsYWNwYXJzZSwgbXBlZ2F1ZGlvcGFyc2UsIGRjYXBhcnNlIGF1ZGlvIHBhcnNlcnMgKG1vdmVkIGZyb20gLWJhZCkKCSAgLSBtdXhlcnMgbm93IG11eCBiYXNlZCBvbiBydW5uaW5nIHRpbWUKCSAgLSBJU08gTVA0IG11eGVyczogbXA0bXV4LzNncHBtdXgvcXRtdXgvbWoybXV4IChtb3ZlZCBmcm9tIC1iYWQpCgkgIC0gbmV3IG1hdHJvc2thcGFyc2UgZWxlbWVudAoJICAtIG5ldyB2NGwycmFkaW8gZWxlbWVudAoJICAtIHJ0cHNlc3Npb246IHN1cHBvcnQgUlRDUCBFYXJseSBGZWVkYmFjayAodGhlIEFWUEYgcHJvZmlsZSkKCSAgLSBvcmMgMC40LjE0IG9yIG5ld2VyIHJlY29tbWVuZGVkCgkgIC0gbWFueSBvdGhlciBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgoyMDExLTA1LTA1IDEzOjI0OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBzaWduZWQgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIHdyaXRpbmcKCSAgWW91IHdvdWxkIGVuZCB1cCBvbiBzb21lIGFyY2hpdGVjdHVyZXMgd2l0aCAwIGJlaW5nIHdyaXR0ZW4gb3V0CgkgIGluc3RlYWQgb2YgdGhlIHByb3BlciB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTQ0OQoKMjAxMS0wNS0wNCAxMjowNDoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhdm9pZCBidWlsZGluZyBpbmRleCB3aGVuIHN0cmVhbWFibGUKCSAgLi4uIGFzIGl0IHdpbGwgbm90IGJlIHdyaXR0ZW4gYW55d2F5LgoJICBGaXhlcyAjNjQ4OTM3ICg/KS4KCjIwMTEtMDUtMDIgMTI6MDk6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIHF0ZGVtdXgvcXVpY2t0aW1lIGRpcmVjdG9yaWVzIHRvIENSVUZUX0RJUlMgYW5kIENSVUZUX0ZJTEVTCgoyMDExLTA1LTAxIDAwOjA0OjAzIC0wNDAwICBUb20gSmFuaXN6ZXdza2kgPHRvbS5qYW5pc3pld3NraUBhbGNhdGVsLWx1Y2VudC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IG92ZXJ3cml0ZSBtZXRhZGF0YSB0YWcgd2l0aCBkdXJhdGlvbiBpbiBzdHJlYW1pbmcgbW9kZQoJICBBIGR1cmF0aW9uIHRhZyBnZXRzIGluc2VydGVkIG9ubHkgZm9yIHN0cmVhbWFibGU9ZmFsc2UsIHNvIG9ubHkKCSAgdXBkYXRlL3dyaXRlIHRoZSBkdXJhdGlvbiBsYXRlciBpZiB3ZSBhY3R1YWxseSBpbnNlcnRlZCB0aGF0IHRhZywKCSAgb3RoZXJ3aXNlIHdlIHdyaXRlIGdhcmJhZ2UgaW50byBvdGhlciB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDYwCgoyMDExLTA0LTMwIDE4OjE2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHBvL2ZyLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjguNCBwcmUtcmVsZWFzZQoKMjAxMS0wNC0zMCAxNzo0NjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9pc29tcDQvTEVHQUw6CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmg6CgkqIGdzdC9pc29tcDQvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9pc29tcDQvcXRwYWxldHRlLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBxdWlja3RpbWU6IHJlbmFtZSBwbHVnaW4gdG8gaXNvbXA0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDQKCjIwMTEtMDQtMjkgMTc6NTU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGZpeCBzb21lIHBhcnNlcnMKCjIwMTEtMDQtMjkgMTc6NTQ6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBlcnJvciBjYXVzZWQgYnkgbWVyZ2luZwoKMjAxMS0wNC0yOSAxNTo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoKMjAxMS0wNC0yOSAxNTo0NjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IGZpeCBwYWRfYWxsb2MKCjIwMTEtMDQtMjcgMTI6NDU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHBvL2JnLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmwucG86CgkqIHBvL3J1LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjguMyBwcmUtcmVsZWFzZQoKMjAxMS0wNC0yNiAxNTo1ODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTA0LTI2IDE1OjU4OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMDQtMjYgMTU6NDI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBwb3J0IGphY2sgZWxlbWVudHMKCjIwMTEtMDQtMjUgMTA6MDQ6NTIgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvY3VtZW50YXRpb24gdHlwbyAianBlZ2RkZWMiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg1ODkKCjIwMTEtMDQtMjUgMTg6MTQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICBydHA6IHBvcnQgc29tZSBtb3JlIGVsZW1lbnRzCgoyMDExLTA0LTI1IDE3OjI3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICBydHA6IHBvcnQgbW9yZSB0byAwLjExCgoyMDExLTA0LTI1IDEzOjE2OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgKGRlKXBheWxvYWRlcnMKCjIwMTEtMDQtMjUgMTI6NDk6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHBvcnQgc29tZSBtb3JlIGVsZW1lbnRzIHRvIDAuMTEKCjIwMTEtMDQtMjUgMTE6Mzg6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTI0IDE2OjQ1OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgYXZpbXV4LG1hdHJvc2thbXV4OiBBZGQgc3RyZWFtLWZvcm1hdCB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTEtMDItMjAgMTI6MTM6NDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBSZW1vdmUgdGVtcG9yYXJ5IGNvZGUKCSAgTm93IHRoYXQgd2UgZGVwZW5kIG9uICh3aGF0IHdpbGwgYmUpIC1iYXNlLTAuMTAuMzMuCgoyMDExLTA0LTI0IDE0OjAzOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkb24ndCBwYXNzIC1XYWRkcmVzcyB0byBPYmpDIGNvbXBpbGVyIG9uIE9TWCB3aGVuIGNvbXBpbGluZyBvc3h2aWRlb3NpbmsKCSAgVGVtcG9yYXJ5IHdvcmthcm91bmQgdW50aWwgd2UgZml4IHRoaXMgcHJvcGVybHkgYW5kIGNoZWNrIGZvcgoJICB0aGUgT2JqQyB3YXJuaW5nL2Vycm9yIGZsYWdzIGluc3RlYWQgb2YganVzdCBwYXNzaW5nIENGTEFHUyB0byB0aGUKCSAgT2JqQyBjb21waWxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzkzOQoKMjAxMS0wNC0yNCAxMzoyOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJICBxdWlja3RpbWU6IHJlbmFtZSBwbHVnaW4gZmlsZW5hbWUgZnJvbSAqcXRkZW11eCogdG8gKnF1aWNrdGltZSoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAwNAoKMjAxMS0wNC0yNCAxNDowMzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMzY2FmZTEgdG8gNDZkZmNlYQoKMjAxMS0wNC0yMSAyMzozMDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXgtZG9jLmg6CgkgIGRvY3M6IGFkZCB2YXJpb3VzIHF0bXV4IHZhcmlhbnRzIHRvIGRvY3VtZW50YXRpb24KCjIwMTEtMDQtMjEgMjI6NTE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgcXVpY2t0aW1lOiByZWdpc3RlciAzZ3BwbXV4IGVsZW1lbnQgaW4gYWRkaXRpb24gdG8gdGhlIG1pc25hbWVkIGdwcG11eAoKMjAxMS0wNC0xOCAxODowODozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogUmVtb3ZlIGluY29tcGxldGUgc3VwcG9ydCBmb3IgUlRDUCBGSVIKCSAgUmVtb3ZlIGJpdHMgdGhhdCB3ZXJlIG1lYW50IHRvIHN1cHBwb3J0IFJUQ1AgRklSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgxNjAKCjIwMTEtMDQtMTkgMTg6NTU6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDQtMTkgMTc6MzU6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVzZSBHX0RFRklORV9UWVBFIHNvbWUgbW9yZQoKMjAxMS0wNC0xOSAxNzoyMDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IHVzZSBHX0RFRklORV9UWVBFCgoyMDExLTA0LTE5IDE3OjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgdXNlIEdfREVGSU5FX1RZUEUKCjIwMTEtMDQtMTkgMTY6MjU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA0LTE5IDE0OjMzOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvaW5kZXguYzoKCSAgdGVzdHM6IGFkZCBnZW5lcmljIHNldF9pbmRleCB0ZXN0CgoyMDExLTA0LTE5IDE0OjMzOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBkZWFkbG9jayBvbiBzZXR0aW5nIGluZGV4IG9uIGZsdmRlbXV4CgoyMDExLTA0LTE5IDE0OjE2OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICB0ZXN0czogYWRkIGluZGV4LXNldHRpbmcgdGVzdCBmb3IgYmFzZXBhcnNlL2ZsYWNwYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2ODExCgoyMDExLTA0LTE4IDExOjI5OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHdhdnBhY2s6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHdhdmVuYzogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjExOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMDo1NDo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHBvcnQgbW9yZSBwbHVnaW5zIHRvIDAuMTEKCjIwMTEtMDQtMTggMTA6MjM6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgYW5kcm9pZC9hcGV0YWcubWsKCSAgYW5kcm9pZC9hdmkubWsKCSAgYW5kcm9pZC9mbHYubWsKCSAgYW5kcm9pZC9pY3lkZW11eC5tawoJICBhbmRyb2lkL2lkM2RlbXV4Lm1rCgkgIGFuZHJvaWQvcXRkZW11eC5tawoJICBhbmRyb2lkL3J0cC5tawoJICBhbmRyb2lkL3J0cG1hbmFnZXIubWsKCSAgYW5kcm9pZC9ydHNwLm1rCgkgIGFuZHJvaWQvc291cC5tawoJICBhbmRyb2lkL3VkcC5tawoJICBhbmRyb2lkL3dhdmVuYy5tawoJICBhbmRyb2lkL3dhdnBhcnNlLm1rCgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wNC0xNyAwMToyOTowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggJ3ZhcmlhYmxlIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIHdhcm5pbmdzIGNhdXNlZCBieSAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDQtMTYgMTg6NTA6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSAgMC4xMC4yOC4yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE2IDE4OjQ5OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgYmFja3VwIGNvZGUKCjIwMTEtMDQtMTYgMTg6Mjk6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIHByZS1yZWxlYXNlCgoyMDExLTA0LTE2IDE4OjI3OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VzLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vc2wucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTA0LTE2IDE4OjE3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZnVzZSBpbmNvbXBsZXRlIGxlZ2FjeSBoMjY0IGNhcHMKCSAgUmVmdXNlIGgyNjQgY2FwcyB3aXRob3V0IHN0cmVhbS1mb3JtYXQgYW5kIGNvZGVjX2RhdGEgZmllbGRzIGZvcgoJICBub3csIHRvIGF2b2lkIGNyZWF0aW5nIGJyb2tlbiBmaWxlcy4gVGhpcyBtaWdodCBjYXVzZSBzb21lIHBpcGVsaW5lcwoJICB0aGF0IHdvcmtlZCBwcmV2aW91c2x5IHRvIGZhaWwuIEhvd2V2ZXIsIHRoZSBtb3ZlIGZyb20gLWJhZCB0byAtZ29vZAoJICBpcyBvdXIgb25seSBjaGFuY2UgdG8gZml4IHRoaXMgdXAsIHNvIG1ha2UgaXQgc3RyaWN0IGZvciBub3cuIFdlIGNhbgoJICBhbHdheXMgY2hhbmdlIGl0IGJhY2sgdG8gYmUgbGVzcyBzdHJpY3QgaW4gZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3OTE5CgoyMDExLTA0LTE2IDE4OjE2OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggYW5vdGhlciB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nCgoyMDExLTA0LTE2IDE4OjEwOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBwdWxzZSwgc3BlZXhlbmMsIHJ0cGdzbXBheTogZG9uJ3QgdXNlIGdfYXNzZXJ0KCkgZm9yIGVycm9yIGhhbmRsaW5nCgkgIERvbid0IHVzZSBnX2Fzc2VydCgpIGZvciBlcnJvciBoYW5kbGluZywgZXZlbiBpZiB0aGV5J3JlIGhpZ2hseSB1bmxpa2VseS4KCSAgRWl0aGVyIHdlICprbm93KiB0aGF0IHNvbWV0aGluZyBjYW4ndCBoYXBwZW4sIGluIHdoaWNoIGNhc2Ugd2UKCSAgc2hvdWxkIGp1c3Qgbm90IGhhbmRsZSBpdCwgb3Igd2UgdGhpbmsgc29tZXRoaW5nIGNhbiBoYXBwZW4sIGJ1dCBpdCBpcwoJICB2ZXJ5IHZlcnkgdW5saWtlbHkgdGhhdCBpdCB3aWxsIGV2ZXIgaGFwcGVuLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZAoJICBoYW5kbGUgaXQgbGlrZSBhbnkgb3RoZXIgZXJyb3IgaW5zdGVhZCBvZiBhc3NlcnRpbmcuCgkgIGdfYXNzZXJ0KCkgaXMgYmVzdCBsZWZ0IGZvciBjb25kaXRpb25zIHdlIGhhdmUgY29udHJvbCBvZiwgbGlrZSBjaGVja2luZwoJICBpbnRlcm5hbCBjb25zaXN0ZW5jeSBvZiBvdXIgY29kZSwgbm90IGNoZWNraW5nIHJldHVybiB2YWx1ZXMgb2YgZXh0ZXJuYWwKCSAgY29kZS4KCSAgRml4ZXMgYSBidW5jaCBvZiB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVDoKCSAgZ3N0cnRwZ3NtcGF5LmM6IEluIGZ1bmN0aW9uICdnc3RfcnRwX2dzbV9wYXlfaGFuZGxlX2J1ZmZlcic6CgkgIGdzdHJ0cGdzbXBheS5jOjEzMDoxNzogd2FybmluZzogdmFyaWFibGUgJ3J0cGdzbXBheScgc2V0IGJ1dCBub3QgdXNlZAoJICBnc3RzcGVleGVuYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3NwZWV4X2VuY19lbmNvZGUnOgoJICBnc3RzcGVleGVuYy5jOjkwNDoxOTogd2FybmluZzogdmFyaWFibGUgJ3dyaXR0ZW4nIHNldCBidXQgbm90IHVzZWQKCSAgcHVsc2VzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfcHVsc2VzaW5rX2NoYW5nZV9zdGF0ZSc6CgkgIHB1bHNlc2luay5jOjI3MjU6OTogd2FybmluZzogdmFyaWFibGUgJ3Jlcycgc2V0IGJ1dCBub3QgdXNlZAoJICBwdWxzZXNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSc6CgkgIHB1bHNlc3JjLmM6MTI1Mzo3OiB3YXJuaW5nOiB2YXJpYWJsZSAnZScgc2V0IGJ1dCBub3QgdXNlZAoKMjAxMS0wNC0xNiAxODowNzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBleGFtcGxlczogZml4IHNvbWUgd2FybmluZ3MgaW4gcnRwIGV4YW1wbGUKCSAgQ2F1c2VkIGJ5IC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wNC0xNiAxNzo1NzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIGV4YW1wbGVzOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnRvIGdfYXNzZXJ0KCkKCSAgT3RoZXJ3aXNlIHRoaW5ncyB3b24ndCB3b3JrIHRvbyB3ZWxsIHdoZW4gY29tcGlsaW5nIHdpdGgKCSAgLURHX0RJU0FCTEVfQVNTRVJUIChhcyB3ZSBkbyBmb3IgcHJlLXJlbGVhc2VzIGFuZCByZWxlYXNlcykuCgoyMDExLTA0LTE2IDE2OjUxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGRlaW50ZXJsYWNlLCBtYXRyb3NrYTogZml4IHR3byB2YXJpYWJsZS1tYXktYmUtdXNlZC11bmluaXRpYWxpemVkIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFdlIHVzZSAtREdfRElTQUJMRV9BU1NFUlQgZm9yIHRoZSBwcmUtcmVsZWFzZXMsIHdoaWNoIG1ha2VzIHRoZXNlCgkgIHdhcm5pbmdzIHBvcCB1cCBpbiBjYXNlcyB0aGF0IHdlcmUgcHJldmlvdXNseSBjb3ZlcmVkIGJ5IGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCSAgYW5kIHRoZSBsaWtlOgoJICB0dnRpbWUvZ3JlZWR5aC5jOjgwMToxNDogd2FybmluZzogJ3NjYW5saW5lJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgbWF0cm9za2EtbXV4LmM6NTAxOjE5OiB3YXJuaW5nOiAnY29udGV4dCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDExLTA0LTE2IDE0OjQ1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgYXBlZGVtdXg6IFBvcnQgdG8gMC4xMQoKMjAxMS0wNC0xNiAxMzozMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MtNC42CgoyMDExLTA0LTE2IDEzOjIzOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgZXhhbXBsZXM6IGZpeCAnY29udHJvbCByZWFjaGVzIGVuZCBvZiBub24tdm9pZCBmdW5jdGlvbicgd2FybmluZyBpbiBjYWlybyBleGFtcGxlCgoyMDExLTA0LTE1IDE1OjQ3OjI0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGUKCSAgVGhlIHY0bDJvYmplY3QgZm9ybWF0cyBsaXN0IHdhcyBiZWluZyBvYnRhaW5lZCBpbnRvIGEgbG9jYWwgdmFyaWFibGUgYW5kCgkgIHRoZW4gc3RpbGwgdXNlZCBmcm9tIHRoZSBjb250ZXh0LiBNYWtlIHVzZSBvZiB0aGUgbG9jYWwgdmFyaWFibGUuCgoyMDExLTA0LTE1IDE1OjE3OjM0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIG9zczQ6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBjb21wbGFpbnMgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4gVW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIHdlcmUgcmVtb3ZlZCBleGNlcHQgdGhhdCBnc3Rfb3NzNF9taXhlcl9zbGlkZXJfc2V0X211dGUgKCkgbm93IHJldHVybnMKCSAgdGhlIHZhbHVlIGZyb20gdGhlIGNhbGwgdG8gZ3N0X29zczRfbWl4ZXJfc2V0X2NvbnRyb2xfdmFsICgpLgoKMjAxMS0wNC0xNSAxNToxNDoxMyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGpwZWdlbmM6IHB1bHNlc2luazogcmF3MTM5NDogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdXNhZ2Ugb2YgdmFyaWFibGVzLiBUaGUgdmFyaWFibGVzIGluCgkgIHJhdzEzOTQgd2VyZSBtYXJrZWQgd2l0aCBHX0dOVUNfVU5VU0VEIGFzIHRoaXMgc2VlbWVkIG9tcmUgYXBwcm9wcmlhdGUuCgkgIFRoZSBvdGhlcnMgd2VyZSByZW1vdmVkLgoKMjAxMS0wNC0xNSAxNToxMjo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBzaGFwZXdpcGU6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBjb21wbGFpbnMgYWJvdXQgc3VjaCB1c2FnZS4KCjIwMTEtMDQtMTUgMTU6MTE6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgdGVzdHM6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHVzYWdlIG9mIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTUgMTU6MzY6NDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogRml4IGFyZ2IvcmdiYSBvdmVybGF5IG9yYyBjb2RlCgkgIFJlbW92ZSBzb21lIHJlZHVuZGFudCBvcGVyYXRpb25zIChjb252dWJ3KSBhbmQgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlLAoJICB0MiwgaW4gdGhlIG9yY19vdmVybGF5X2JncmEgZnVuY3Rpb24uCgoyMDExLTA0LTE1IDE1OjMzOjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9nc3Rjb2xsZWN0cGFkczIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogYWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHZhcmlhYmxlcyB0aGF0IGFyZSBzZXQgYnV0IHVudXNlZC4gU3VjaAoJICB2YXJpYWJsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gYmxlbmQsIGNvbGxlY3RwYWRzMiBhbmQgdmlkZW9taXhlcjIuCgoyMDExLTA0LTE1IDE0OjU3OjIwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwLCBydHBtYW5hZ2VyOiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgdmFyaWFibGVzIHRoYXQgYXJlIHVudXNlZCBidXQgc2V0LiBTdWNoCgkgIHZhcmlhYmxlcyBoYXZlIGJlZW4gcmVtb3ZlZCB3aGVyZSB0cml2aWFsIGJ1dCB3aXRoIGNvbW1lbnRzIGxlZnQgYmVoaW5kCgkgIGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzIGluIHNvbWUgY2FzZXMuCgkgIGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3AgKCkgd2FzIGNoYW5nZWQgaW4gY29tbWl0IDQ5MDExM2Q0CgkgIHRvIGFsd2F5cyByZXR1cm4gR1NUX0ZMT1dfT0sgaW5zdGVhZCBvZiB0aGUgcmV0dXJuIHZhbHVlIG9mCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCAoKSwgc28gd2UnbGwga2VlcCBpdCB0aGF0IHdheS4KCjIwMTEtMDQtMTUgMTE6Mjk6MzAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguYzoKCSAgcXVpY2t0aW1lOiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLiBOb3RlIHRoYXQgc29tZQoJICBjYWxjdWxhdGlvbnMgYXJlIGxlZnQgYXMgY29tbWVudHMgZm9yIGluZm9ybWF0aXZlIHB1cnBvc2VzLgoKMjAxMS0wNC0xNSAxMToyMzozOCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZSB1c2FnZS4KCjIwMTEtMDQtMTUgMTE6MTk6MjYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIHVudXNlZCBidXQgc2V0IGR1cmF0aW9uIHZhcmlhYmxlCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLgoKMjAxMS0wNC0xNSAxMToxODoxOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHhkZW11eDogUmVtb3ZlIHVudXNlZCBidXQgc2V0IGtleWZyYW1lIHZhcmlhYmxlcwoJICBUaGUgRklYTUVzIGFib3V0IHRoZSBrZXlmcmFtZSBmbGFnIG5ldmVyIGJlaW5nIHVzZWQgYXJlIGxlZnQgZm9yIGxhdGVyCgkgIGZpeGluZywgYXQgd2hpY2ggcG9pbnQgdGhlIGtleWZyYW1lIHZhcmlhYmxlcyBjb3VsZCBiZSBhZGRlZCBiYWNrLgoKMjAxMS0wNC0xNSAxMToxNjo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCBoZWlnaHQgdmFyaWFibGUKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGVzLgoKMjAxMS0wNC0xNSAxODo1MToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHVwZGF0ZSBmb3IgZ3N0X2Jhc2VfcGFyc2VfZnJhbWVfaW5pdCgpIEFQSSBjaGFuZ2UKCjIwMTEtMDItMDEgMTU6NTc6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGV4aXN0aW5nIGZ1bmN0aW9ucyB0byBwYXJzZSBSVENQIEZCIHBhY2tldHMKCSAgVXNlIGV4aXN0aW5nIGZ1bmN0aW9ucyB0byBnZXQgdGhlIEZDSSBmcm9tIEZCIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI1NTMKCjIwMTEtMDItMDEgMTY6MjM6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbWFyc2hhbCBHc3RCdWZmZXIgYXMgYSBNaW5pT2JqZWN0IGluc3RlYWQgb2YgYSBwb2ludGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI1NTMKCjIwMTEtMDQtMTQgMjM6MjQ6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEJldHRlciBjYWxjdWxhdGlvbiBvZiBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzgzMwoKMjAxMS0wNC0xMyAxMjozNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkZWZhdWx0IHRvIGR0cy1tZXRob2Q9cmVvcmRlciBhbmQgcHJlc2VudGF0aW9uLXRpbWU9dHJ1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTE1IDEyOjQ3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogdGVzdCB2YXJpb3VzIGR0cy1tZXRob2RzCgoyMDExLTA0LTE1IDEyOjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBjb3JuZXIgY2FzZSBidWZmZXIgaGFuZGxpbmcgZm9yIHJlb3JkZXIgbWV0aG9kCgoyMDExLTA0LTE0IDEzOjQ3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IGxlYWsgdGhlIFNFRUtJTkcgcXVlcnkKCjIwMTEtMDQtMTQgMTM6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5oOgoJICBxdG1vb3ZyZWNvdmVyOiBEb24ndCBsZWFrIHRoZSBzdGF0aWMgcmVjdXJzaXZlIG11dGV4CgoyMDExLTA0LTE0IDEzOjM3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJICB2NGwycmFkaW86IEZyZWUgdmlkZW9kZXYgc3RyaW5nIGJlZm9yZSByZXBsYWNpbmcgaXQKCjIwMTEtMDQtMTQgMTM6MjQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IEFsbG93IHdlYm0gYW5kIG1hdHJvc2thIGNhcHMgYW5kIGRvbid0IGxlYWsgY2FwcwoKMjAxMS0wNC0xNCAwNzozNToyOSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgQWRkIHBhcnNlciBwbHVnaW4KCjIwMTEtMDQtMTMgMjE6NTg6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZjogTW92ZSBkdXBsaWNhdGUgI2RlZmluZXMgaW50byBhIGNvbW1vbiBpbmNsdWRlCgkgIENlbnRyYWxpemUgZHVwbGljYXRlZCBjb25zdGFudHMgc28gdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlLgoJICBBbHNvIHN0YW5kYXJkaXNlIG1pbmltdW0gdG9uZSBkdXJhdGlvbiB0byAyNTBtcyBhbmQgbWluaW11bSBpbnRlci10b25lCgkgIGludGVydmFsIHRvIDEwMG1zLgoKMjAxMS0wMy0yNCAxNDozNDoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAZW50cm9weXdhdmUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEFkZCBjb25kaXRpb25hbHMgb24gV0FWRV9GT1JNQVRfRE9MQllfQUMzX1NQRElGCgoyMDExLTA0LTExIDIwOjA5OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTEgMjA6MDU6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgd2l0aCBnY2MgNC42CgkgIE1vc3QgbGlrZWx5IGEgbGVmdG92ZXIgZnJvbSB3aGVuIHRoZSBpbmRleCBwYXJzaW5nIGNvZGUgd2FzIHJld3JpdHRlbi4KCjIwMTEtMDQtMTEgMTk6NTQ6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcgd2l0aCBnY2MgNC42CgoyMDExLTA0LTExIDE5OjUwOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBmaXggaGFuZGxpbmcgb2YgWVVWIGltYWdlcyB3aXRoICdvZGQnIHdpZHRocwoJICBGaXhlcyB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYuCgoyMDExLTA0LTExIDE5OjQ5OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTEzIDE4OjExOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5je2JhbmQsbGltaXR9OiBGaXggY2hlY2sgZm9yIGRpdmlzb24gYnkgemVybwoKMjAxMS0wNC0xMyAxODowMTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogRml4IHJhbmdlIG9mIGtlcm5lbCBlbGVtZW50cyAobGltIC0+IGxpbS0xKQoKMjAxMS0wNC0xMyAxODowMDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBBZGQgc29tZSBtb3JlIGJyYWNlcyB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUKCjIwMTEtMDQtMTEgMTg6NDA6MzAgLTA1MDAgIEpvcmRpIEJ1cmd1ZXQtQ2FzdGVsbCA8am9yZGkuYnVyZ3VldC1jYXN0ZWxsQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogRml4IHJhbmdlIG9mIGtlcm5lbCBlbGVtZW50cyAobGltIC0+IGxpbS0xKSBpbiBoaWdoL2xvdy1wYXNzIGZpbHRlcnMKCjIwMTEtMDQtMTMgMTc6NDk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IEFkZCBuZXcgd2luZG93aW5nIGZ1bmN0aW9uczogZ2F1c3NpYW4sIGNvcyBhbmQgaGFubgoKMjAxMS0wNC0xMSAxODo0MTo0MyAtMDUwMCAgSm9yZGkgQnVyZ3VldC1DYXN0ZWxsIDxqb3JkaS5idXJndWV0LWNhc3RlbGxAbGlnby5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWltdDogQWRkIG5ldyB3aW5kb3dzIHRvIGhpZ2gvbG93LXBhc3MgZmlsdGVyczogZ2F1c3NpYW4sIGNvc2luZSwgaGFubgoKMjAxMS0wNC0xMyAxNjo0NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc2V0IHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0gb24gaDI2NCBjYXBzIGlmIHRoZXJlJ3Mgbm8gY29kZWMgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDExLTA0LTEzIDE2OjM3OjA3ICswMTAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogcmVzdHJpY3QgaDI2NCBzb21lIG1vcmUgdG8gb25seSBhY2NlcHQgQVUtYWxpZ25lZCBBVkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMS0wNC0xMyAxNzoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBUaGUgVkJSSSBoZWFkZXIgaXMgYWx3YXlzIGF0IG9mZnNldCAweDIwLCBpbmRlcGVuZGVudCBvZiBNUEVHIHZlcnNpb24KCSAgQWxzbyBjbGVhbiB1cCBhZHZhbmNpbmcgb2YgdGhlIGRhdGEgcG9pbnRlciBhIGJpdC4KCSAgRml4ZXMgYnVnICM2NDc2NTkuCgoyMDExLTA0LTEzIDE1OjE4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IGFkZCB2YXJpYW50LWxlc3MgdmlkZW8vcXVpY2t0aW1lIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2FwcwoJICBUaGlzIGlzIG5lZWRlZCBmb3IgYXV0b21hdGljIHRyYW5zY29kaW5nIHVzaW5nIGVuY29kZWJpbi4gT3VyIHR5cGVmaW5kZXIKCSAgZG9lcyBub3QgYWx3YXlzIGFkZCBhIHZhcmlhbnQgdG8gdGhlIGZvdW5kIGNhcHMsIGFuZCBlbmNvZGViaW4gbmVlZHMKCSAgYW4gKmV4YWN0KiBtYXRjaCB0byB0aGUgY2FwcyBvbiB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSwgc28gd2UgbmVlZAoJICB0byBhZGQgdGhlIHZhcmlhbnQtbGVzcyB2aWRlby9xdWlja3RpbWUgY2FwcyB0byB0aGUgdGVtcGxhdGUgYXMgd2VsbAoJICBmb3IgZW5jb2RlYmluIHRvIGJlIGFibGUgdG8gZmluZCBpdC4gQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyODc5CgoyMDExLTA0LTEzIDE2OjE3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogUHJvcGVybHkgaW50ZXJwcmV0ZSB0aGUgcmVzdWx0IG9mIHN0cmNtcCgpCgoyMDExLTA0LTEzIDE2OjA5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogRG9uJ3Qgc3RvcmUgaW1hZ2UgdGFncyBpbnNpZGUgdGhlIHZvcmJpc2NvbW1lbnRzIGFuZCB0aGUgZmxhYyBtZXRhZGF0YQoJICBJbnN0ZWFkIG9ubHkgc3RvcmUgdGhlbSBpbnNpZGUgdGhlIGZsYWMgbWV0YWRhdGEuIFRoZXJlJ3MKCSAgbm8gcG9pbnQgaW4gc3RvcmluZyB0aGVtIHR3aWNlIGFuZCB0aGUgZmxhYyBtZXRhZGF0YSBpcwoJICBzdGlsbCB0aGUgb2ZmaWNpYWwgd2F5IHRvIHN0b3JlIGltYWdlIHRhZ3MgaW5zaWRlIGZsYWMuCgoyMDExLTA0LTEzIDEyOjM4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBxdG11eC1yZWxhdGVkIHRlc3QgYmluYXJpZXMKCjIwMTEtMDQtMTMgMTE6MjU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkqIGdzdC9xdWlja3RpbWUvcXVpY2t0aW1lLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBxdWlja3RpbWU6IG1vdmUgcXRtdXggcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTEyIDE2OjQyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIGxlZnRvdmVyIE1BRU1PX0JST0tFTiBkZWZpbmVzCgkgIFJlbW92ZSBkZWZpbmVzIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gb2xkIE1hZW1vIHJlbGVhc2VzCgoyMDExLTA0LTA0IDEyOjIxOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vcmUgaGVscGZ1bCBkZWJ1ZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8gbmVlZGVkIGR1cmF0aW9uIG9uIGlucHV0IGJ1ZmZlcnMKCSAgRml4ZXMgIzY0NjI1Ni4KCjIwMTEtMDMtMjEgMTA6NTY6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlCgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSBzdXBwb3J0IHRvIHF0bXV4CgoyMDExLTAzLTIyIDIwOjUzOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYWxzbyAjNDMyNjEyLgoKMjAxMS0wMy0xMCAxNjowMzo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIGZvciBQVFMgbWV0YWRhdGEgd2hlbiBzbyBjb25maWd1cmVkCgkgIC4uLiBhbmQgbm90IG9ubHkgd2hlbiBzb3J0LW9mIGZlZWxpbmcgbGlrZSBpdC4KCSAgSW4gYW55IGNhc2UsIGlmIGl0IHR1cm5zIG91dCBhbGwgcmVhbGx5IGlzIGluIG9yZGVyLAoJICBhbmQgcHJlc3VtYWJseSBEVFMgPT0gUFRTLCB0aGVuIG5vIGN0dHMgd2lsbCBiZSBwcm9kdWNlZCBhbnl3YXkuCgoyMDExLTAzLTEwIDE2OjAyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsc28gdHJhY2sgb3JpZ2luYWwgUFRTIGJ1ZmZlciB0aW1lc3RhbXAgaW4gcmVvcmRlciBkdHMtbWV0aG9kCgoyMDExLTAyLTIxIDEyOjE0OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkODc0MDQ3NmNjZDNhMzQ5OGRjNGYxOGMxOTczMzY0MzgyNWM3YjguCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMCAyMzo1NzoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDEtMTMgMTE6Mjg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdDogcXRtdXg6IFRlc3RzIHF0bXV4IHJldXNlCgkgIEZvcmNlcyB0aGUgdXNlIG9mIHF0bXV4IGFmdGVyIGl0IGhhcyBiZWVuIHB1dCB0byBQTEFZSU5HIGFuZCBiYWNrCgkgIHRvIE5VTEwgb25jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEzIDE1OjI3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzcmMgcGFkcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgLi4uIHJhdGhlciB0aGFuIGF0IF9pbml0IHRpbWUsIHNvIHRoZXkgYXJlIGFsc28gYXZhaWxhYmxlIGZvbGxvd2luZyBhCgkgIHBhZCAoZGUpYWN0aXZhdGlvbiBjeWNsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0wMyAxNzoyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkanVzdCBuYXN0eSBjYXNlIHRpbWVzdGFtcCB0cmFja2luZwoJICBUaGF0IGlzLCBhbGwgc29ydHMgb2YgcHJvYmxlbXMgYXJpc2Ugd2l0aCByZS1vcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMgdGhhdAoJICB0ZW5kIHRvIGRlZnkgYXV0b21hZ2ljIGhhbmRsaW5nIGZvciBldmVyeSBjYXNlLCBzbyBhbGxvdyBmb3IgYSBmZXcgdmFyaWF0aW9ucwoJICB0aGF0IGNhbiBiZSB0cmllZCBkZXBlbmRpbmcgb24gY2lyY3Vtc3RhbmNlcy4KCSAgQWxzbyB0cnkgdG8gZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgkgIEFsc28gZml4ZXMgIzYzODI4OC4KCjIwMTAtMTItMzAgMjE6NDg6NDEgKzAyMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZ2V0IHJpZCBvZiB0aW1lc3RhbXAgb3ZlcnByb3RlY3RpdmVuZXNzCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wMS0wMyAxNjo1Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IGFuZCBmaXggcHRzX29mZnNldCBzdG9yaW5nCgkgIEluIHBhcnRpY3VsYXIsIG9ubHkgd3JpdGUgYSBjdHRzIGF0b20gaWYgYW5kIG9ubHkgaWYgZXZlciBhIG5vbi16ZXJvIG9mZnNldC4KCjIwMTEtMDEtMDMgMTA6NDM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHNvbWUgbW9yZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE1OjIzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBsYXJnZS1maWxlIHByb3BlcnR5CgkgIFJhdGhlciwgYXV0by1kZXRlcm1pbmUgaWYgNjQtYml0cyBmaWVsZHMgYXJlIG5lZWRlZCBmb3IgYSB2YWxpZCByZXN1bHQsIGFuZAoJICBzdGljayB0byBwbGFpbiAzMi1iaXRzIGlmIG5vdCBuZWVkZWQuCgkgIEFQSTogR3N0UVRNdXg6bGFyZ2UtZmlsZSAocmVtb3ZlZCkKCjIwMTAtMTItMTkgMTI6NTM6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBBdG9tSW5mbyBzdHJ1Y3RzCgoyMDEwLTEyLTE5IDEyOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgdGFnIHN0cmluZyBhZnRlciB1c2UKCjIwMTAtMTItMTkgMTI6MTI6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IEZpeCBzb21lIG1vcmUgbWVtb3J5IGxlYWtzCgoyMDEwLTEyLTE3IDE5OjQxOjI1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbGxvdyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoKMjAxMC0xMi0wMyAxODowOTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMSAxMDo0NTo0OSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXN2YyBmdHJ1bmNhdGUgaW5jb21wYXRpYmlsaXR5CgkgIEZpeGVzICM2MzYxODUuCgoyMDEwLTExLTI3IDE2OjA3OjE5IC0wNjAwICBBbGVqYW5kcm8gR29uemFsZXogPGFnb256YWxlekBkZXh0cmF0ZWNoLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdzdF9xdG11eF9jaGVja19kaWZmZXJlbmNlIHZlcmlmeSBiZWZvcmUgc3VidHJhY3QKCSAgQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgYnkgY2hlY2tpbmcgdGhlIG9yZGVyIG9mIG9wZXJhbmRzCgkgIG9uIHN1YnRyYWN0aW9uIG9mIHVuc2lnbmVkIGludGVnZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODc4CgoyMDEwLTExLTE5IDE3OjU1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSByZW1uYW50IG9mIG9ic29sZXRlIHByb3BlcnR5CgoyMDEwLTExLTE5IDE1OjE4OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWxzbyB1bml0IHRlc3QgZnJhZ21lbnRlZCBmaWxlIGNhc2VzCgoyMDEwLTA3LTMwIDEyOjQ4OjI5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWxsb3cgc3BlY2lmeWluZyB0cmFrIHRpbWVzY2FsZQoJICBUaGlzIGlzIG1haW5seSBiZWNhdXNlIFNtb290aHN0cmVhbWluZyBjbGllbnQgYXJlIGJyb2tlbiBhbmQgZG9uJ3QKCSAgdGFrZSB0aGUgVGltZVNjYWxlIHByb3BlcnR5IGludG8gYWNjb3VudC4KCjIwMTAtMTEtMTkgMTc6NDE6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgc2R0cCBhdG9tcyBmb3IgaXNtdiBmcmFnbWVudGVkIGZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0xOSAxOToxNzo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmFibGUgZGVmYXVsdCBmcmFnbWVudGVkIGZpbGUgZm9yIGlzbWxtdXgKCjIwMTAtMDktMDIgMTM6NTg6MDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBpc21sbXV4LCBmb3IgZnJhZ21lbnRlZCBpc21sIG1ham9yIGJyYW5kCgoyMDEwLTExLTE5IDE0OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpbmFsaXplIHNpbmtwYWRzIGxpc3QKCjIwMTAtMDctMjIgMTk6NDA6MDcgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG1vb3YgaW4gc3RyZWFtaGVhZGVyCgoyMDEwLTA4LTA2IDEzOjI2OjI3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWRkIHN0cmVhbWFibGUgcHJvcGVydHkgdG8gYXZvaWQgYnVpbGRpbmcgZnJhZ21lbnRlZCBtZnJhIGluZGV4CgoyMDEwLTExLTE4IDE2OjQ4OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBtZnJhIHRvIGZyYWdtZW50ZWQgZmlsZQoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTUgMTU6MTc6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogb3B0aW9uYWxseSBjcmVhdGUgZnJhZ21lbnRlZCBmaWxlCgkgIEluIHRoaXMgbW9kZSwgYW4gaW5pdGlhbCBlbXB0eSBtb292IChjb250YWluaW5nIG9ubHkgc3RyZWFtIG1ldGFkYXRhKSBpcyB3cml0dGVuLAoJICBmb2xsb3dlZCBieSBmcmFnbWVudHMgY29udGFpbmluZyBhY3R1YWwgZGF0YSAoYWxvbmcgd2l0aCByZXF1aXJlZCBtZXRhZGF0YSkuCgkgIE5ldyBmcmFnbWVudHMgYXJlIHN0YXJ0ZWQgZWl0aGVyIGF0IGtleWZyYW1lIChpZiBzdWNoIGFyZSBzcGFyc2UpIG9yIHdoZW4KCSAgcHJvcGVydHkgY29uZmlndXJlZCBkdXJhdGlvbiBleGNlZWRlZC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIEZpeGVzICM2MzI5MTEuCgoyMDEwLTExLTE1IDE1OjEyOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHVzZSBoZWxwZXIgdG8gc2V0IGF0b20gZmxhZ3MgZnJvbSBnaXZlbiB1aW50CgoyMDEwLTExLTA5IDE2OjQ5OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGNvbmZpZ3VyaW5nIGFuZCBzZW5kaW5nIG9mIG1vb3YKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTA5IDE1OjU0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGV4dHJhIHRvcC1sZXZlbCBhdG9tIGhhbmRsaW5nCgkgIEFsc28gY2hlY2sgYSBiaXQgbW9yZSBmb3IgcG9zc2libGUgZXJyb3JzLCBhbmQgZnJlZSBwcm9wZXIgaXRlbXMgaW4gc3VjaCBjYXNlLgoKMjAxMC0xMS0wOSAxNTowMToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBzbGlnaHRseSB1c2luZyBidWZmZXIgaGVscGVyCgoyMDEwLTExLTA1IDEzOjQ4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgY29tbWVudAoKMjAxMC0xMS0wNSAxMjowODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZGVsZWdhdGUgbXZleCBoYW5kbGluZyB0byBhdG9tcwoJICAuLi4gd2hpY2gga2VlcHMgcXRtdXggc2ltcGxlci4KCjIwMDktMDktMjggMTY6MTE6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtdmV4L3RyZXggaW4gaGVhZGVyIGlmIGZyYWdtZW50ZWQKCSAgT25lICJ0cmV4IiBpcyBhZGRlZCBwZXIgInRyYWsiLiBXZSBkb24ndCBzdXBwb3J0IGRlZmF1bHQgdmFsdWVzLAoJICBidXQgdGhlICJ0cmV4IiBib3ggaXMgbWFuZGF0b3J5LgoKMjAwOS0wOS0yOCAxMzowMTozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIGEgY291cGxlIG9mIGZvdXJjYyBmb3IgZnJhZ21lbnRlZCBtcDQKCjIwMTAtMTEtMDUgMTE6MDg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgcmVtb3ZpbmcgdGVtcCBmaWxlIHdoZW4gZXJyb3Igb2NjdXJyZWQKCjIwMDktMDktMzAgMTc6MTY6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdHJ1bmNhdGUgYnVmZmVyIGZpbGUgYWZ0ZXIgZWFjaCBzZW5kCgoyMDA5LTA5LTI4IDE2OjUzOjUxICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB0ZW1wIGZpbGUgd2hlbiByZXNldC9maW5hbGl6ZQoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTMgMTc6NDc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gYWRqdXN0aW5nIGZyYW1lcmF0ZQoJICBGaXhlcyAjNjMyMDcwLgoKMjAxMC0xMC0wMyAyMzo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBxdG11eCBwcm9wZXJ0aWVzCgoyMDEwLTA5LTE1IDE3OjU0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEZvbGxvdyB4bXAgc2VyaWFsaXphdGlvbiBndWlkZWxpbmVzIGNsb3NlcgoJICBxdCBhbmQgaXNvbSB2YXJpYW50cyBoYXZlIGRpZmZlcmVudCB3YXlzIG9mIHNlcmlhbGl6aW5nCgkgIHhtcCwgZm9sbG93IHRoZXNlIGd1aWRlbGluZXMuCgkgIFRob3NlIGNhbiBiZSBmb3VuZCBpbiBBZG9iZSdzIHhtcCBkb2NzLgoKMjAxMC0wOC0xNiAxMjozNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdXRvZGV0ZWN0IG91dC1vZi1vcmRlciBpbnB1dCB0aW1lc3RhbXBzIGFuZCBkZXRlcm1pbmUgRFRTIGFjY29yZGluZ2x5CgkgIEZhdm91ciB1c2luZyBpbnB1dCBidWZmZXIgdGltZXN0YW1wcyBmb3IgRFRTLCBidXQgZmFsbGJhY2sgdG8gdXNpbmcgYnVmZmVyCgkgIGR1cmF0aW9uIChhY2N1bXVsYXRpb24pIGlmIGlucHV0IHRzIGRldGVjdGVkIG91dC1vZi1vcmRlci4KCSAgRml4ZXMgIzYyNDIxMi4KCjIwMTAtMDctMjggMTY6MTU6NTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNhcHMgYml0cmF0ZSBhdCBsYXN0IGNoYW5jZQoJICBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBzdHJlYW0ncyBiaXRyYXRlIGZyb20gb25lIG9mIHRoZSBhdG9tcywKCSAgdHJ5IGdldHRpbmcgaXQgZnJvbSB0aGUgY2FwcyBhcyBhIGxhc3QgcmVzb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI4IDE2OjEyOjExICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGJ0cnQgLSBtYXggYml0cmF0ZSBiZWZvcmUgYXZlcmFnZQoJICBBY2NvcmRpbmcgdG8gaXNvIGJhc2UgbWVkaWEgZmlsZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZQoJICBpcyBiZWZvcmUgdGhlIGF2ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTA2IDE0OjQ4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSAnYnRydCcgYXRvbSBmb3IgSC4yNjQgbWVkaWEgaWYgcG9zc2libGUKCSAgVGhpcyB3cml0ZXMgb3V0IHRoZSBvcHRpb25hbCAnYnRydCcgYXRvbSAoTVBFRzRCaXRyYXRlQm94KSBmb3IgSC4yNjQKCSAgbWVkaWEgaWYgZWl0aGVyIG9yIGJvdGggb2YgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlIGFyZSBhdmFpbGFibGUgZm9yCgkgIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDUgMTQ6MDk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogV3JpdGUgYXZnL21heCBiaXRyYXRlIHRvIEVTRFMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgY29sbGVjdHMgdGhlICdiaXRyYXRlJyBhbmQgJ21heGltdW0tYml0cmF0ZScgdGFncyBvbiB0aGUKCSAgY29ycmVzcG9uZGluZyBwYWQgYW5kIHVzZXMgdGhlc2UgdG8gcG9wdWxhdGUgdGhlc2UgZmllbGRzIGluIHRoZSBFU0RTCgkgIHdoZXJlIGFwcGxpY2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDIgMTI6NDU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1c2UgYm9ndXMgY29kZWMvZm9ybWF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NQoKMjAxMC0wNi0yNSAyMDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSB1aW50IHRhZ3MgdGhhdCBkb24ndCBoYXZlIGEgY29tcGxlbWVudAoJICBXcml0ZSB1aW50IHRhZ3MgdGhhdCBoYXZlIGNvbXBsZW1lbnRzIChlLmcuIHRyYWNrLW51bWJlci8KCSAgdHJhY2stY291bnQpIGV2ZW4gd2hlbiB3ZSBvbmx5IGhhdmUgb25lIG9mIHRoZW0gYXZhaWxhYmxlCgkgIGFuZCBzZXQgdGhlIG90aGVyIG9uZSB0byAwLgoJICBGaXhlcyAjNjIyNDg0CgoyMDEwLTA2LTIxIDE5OjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIHRoZSBwYWQgZnJvbSBvdXIgaW50ZXJuYWwgbGlzdCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0cGFkcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGVuZCB1cCB3aXRoIHRoZSBjb2xsZWN0cGFkZGF0YSBzdHJ1Y3R1cmUgYWxyZWFkeSBmcmVlZC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYSBib2d1cyBpdGVyYXRpb24gb2YgbXV4LT5zaW5rcGFkcyAoYWxsIHRoZQoJICBHc3RRVFBhZCBiZWluZyBmcmVlZCkgYW5kIGl0IHdvdWxkbid0IGJlIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QuCgkgIEZpbmFsbHksIGR1ZSB0byBpdCBub3QgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdCwgd2Ugd291bGQgZW5kIHVwCgkgIGNhbGxpbmcgYSBib2d1cyBnc3RfcXRfbXV4X3BhZF9yZXNldCBvbiB0aG9zZSBzdHJ1Y3R1cmVzID0+IFNFR0ZBVUxUCgoyMDEwLTA1LTEyIDE4OjUwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIFZQOAoKMjAxMC0wNS0xMSAxMzoxNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBkb24ndCBmYWlsIHRhZ3NjaGVja2luZyB0ZXN0IGlmIHF0ZGVtdXggaXMgbm90IGF2YWlsYWJsZSBvciB0b28gb2xkCgoyMDEwLTAzLTI3IDA5OjQ2OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IHVzZSBHU3RyZWFtZXIgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4gaW4gdGhlIHBsdWdpbiBpbmZvCgoyMDEwLTAzLTIzIDE3OjM0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogTmV3IHRhZ3MgdGVzdHMKCSAgQWRkcyBuZXcgdGFncyBjaGVja2luZyB0ZXN0cy4KCjIwMTAtMDMtMjUgMDA6MjA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xMiAxMToyODo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IEltcHJvdmVtZW50cyBhbmQgbmV3IGdlby1sb2NhdGlvbiB0ZXN0cwoJICBNYWtlcyBzb21lIGltcHJvdmVtZW50cyB0byB0YWdzY2hlY2tpbmcuYywgbWFraW5nIGl0IHVzZQoJICBmYWtlc3JjIGluc3RlYWQgb2YgdmlkZW90ZXN0c3JjIGFuZCBhbGxvd2luZyB0byBzZXQgaW5wdXQKCSAgY2FwcyBzbyB0aGF0IG1vcmUgbXV4ZXJzIGNhbiBiZSB1c2VkLiBQcmV2aW91c2x5IHdlIGNvdWxkCgkgIG9ubHkgdXNlIHRob3NlIHRoYXQgYWNjZXB0ZWQgcmF3IHZpZGVvIGNhcHMuCgkgIEFsc28gYWRkcyBzb21lIHRlc3RzIGZvciBnZW8tbG9jYXRpb24gdGFncwoKMjAxMC0wMy0xMiAxMDo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgeG1wIG9uIG1wNG11eCBhbmQgZ3BwbXV4IHRvbwoJICBEbyBub3QgcmVzdHJpY3QgeG1wIHRvIHF0bXV4LCBidXQgdXNlIGl0IHRvbwoJICBvbiBtcDRtdXggYW5kIGdwcG11eAoKMjAxMC0wMy0wNSAxMzozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGNoZWNrOiB0YWdzY2hlY2tpbmc6IHRlc3RzIGZvciB0YWdzIHNlcmlhbGl6YXRpb24gaW4gbXV4ZXJzCgkgIEFkZHMgYSBjaGVjayB1bml0IHRlc3QgdGhhdCBhaW1zIHRvIHRlc3QgdGFncyBzZXJpYWxpemF0aW9uCgkgIGFuZCBkZXNlcmlhbGl6YXRpb24gY29uc2lzdGVuY3kgKGluIG11eGVycykuIEl0IHByb3ZpZGVzIGEKCSAgYmFzaWMgZnVuY3Rpb24gdGhhdCBhbGxvd3Mgb25lIHRvIGVhc2lseSBzcGVjaWZ5IHRhZ3MsIGEKCSAgbXV4ZXIgYW5kIGEgZGVtdXhlciBhbmQgYSB0ZXN0IHdpbGwgYmUgZG9uZSB0byBjaGVjayBpZgoJICB0aGUgdGFncyBoYXZlIGJlZW4gY29uc2lzdGVudGx5IG11eGVkIGFuZCBkZW11eGVkCgoyMDEwLTAyLTIyIDE2OjQ1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgeG1wIHN1cHBvcnQKCSAgQWRkcyB4bXAgbWV0YXRhZ3MgYWRkaW5nIHRvIHF0bXV4LgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDE3OjE3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIFdlIG5lZWQgdG8gcGFzcyAoTlVMTCkgcmF0aGVyIHRoYW4gTlVMTCBmb3IgZW1wdHkgYXJndW1lbnRzLgoKMjAxMC0wMy0xMCAxMDoyMzoyMyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoyNjg6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAyLTIyIDE5OjM4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IFJlbmFtZSAnYXZjLXNhbXBsZScgdG8gJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTI2IDExOjUwOjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFRha2UgbG9jayBhcm91bmQgdXNlIG9mIChub24tdGhyZWFkc2FmZSkgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMTAtMDItMjIgMTY6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogd3JpdGUgYWxsIHVkdGEgY2hpbGRyZW4gYXRvbXMKCSAgVURUQSBtaWdodCBoYXZlIE1FVEEgYW5kIG90aGVyIGNoaWxkcmVuIGF0b21zCgkgIHRvZ2V0aGVyLCB3cml0ZSB0aGVtIGFsbC4KCjIwMTAtMDItMjIgMTA6NDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgaW50ZXJuYWwgc2luayBwYWRzIGxpc3QKCSAgRHVlIHRvIEdzdENvbGxlY3RQYWRzIHNpbmsgcGFkcyBsaXN0IGJlaW5nIG5vdCByZWxpYWJseQoJICBpdGVyYXRhYmxlICh3aGVuIG5vdCBpbnNpZGUgdGhlIGNvbGxlY3RlZCBmdW5jdGlvbikgdGhpcwoJICBwYXRjaCBhZGRzIGEgc2luayBwYWRzIGxpc3QgdG8gcXRtdXggdG8gYmUgdXNlZCB3aGVuIGl0ZXJhdGluZwoJICBzaW5rIHBhZHMgb24gcmVzZXQgZnVuY3Rpb24uCgkgIEZpeGVzICM2MDkwNTUKCjIwMTAtMDItMTYgMTc6MTM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogcHJldmVudCBsZWFraW5nIGhkbHIgbmFtZQoKMjAxMC0wMi0xNiAxNjoyNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBBTEFDCgkgIEZpeGVzICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE0OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGJ1aWxkaW5nIHN0c2QgZW50cnkgJ3dhdmUnIGV4dGVuc2lvbgoKMjAxMC0wMi0wOCAxMTo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IGF0b21zcmVjb3Zlcnk6IEZpeCBjb21waWxhdGlvbiBwcm9ibGVtCgkgIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3IgZHVlIHRvIHVudXNlZCBmdW5jdGlvbiByZXN1bHQuCgoyMDA5LTEyLTEyIDE2OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IEFkZHMgbW9vdiByZWNvdmVyeSBmZWF0dXJlCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gcXRtdXggdGhhdCBzZXRzIGEgcGF0aCB0byBhIGZpbGUgdG8gd3JpdGUKCSAgYW5kIHVwZGF0ZSBkYXRhIGFib3V0IHRoZSBtb292IGF0b20gKHRoYXQgaXMgbm90IHdyaXRlbiB0aWxsIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUpLiBJZiB0aGUgcGlwZWxpbmUvYXBwIGNyYXNoZXMgZHVyaW5nIGV4ZWN1dGlvbiBpdAoJICBtaWdodCBiZSBwb3NzaWJsZSB0byByZWNvdmVyIHRoZSBtb3ZpZSB1c2luZyB0aGUgcXRtb292cmVjb3ZlciBlbGVtZW50LgoJICBxdG1vb3ZyZWNvdmVyIGlzIGFuIGVsZW1lbnQgdGhhdCBpcyBhbHNvIGEgcGlwZWxpbmUuIEl0IGlzIG5vdAoJICBtZWFudCB0byBiZSB1c2VkIHdpdGggb3RoZXIgZWxlbWVudHMgKGl0IGhhcyBubyBwYWRzKS4gSXQgaXMgbWVyZWx5CgkgIGEgdG9vbC91dGlsaXRhcnkgdG8gcmVjb3ZlciB1bmZpbmlzaGVkIHF0bXV4IGZpbGVzLgoJICBGaXhlcyAjNjAxNTc2CgoyMDEwLTAxLTI3IDE5OjA2OjUzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGZvciBmaXhlZC1zYW1wbGUgc2l6ZSBzdHJlYW1zIChQQ00gYXVkaW8sIGV0YykgZG9uJ3QgYWxsb2NhdGUgYW4gZW5vcm1vdXMgYnVmZmVyIHRoYXQgd2UgdGhlbiB3b24ndCB1c2UgYXQgYWxsLgoKMjAxMC0wMS0yNyAxNTozNzozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXV4aW5nIGFkcGNtIGNvcnJlY3RseS4KCjIwMTAtMDEtMjIgMTM6MzY6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogU2V0IHRoZSBtZGlhIGhkbHIgbmFtZSBmaWVsZCB0byB3aGF0IHF1aWNrdGltZSB1c2VzLiBGaXggd3JpdGluZyBpdCBzaW5jZSBpdCdzIG5vdCBudWxsLXRlcm1pbmF0ZWQuIEltcHJvdmVzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGhhcmR3YXJlIHBsYXllcnMuCgoyMDEwLTAxLTIyIDEzOjMwOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuZGlhbm5lc3MgaW4gZ3N0cmVhbWVyIGlzIGFuIGludCwgbm90IGJvb2xlYW4uCgoyMDEwLTAxLTI2IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICBxdG11eDogc3RyZWFtbGluZSBtb292IGRhdGEgbWVtb3J5IHN0b3JhZ2UKCSAgSW4gcGFydGljdWxhciwgdXNlIGFycmF5cyByYXRoZXIgdGhhbiAoZG91YmxlKSBsaW5rZWQgbGlzdHMuCgoyMDEwLTAxLTI2IDEzOjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMjAgMTM6MzA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgW2NsZWFudXBdIFZhcmlvdXMgc3R5bGUgYW5kIGNsZWFudXBzCgkgIFZhcmlvdXMgZml4ZXMgZm9yIGd0ay1kb2Mgd2FybmluZ3MgYW5kIG1ha2luZyBmdW5jdGlvbnMgd2l0aG91dAoJICBhcmd1bWVudHMgdGFrZSB2b2lkIGFzIHBhcmFtZXRlci4KCjIwMTAtMDEtMTQgMDg6MDk6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY3R1YWxseSB1c2UgbmV3IGNhcHMgaW5mbyBvbiByZW5lZ290aWF0aW9uCgkgIEZvbGxvd2luZyB0aGUgcHJldmlvdXMgcXRtdXggY29tbWl0LCB0aGlzIHBhdGNoIHRyaWVzCgkgIHRvIHVzZSB0aGUgbmV3IGluZm8gYWRkZWQgdG8gdGhlIGNhcHMgdG8gZmlsbCB0aGUgJ3RyYWsnCgkgIGF0b20ncyBmaWVsZHMgYW5kIGNoaWxkcmVuIGF0b21zLiBUaGlzIHdheSBxdG11eCB3aWxsCgkgIHVzZSB0aGUgbGF0ZSBhZGRlZCAnY29kZWNfZGF0YScgd2hlbiBoMjY0cGFyc2UgYWRkcwoJICBpdCBpbiB0aGUgZm9sbG93aW5nIHBpcGVsaW5lOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDIzOjMzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gaXQgb25seSBhZGRzIGZpZWxkcwoJICBRdG11eCBjYW4gYWNjZXB0IGNhcHMgcmVuZWdvdGlhdGlvbiBpZiB0aGUgbmV3IGNhcHMgaXMgYQoJICBzdXBlcnNldCBvZiB0aGUgb2xkIG9uZSwgbWVhbmluZyB1cHN0cmVhbSBhZGRlZCBuZXcgaW5mbyB0bwoJICB0aGUgY2Fwcy4gVGhpcyBwYXRjaCBzdGlsbCBkb2Vzbid0IG1ha2UgcXRtdXggdXBkYXRlIGFueQoJICBhdG9tcyBpbmZvIGZyb20gdGhlIG5ldyBpbmZvLCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndAoJICByZWplY3QgdGhlIG5ldyBjYXBzIGFueW1vcmUuCgkgIEEgcGlwZWxpbmUgdGhhdCByZXByb2R1Y2VzIHRoaXMgdXNlIGNhc2UgaXM6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMTk6MzA6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSByZXF1ZXN0IHBhZHMgdW5kZXIgd2lkZXIgY29uZGl0aW9ucwoJICBGaXhlcyAjNjA2ODU5LgoKMjAxMC0wMS0xMyAxMDozNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBhdmMtc2FtcGxlIGgyNjQKCSAgcXRtdXggYW5kIG1wNG11eCBzaG91bGQgb25seSBhY2NlcHQgaDI2NCBpbiBhdmMtc2FtcGxlCgkgIGZvcm1hdAoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxMDozNDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IHN0cmVhbS1mb3JtYXQ9J25vbmUnIGFhYwoJICBPbmx5IGFjY2VwdCByYXcgYWFjIHN0cmVhbXMgKHN0cmVhbS1mb3JtYXQ9bm9uZSkgdG8gYXZvaWQKCSAgZ2VuZXJhdGluZyBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyAjNjA0OTI1CgoyMDA5LTEyLTI4IDExOjM0OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbHNvIGFkZCAuaCBmaWxlIGNoYW5nZXMgdG8gdW5icmVhayB0aGUgYnVpbGQKCjIwMDktMTItMjcgMjM6NTE6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjb3JyZWN0IG5hbWVzIGZyb20gdGVtcGxhdGUgZm9yIHJlcXVlc3QgcGFkcwoJICBUaGUgcGFkcyB3aGVyZSBuYW1lcyBwYWQwLCBwYWQxLCAuLi4KCjIwMDktMTItMjcgMjM6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vdmUgZXJyb3JzIF9uZXdfcGFkIHRvIHRoZSBlbmQKCjIwMDktMTItMjEgMTM6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWNjZXB0IG5vbi1wYWlyZWQgdWludCB0YWdzCgkgIEFkZHMgc3VwcG9ydCBmb3IgdW5wYWlyZWQgdW5zaWduZWQgaW50ZXJnZXIgdGFncwoKMjAwOS0xMi0yMSAxMjowNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRzIG5ldyB0YWdzCgkgIE1hcHMgbW9yZSB0YWdzIHRoYXQgYXJlIGFscmVhZHkgcG9zdGVkIGJ5IHF0ZGVtdXgKCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0xMCAyMjoyMDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgbW9yZSBvZiBqMmsKCSAgUmVhZHMgdGhlIG5ldyBjYXBzIGFkZGVkIHRvIHF0ZGVtdXggYnkgY29tbWl0CgkgIGM5MTdkNjVlNmRmMGI1ZDU4NWY5MDVjN2FkNzhhOGEwYTQ0YjJjYjAKCSAgYW5kIGFkZHMgaXRzIGNvcnJlc3BvbmRpbmcgYXRvbXMuCgkgIEFsc28gYWRkcyBzdXBwb3J0IGZvciBpbWFnZS94LWpwYyBhcyBpdCBpcyB0aGUgc2FtZQoJICBhcyBpbWFnZS94LWpwMiwgZXhjZXB0IHRoYXQgdGhlIGJ1ZmZlcnMgbmVlZCB0byBiZQoJICBib3hlZCBpbnNpZGUgYSBqcDJjIGlzb20gYm94IGJlZm9yZSBtdXhpbmcuIFRvIHNvbHZlCgkgIHRoaXMgdGhlIFFUUGFkcyBub3cgaGF2ZSBhIGZ1bmN0aW9uIHRoYXQgKGlmCgkgIG5vdCBOVUxMKSBpcyBjYWxsZWQgd2hlbiBhIGJ1ZmZlciBpcyBjb2xsZWN0ZWQuIFRoaXMKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHJlcGxhY2VtZW50IHRvIHRoZSBjdXJyZW50IGNvbGxlY3RlZAoJICBidWZmZXIuCgkgIEZpeGVzICM1OTg5MTYKCjIwMDktMTItMTAgMTY6NTM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBNYXBzICdjbGFzc2lmaWNhdGlvbicgdGFnIGZvciAzZ3BwIGZpbGVzCgkgIEFkZHMgdGhlIG1hcHBpbmcgb2YgJ2NsYXNzaWZpY2F0aW9uJyB0YWdzIHRvIHdyaXRpbmcgb2YKCSAgJ2Nsc2YnIGF0b21zIGZvciBncHBtdXguCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCjIwMDktMTItMDggMTc6NTk6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgYysrIGNvbW1lbnRzIGFuZCBhZGQgc29tZSBtb3JlIGNvbW1lbnRzLgoKMjAwOS0xMi0wOCAxNzo1NTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgaW1hIGFkcGNtIHN1cHBvcnQKCjIwMDktMTEtMjUgMjE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwbGFjZSBfc2NhbGUgd2l0aCBfc2NhbGVfcm91bmQKCSAgVXNlIHRoZSByb3VuZGluZyB2ZXJzaW9uIGZvciBpbXByb3ZlZCBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCSAgU21hbGwgdmFyaWF0aW9ucyBpbiB0aGUgZHVyYXRpb24gd2hlbiBtdXhpbmcgbWlnaHQgbGVhZCB0bwoJICBjdW11bGxhdGl2ZSB3cm9uZyB0aW1lc3RhbXBpbmcgd2hlbiBkZW11eGluZy4KCSAgRml4ZXMgIzYwMjkzNgoKMjAwOS0xMS0yNCAxNjoxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wcyBmb3IgbXV4aW5nCgkgIFRyeSB0byB1c2UgdGltZXN0YW1wcyBldmVuIHdoZW4gdGhlIHN0cmVhbSBoYXMgb3V0IG9mIG9yZGVyCgkgIHRpbWVzdGFtcHMsIG9ubHkgZmFsbCBiYWNrIHRvIGR1cmF0aW9ucyB3aGVuIHdlIGRldGVjdCBhbgoJICBvdXQgb2Ygb3JkZXIgYnVmZmVyLiBJbXByb3ZlcyBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCjIwMDktMTEtMTkgMTg6Mjg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCSAgQWRkcyBhIG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCjIwMDktMTEtMTkgMTE6MzY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMTEtMTkgMTE6MTQ6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5zdXJlIHdyaXRhYmxlIGJ1ZmZlciBtZXRhZGF0YSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDA5LTEwLTI5IDA4OjM2OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIFNWUTMKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgU1ZRMyBjb250ZW50LiBVc3VhbGx5IHRoaXMgZm9ybWF0CgkgIGhhcyBkZWNvZGVyIGluZm8gdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgJ3NlcWgnIGZpZWxkCgkgIGluIHRoZSBjYXBzLiBJdCBpcyBhbHNvIGdvb2QgdG8gYWRkIHRoZSBnYW1hIGF0b20gdG8gbWFrZQoJICBxdWlja3RpbWUgbm90IGNyYXNoLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE3IDA5OjI2OjA1IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCBsZWFrIGEgc3RyaW5nCgkgIEZyZWVzIGEgc3RyaW5nIGFmdGVyIHVzZS4gQWxzbyBkb2VzIHNvbWUgY29kZSBvcmdhbml6YXRpb24KCjIwMDktMTEtMTYgMTQ6NTc6NTMgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZG8gbm90IGFkZCBzaXplIHRvIHRoZSBwb2ludGVyIHZhcmlhYmxlCgkgIERvIG5vdCB3cm9uZ2x5IGFkZCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUKCSAgcG9pbnRlciB0byB0aGUgYnVmZmVyIHNpemUuIEluc3RlYWQsIGNoZWNrIHRoZSByZXN1bHQKCSAgdG8gc2VlIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBvay4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIkNhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPiIKCSAgRml4ZXMgIzYwMjEwNgoKMjAwOS0xMS0wNiAxMDozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBoYW5kbGUgJ2xhdGUnIHN0cmVhbXMKCSAgV2hlbiBtdXhpbmcgc3RyZWFtcywgc29tZSBjYW4gc3RhcnQgbGF0ZXIgdGhhbiBvdGhlcnMuIHF0bXV4CgkgIG5vdyBoYW5kbGUgdGhpcyBieSBhZGRpbmcgYW4gZW1wdHkgZWR0cyBlbnRyeSB3aXRoIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgJ2xhdGVuZXNzJyB0byB0aGUgc3RyZWFtJ3MgdHJhay4KCSAgSXQgdG9sZXJhdGVzIGEgc3RyZWFtIHRvIGJlIHVwIHRvIDAuMXMgbGF0ZS4KCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0wNSAyMTozNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgcXRtdXg6IGFkZHMgdGhlIEVEVFMgYW5kIEVMVFMgYXRvbXMgdG8gYXRvbXMuYwoJICBUaGVzZSBhdG9tcyB3aWxsIGJlIHVzZWZ1bCBmb3Igc2lnbmFsaW5nIHN0cmVhbXMKCSAgdGhhdCBzdGFydCBsYXRlciBpbiB0aGUgZmlsZS4gQXMgd2VsbCBmb3IgYWRkaW5nCgkgIGVkaXQgbGlzdHMgaWYgbmVlZGVkIHNvbWV0aW1lIGxhdGVyLgoKMjAwOS0xMS0wNiAwMDo0NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBzb21lIGlmcyBmb3IgcHJvdGVjdGlvbgoJICBBZGRpbmcgc29tZXMgaWZzIHRvIHByb3RlY3QgYWdhaW5zdCB3YXJuaW5nIGNvbmRpdGlvbnMKCSAgdGhhdCBtaWdodCBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlbGVtZW50IGlzIG5vdCBzYW5lCgkgIEZpeGVzICM2MDA4OTUKCjIwMDktMTAtMTYgMTA6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBncHBtdXg6IEFkZCBzdXBwb3J0IGZvciAzZ3I2CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNodW5rIGR1cmF0aW9ucyB0byBiZSBhYmxlIHRvIGFkZCAzZ3I2CgkgIGJyYW5kIGlmIGl0IGlzIGEgZmFzdHN0YXJ0IGZpbGUgYW5kIHRoZSBsb25nZXN0IGNodW5rIGlzCgkgIHNtYWxsZXIgdGhhbiBhIHNlYy4gSW1wbGVtZW50ZWQgYWNjb3JkaW5nIHRvIDNncHAKCSAgVFMgMjYuMjQ0IHY2LjQuMCAoMjAwNS0wOSkKCSAgRml4ZXMgIzU4NDM2MQoKMjAwOS0xMC0xNSAyMToxMToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHB1c2ggZnR5cCBsYXRlciAoaW4gZmFzdHN0YXJ0IG1vZGUpCgkgIEluIGZhc3RzdGFydCBtb2RlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgdGhlIGZ0eXAKCSAgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLiBXYWl0aW5nIGFuZCBzZW5kaW5nIGl0CgkgIG9ubHkgbGF0ZXIgKHdoZW4gdGhlIG1vb3YgYXRvbSBpcyByZWFkeSB0byBiZSBzZW50KSBwcm92aWRlcwoJICB1cyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSBhbmQgd2UgY2FuIGJldHRlcgoJICBzZWxlY3QgdGhlIGNvbXBhdGlibGUgYnJhbmRzLgoKMjAwOS0xMC0xNSAxNzo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QgZ2V0IG9yIGVzdGltYXRlIHRoZQoJICB0aW1lc3RhbXAvZHVyYXRpb24gb2YgYSBidWZmZXIKCjIwMDktMDktMjkgMTU6NDc6MTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogZml4IGZsYWdzX2FzX3VpbnQgdG8gZmxhZ3NbXQoKMjAwOS0wOC0wNCAxMjo1ODozNSArMDIwMCAgSmFuIFVyYmFuc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVxdWlyZSBlbmRpYW5uZXNzIGZpZWxkIGZvciA4IGJpdCByYXcgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTAzNjAuCgoyMDA5LTA2LTI1IDA4OjM4OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDYtMjUgMDg6Mzg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wNi0xMSAxNTo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogb25seSB1c2UgKDY0LWJpdCkgZXh0ZW5kZWQgKG1kYXQpIGF0b20gc2l6ZSBpZiBuZWVkZWQuICBGaXhlcyAjNTg1MzE5LgoKMjAwOS0wNi0xMCAxNDo0NjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZGVmYXVsdCBtb3ZpZSB0aW1lc2NhbGUgdG8gbWljcm9zZWNvbmQgdW5pdHMKCjIwMDktMDYtMTAgMTM6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBxdG11eDogY29tcHJlc3Mvb3B0aW1pemUgc3RzYyB3cml0aW5nCgoyMDA5LTA2LTEwIDEyOjQyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCAzR1Agc3R5bGUgdGFnZ2luZyAoYW5kIHJlZmFjdG9yIGFwcHJvcHJpYXRlbHkpCgoyMDA5LTA2LTAxIDIzOjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4IChhbmQgdmFyaWFudHMpOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvLiAgRml4ZXMgIzU4NDM1OC4KCjIwMDktMDYtMDEgMjI6NDI6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBlbmhhbmNlIGZ0eXAgYnJhbmQgaGV1cmlzdGljLiAgRml4ZXMgIzU4NDM2MC4KCjIwMDktMDUtMjggMTM6NTY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGRpZmZlcmVudCBzdHNkIGF0b20gdHlwZSBmb3IgSDI2MyBmb3IgSVNPIGFuZCBRVCB2YXJpYW50cwoJICBGaXhlcyAjNTg0MTE0LgoKMjAwOS0wNS0xNSAwMTo1NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIFtxdG11eF0gRml4ZXMgc2VnZmF1bHQgd2hlbiBhZGRpbmcgYSBibG9iIGFzIGZpcnN0IHRhZy4KCSAgTW92ZXMgdGFncyBkYXRhIGluaXRpYWxpemF0aW9uIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGFwcGVuZHMKCSAgdGhlIHRhZ3MgdG8gdGhlIGxpc3QuIEZpeGVzICM1ODI3MDIKCSAgQWxzbyBmaXhlcyBzb21lIHN0eWxlIGNhdWdodCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoKMjAwOS0wNS0xMCAyMToyMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogQWRkIE1QRUctNCBwYXJ0IDIgdG8gc3VwcG9ydGVkIGZvcm1hdHMuICBGaXhlcyAjNTgxNTkzLgoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDQtMzAgMTQ6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogY2hhbmdlcyBjYXBzIG9mIHNyYyBwYWRzIHRvIHZpZGVvL3F1aWNrdGltZSwgdmFyaWFudD1zb21ldGhpbmcKCSAgVGFrZSBhIGxvb2sgYXQgYnVnICM1ODAwMDUgZm9yIGZ1cnRoZXIgaW5mby4KCjIwMDktMDQtMjQgMTg6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IENoYW5nZXMgc3JjIGNhcHMgdG8gYXBwbGljYXRpb24veC1pc28tbXA0CgkgIEZpeGVzICM1ODAwMDUKCjIwMDktMDMtMjUgMjE6MjQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHJldXNpbmcgZWxlbWVudAoJICBTdGF0ZSBjaGFuZ2UgdG8gUkVBRFkgYW5kIHRoZW4gYmFjayB0byBQQVVTRUQgc2hvdWxkIHN0aWxsIHByb3ZpZGUKCSAgdGhlIHByb3BlciBzdHJ1Y3R1cmVzIGFzIGFyZSBvdGhlcndpc2UgZnJlc2hseSBhdmFpbGFibGUgZm9sbG93aW5nCgkgIGEgcmVxdWVzdF9uZXdfcGFkLgoJICBQb2ludGVkIG91dCBieSBUaGlhZ28gU2FudG9zLgoKMjAwOS0wMy0yMyAxMToxNzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBpbmNsdWRlcyBmb3IgbHNlZWsKCSAgLS0KCjIwMDktMDMtMjAgMTQ6MjA6MTYgKzAxMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICB3aW4zMjogZml4IHNlZWtpbmcgaW4gbGFyZ2UgZmlsZXMKCSAgVXNlIF9sc2Vla2k2NCgpIG9uIFdpbmRvd3MgdG8gc2VlayBpbiBsYXJnZSBmaWxlcy4KCSAgRml4ZXMgIzU3NjAyMS4KCjIwMDktMDMtMDIgMTA6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBCZSBhIGJpdCBtb3JlIHZlcmJvc2UgaW4gb3VyIGRlYnVnIG1lc3NhZ2Ugd2hlbiBmYWlsaW5nIHRvIHJlbmVnb3RpYXRlCgoyMDA5LTAxLTI4IDEzOjI1OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgQWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQgaW4gcXRtdXggKGFuZCBmcmllbmRzKS4KCSAgU3VwcG9ydCBBTVIgYW5kIEgyNjMgZm9yIGJvdGggcXRtdXggYW5kIGdwcG11eCwKCSAgYW5kIGFkZCBleHRlbnNpb25zIGluIHNhbXBsZSB0YWJsZSBkZXNjcmlwdGlvbi4KCjIwMDktMDEtMDkgMjE6NTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydAoJICB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1NjY5NTgKCjIwMDgtMTItMTkgMTg6NTM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoKMjAwOC0xMi0xOSAxODozMzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgoyMDA4LTEyLTE2IDE2OjI2OjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcwoJICB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoKMjAwOC0xMi0wMSAxNjozNzo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiAoYnVpbGRfanAyaF9leHRlbnNpb24pOgoJICBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgoyMDA4LTExLTE4IDAxOjA5OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkKCSAgYWRkZWQuCgoyMDA4LTExLTE1IDAyOjU2OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguKjogVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoKMjAwOC0xMS0xNCAyMToyNDo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmg6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQuCgoyMDA4LTExLTE0IDIwOjM4OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgoyMDA4LTExLTE0IDIwOjE3OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvOiBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6IChidWlsZF9lc2RzX2V4dGVuc2lvbiksCgkgIChidWlsZF9tb3ZfYWFjX2V4dGVuc2lvbiksIChidWlsZF9qcDJoX2V4dGVuc2lvbiksCgkgIChidWlsZF9jb2RlY19kYXRhX2V4dGVuc2lvbik6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hdWRpb19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9xdF9tdXhfdmlkZW9fc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiAoZ3N0X3F0X211eF9tYXBfZm9ybWF0X3RvX2hlYWRlcik6CgkgIEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIEFsc28gYWN0dWFsbHkgaW1wbGVtZW50IElTTyBKUEVHMjAwMCBtajIgZm9ybWF0LgoKMjAwOC0xMS0xMSAxOTozMTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3F0bXV4KSwgKGNsZWFudXBfcXRtdXgpLAoJICAoY2hlY2tfcXRtdXhfcGFkKSwgKEdTVF9TVEFSVF9URVNUKSwgKHF0bXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCjIwMDgtMTEtMTEgMTk6MjQ6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOiBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYWRkX21ldGFkYXRhX3RhZ3MpOgoJICBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgoyMDA4LTExLTA4IDAyOjAwOjU4ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgRml4ZXMgIzU1MDI4MC4KCjIwMTEtMDQtMTIgMTg6MjU6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QvcXVpY2t0aW1lL0xFR0FMOgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L3F1aWNrdGltZS9xdHBhbGV0dGUuaDoKCSogZ3N0L3F1aWNrdGltZS9xdWlja3RpbWUuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHF0ZGVtdXg6IHJlbmFtZSBkaXJlY3RvcnkgdG8gcXVpY2t0aW1lIHRvIG1hdGNoIHBsdWdpbiBuYW1lCgkgIEluIHByZXBhcmF0aW9uIGZvciBxdG11eCBtb3ZpbmcgdG8gLWdvb2QuCgoyMDExLTA0LTEyIDExOjQ5OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNpbXBsaWZ5IGZyYW1lcmF0ZSBmcmFjdGlvbiBjYWxjdWxhdGlvbgoKMjAxMS0wMS0yNCAxNTo0NToyOCAtMDYwMCAgTGVvbmFyZG8gU2FuZG92YWwgPGxzYW5kb3ZhbEB0aS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGFkZCB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUgdG8gY2FwcyB3aGVuIHByZXNlbnQgb24gb25NZXRhRGF0YQoJICBGaXhlcyAjNjQwNDgzLgoKMjAxMC0wOC0yNCAxMzo1Nzo1NSArMDIwMCAgUGFzY2FsIEJ1aGxlciA8cGFzY2FsLmJ1aGxlckB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVbmtub3duIFNTUkMgaXMgbm90IGZhdGFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjYKCjIwMTAtMDgtMjQgMTM6NTQ6NTggKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBOdW1iZXIgb2YgYWN0aXZlIHNvdXJjZXMgc2hvdWxkIGJlIHVwZGF0ZWQgd2hlbmV2ZXIgdGhlIHN0YXR1cyBvZiB0aGUgc291cmNlIGNoYW5nZXMgdG8gYWN0aXZlCgkgIEZvcndhcmQtcG9ydGVkIGJ5IE9saXZpZXIgQ3LDqnRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NjUKCjIwMTAtMDYtMjMgMTE6Mjk6NTggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogaWdub3JlIGEgQllFIGlmIGl0IGlzIHNlbnQgd2l0aCBvdXIgaW50ZXJuYWwgU1NSQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY0CgoyMDEwLTAxLTI5IDA5OjQ5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkcyBtb3JlIGgyNjQgZmllbGRzIHRvIGl0cyBjYXBzCgkgIEFkZHMgYWxpZ25tZW50PWF1IGFuZCBzdHJlYW0tZm9ybWF0PWF2YyB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMS0wNC0xMSAxMjo0NDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhbHNvIGhhbmRsZSBkZXByZWNhdGlvbnMgZm9yIGphY2sgMS45LjcKCSAgSmFjayAxLjkuNyB3YXMgcmVsZWFzZWQgMjAuTWFyLjIwMTEsIG5lZWQgdG8gaGFuZGxlIHRoZSBkZXByZWNhdGVkIGFwaSBmb3IgdGhpcwoJICB2ZXJzaW9uIHRvby4KCjIwMTEtMDQtMTEgMDA6MzY6MzUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0xMCAxODo1Njo1MiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogTWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTA1IDIxOjE0OjQzICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogZGVjbGFyZSBmcmFnX29mZnNldCB0byBob2xkIDMyYml0cy4KCSAgQXMgc3BlY2lmaWVkIGluIGRvY3VtZW5hdGlvbiBhYm92ZSBhbmQgYmVsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NTQKCjIwMTEtMDQtMDkgMTI6NDE6NDggKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IHdyb25nbHkgYXBwbGllZCBwYXRjaAoJICBPYnZpb3VzbHkgcmVjdl9ydHBfc2luayBkb2VzIG5vdCBoYXZlIG11Y2ggdG8gZG8gd2l0aCBzZW5kX3J0Y3Bfc3JjLi4uCgkgIFNlZSBjb21taXQgMDQ2ZmYxNzAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDcyNjMKCjIwMTEtMDQtMDggMTU6NTk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIGZvciBzZXRfZnJhbWVfcHJvcHMgLT4gc2V0X2ZyYW1lX3JhdGUgQVBJIGNoYW5nZQoKMjAxMS0wNC0wOCAwMDowMzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGhvb2sgdXAgYXVkaW9wYXJzZXIgdW5pdCB0ZXN0cwoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCSAgRml4ZXMgdW5pdCB0ZXN0IGFnYWluIGFmdGVyIHByZXZpb3VzIGNoYW5nZS4KCjIwMTEtMDQtMDcgMTU6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wNC0wNyAxNToyMDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkgIGRvY3M6IGFkZCBhdWRpb3BhcnNlcnMgdG8gZG9jcwoKMjAxMS0wNC0wNyAxNTowNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogZ3N0X2Zvb3BhcnNlX3h5eiAtPiBnc3RfZm9vX3BhcnNlX3h5eiB0byBtYXRjaCBHc3RGb29QYXJzZQoJICBTZWUgbW92aW5nLXBsdWdpbnMgY2hlY2tsaXN0LgoKMjAxMS0wNC0wNyAxNDo0Mzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaG9vayB1cCB0byBidWlsZAoKMjAxMS0wNC0wNyAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcG9ydCB0byBuZXcgR3N0QmFzZVBhcnNlIGluIGNvcmUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wMSAxNDo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBhcnNlIGVuY29kZXIgZGVsYXkgYW5kIGVuY29kZXIgcGFkZGluZyBmcm9tIHRoZSBMQU1FIGhlYWRlciBpZiBwcmVzZW50CgoyMDExLTAzLTA5IDIzOjA2OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGRjYXBhcnNlOiBCdW1wIHJhbmsgdG8gcHJpbWFyeSsxCgkgIFNlZW1zIHRvIHdvcmsgZmluZSB3aXRoIGEgcmVhc29uYWJseSB3aWRlIHJhbmdlIG9mIG1lZGlhLCBzbyBidW1waW5nCgkgIHJhbmsuCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGJhc2VwYXJzZSB0ZXN0CgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0xOSAxODoyNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbmQgZ3N0X2J1ZmZlcl91bnJlZiBub3QgbGlraW5nIE5VTEwKCSAgRml4ZXMgIzYzOTk1MC4KCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTEtMzAgMTU6NDE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCB1bmV4cGVjdGVkIHN0cmF5IG1ldGFkYXRhCgoyMDEwLTExLTMwIDE1OjQwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIHByb3BlciBfTk9ORSBvdXRwdXQgdmFsdWUgd2hlbiBhcHBsaWNhYmxlCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTAtMjkgMTQ6MDg6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2Ugb25seSB1cHN0cmVhbSBkdXJhdGlvbiBpZiBpdCBwcm92aWRlcyBvbmUKCjIwMTAtMTAtMjUgMTQ6MTU6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZsb3cgdXBkYXRlX2JpdHJhdGUgY29kZQoJICAuLi4gd2hpY2ggbWFrZXMgbG9jYWwgdmFyaWFibGVzIHJlcHJlc2VudCByZWFsIHN0YXRlIGJldHRlciwgYW5kIGF2b2lkcwoJICB0cmlnZ2VyaW5nIHVubmVlZGVkIHVwZGF0ZXMvYWN0aW9ucy4KCjIwMTAtMTAtMjUgMTQ6MTM6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0wNyAyMzozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFNpbXBsaWZ5IGZyYW1lIGhlYWRlciBwYXJzaW5nIGJ5IHVzaW5nIGxvb2t1cCB0YWJsZXMKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBGZWxpcGUgQ29udHJlcmFzLgoJICBTZWUgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDIzOjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogRG9uJ3QgcGFyc2UgdGhlIGNvbXBsZXRlIEZMQUMgZnJhbWVzIGJ1dCBvbmx5IGxvb2sgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMKCSAgVGhhbmtzIHRvIEZlbGlwZSBDb250cmVyYXMgZm9yIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIHBhcnRpYWxseQoJICBiYXNlZCBvbiBoaXMgcGF0Y2hlcyBhbmQgbWFrZXMgZmxhY3BhcnNlIG1vcmUgdGhhbiAzLjUgdGltZXMgZmFzdGVyLgoJICBMb29raW5nIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzIGlzIHVubGlrZWx5IHRvIGdpdmUgZmFsc2UgcG9zaXRpdmVzCgkgIGJlY2F1c2UgZXZlcnkgZnJhbWUgaGVhZGVyIGlzIGF0IGxlYXN0IDkgYnl0ZXMgbG9uZywgY29udGFpbnMgYQoJICAxNCBiaXQgc3luYyBjb2RlIGFuZCBhIDggYml0IGNoZWNrc3VtIG92ZXIgdGhlIGZpcnN0IDggYnl0ZXMuCgkgIEZpeGVzIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogVXNlIHVuY2hlY2tlZCB2ZXJzaW9ucyBvZiB0aGUgYml0cmVhZGVyIGdldCBmdW5jdGlvbnMKCSAgV2UgZGlkbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzIGFueXdheS4uLgoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGFjM3BhcnNlIGFuZCBtcGVnYXVkaW9wYXJzZSB1bml0IHRlc3QKCjIwMTAtMDktMjUgMTM6NTk6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgLi4uIGFkZXF1YXRlbHkgZXF1aXZhbGVudCB0byBtcDNwYXJzZSwgc28gbGV0cyBib2xkbHkgc2V0IGl0CgkgIHRvIGhpZ2hlciByYW5rLgoKMjAxMC0wOS0yNSAxNDowMTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgbWluaW11bSBmcmFtZSBzaXplIGF0IF9zdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gb25lIHRpbWUgYXQgX2luaXQuCgoyMDEwLTA5LTI1IDEzOjUwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDktMDYgMTQ6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBub24tVElNRSBzZWVrIGV2ZW50IGlzIHNpbXBseSBub3QgaGFuZGxlZAoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTAzLTI2IDE4OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogT3B0aW9uYWxseSBjaGVjayB0aGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgdG9vIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIGlzIG9wdGlvbmFsIGJlY2F1c2UgaXQncyBhIHF1aXRlIGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5kIGl0J3MgdmVyeQoJICB1bmxpa2VseSB0aGF0IGEgbm9uLWZyYW1lIGlzIGRldGVjdGVkIGFzIGZyYW1lIGFmdGVyIHRoZSBoZWFkZXIgQ1JDIGNoZWNrCgkgIGFuZCBjaGVja2luZyBhbGwgYml0cyBmb3IgdmFsaWQgdmFsdWVzLiBUaGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgYXJlCgkgIG1haW5seSB1c2VmdWwgdG8gZGV0ZWN0IGluY29uc2lzdGVuY2llcyBpbiB0aGUgZW5jb2RlZCBwYXlsb2FkLgoKMjAxMC0wMy0yNiAxODo0MjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IENoZWNrIHRoZSBDUkMtOCBvZiB0aGUgaGVhZGVycyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBtYWtlcyBmYWxzZS1wb3NpdGl2ZXMgZHVyaW5nIHNlZWtpbmcgbXVjaCBsZXNzIGxpa2VseSBhbmQgZGV0ZWN0aW9uIG9mCgkgIHRoZW0gbXVjaCBmYXN0ZXIuCgoyMDEwLTAzLTI2IDE4OjIwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2V0IHRoZSBsYXN0IHN0b3AgdG8gdGhlIGJ1ZmZlciBzdGFydHRpbWUgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQKCSAgLi4uaW5zdGVhZCBvZiBub3Qgc2V0dGluZyBpdCBhdCBhbGwuCgoyMDEwLTAzLTI2IDE4OjE5OjAwICswMTAwICBKb3NodWEgTS4gRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZW5kIE5FV1NFR01FTlQgZXZlbnQgd2l0aCBjb3JyZWN0IHN0YXJ0IGFuZCBwb3NpdGlvbgoJICBJbnN0ZWFkIG9mIHRha2luZyB0aGUgbGFzdCBzdG9wICh3aGljaCBjb3VsZCBiZSBidWZmZXIgZW5kdGltZSBpbnN0ZWFkCgkgIG9mIHN0YXJ0dGltZSkgYWx3YXlzIHRha2UgdGhlIGJ1ZmZlciBzdGFydHRpbWUuCgkgIEZpeGVzIGJ1ZyAjNjE0MDE2LgoKMjAxMC0wMy0yNiAxNjo0OTowMSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBidWZmZXIgcmVmY291bnQgaXNzdWUKCSAgV2hlbiBjYWxsZWQgZnJvbSB0aGUgR1NUX0ZMQUNfUEFSU0VfU1RBVEVfSEVBREVSUyBjYXNlLAoJICBnc3RfZmxhY19wYXJzZV9oYW5kX2hlYWRlcnMoKSBkb2VzIGEgZ3N0X2J1ZmZlcl9zZXRfY2FwcygpIG9uIGEgYnVmZmVyCgkgIHdpdGggcmVmY291bnQgPiAxLiBUaGlzIGNoYW5nZSBoYW5kbGVzIHRoaXMgY2FzZSBieSBtYWtpbmcgdGhlIGJ1ZmZlcgoJICBtZXRhZGF0YV9Xcml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDAzNwoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDEtMTQgMTE6NTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgYmFzZXBhcnNlIEdUeXBlIG5hbWUgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTEgMTM6MjA6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBmb3JnZXQgdG8gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBvZmYgYWFjcGFyc2UKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMDUgMTU6MDU6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxMC0wMS0wNSAxNTowNDozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAwOS0xMi0xOCAxMzozMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNoZWNrIGZvciByZW1haW5pbmcgZGF0YSB3aGVuIGRyYWluaW5nIGluIHB1c2ggbW9kZQoKMjAwOS0xMi0xOCAxMzozMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBwdWxsIG1vZGUgY2FjaGUgc2l6ZSBjb21wYXJpc29uCgoyMDA5LTEyLTE4IDEzOjAxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIHNwZWMgZmlsZSBhbmQgZml4IGFjM3BhcnNlciBoZWFkZXIgbGlzdGluZyBpbiBNYWtlZmlsZS5hbQoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnYW1ycGFyc2UnIGludG8gaXQKCjIwMDktMTEtMjcgMTc6Mjc6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZWZlcmVuY2UgR3N0QmFzZVBhcnNlIG5vdyBsaXZlcyBoZXJlCgoyMDA5LTExLTI4IDE4OjEzOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lICdhYWNwYXJzZScgcGx1Z2luIHRvIGdlbmVyaWMgJ2F1ZGlvcGFyc2VycycgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSAgYWFjcGFyc2U6IHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24gYW5kIHJlbmFtZSBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBiZWZvcmUgYWNjZXNzaW5nCgoyMDA5LTExLTA1IDE0OjMxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTEwLTI5IDE1OjE5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4dXAgY29tbWVudHMgdG8gQy1zdHlsZQoKMjAwOS0xMC0yOSAxNjowNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVzZXQgcGFzc3Rocm91Z2ggbW9kZSB0byBkZWZhdWx0IChkaXNhYmxlZCkgb24gYWN0aXZhdGlvbgoKMjAwOS0xMC0yOSAxNToxNjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZQoKMjAwOS0xMC0yOCAxNDowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBmaXgvZW5oYW5jZSBESVNDT05UIG1hcmtpbmcKCSAgSW4gcGFydGljdWxhciwgY29uc2lkZXIgRElTQ09OVCA9PSAhc3luYywgYW5kIGFsbG93IHN1YmNsYXNzIHRvIHF1ZXJ5CgkgIHN5bmMgc3RhdGUsIGFzIGl0IG1heSB3YW50IHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgc3luYyB3YXMgYWNoaWV2ZWQgZWFybGllciBvbi4KCSAgQWxzbyBhcnJhbmdlIGZvciBzdWJjbGFzcyB0byBxdWVyeSB3aGV0aGVyIGxlZnRvdmVyIGRhdGEgaXMgYmVpbmcgZHJhaW5lZC4KCjIwMDktMTEtMjMgMTU6NDg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIHRpbWVzdGFtcCBoYW5kbGluZywgYW5kIGRlZmF1bHQgY29udmVyc2lvbgoJICBJbiBwYXJ0aWN1bGFyLCAob3B0aW9uYWxseSkgcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBhIG5vdGlvbiBvZiBmcmFtZXMgcGVyIHNlY29uZAoJICAoYW5kIHRoZXJlZm9yZSBhbHNvIGZyYW1lIGR1cmF0aW9uKSBhbmQgaGF2ZSBpdCB0cmFjayBmcmFtZSBhbmQgYnl0ZSBjb3VudHMuCgkgIFRoaXMgd2F5LCBzdWJjbGFzcyBjYW4gcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBmcHMgYW5kIGhhdmUgaXQgcHJvdmlkZSBkZWZhdWx0CgkgIGJ1ZmZlciB0aW1lIG1ldGFkYXRhIGFuZCBjb252ZXJzaW9ucywgdGhvdWdoIHN1YmNsYXNzIGNhbiBzdGlsbCBpbnN0YWxsCgkgIGNhbGxiYWNrcyB0byBoYW5kbGUgc3VjaCBpdHNlbGYuCgoyMDA5LTEwLTI4IDEyOjAyOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDA5LTEwLTI4IDEyOjAwOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2VfZml4ZWRfY2FwcyBmb3Igc3JjIHBhZAoJICBBZnRlciBhbGwsIHN0cmVhbSBpcyBhcy1pcywgYW5kIHRoZXJlIGlzIGxpdHRsZSBtb2xkaW5nIHRvIGRvd25zdHJlYW0ncwoJICB0YXN0ZSB0aGF0IGNhbiBiZSBkb25lLiAgSWYgc3ViY2xhc3MgY2FuIGFuZCB3YW50cyB0byBkbyBzbywgaXQgY2FuCgkgIHN0aWxsIG92ZXJyaWRlIGFzIHN1Y2guCgoyMDA5LTExLTIwIDE3OjMyOjEzICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTAtMTEgMTE6MjI6MTEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0wOS0yNSAxNzowMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBmb3JlZ28gKGJvZ3VzKSBwYXJzaW5nIG9mIGFscmVhZHkgcGFyc2VkIChyYXcpIGlucHV0CgoyMDA5LTA4LTA3IDEzOjA3OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBkcmFpbmluZwoKMjAwOS0wOC0wNyAxMzowNjoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgoyMDA5LTA3LTE0IDE0OjA4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogQWRkIGZ1bmN0aW9uIGZvciB0aGUgYmFzZXBhcnNlIHN1YmNsYXNzIHRvIHB1c2ggYnVmZmVycyBkb3duc3RyZWFtCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIGdyYWNlZnVsbHkgd2hlcmUgdGhlIHN1YmNsYXNzIGRlY2lkZXMgdG8gZHJvcAoJICB0aGUgZmlyc3QgYnVmZmVycyBhbmQgaGFzIG5vIGNhcHMgc2V0IHlldC4gSXQncyBzdGlsbCByZXF1aXJlZCB0bwoJICBoYXZlIHZhbGlkIGNhcHMgc2V0IHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciBzaG91bGQgYmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA5LTA3LTE0IDE0OjA3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2VlayBldmVudCBsZWFraW5nCgoyMDA5LTA2LTE4IDEyOjEzOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQURJRjogZG8gbm90IHNlbmQgYm9ndXMgdGltZXN0YW1wcywgbGVhdmUgdG8gZG93bnN0cmVhbSAoZGVjb2RlcikKCjIwMDktMDYtMDEgMTU6NTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc2FtcGxlIHJhdGUgZXh0cmFjdGlvbiBmcm9tIGNvZGVjIGRhdGEKCSAgSW4gb25lIGNhc2Ugd2UgZXh0cmFjdGVkIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBmcm9tIHRoZSBjb2RlYyBkYXRhCgkgIGFuZCBzYXZlZCBpdCBhcyBzYW1wbGUgcmF0ZSByYXRoZXIgdGhhbiBnZXR0aW5nIHRoZSByZWFsIHNhbXBsZQoJICByYXRlIGZyb20gdGhlIHRhYmxlLiBGaXggdGhhdCwgYW5kIGFsc28gbWFrZSBzdXJlIHdlIGRvbid0IGFjY2VzcwoJICBub24tZXhpc3RhbnQgdGFibGUgZW50cmllcyBieSBhZGRpbmcgYSBzbWFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdAoJICBndWFyZHMgYWdhaW5zdCBvdXQtb2YtYm91bmRzIGFjY2VzcyBpbiBjYXNlIG9mIGludmFsaWQgaW5wdXQgZGF0YS4KCjIwMDktMDYtMDEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogcmVtb3ZlIGJvZ3VzIGdzdF9wYWRfZml4YXRlX2NhcHMoKSBjYWxscwoKMjAwOS0wNi0wMSAxMzo1NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBvZiBHc3RCYXNlUGFyc2U6OnNldF9zaW5rX2NhcHMoKQoJICBnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMoKSBwcmVzdW1hYmx5IHNob3VsZCBmYWlsIGlmIHRoZSBzdWJjbGFzcwoJICByZXR1cm5zIEZBTFNFIGZyb20gaXRzIDo6c2V0X3NpbmtfY2FwcygpIGZ1bmN0aW9uLgoKMjAwOS0wNi0wMSAxMzo0NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9uJ3QgdHJ5IHRvIEdTVF9MT0cgYW4gYWxyZWFkeS1mcmVlZCBjYXBzIHN0cmluZwoJICBUaGUgcHJvcGVyIHdheSB0byBsb2cgY2FwcyBpcyB2aWEgR1NUX1BUUl9GT1JNQVQgYW55d2F5LgoKMjAwOS0wNi0wMSAxMzowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiBvdXRwdXQgY2FwcywgYW5kIGtlZXAgY29kZWNfZGF0YQoJICBDcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSBpbnB1dCBjYXBzLCBzbyB3ZSBtYWludGFpbiBhbnkgZmllbGRzIHdlCgkgIG1pZ2h0IGdldCBvbiB0aGUgaW5wdXQgY2Fwcywgc3VjaCBhcyBjb2RlY19kYXRhIG9yIHJhdGUgYW5kIGNoYW5uZWxzLgoJICBTZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gdGhlIG91dHB1dCBjYXBzIGlmIHdlIGRvbid0IGhhdmUgaW5wdXQgY2FwcwoJICBvciB0aGV5IGRvbid0IGNvbnRhaW4gc3VjaCBmaWVsZHMuIFdlIGRvIHRoaXMgcGFydGx5IGJlY2F1c2Ugd2UgY2FuLAoJICBidXQgYWxzbyBiZWNhdXNlIHNvbWUgbXV4ZXJzIG5lZWQgdGhpcyBpbmZvcm1hdGlvbi4gVGFncmVhZGJpbiB3aWxsCgkgIGFsc28gYmUgaGFwcHkgYWJvdXQgdGhpcy4KCjIwMDktMDUtMjYgMTk6NDM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBkZWJ1ZyBjYXRlZ29yeQoKMjAwOS0wNC0yNyAyMjozOToxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IChyZWdyZXNzaW9uIGluKSBuZXdzZWdtZW50IGhhbmRsaW5nCgkgIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkuICBGaXhlcyAjNTgwMTMzLgoKMjAwOS0wNC0wNyAwNDo1MzowMiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2xpZ2h0bHkgYnJva2VuIGJ1ZmZlci1pbi1zZWdtZW50IGNoZWNrIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkKCjIwMDktMDQtMDUgMDM6NTA6MTkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHB1c2ggbW9kZSBzZWVraW5nIChhYWNwYXJzZSwgYW1ycGFyc2UpCgkgIFNlbmRpbmcgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IGZvcndhcmQgYmVmb3JlIHRha2luZyB0aGUgc3RyZWFtIGxvY2sgYWN0dWFsbHkKCSAgd29ya3MsIGluIGNvbnRyYXN0IHRvIGRlYWRsb2NraW5nIGluIGRvd25zdHJlYW0gcHJlcm9sbF93YWl0IChodW5rIDEpLgoJICBBZnRlciB0aGF0IHdlIGdldCB0aGUgY2hhaW4gZnVuY3Rpb24gYmVpbmcgc3R1Y2sgaW4gYSBidXN5IGxvb3AuIFRoaXMgaXMgZml4ZWQKCSAgYnkgdXBkYXRpbmcgdGhlIG1pbmltdW0gZnJhbWUgc2l6ZSBpbnNpZGUgdGhlIHN5bmNocm9uaXphdGlvbiBsb29wIGJlY2F1c2UgdGhlCgkgIHN1YmNsYXNzIGFza3MgZm9yIG1vcmUgZGF0YSBpbiB0aGlzIHdheSAoaHVuayAyKS4KCSAgRmluYWxseSwgdGhpcyBsZWFkcyB0byBhIHZlcnkgcHJvYmFibGUgY3Jhc2ggYmVjYXVzZSB0aGUgc3ViY2xhc3MgY2FuIGZpbmQgYQoJICB2YWxpZCBmcmFtZSB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgZGF0YSBpbiB0aGUKCSAgYWRhcHRlci4gVGhpcyBtYWtlcyB0aGUgc3Vic2VxdWVudCBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBjYWxsIHJldHVybiBOVUxMLAoJICB3aGljaCBpcyBub3QgZXhwZWN0ZWQgKGh1bmsgMykuCgoyMDA5LTAzLTMxIDE2OjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEZWxheSBuZXdzZWdtZW50IGFzIGxvbmcgYXMgcG9zc2libGUuCgkgIElmIG5ld3NlZ21lbnQgaXMgc2VudCAodG9vKSBlYXJseSwgY2FwcyBtYXkgbm90IHlldCBiZSBmaXhlZC9zZXQsCgkgIGFuZCBkb3duc3RyZWFtIG1heSBub3QgaGF2ZSBiZWVuIGxpbmtlZC4KCjIwMDktMDMtMTkgMDE6MTc6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBidXN5bG9vcCB3aGVuIHNlZWtpbmcuIEZpeGVzICM1NzUzODgKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBhZnRlciBhIGRpc2NvbnQsIHNldF9taW5fZnJhbWVfc2l6ZSgxMDI0KSBpcyBjYWxsZWQgd2hlbgoJICBkZXRlY3Rfc3RyZWFtIHJldHVybnMgRkFMU0UuIEhvd2V2ZXIsIGRldGVjdF9zdHJlYW0gY2FsbHMgY2hlY2tfYWR0c19mcmFtZQoJICB3aGljaCBzZXRzIHRoZSBmcmFtZSBzaXplIG9uIGl0cyBvd24gdG8gc29tZXRoaW5nIGxhcmdlciB0aGFuIDEwMjQuIFRoaXMgaXMgdGhlCgkgIHNhbWUgc2l0dWF0aW9uIGFzIGluIHRoZSBiZWdpbm5pbmcsIHNvIHRoZSBiYXNlIGNsYXNzIGVuZHMgdXAgY2FsbGluZwoJICBjaGVja192YWxpZF9mcmFtZSBpbiBhbiBlbmRsZXNzIGxvb3AuCgoyMDA5LTAzLTE5IDAwOjMyOjQwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWZhY3RvciBjaGVja192YWxpZF9mcmFtZSB0byBleHBvc2UgYnJva2VuIGNvZGUKCSAgSnVzdCBtb3ZpbmcgY29kZSBhcm91bmQgYW5kIHJlbW92aW5nIGFuIHVuaGVscGZ1bC9taXNsZWFkaW5nIGNvbW1lbnQuCgoyMDA5LTAyLTI3IDExOjI0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJ0IGxhc3QgY2hhbmdlIGFuZCBwcm9wZXJseSBmaXgKCSAgQmFzZXBhcnNlIGludGVybmFseSBicmVha3MgdGhlIHNlbWFudGljcyBvZiBhIF9jaGFpbiBmdW5jdGlvbiBieSBjYWxsaW5nIGl0IHdpdGgKCSAgYnVmZmVyPT1OVUxMLiBUaGUgcmVzb24gSSBiZWxpdmVkIGl0IHdhcyBva2F5IHRvIHJlbW92ZSBpdCB3YXMgdGhhdCB0aGVyZSBpcwoJICBhbHNvIGFuIHVuY2hlY2tlZCBhY2Nlc3MgdG8gYnVmZmVyIGxhdGVyIGluIF9jaGFpbi4gQWN0dWFsbHkgdGhhdCBjb2RlIGlzIHdyb25nLAoJICBhcyBpdCBtb3N0IHByb2JhYmx5IHdhbnRzIHRvIHNldCBkaXNjb250IG9uIHRoZSBvdXRnb2luZyBidWZmZXIuCgoyMDA5LTAyLTI2IDExOjAyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGNoZWNrcyBmb3IgYnVmZmVyPT1OVUxMCgkgIEFjY29yZGlmbiB0byBkb2NzIGZvciBHc3RQYWRDaGFpbkZ1bmN0aW9uIGJ1ZmZlciBjYW5ub3QgYmUgTlVMTC4gSWYgd2Ugd291bGQKCSAgbGVhdmUgdGhlIGNoZWNrLCB3ZSB3b3VsZCBhbHNvIG5lZWQgbW9yZSBzdWNoIGNoZWNrIGJlbG93LgoKMjAwOS0wMi0xMSAwMDoxNTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGxpY2Vuc2Ugc3BlY2lmaWVkIGluIHBsdWdpbiBkZXRhaWxzLgoKMjAwOS0wMS0zMCAxODoxODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uLgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbiBpbiBib3RoCgkgIGNvcGllcyBvZiBHc3RCYXNlUGFyc2UKCjIwMDktMDEtMjMgMTY6MDA6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBMb2cgYWFjIGRldGFpbHMgZm91bmQgaW4gY29kZWNfZGF0YS4KCjIwMDgtMTEtMTMgMTc6MjQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCjIwMDgtMTEtMTMgMTU6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCjIwMDgtMTEtMTMgMTQ6MjE6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCjIwMDgtMTEtMTMgMTI6NTk6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgoyMDExLTAzLTIwIDAxOjA4OjM4ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBNYWtlIHNyY19xdWVyeSBNVC1zYWZlCgkgIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGVsZW1lbnQgbWlnaHQgYmUgZ29pbmcgZG93biB3aGlsZSB0aGUgZXZlbnQgYXJyaXZlcwoKMjAxMS0wNC0wOCAxNToyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFVucmVmIGV2ZW50IGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wNC0wOCAxNToyMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBVbnJlZiBldmVudCBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDMtMjEgMTY6MDQ6MzQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogTWFrZSB1cHN0cmVhbSBldmVudHMgTVQtc2FmZQoKMjAxMS0wMy0yMSAxNjowNDozNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogTWFrZSB1cHN0cmVhbSBldmVudHMgTVQtc2FmZQoKMjAxMS0wNC0wOCAxNToyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHA6IFVucmVmIGV2ZW50cyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDEtMDYgMTg6MjQ6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBtYW5hZ2VyOiBmaXggcGFkIGNhbGxiYWNrcyBzbyB0aGV5IGhhbmRsZSB3aGVuIHBhcmVudCBnb2VzIGF3YXkKCSAgMSkgV2UgbmVlZCB0byBsb2NrIGFuZCBnZXQgYSBzdHJvbmcgcmVmIHRvIHRoZSBwYXJlbnQsIGlmIHN0aWxsIHRoZXJlLgoJICAyKSBJZiBpdCBoYXMgZ29uZSBhd2F5LCB3ZSBuZWVkIHRvIGhhbmRsZSB0aGF0IGdyYWNlZnVsbHkuCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHNhZmVseSBtb2RpZnkgYSBydW5uaW5nIHBpcGVsaW5lLiBIYXMgYmVlbgoJICBvYnNlcnZlZCB3aGVuIGEgc3RyZWFtaW5nIHRocmVhZCBpcyBkb2luZyBhIGJ1ZmZlcl9hbGxvYygpIHdoaWxlIGFuCgkgIGFwcGxpY2F0aW9uIHRocmVhZCBzZW5kcyBhbiBldmVudCBvbiBhIHBhZCBmdXJ0aGVyIGRvd25zdHJlYW0sIGFuZCBmcm9tCgkgIHdpdGhpbiBhIHBhZCBwcm9iZSAoaG9sZGluZyBTVFJFQU1fTE9DSykgY2FycmllcyBvdXQgdGhlIHBpcGVsaW5lIHBsdW1iaW5nCgkgIHdoaWxlIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGhhcyBpdHMgYnVmZmVyX2FsbG9jKCkgaW4gcHJvZ3Jlc3MuCgoyMDEwLTExLTI2IDE1OjIwOjA0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG1ha2UgaXRlcmF0ZV9pbnRlcm5hbF9saW5rcyBNVC1zYWZlCgoyMDExLTA0LTA4IDE0OjM1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJQdWxzZXNpbms6IEFsbG93IGNodW5rcyB1cCB0byBidWZzaXplIGluc3RlYWQgb2Ygc2Vnc2l6ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxZTJjMTQ2N2FlMDQyYTNjNmJiMWE2YmMwYzA3YWVmZjEzZWM1ZWRiLgoJICBUaGUgY29tbWl0IGNhdXNlcyBwdWxzZXNpbmsgdG8gaWdub3JlIHRoZSBsYXRlbmN5LXRpbWUgYmFzZWF1ZGlvc2luayBwcm9wZXJ0eS4KCjIwMTEtMDQtMDggMTE6MTM6MDcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgcnRwc3BlZXhwYXk6IERvIG5vdCB0cmFuc21pdHQgc2FtcGxlcyB3aXRoIEdBUCBmbGFnCgkgIElmIHdlIGdldCBHQVAgc2FtcGxlcywgdGhlcmUgaXMgbm8gbmVlZCB0byB0cmFuc21pdHQgaXQuCgkgIEluIHNvbWUgc2l0dWF0aW9ucywgbWljcm9waG9uZSBpcyBtdXRlZCwgd2UgY2FuIGRyb3AgbmV0IHRyYWZmaWNrCgkgIHVzYWdlIHRvIH4xIGtiaXQvcy4gV2l0aG91dCBwYXRjaCBpdCB3aWxsIHN0YXkgfjIwIGtiaXQvcwoKMjAxMS0wNC0wOCAxMToxMTo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBVc2Ugc3BlZXggaW50ZXJuIHNpbGVuY2UgZGV0ZWN0aW9uCgkgIFNwZWV4IGhhcyBidWlsZCBpbiBzaWxlbmNlIGRldGVjdGlvbi4gSWYgc3BlZXhfZW5jb2RlX2ludCByZXR1cm5zIDAsCgkgIHRoYW4gdGhlcmUgaXMgc2lsZW5jZSBhbmQgc2FtcGxlIGRvIG5vdCBuZWVkIHRvIGJlIHRyYW5zbWl0dGVkLgoJICBUaGlzIHdvcmsgb25seSBpZiB2YnI9MSBhbmQgZHR4PTEgb3B0aW9uYXMgYXJlIGVuYWJsZWQuCgkgIFNvIGlmIHdlIGdldCAwLCB3ZSBhZGQgR0FQIGZsYWcgdG8gdGhlIHNhbXBsZS4KCjIwMTEtMDQtMDcgMTk6MDQ6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgcGF5L2RlcGF5bG9hZGVycwoKMjAxMS0wNC0wNSAxOToxNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGhhbmRsZSBzY2F0aGVyIGdhdGhlciBmcm9tIGJ1ZmZlcnMKCSAgSXRlcmF0ZSB0aGUgbWVtb3J5IGJsb2NrcyBvbiB0aGUgYnVmZmVyIGFuZCBzZW5kIHRoZW0gdXNpbmcgc2VuZG1zZy4KCjIwMTEtMDQtMDUgMTc6MjY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiByZXNldCBzdHJ1Y3R1cmUgYmVmb3JlIHVzZQoKMjAxMS0wNC0wNSAxNzoyMDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCjIwMTEtMDQtMDUgMTc6MTI6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSAqIGNvbnRyb2wgY29ycmVjdGx5CgkgIFBhcnNlIHNlc3Npb24gY29udHJvbCBhdHRyaWJ1dGVzIHdoZW4gbm8gbWVkaWEgY29udHJvbCBhdHRyaWJ1dGUgaXMKCSAgcHJlc2VudC4gVGhyZWF0ICogY29udHJvbCBhdHRyaWJ1dGVzIGFzIGFuIGVtcHR5IHN0cmluZywganVzdCBsaWtlIHRoZQoJICBzcGVjIHNheXMuCgkgIEZpeGVzICM2NDY4MDAKCjIwMTEtMDQtMDUgMTc6MDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgcnRzcC91ZHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNC0wNSAxNDoyODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgYW5kIMK1LUxhdwoJICBGaXhlcyBidWcgIzY0NjU2Ny4KCjIwMTEtMDQtMDUgMDk6NDQ6MDEgKzAyMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBGaXggYnVpbGQgd2l0aCBqYWNrIDAuMTIwLjEKCSAgOTU0NDYyMjY3NGMwZDBhMzE0N2E5YjUxMTQ1MTU5YjAyZWVjNjhlOSBjaGVja2VkCgkgIGZvciAwLjEyMC4yIGFuZCBsYXRlciwgYnV0IHRoZSBkZXByZWNhdGlvbiB3YXMgaW50cm9kdWNlZCBpbgoJICAwLjEyMC4xCgoyMDExLTA0LTA1IDExOjEzOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IG1vcmUgcG9ydGluZyB0byAwLjExCgoyMDExLTA0LTA1IDEyOjA1OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgZG9jczogZml4IGRvY3VlbW50YXRpb24gd2FybmluZ3MgKGFuZCByZWluZGVudCkKCjIwMTEtMDQtMDQgMTk6MTc6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogcG9ydCB0byAwLjExIEFQSQoKMjAxMS0wNC0wNCAxNzozNDoxNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogdXBkYXRlIG9yYyBkaXN0IGZpbGVzCgoyMDExLTA0LTA0IDE1OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFjY2JlMDkgdG8gYzNjYWZlMQoKMjAxMS0wMy0wMSAxNDowODoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWx3YXlzIGNhbGwgcGFfc3RyZWFtX25ld193aXRoX3Byb3BsaXN0KCkKCSAgcGFfc3RyZWFtX25ld193aXRoX3Byb3BsaXN0KCkgY2FuIHRha2UgYSBOVUxMIHByb3BsaXN0LCBzbyB3ZSBkb24ndCBuZWVkCgkgIHRvIGNvbmNlcm4gb3Vyc2VsdmVzIHdpdGggd2hldGhlciBpdCdzIE5VTEwgb3Igbm90LgoKMjAxMS0wNC0wNCAxMTozMzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBlcmZvcm0gcG9zdC1mbHVzaCBzdGF0ZSB0cmlja3MgZG93bnN0cmVhbSB0byB1cHN0cmVhbQoJICAuLi4gc28gZG93bnN0cmVhbSBpcyBzZXQgd2hlbiB1cHN0cmVhbSByZXN1bWVzIGRhdGEgZmxvdy4KCjIwMTEtMDQtMDQgMTE6Mjc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkaXN0cmlidXRlIG5ldyBiYXNlX3RpbWUgdG8gbWFuYWdlciBjaGlsZHJlbiBmb2xsb3dpbmcgZmx1c2ggc2VlawoJICAuLi4gYnkgZm9yY2luZyBhIHN0YXRlIGNoYW5nZWQgdG8gUExBWUlORywgd2hpY2ggc2hvdWxkIG90aGVyd2lzZSBiZSBhCgkgIG5vLW9wIGFzIGVsZW1lbnRzIHNob3VsZCBhbHJlYWR5IGJlIGluIHRoYXQgc3RhdGUuCgkgIEluIHBhcnRpY3VsYXIsIGppdHRlcmJ1ZmZlciBuZWVkcyBuZXcgYmFzZV90aW1lIGFzIHNvb24gYXMgcG9zc2libGUgdG8gcGVyZm9ybQoJICBwcm9wZXIgdGltaW5nIChlLmcuIGVvcyB0aW1lb3V0IGhhbmRsaW5nKSBhbmQgY2FuJ3Qgd2FpdCBmb3IgdGhlIG5ldyBiYXNlX3RpbWUKCSAgdGhhdCB3aWxsIGJlIGRpc3RyaWJ1dGVkIHdoZW4gdGhlIHdob2xlIHBpcGVsaW5lIHJldHVybnMgdG8gUExBWUlORy4KCSAgU2VlIGJ1ZyAjNjQ2Mzk3LgoKMjAxMS0wNC0wNCAxMTozNTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJqaXR0ZXJidWZmZXI6IHJlc2V0IGVsZW1lbnQgYmFzZV90aW1lIHVwb24gZmx1c2giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjg0YjhhNjljYmE5YzUzOGY1NTQ2ODY5Y2I0ZWY0NTRhZDVlZmI5ZC4KCSAgRml4ZXMgYnVnICM2NDYzOTcuCgoyMDExLTA0LTA0IDEwOjMxOjQ0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IFNwZWNpZnkgdGhlIG9ubHkgcG9zc2libGUgc3RyZWFtLWZvcm1hdCBmb3IgaDI2NCBpbiB0aGUgcGFkIHRlbXBsYXRlcy4KCjIwMTEtMDQtMDQgMTA6MDc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3IgaW52YWxpZCAoZW1wdHkpIGNsYXNzaWZpY2F0aW9uIGluZm8gZW50aXR5IHN0cmluZ3MKCSAgT3RoZXJ3aXNlIHRoZSBjbGFzc2lmaWNhdGlvbiBzdHJpbmcgY2FuIGJlIGVtcHR5IGFuZCBnc3RfdGFnX2xpc3RfYWRkKCkgd2lsbAoJICBjb21wbGFpbiBvciBoYXZlIGEgXDAgaW4gdGhlIGZpcnN0IGZvdXIgYnl0ZXMsIHdoaWNoIGlzIHdyb25nIHRvby4KCjIwMTEtMDQtMDQgMTA6MDE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBZZWFyIDAgaXMgbm90IGEgdmFsaWQgeWVhciBmb3IgR0RhdGUgYW5kIHRoZSBwcm9sZXB0aWMgZ3JlZ29yaWFuIGNhbGVuZGFyCgoyMDExLTA0LTAxIDEzOjE4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTUVUQURBVEFfQkxPQ0tfUElDVFVSRSBibG9ja3MgZm9yIEdTVF9UQUdfSU1BR0UgYW5kIEdTVF9UQUdfUFJFVklFV19JTUFHRQoKMjAxMS0wNC0wMSAxMTozMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXJbMl06IFVzZSBvcmNfbWVtc2V0KCkgaW5zdGVhZCBvZiBtZW1zZXQoKQoKMjAxMS0wMS0xOSAxODowNjo0NSAtMDcwMCAgTGFuZSBCcm9va3MgPGRpcmp1ZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogQWRkIHRyYW5zcGFyZW50IGJhY2tncm91bmQgb3B0aW9uIGZvciBhbHBoYSBjaGFubmVsIGZvcm1hdHMKCjIwMTEtMDEtMTkgMTI6MDc6MTcgLTA3MDAgIExhbmUgQnJvb2tzIDxkaXJqdWRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogQWRkIHRyYW5zcGFyZW50IGJhY2tncm91bmQgb3B0aW9uIGZvciBhbHBoYSBjaGFubmVsIGZvcm1hdHMKCSAgVGhpcyBvcHRpb24gYWxsb3dzIHRoZSB2aWRlb21peGVyMiBlbGVtZW50IHRvIG91dHB1dCBhIHZhbGlkIGFscGhhCgkgIGNoYW5uZWwgd2hlbiB0aGUgaW5wdXRzIGNvbnRhaW4gYSB2YWxpZCBhbHBoYSBjaGFubmVsLiBUaGlzIGFsbG93cwoJICBtaXhpbmcgdG8gb2NjdXIgaW4gbXVsdGlwbGUgc3RhZ2VzIHNlcmlhbGx5LgoJICBUaGUgZm9sbG93aW5nIHBpcGVsaW5lIHNob3dzIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIHBpcGVsaW5lOgoJICBnc3QtbGF1bmNoIHZpZGVvdGVzdHNyYyBiYWNrZ3JvdW5kLWNvbG9yPTB4MDAwMDAwIHBhdHRlcm49YmFsbCAhIHZpZGVvL3gtcmF3LXl1dixmb3JtYXQ9XChmb3VyY2NcKUFZVVYgISB2aWRlb21peGVyMiBiYWNrZ3JvdW5kPXRyYW5zcGFyZW50IG5hbWU9bWl4MSAhIHZpZGVvbWl4ZXIyIG5hbWU9bWl4MiAhIGZmbXBlZ2NvbG9yc3BhY2UgISBhdXRvdmlkZW9zaW5rICB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsZm9ybWF0PVwoZm91cmNjXClBWVVWICEgbWl4Mi4KCSAgVGhlIGZpcnN0IHZpZGVvdGVzdHNyYyBpbiB0aGlzIHBpcGVsaW5lIGNyZWF0ZXMgYSBtb3ZpbmcgYmFsbCBvbiBhCgkgIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIEl0IGlzIHRoZW4gcGFzc2VkIHRvIHRoZSBmaXJzdCB2aWRlb21peGVyMi4KCSAgUHJldmlvdXNseSwgdGhpcyB2aWRlb21peGVyMiB3b3VsZCBoYXZlIGZvcmNlZCB0aGUgYWxwaGEgY2hhbm5lbCB0bwoJICAxLjAgYW5kIGdpdmVuIGEgYmFja2dyb3VuZCBvZiBjaGVja2VyLCBibGFjaywgb3Igd2hpdGUgdG8gdGhlCgkgIHN0cmVhbS4gV2l0aCB0aGlzIHBhdGNoLCBob3dldmVyLCB5b3UgY2FuIG5vdyBzcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kCgkgIGFzIHRyYW5zcGFyZW50LCBhbmQgdGhlIGFscGhhIGNoYW5uZWwgb2YgdGhlIGlucHV0IHdpbGwgYmUKCSAgcHJlc2VydmVkLiBUaGlzIGFsbG93cyBmb3IgZnVydGhlciBtaXhpbmcgZG93bnN0cmVhbSwgYXMgaXMgc2hvd24gaW4KCSAgdGhlIGFib3ZlIHBpcGVsaW5lIHdoZXJlIHRoZSBhIHNlY29uZCB2aWRlb21peGVyMiBpcyB1c2VkIHRvIG1peCBpbiBhCgkgIGJhY2tncm91bmQgb2YgYW4gc21wdGUgdmlkZW90ZXN0c3JjLiBTbyB0aGUgcmVzdWx0IGlzIGEgYmFsbCBob3ZlcmluZwoJICBvdmVyIHRoZSBzbXB0ZSB0ZXN0IHNvdXJjZS4gVGhpcyBjb3VsZCwgb2YgY291cnNlLCBoYXZlIGJlZW4KCSAgYWNjb21wbGlzaGVkIHdpdGggYSBzaW5nbGUgbWl4ZXIgZWxlbWVudCwgYnV0IHN0YWdlZCBtaXhpbmcgaXMgdXNlZnVsCgkgIHdoZW4gaXQgaXMgbm90IGNvbnZlbmllbnQgdG8gbWl4IGFsbCB2aWRlbyBhdCBvbmNlIChlLmcuIGEgcGlwZWxpbmUKCSAgd2hlcmUgYSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGJpbiBleGlzdCBhbmQgYXJlIG1peGVkIGF0IHRoZSBmaW5hbAoJICBvdXRwdXQsIGJ1dCB0aGUgZm9yZWdyb3VuZCBiaW4gbmVlZHMgYW4gaW50ZXJuYWwgbWl4ZXIgdG8gY3JlYXRlCgkgIHRyYW5zaXRpb25zIGJldHdlZW4gY2xpcHMpLgoJICBGaXhlcyBidWcgIzYzOTk5NC4KCjIwMTEtMDMtMzEgMTM6MjU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFsc28gdW5jb3JrIGR1cmluZyBFT1Mgd2FpdGluZyAoYW5kIGFmdGVyIEVPUyBpcyByZW5kZXJlZCkKCSAgUHVsc2VzaW5rIHdhcyByZWNlbnRseSBjaGFuZ2VkIHRvIGRlZmVyIHVuY29ya2luZyB1bnRpbCB0aGVyZSBpcyBkYXRhCgkgIHRvIHdyaXRlLiBUaGlzIGNvbmRpdGlvbiB3aWxsIGhvd2V2ZXIgbmV2ZXIgb2NjdXIgd2hlbiBFT1MgaW4gYmVpbmcKCSAgcmVuZGVyZWQgKHNpbmNlIHRoYXQgbWFya3MgdGhlIGVuZCBvZiBkYXRhKS4gQ2hhbmdpbmcgdG8gUEFVU0VEIHN0YXRlCgkgIHdoaWxlIEVPUyBpcyBiZWluZyB3YWl0ZWQgb24gcmVzdWx0cyBpbiBhIGhhbmc6IHBhdXNpbmcgY29ya3MgdGhlCgkgIHN0cmVhbSwgd2hpY2ggd2lsbCBuZXZlciBiZSB1bmRvbmUgc2luY2UgdGhlcmUgaXMgbm8gbW9yZSBkYXRhIHdoZW4KCSAgZ29pbmcgYmFjayB0byBQTEFZSU5HLiBJZiBwdWxzZXNpbmsgaXMgdGhlIGNsb2NrIHByb3ZpZGVyLCBkZWFkbG9jawoJICBlbnN1ZXMgc2luY2UgdGltZSBkb2Vzbid0IGNvbnRpbnVlIGluIGNvcmtlZCBzdGF0ZSBhbmQgdGhlIGNsb2NrIGlkCgkgIGZvciBFT1Mgd2FpdCBuZXZlciBmaXJlcy4KCSAgRml4ZXMgIzY0NTk2MS4KCjIwMTEtMDMtMjkgMTY6MzM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogRG9uJ3QgdHJ5IHRvIHJlcXVlc3QgdGhlIHNhbWUgcmVxdWVzdCBwYWQgdHdpY2UKCjIwMTEtMDMtMjggMjM6NDY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGZpeCBpc3N1ZXMgd2l0aCBsYXJnZSBtZXRhZGF0YSBibG9ja3Mgd2hlbiBzdHJlYW1pbmcgdW5mcmFtZWQgZmxhYwoJICBQYXJzZSBtZXRhZGF0YSBibG9ja3Mgd2hlbiBoYW5kbGluZyB1bnBhcnNlZCBmbGFjIGluIHB1c2ggbW9kZS4gVGhpcwoJICB3b3JrcyBhcm91bmQgYSBidW5jaCBvZiBpc3N1ZXMgd2l0aCB0aGUgZmxhYyBkZWNvZGVyIHdoZW4gaGFuZGxpbmcKCSAgbWV0YWRhdGEgYmxvY2tzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBtYXguIGZsYWMgZnJhbWVzaXplLCB3aGljaAoJICBjb3ZlcmFydCBibG9ja3Mgb2Z0ZW4gYXJlLiBXZSBuZWVkIHRvIGhhdmUgYWxsIHRoZSBkYXRhIGZvciB0aGVzZQoJICBibG9ja3MgYXZhaWxhYmxlIHdoZW4gd2UgcGFzcyBkYXRhIHRvIGxpYmZsYWMuCgkgIGh0dHA6Ly9nc3RyZWFtZXItZGV2ZWwuOTY2MTI1Lm40Lm5hYmJsZS5jb20vRmxhYy1maWxlcy10aGF0LXdpbGwtcGxheWJhY2stYnV0LW5vdC1zdHJlYW0tdGQzMzM4MTk4Lmh0bWwjYTMzOTUyNzYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2Njc2OQoKMjAxMS0wMy0yOCAyMTowNTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgcGx1Z2luczogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMS0wMy0yOCAyMDo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEtZmRvCgoyMDExLTAzLTI3IDIxOjM5OjUwICswMjAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBEbyBub3QgYnVpbGQgYW4gaW5kZXggaWYgdXBzdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIEFuIGluZGV4IGlzIG5vdCB1c2VmdWwgaWYgdXBzdHJlYW0gY2Fubm90IGhhbmRsZSBzZWVrcyBhbmQgYnVpbGRpbmcgaXQKCSAgZm9yIGluZmluaXRlIGZpbGVzLCBmb3IgaW5zdGFuY2UgRkxWIHN0cmVhbXMsIHJlc3VsdHMgaW4gYSBtZW1vcnkgbGVhay4KCjIwMTEtMDMtMjcgMDE6MTk6NTggKzAzMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmg6CgkgIHY0bDI6IG5ldyB2NGwycmFkaW8gZWxlbWVudCB0byBjb250cm9sIGFuYWxvZyByYWRpbyBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAxMTgKCjIwMTEtMDMtMjUgMjI6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOTNiNzE3IHRvIDFjY2JlMDkKCjIwMTEtMDMtMjUgMTQ6NTY6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjc3ZTJiZiB0byAxOTNiNzE3CgoyMDExLTAzLTI1IDEyOjUzOjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvOiBmaXggdGhlIG5hbWUgb2YgdGhlICotbWFyc2hhbGwubGlzdCBmaWxlIHRvIHVuYnJlYWsgbWFrZSBkaXN0Y2hlY2sKCjIwMTEtMDMtMjUgMDk6MzE6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkODgxNGI2IHRvIGI3N2UyYmYKCjIwMTEtMDMtMjUgMDk6MDY6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWFhMjg2IHRvIGQ4ODE0YjYKCjIwMTEtMDMtMjUgMDA6MTA6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHJlZmFjdG9yIHByb2Nlc3NpbmcgbG9vcCBmb3IgYmxvY2sgYmFzZWQgb3BlcmF0aW9uCgkgIFByZXZpb3VzbHkgdGhlIGNoYWluIGZ1bmN0aW9uIHdhcyB3b3JraW5nIHNhbXBsZSBmcmFtZSBiYXNlZC4gSW4gZWFjaCBjeWNsZSBpdAoJICB3YXMgY2hlY2tpbmcgaWYgaXQgaXMgdGltZSB0byBydW4gYSBmZnQgb3IgaWYgaXQgaXMgdGltZSB0byBzZW5kIGEgbWVzc2FnZS4KCSAgTm93IHdlIGNoYW5nZWQgdGhlIGRhdGEgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0byB3b3JrIG9uIGEgYmxvY2sgb2YgZGF0YSBhbmQKCSAgY2FsY3VsYXRlIHRoZSBtYXggbGVuZ3RoIHVudGlsIGVpdGhlciB7ZW5kLW9mLWRhdGEsIGRvLWZmdCwgZG8tbXNnfS4gVGhpcyBhbGxvd3MKCSAgdXMgYWxzbyB0byBhdm9pZCB0aGUgZHVwbGljYXRlZCBjb2RlIGZvciB0aGUgc2luZ2xlIGFuZCBtdWx0aS1jaGFubmVsIGNhc2UgKGFzCgkgIHRoZSB0cmFuc2Zvcm1lcnMgaGF2ZSB0aGUgc2FtZSBzaWduYXR1cmUgbm93KS4KCjIwMTEtMDMtMjQgMjM6NDc6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgamFjazogdW5icmVhayB0aGUgYnVpbGQgZm9yIGphY2syIHVzZXJzCgkgIEphY2syICh2ZXJzaW9ucyAxLlguWCkgZG9lcyBvbmx5IGhhdmUgdGhhdCBBUEkgaW4gc3ZuLiBMaW1taXQgdGhlIHVzZSBvZiB0aGUgbmV3CgkgIEFQSSBmb3IgamFjazEgdmVyc2lvbnMuCgoyMDExLTAzLTI0IDE4OjQ5OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhZWM2YjkgdG8gNmFhYTI4NgoKMjAxMS0wMy0yNCAxNDoxNDowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmaXggdGhlIGVycm9yIGFjY3VtdWxhdGlvbiBhbmQgZnJhbWVzX3RvZG8gaGFuZGxpbmcKCSAgRXZlbiB0aG91Z2ggd2Ugd3JhcCBhcm91bmQgdGhlIGFjY3VtdWxhdGVkIHNlY29uZCwgd2Ugc3RpbGwgbmVlZCB0byBhZGQgdGhlCgkgIGVycm9yIGluIHRoZSBzYW1lIGN5Y2xlLiBJbmNyZWFzZSB0aGUgdG9kbyBpbiB0aGUgc2FtZSBjb25kaXRpb25hbCBhcyBhZnRlcndhcmRzCgkgIHRoZSBhY2N1bXVsYXRlZCBlcnJvciB3aWxsIGJlIGJlbG93IG9uZSBzZWNvbmQuCgoyMDExLTAzLTI0IDEzOjUzOjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZpeCBicm9rZW4gY29kZSByZXN1bHRpbmcgZm9yIGEgd3Jvbmcgc3BsaXR1cCBvZiBjaGFuZ2VzCgoyMDExLTAzLTIyIDE2OjI5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBzaW1wbGlmeSB0aGUgaGF2ZV9pbnRlcnZhbCBjYWxjdWxhdGlvbgoJICBNb3ZlIHNvbWUgb2YgdGhlIGNvbmRpdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVyZSB0aGUgZGVwZW5kZW50IHZhcmlhYmxlcyBjaGFuZ2UuCgoyMDExLTAzLTIyIDE2OjI2OjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHVzZSBsb2NhbCB2YXIgZm9yIGlucHV0X2RhdGEgZnVuY3Rpb24KCSAgQXZvaWQgZGVyZWZlcmVuY2luZyB0aGUgaW5wdXRfZGF0YSBmcm9tIHRoZSBpbnN0YW5jZSBmcm9tIHdpdGhpbiBhbiBpbm5lciBsb29wLgoKMjAxMS0wMy0yMyAxNjozNDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBHZXQgYW5kIHVzZSBzdHJlYW1oZWFkZXIgZnJvbSB0aGUgY2FwcyBpZiBwb3NzaWJsZQoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBzdHJlYW1zIHdoZXJlIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycwoJICB3ZXJlIGRyb3BwZWQgZnJvbSB0aGUgc3RyZWFtIGZvciBzb21lIHJlYXNvbi4KCjIwMTEtMDMtMjIgMTk6MzY6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgRml4ZXMgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTk6MzY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIEZpeGVzICM0MzI2MTIuCgoyMDExLTAzLTIyIDE5OjM1OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBidWcgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTI6NTM6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpCgkgIGNsZWFuZWQgdGhlIHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKSBpbiBjb25maWd1cmUuYWMKCjIwMTEtMDMtMTggMTk6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiB3aW5nbyBzaWduZWQgY29tbWVudAoKMjAxMS0wMy0xNiAxMDo0Mzo0NyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrYXVkaW9zaW5rOiBGaXggdHlwbyBmcm9tIDk1NDQ2MjI2NzRjMGQwYTMxNDdhOWI1MTE0NTE1OWIwMmVlYzY4ZTkKCjIwMTEtMDMtMTYgMDk6Mzg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IE1hcmsgdGFnIG1hcHBpbmcgdGFibGVzIGFzIHN0YXRpYyBjb25zdAoKMjAxMS0wMy0xNiAwOTozNzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgQVJUSVNUIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoKMjAxMS0wMy0xNiAwOTozNTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgQVJUSVNUIE1hdHJvc2thIHRhZyBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCSAgQVVUSE9SIG9ubHkgZXhpc3RlZCBpbiBhbiBvbGQgdmVyc2lvbiBvZiB0aGUgc3BlYyBhbmQgQVJUSVNUIGlzCgkgIHRoZSBuZXcgcmVwbGFjZW1lbnQgZm9yIHRoaXMuIFdlIGFyZSBzdGlsbCByZWFkaW5nIGJvdGggdG8gc3RpbGwKCSAgYmUgY29tcGF0aWJsZSB3aXRoIG9sZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM2NDQ4NzUuCgoyMDExLTAzLTE1IDIwOjE5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiBlbmFibGUgbW9yZSBmb3JtYXRzIGluIHZpZGVvZmlsdGVyIHVuaXQgdGVzdCwgY2hlY2sgbW9yZSByZXNvbHV0aW9ucwoKMjAxMS0wMy0xNCAxOToxNDowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBGaXggYnVmZmVyIG92ZXJmbG93IGJ1ZyBmb3Igb2RkIHJlc29sdXRpb25zIGFuZCBZNDIyIGNvbG9yc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3NzMKCjIwMTEtMDMtMTUgMTk6MzY6MDEgKzAyMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBzaWxlbmNlIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGFwcHJvcHJpYXRlCgkgIElmIHdlIGRpZCBub3Qga25vdyBob3cgbWFueSBmcmFtZXMgdG8gZXhwZWN0LCB0aGVuIHdlIGdldCBhbiB1bmV4cGVjdGVkCgkgIGVuZCBvZiBzdHJlYW0gd2hlbiB0cnlpbmcgdG8gZGVjb2RlIG1vcmUgZnJhbWVzIHRoYXQgYXJlIHRoZXJlLCBpZiB0aGVyZQoJICBhcmUgbGVmdG92ZXIgYml0cyB0byBwYWQgdG8gdGhlIG5leHQgYnl0ZQoKMjAxMS0wMy0xNCAxOToxNDowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgVVZZViBhbmQgWVZZVSBjb2xvcnNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzczCgoyMDExLTAzLTE1IDA5OjQzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiBpbiB2aWRlb2ZpbHRlciB1bml0IHRlc3QgYWxzbyBjaGVjayB3aXRoICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cwoJICBBbmQgb25seSB1c2Ugb25lIHRlc3Qgc3VpdGUuCgoyMDExLTAzLTE0IDE5OjI4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogQWx3YXlzIHByb2Nlc3MgdGhlIG51bWJlciBvZiBmcmFtZXMgcGVyIHBhY2tldCBhcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlcgoJICBMb29raW5nIGF0IHRoZSByZW1haW5pbmcgYml0cyBpbiB0aGUgYml0c3RyZWFtIGFmdGVyIGRlY29kaW5nIGEKCSAgc2luZ2xlIGZyYW1lIGNhbid0IGJlIHVzZWQgYXMgbG9vcCBjb25kaXRpb24uIFRoZSByZW1haW5pbmcKCSAgYml0cyBtaWdodCBub3QgZ2l2ZSBhIGNvbXBsZXRlIGZyYW1lIGFuZCB0aGUgc3BlZXggZGVjb2RlciB3aWxsCgkgIHRoZW4gb3V0cHV0IG5vdGhpbmcgYnV0IGFjY2VzcyB1bmluaXRpYWxpemVkIG1lbW9yeSwgd2hpY2ggbGVhZHMKCSAgdG8gdmFsZ3JpbmQgd2FybmluZ3MuCgkgIEZpeGVzIGJ1ZyAjNjQ0NjY5LgoKMjAxMS0wMy0xNCAxNTo0Njo1MCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV0dXJuIFRSVUUgZnJvbSBzaW5rIHBhZCBldmVudCBmdW5jdGlvbiBmb3IgdGFnIGV2ZW50cywgd2hpY2ggYXJlIGhhbmRsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDczMAoKMjAxMS0wMy0xMiAwMDo0NDozMSArMDUzMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBCZXR0ZXIgZml4IGZvciBkZWFkbG9jayBvbiBmYWlsZWQgY29ubmVjdAoJICBUaGlzIHJldmVydHMgdGhlIHByZXZpb3VzIGZpeCB0aGF0IHdvdWxkIGNhdXNlIGEgZG91YmxlLXVubG9jayB3aGVuIHRoZQoJICBzdHJlYW0gY29ubmVjdCBmYWlsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ1MTAKCjIwMTEtMDMtMTEgMjM6MDY6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBkZWFkbG9jayBpZiBjb25uZWN0aW5nIHRvIFBBIGZhaWxzCgkgIENvbW1pdCBkZDRlYzIyZSBpbnRyb2R1Y2VkIGEgZGVhZGxvY2sgaW4gdGhlIGZhaWx1cmUgcGF0aCB3aGlsZSB0cnlpbmcKCSAgdG8gY29ubmVjdCB0byBQdWxzZUF1ZGlvLiBUaGlzIG1ha2VzIHN1cmUgd2UgZHJvcCB0aGUgbG9jayBvbiB0aGUKCSAgcmVzb3VyY2UgbXV0ZXggdG8gYXZvaWQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDUxMAoKMjAxMS0wMy0xMSAxNjo1OToxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBvcmRlciBzdGF0ZS10ZXN0IGJsYWNrbGlzdCBhbmQgYWRkIGphY2sgZWxlbWVudHMKCSAgSmFjayBhdWRpbyBzcmMvc2luayBlbGVtZW50cyByZWNlbnRseSBnb3QgbW92ZWQgZnJvbSBiYWQgYW5kIHNob3VsZCBiZSBleGNsdWRlZAoJICBmcm9tIHRoZSB0ZXN0IChsaWtlIHRoZSBvdGhlciBkZXZpY2Ugc3BlY2lmaWMgc291cmNlIGFuZCBzaW5rcykuCgkgIEZpeGVzICM2NDQyODgKCjIwMTEtMDMtMTEgMTM6NDc6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgOjpzZW5kX2V2ZW50IGZvciBub24tc2VlayBldmVudHMKCjIwMTEtMDMtMTEgMTM6NDY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRml4IHJlZmNvdW50IGlzc3VlcyB3aXRoIHRoZSBzZWVrIGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjQyOTYzLgoKMjAxMS0wMy0xMSAwOTo1NDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIGRvY3M6IGZpeCBwdWxzZXNpbmsgZ3RrLWRvYyBtYXJrdXAKCjIwMTEtMDMtMTEgMTA6Mjk6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBidWlsZCBhZ2FpbnN0IGphY2sgMC4xMjAuMgoJICBqYWNrX3BvcnRfZ2V0X3RvdGFsX2xhdGVuY3koKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mCgkgIGphY2tfcG9ydF9nZXRfbGF0ZW5jeV9yYW5nZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NDc3CgoyMDExLTAzLTEwIDE0OjI5OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG1vcmUgY29tbWVudHMgYW5kIHR1bmUgYW5kIGxvZ2dpbmcKCjIwMTEtMDMtMTAgMTQ6MTU6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogYXZvaWQgdW5uZWNjZXNhcnkgZXh0cmEgZmZ0IHJ1bnMKCSAgQmVmb3JlIGl0IHdhcyBwb3NzaWJsZSB0aGF0IHdlIHJ1biBhbiBleHRyYSBmZnQgd2hlbiB0aGUgdGltZSBmb3Igc2VuZGluZyBhIG5ldwoJICBtZXNzYWdlIGlzIGR1ZS4gT25seSBkbyB0aGlzIGlmIHdlIGhhdmUgbm90IHJ1biB0aGUgZmZ0IGZvciB0aGUgaW50ZXJ2YWwgYXQgYWxsLgoKMjAxMS0wMy0xMCAxNDoxMjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBvbmx5IHNjYWxlIHRoZSB2ZWN0b3JzIHRoYXQgd2UgYXJlIHByb2Nlc3NpbmcKCSAgUGhhc2UgaXMgbm90IHByb2R1Y2VkIGJ5IGRlZmF1bHQsIHNvIGxldHMgbm90IHNjYWxlIGl0IHVuY29uZGl0aW9uYWxseSB0byBzYXZlIGEKCSAgZmV3IGN5Y2xlcy4KCjIwMTEtMDMtMTAgMTQ6MTA6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHB1dCBudW1iZXIgb2YgY2hhbm5lbHMgdG8gaW5zdGFuY2UgdmFyaWFibGUKCSAgV2hlbiBmcmVlaW5nIGRhdGEgdGhlIGZvcm1hdCBtaWdodCBoYXZlIGNoYW5nZWQuIFRodXMgd2UgbmVlZCB0byByZW1lbWJlciBmb3IKCSAgd2hpY2ggZm9ybWF0IHdlIGFsbG9jYXRlZCBtZW1vcnkuCgoyMDExLTAzLTEwIDEwOjI3OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHVwZGF0ZSBkb2MgcmV2aWV3IHN0YW1wCgoyMDExLTAzLTEwIDEwOjIyOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiB1c2UgZnVuY3Rpb24gcG9pbnRlcnMgZm9yIGRhdGEgcmVhZGVycwoJICBEb24ndCBjaGVjayB0aGUgZm9ybWF0IGZvciBlYWNoIHNhbXBsZSBmcmFtZSB0byByZWFkLiBXZSBjYW4gbWFrZSB0aGF0IGRlY2lzc2lvbgoJICBpbiBfc2V0dXAgYWxyZWFkeS4gVGhpcyBpcyBzdGlsbCBub3QgaWRlYWwgYXMgd2UgY2FsbCB0aGUgZnVuY3Rpb24gcGVyIGZyYW1lLgoJICBJZGVhbGx5IHdlIGRldGVybWluZSBob3cgbWFueSBzYW1wbGVzIHdlIGNhbiBjb3B5IGFuZCBoYXZlIGEgbG9vcCBpbiB0aGUgaW5wdXQKCSAgcmVhZGVyLiBBcyBhbiBhbHRlcm5hdGl2ZSB3ZSBtaWdodCBhbHNvIGNvbnNpZGVyIHRvIHVzZSB0aGUgZmZ0IHZhcmlhbnRzIGZvciB0aGUKCSAgdmFyaW91cyBmb3JtYXRzIGFuZCBub3QgY29udmVydCB0byBmbG9hdCBmb3IgYWxsIGNhc2VzIC0gd2Ugd291bGQgc3RpbGwgbmVlZCB0bwoJICBtaXggb3IgZGVpbnRlcmxlYXZlIHRob3VnaC4KCjIwMTEtMDMtMDkgMTc6MDc6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcHJvdmUgcmVjb3ZlcnkgZnJvbSBmYWlsZWQgc2VlawoJICBJbiBjYXNlIHNlcnZlci1zaWRlIGZhaWxzIHRvIHBlcmZvcm0gc2VlaywgaS5lLiBQTEFZIGF0IG5vbi16ZXJvIHJlcXVlc3RlZAoJICBwb3NpdGlvbiwgcmVjb3Zlcnkgc28gZmFyIHdvdWxkIGFycmFuZ2UgZm9yIHN0cmVhbWluZyB0byBjb250aW51ZSwgYWxiZWl0CgkgIGhhdmluZyBsb3N0IHBvc2l0aW9uIHRyYWNraW5nIGluIHRoZSBwcm9jZXNzLiAgU28sIHF1ZXJ5IHBvc2l0aW9uIHByaW9yCgkgIHRvIHNlZWsgYW5kIHVzZSB1cG9uIGZhaWxlZCBzZWVrLgoKMjAxMS0wMy0wOSAxNjo1MTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgcG9zaXRpb24gcXVlcnkKCjIwMTEtMDMtMDkgMTY6NTc6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06ICBtdWx0aS1jaGFubmVsIHN1cHBvcnQKCSAgQWRkIGEgYm9vbGVhbiBtdWx0aS1jaGFubmVsIHByb3BlcnR5IHdpdGggYSBkZWZhdWx0IG9mIEZBTFNFLiBXaGVuIHNldCB0byBUUlVFCgkgIHRoZSBlbGVtZW50IHdvbid0IG1peCBhbGwgaW5wdXQgY2hhbm5lbHMgdG8gbW9ubywgYnV0IGluc3RlYWQgcnVuIGEgRkZUIG9uIGVhY2gKCSAgY2hhbm5lbC4gSW4gdGhhdCBjYXNlIHRoZSByZXN1bHQgbWVzc2FnZSB3b3VsZCBjb250YWluIGEgMiBkaW1lbnNpb25hbCBhcnJheQoJICBvZiBjaGFubmVsIHggZGF0YSBmb3IgbWFnbml0dWRlIGFuZCBwaGFzZS4KCSAgQVBJOiBHc3RTcGVjdHJ1bTptdWx0aS1jaGFubmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTM0ODIKCjIwMTEtMDMtMDkgMTY6NTU6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogbW9yZSB4cmVmcyBpbiB0aGUgZG9jcwoKMjAxMS0wMy0wOSAxMjo0MToxNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmYWN0b3Igb3V0IHRoZSBjb2RlIHRoYXQgYWNjdW11bGF0ZWQgc2FtcGxlcyBpbnRvIHRoZSByaW5nLWJ1ZmZlcgoJICBVc2UgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byByZWFkIGEgc2FtcGxlIGZyYW1lIGludG8gYSByaW5nYnVmZmVyIHNsb3QuIEluIHRoZQoJICBmdXR1cmUgd2UgY2FuIHVzZSBmb3JtYXQtc3BlY2lmaWMgZnVuY3Rpb24gcG9pbnRlciB0byBhdm9pZCB0aGUgcmVvY2N1cmluZwoJICBmb3JtYXQgY2hlY2tzLgoKMjAxMS0wMy0wOSAxMjozODo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBwdWxsIGZvcm1hdCB0byB0ZW1wIHZhciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGxpbmVzIHVzaW5nIGl0CgoyMDExLTAzLTA5IDEyOjIwOjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNvZGUgY2xlYW51cCBmb3IgY29weWluZyBkYXRhIHRvIHJpbmctYnVmZmVyCgkgIFJlbmFtZSBmcCB0byBpc19mbG9hdCBhbmQgcmVzdHJ1Y3R1cmUgaWYtZWxzZSBwYXJ0IGZvciBoYW5kbGluZyB0aGUgZGlmZmVyZW50IGZvcm1hdHMuCgoyMDExLTAzLTA5IDExOjQwOjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBhZGQgYSBHc3RTcGVjcnR1bUNoYW5uZWwgY29udGV4dCBzdHJ1Y3R1cmUKCSAgV2Ugbm93IGtlZXAgdGhlIGZmdCBkYXRhIHRoYXQgaXMgcmVsYXRlZCB0byBvbmUgY2hhbm5lbCBpbiBhIHNlcGFyYXRlIHN0cnVjdHVyZQoJICB0byBwcmVwYXJlIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gV2UgYWxzbyByZWZhY3RvciB0aGUgY29kZSB0byBvcGVyYXRlIG1vcmUKCSAgb2Z0ZW4gb24gdGhlIGNoYW5uZWwgY29udGV4dC4KCjIwMTEtMDMtMDkgMTE6MTg6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY2FsbCB0aGUgaW5zdGFuY2UgdmFyIHNwZWN0cnVtIGluc3RlYWQgb2YgZmlsdGVyCgoyMDExLTAzLTA5IDExOjE0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGRvbid0IHZhbHVlIHdlIGFscmVhZHkgdG9vayBmcm9tIHRoZSBndmFsdWUKCjIwMTEtMDMtMDggMTc6MjY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTAzLTA4IDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBtZXRhOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMDggMTY6Mjg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYWQtaG9jIHJlbGVhc2UgYnJhbmNoICcwLjEwLjI4JwoKPT09IHJlbGVhc2UgMC4xMC4yOCA9PT0KCjIwMTEtMDMtMDggMTU6NDc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjgKCSAgQWQtaG9jIHJlbGVhc2UgdG8gZml4IGJ1aWxkIGlzc3VlIHdpdGggbmV3ZXIga2VybmVscy4KCjIwMTEtMDMtMDMgMDA6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgdW5uZWNlc3NhcnkgbGludXgvdmlkZW9kZXYuaCBpbmNsdWRlCgkgIENhdXNlcyBjb21waWxhdGlvbiBpc3N1ZXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycyB3aGVyZSB0aGUgb2xkCgkgIHY0bCBpbnRlcmZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzcxNgoKMjAxMS0wMy0wOCAxMDoxNDoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbQoKMjAxMS0wMy0wNyAxNjo1Njo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhbHNvIGVzdGltYXRlIGVvcyBpZiB2ZXJ5IG5lYXIgZW9zCgoyMDExLTAzLTA3IDE2OjU2OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHRyeWluZyB0byBidWZmZXIgbW9yZSB0aGFuIGlzIGF2YWlsYWJsZS4KCSAgVGhhdCBpcywgaW4gY2FzZSBvZiBzaG9ydCAob3IgbmVhciBlb3Mgb2YpIHN0cmVhbSwgZGVhZGxvY2sgKHVudGlsIHRpbWVvdXQpCgkgIHdvdWxkIG9jY3VyIHRyeWluZyB0byBidWZmZXIgbW9yZSB0aGFuIGlzIHlldCBmb3J0aGNvbWluZy4KCjIwMTEtMDMtMDcgMTE6MDE6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgZWxlbWVudCBiYXNlX3RpbWUgdXBvbiBmbHVzaAoJICAuLi4gdG8gYXJyYW5nZSBmb3IgcHJvcGVybHkgc2NoZWR1bGVkIHRpbWVvdXQgKGZvbGxvd2luZyBzZWVrKS4KCjIwMTEtMDMtMDcgMTA6NTQ6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IEFkZCBhIGJ1cyBoYW5kbGVyIHRvIHRoZSBleGFtcGxlIHRvIGhhbmRsZSBFT1MvRVJST1IvV0FSTklORwoJICBBbHNvIGNsZWFuIHVwIHRoZSBwaXBlbGluZSBwcm9wZXJseS4KCjIwMTEtMDMtMDcgMTA6NDc6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBbHdheXMgZGlzdCB0aGUgY2Fpcm8gZXhhbXBsZQoKMjAxMS0wMy0wNyAxMDo0NjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm9vdmVybGF5OiBVc2UgTERBREQgaW5zdGVhZCBvZiBMREZMQUdTIGZvciBsaWJzIGFuZCBhZGQgJChHU1RfTElCUykKCjIwMTEtMDMtMDUgMjM6MjI6NTggKzAwMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogUmVtb3ZlIHVubmVjZXNzYXJ5IGd0ay9ndGsteDExIHVzZSBpbiBleGFtcGxlLgoJICBUaGlzIHJlbW92ZXMgY29kZSwgYW5kIGFsbG93cyB0aGUgZXhhbXBsZSB0byBiZSB1c2VkIG9uIGFueSBwbGF0Zm9ybS4KCSAgRml4ZXMgYnVnICM2NDM5ODEuCgoyMDExLTAzLTA0IDE4OjM3OjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogVXNlICNpZmRlZnMgZm9yIFY0TDJfUElYX0ZNVF9QSlBHCgkgIEl0J3Mgb25seSByZWNlbnRseSBhZGRlZCB0byBrZXJuZWwgaGVhZGVycy4KCjIwMTEtMDItMjMgMTY6NTA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogdHVuZSBvdXRwdXQgbWF4IGJ1ZmZlciBzaXplIHRvIG1hdGVyaWFsCgkgIC4uLiB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCB0b25zIG9mIHNob3J0IHRpbWUgYnVmZmVycyBmb3IgZS5nLiBoaWdoIHNhbXBsZQoJICByYXRlIGF1ZGlvLgoKMjAxMS0wMy0wNCAxNzowNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZG9uJ3QgdXNlIGhhcmRjb2RlYyAwLjEwCgoyMDExLTAzLTA0IDE2OjMwOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wNCAxNTo1MDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBhIGRvYyBleGFtcGxlIGZvciBzZXR0aW5nIHN0cmVhbS1wcm9wZXJ0aWVzCgoyMDExLTAzLTA0IDE1OjQyOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHRoZSB4bWwgaW4gdGhlIGRvY3MKCjIwMTEtMDMtMDMgMDA6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgdW5uZWNlc3NhcnkgbGludXgvdmlkZW9kZXYuaCBpbmNsdWRlCgkgIENhdXNlcyBjb21waWxhdGlvbiBpc3N1ZXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycyB3aGVyZSB0aGUgb2xkCgkgIHY0bCBpbnRlcmZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzcxNgoKMjAxMS0wMy0wMiAyMzoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IFRoZSBleGFtcGxlIGFsd2F5cyByZXF1aXJlcyBndGsteDExCgkgIENoZWNrIGZvciBndGsteDExIGFuZCBvbmx5IGJ1aWxkIHRoZSBleGFtcGxlIGlmIGl0J3MgYXZhaWxhYmxlLgoKMjAxMS0wMy0wMiAyMzoxNDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSAgY2Fpcm9vdmVybGF5OiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTEtMDMtMDIgMjM6MDk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0ZWQgcGx1Z2luIGRhdGEKCjIwMTEtMDEtMjggMDI6MTQ6MDQgKzAyMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2NhaXJvLy5naXRpZ25vcmU6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLW1hcnNoYWwubGlzdDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBBZGQgZ2VuZXJpYyBDYWlybyBvdmVybGF5IHZpZGVvIGVsZW1lbnQuCgkgIEFsbG93cyBhcHBsaWNhdGlvbnMgdG8gY29ubmVjdCB0byB0aGUgImRyYXciIHNpZ25hbCBvZgoJICB0aGUgZWxlbWVudCBhbmQgZG8gdGhlaXIgY3VzdG9tIGRyYXdpbmcgdGhlcmUuCgkgIEluY2x1ZGVzIGFuIGV4YW1wbGUgYXBwbGljYXRpb24gZGVtb25zdHJhdGluZyB1c2FnZS4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTU1MjAKCjIwMTEtMDMtMDIgMTM6MDA6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogZG9uJ3QgbGVhayB0aGUgbW9ub3Njb3BlX3N0YXRlIGRhdGEKCSAgVGhlIG1vbm9zY29wZV9jbG9zZSgpIGltcGxlbWVudGF0aW9uIHdhcyBlbXB0eS4KCjIwMTEtMDMtMDIgMTI6NTk6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogd2UgaGF2ZSA2NCBjb2xvcnMsIGRvbid0IGFjY2VzcyBjb2xvcnNbNjRdCgkgIEZpeGVzIHJlbWFpbmluZyBpbnZhbGlkIHJlYWQuCgoyMDExLTAzLTAyIDEwOjI1OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXJyYW5nZSBmb3Igbm9uLWZhdGFsIGVycm9yIHdoZW4gcGFyc2luZyBub24tdml0YWwgcGFydHMKCjIwMTEtMDMtMDIgMTA6NTY6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSAgbW9ub3Njb3BlOiBzdGFjayBuZWVkcyB0byBiZSBzaXplKzEgYXMgd2UgcHV0IGEgZW5kLW1hcmtlciBpbnRvIGl0CgkgIFZhbGdyaW5kIGlzIHN0aWxsIGNvbXBsYWluaW5nIGFib3V0IG9uZSBiYWQgcmVhZCwgYnV0IHRoaXMgdGFrZXMgY2FyZSBvZiB0aGUKCSAgY3Jhc2ggbWVudGlvbmVkIGluIHRoZSBjb21tZW50IGFuZCBpbiBidWcgIzU2NDEyMi4KCjIwMTEtMDMtMDEgMjI6NDA6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgZXhhbXBsZTogZml4IHRoZSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaXAtYWRkcmVzcwoJICBGaXggdGhlIG5hbWUgaW4gdGhlIGxhdW5jaCBwaXBlbGluZSBhbmQgdXNlIGEgdmFsdWUgb2YgImxvY2FsaG9zdCIgYnkgZGVmYXVsdC4KCjIwMTEtMDItMjggMTk6MTY6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGN5Z3dpbi9taW5ndzsgZW5hYmxlIHBsdWdpbiBsaW5raW5nIHRvIHN0YXRpYyBsaWIKCSAgVXNlZnVsIGZvciBEaXJlY3RYIHBsdWdpbihzKS4KCSAgRml4ZXMgIzY0MjUwNy4KCjIwMTEtMDItMjggMTk6MTM6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGV4cG9ydCBwbHVnaW4gZGVzY3JpcHRpb24gbW9yZSBwbGF0Zm9ybSBpbmRlcGVuZGVudAoJICBGaXhlcyAjNjQyNTA0LgoKMjAxMS0wMi0yOCAxODozMjo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFkZTdmNmEgdG8gNmFlYzZiOQoKMjAxMS0wMi0yOCAxMzoyOTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDItMjggMTM6Mjg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBOZXRBZGRyZXNzIG1ldGFkYXRhCgoyMDExLTAyLTI4IDEzOjE0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogaW1wbGVtZW50IE5ldEFkZHJlc3Mgd2l0aCBtZXRhZGF0YQoKMjAxMS0wMi0yOCAxMDoxNjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJlZ2lzdGVyIG1ldGFkYXRhCgoyMDExLTAyLTI3IDE5OjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtZXRhOiBmaXggZm9yIG5ldyBBUEkKCjIwMTEtMDItMjUgMTY6Mjk6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1ldGFkYXRhOiB1c2UgbWV0YWRhdGEgZm9yIHByaXZhdGUgYnVmZmVyIGRhdGEKCSAgVXNlIGJ1ZmZlciBtZXRhZGF0YSB0byBzdG9yZSBlbGVtZW50IHByaXZhdGUgZGF0YS4KCjIwMTEtMDItMjQgMTM6NTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWluaW9iamVjdDogcG9ydCB0byAwLjExCgkgIFVzZSBidWZmZXIgcHJpdmF0ZSBkYXRhIGluc3RlYWQgb2Ygc3ViY2xhc3NpbmcuCgoyMDExLTAyLTI0IDEzOjUwOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogZG9uJ3QgaGFyZGNvZGUgdmVyc2lvbiBudW1iZXIKCjIwMTEtMDItMjQgMTM6MDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDM6IHVzZSBib3hlZCB0eXBlIGluc3RlYWQgb2YgbWluaW9iamVjdAoKMjAxMS0wMi0yNCAxMzowMDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgbWluaW9iamVjdDogdXNlIGJ1ZmZlciBwcml2YXRlIGZpZWxkIGZvciBleHRyYSBkYXRhCgkgIFVzZSB0aGUgb3duZXIgcHJpdmF0ZSBmaWVsZCB0byBzdG9yZSBleHRyYSBidWZmZXIgZGF0YSBpbnN0ZWFkIG9mIHVzaW5nCgkgIHN1YmNsYXNzaW5nLgoKMjAxMS0wMi0yNCAxMjoyMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGR1cmF0aW9uIHdoZW4gZXh0aW1hdGluZyBRb1MgdGltZQoJICBXaGVuIHdlIG5lZWQgdG8gZGVjaWRlIG9uIHRoZSBuZXh0IFFvUyB0aW1lLCB0YWtlIGludG8gYWNjb3VudCB0aGUgZHVyYXRpb24gb2YKCSAgdGhlIGJ1ZmZlcnMuCgoyMDExLTAyLTI4IDExOjU4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMi0yMyAxNzo0MToyMiArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZWxlYXNlIHBhX3NoYXJlZF9yZXNvdXJjZV9tdXRleCBiZWZvcmUgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdAoJICBOb3QgZG9pbmcgc28gY2FuIHJlc3VsdCBpbiBhIGRlYWRsb2NrIHdoZW4gdHdvIHRocmVhZHMgZW50ZXIKCSAgZ3N0X3B1bHNlcmluZ2J1ZmZlcl9vcGVuX2RldmljZSBhdCB0aGUgc2FtZSB0aW1lLCBhcwoJICBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0IHJlbGVhc2VzIHRoZSBtYWlubG9vcCBsb2NrIHdoaWxlIHdhaXRpbmcsCgkgIGFsbG93aW5nIGFub3RoZXIgdGhyZWFkIHRvIHRha2UgaXQsIHJlc3VsdGluZyBpbiBhIGRlYWRsb2NrIGFzIHR3bwoJICB0aHJlYWRzIHdhaXRzIGZvciB0aGUgbG9jayB0aGUgb3RoZXIgaXMgaG9sZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzA4NwoKMjAxMS0wMi0yMyAxNzoxODoxOSArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzL3Jlc3NvdXJjZS9yZXNvdXJjZS8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzA4NwoKMjAxMS0wMi0yNSAyMDoxMjozNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBhY2NpZGVudGFsIGRlYnVnIG1lc3NhZ2UKCSAgaW4gcHJldmlvdXMgY29tbWl0CgoyMDExLTAyLTI1IDE5OjM1OjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIDJWdXkgYW5kIHIyMTAKCjIwMTEtMDItMjQgMTQ6MDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBOVjIxIGNvbG9yc3BhY2UKCjIwMTEtMDItMjQgMTQ6MDA6MzcgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGNvbG9yc3BhY2UKCSAgRml4ZXMgYnVnICM2NDI5NjEuCgoyMDExLTAyLTI0IDEzOjU2OjA0ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpcnN0IHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIFRJTUUgc2Vla3MgYmVmb3JlIGhhbmRsaW5nIHRoZW0gaGVyZQoJICBGaXhlcyBidWcgIzY0Mjk2My4KCjIwMTAtMTEtMDggMTQ6MjU6NTkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IFNpbXBsaWZ5IHNldGNhcHMKCSAgVGhlIGN1cnJlbnQgY29kZSBuZXZlciB1c2VzIHVwc3RyZWFtIG5lZ290aWF0aW9uIHNvIHRoZSBjb2RlIGNhbiBiZQoJICBzaWduaWZpY2FudGx5IHNpbXBsaWZpZWQuCgoyMDExLTAxLTI0IDEyOjQ4OjE4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogUG9ydCBncmVlZHlsIHRvIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kCgkgIFRoZSBtYWluIGdvYWwgb2YgdGhpcyBjaGFuZ2UgaXMgdG8gcmV1c2UgdGhlIGNvbXBsZXggYnV0IG5vdyBuZWF0bHkKCSAgd3JpdHRlbiBzY2FubGluZSBwb2ludGVyIGNhbGN1bGF0aW9uIGNvZGUgZnJvbSB0aGUgc2ltcGxlIG1ldGhvZHMuCgoyMDExLTAyLTIyIDE1OjIwOjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgUmV2ZXJ0ICJpZDNkZW11eDogZW5zdXJlIGEgdGFnbGlzdCBiZWZvcmUgYWRkaW5nIHRoZSBjb250YWluZXIgdGFnIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE4NmJhYjY2ODkzYmIxYTMzMjNhNzU2NDEwNTczYzExN2I4MjE5ZWYuIFRoZSBpc3N1ZSBpcwoJICBmaXhlZCB3aXRoIGNvbW1pdCBmZjVlNWE4ZjBkYWExZmRmODk3OTJkMDcyNmVhMDYzYmJkOTlkYjE4IGluc3RlYWQuCgoyMDExLTAyLTIyIDE1OjE5OjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcmV0dXJuIElEM1RBR1NfQlJPS0VOX1RBRyBmb3IgdW5zdXBwb3J0ZWQgdmVyc2lvbnMKCSAgVGhpcyBwcmV2ZW50cyB1cyBmb3IgdHJ5aW5nIHRvIHdvcmsgd2l0aCBhIE5VTEwgdGFnbGlzdC4KCjIwMTEtMDItMjIgMTQ6MTU6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDExLTAyLTIyIDE0OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGVuc3VyZSBzYW5lIHBhcmFtZXRlcnMgd2hlbiBwYXJzaW5nIHN1cGVyaW5kZXgKCjIwMTEtMDItMjIgMTQ6MDA6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2hlY2sgZm9yIE5VTEwgYXVkaW8gc3RyZWFtIGZvcm1hdCBoZWFkZXIgd2hlbiBwYXJzaW5nIHN0cmVhbQoKMjAxMS0wMi0yMiAxNDo1MjoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cC1leGFtcGxlczogbW92ZSBjYXBzZmlsdGVyIGJlaGluZCBjb252ZXJ0ZXJzCgkgIFdlIG5lZWQgdG8gaGF2ZSB0aGUgY2Fwc2ZpbHRlciBiZWhpbiB0aGUgY29udmVydGVycyB0byBtYWtlIHRoZSBjb252ZXJ0ZXJzCgkgIGNvbnZlcnQgZnJvbSB0aGUgZm9ybWF0cyB2NGwyc3JjIGNhbiBkbyB0byB3aGF0IHdlIHJlcXVlc3Qgd2l0aCB0aGUKCSAgY2Fwc2ZpbHRlci4KCjIwMTEtMDItMjIgMTQ6NTA6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwLWV4YW1wbGVzOiBmaXggYXNjaWktYXJ0CgkgIFNvbWUgYm94ZXMgd2hlcmUgbWlzYWxpZ25lZCBkdWUgdG8gbG9uZyAiYXVkaW90ZXRzc3JjIiBuYW1lLiBUcmltIHRyYWlsaW5nCgkgIHdoaXRlc3BhY2UuCgoyMDExLTAyLTIyIDEzOjI5OjI2ICswMTAwICBCbGFpc2UgR2Fzc2VuZCA8YmxhaXNlIGF0IHdpbGxvd2dhcmFnZSBkb3QgY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogaGFuZGxlIE5VTEwgZGVtdXggZWxlbWVudHMKCSAgV2hlbiB1c2luZyBnc3RydHBiaW4gd2l0aCBpZ25vcmUtcHQ9dHJ1ZSwgdGhlIGZyZWVfc3RyZWFtIGZ1bmN0aW9uIHRyaWVzIHRvCgkgIGNhbGwgZ3N0X2VsZW1lbnRfc2V0X2xvY2tlZF9zdGF0ZSBhbmQgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlIG9uIGEgc3RyZWFtLT5kZW11eAoJICB3aGljaCBpcyBOVUxMLgoJICBmaXhlcyAjNjQyNDEyCgoyMDExLTAxLTI0IDEyOjE4OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbi11cHMKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYnkgcHJpbnRpbmcgdGhlIGJ1ZmZlciBwb2ludGVyIHdoZW4KCSAgcG9wcGluZyBhIGJ1ZmZlciBhbmQgc2ltcGxpZnkgY29kZSB0byB1c2Ugc2NhbmxpbmVzLmJvdHRvbV9maWVsZAoJICBhcyBhcHByb3ByaWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjY5MQoKMjAxMS0wMS0yNCAxMjoxODozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggYXNzaWduZWQgbWV0aG9kX2lkIHdoZW4gdXNpbmcgZmFsbGJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjY5MQoKMjAxMS0wMi0yMSAxNzoxNzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBzZXR0aW5nIHRoZSBTREVTIHByb3BlcnR5CgkgIE9ubHkgdGhlIHNkZXMgdmVyaWFibGUgaXMgcHJvdGVjdGVkIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBVc2UgdGhlIHJpZ2h0IG9iamVjdCB3aGVuIHNldHRpbmcgdGhlIHNkZXMgcHJvcGVydHkuCgoyMDExLTAyLTIxIDEyOjA5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGU2Yjg3NmU3NmM5NDQxMGRiMTYwYWZlNWViMzBmMjE0NTJlNDE5Zi4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIxIDAwOjU1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZml4IHRhZyBsaXN0IGhhbmRsaW5nIGlzc3VlcyB0aGF0IG1pZ2h0IGhhdmUgY2F1c2VkIGNyYXNoZXMKCSAgRml4IHNsaWdodGx5IGNvbmZ1c2VkIHRhZyBoYW5kbGluZyBpbiBzb21lIHBsYWNlczogbWFrZSBpdCBjbGVhciB3aGVuCgkgIHdlJ3JlIHRha2luZyBvd25lcnNoaXAgb2YgYSB0YWcgbGlzdCBhbmQgd2hlbiBub3QuIEZvciBleGFtcGxlLAoJICBnc3RfaWN5ZGVtdXhfdGFnX2ZvdW5kKCkgd2FzIHRha2luZyBvd25lcnNoaXAgd2hlbiB0aGUgc291cmNlIHBhZAoJICBleGlzdGVkLCBidXQgb3RoZXJ3aXNlIG5vdCAobGVhaykuIEFsc28sIGdzdF9ldmVudF9wYXJzZV90YWcoKSBkb2VzCgkgIG5vdCByZXR1cm4gYSBuZXdseS1hbGxvY2F0ZWQgdGFnbGlzdCwgYnV0IGEgdGFnIGxpc3QgdGhhdCBiZWxvbmdzIHRvCgkgIHRoZSB0YWcgZXZlbnQsIHNvIGRvbid0IGdpdmUgb3duZXJzaGlwIG9mIGl0IGF3YXkuCgkgIFdoaWxlIHdlJ3JlIGF0IGl0LCBzb21lIG1pbm9yIGNsZWFuLXVwczogZG9uJ3QgcmUtaW52ZW50IGdfc3RybmR1cCgpCgkgIGFuZCBzaW1wbGlmeSBnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncygpIGEgYml0LCBhbmQgZG9uJ3QKCSAgbGVhayB0aGUgdGFnIGxpc3QgaW4gY2FzZSBubyB2YWxpZCB0YWdzIHdoZXJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMzMwCgoyMDExLTAyLTIwIDIzOjM5OjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAyLTE5IDE1OjQ4OjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogSGFuZGxlIDE2LWJpdC1wZXItY2hhbm5lbCBpbWFnZXMKCjIwMTEtMDItMTggMTA6MTI6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbS0+Y3VycmVudF90b3RhbCBpcyBhY2N1bXVsYXRlZCBieXRlIHNpemUgYW5kIG5vdCB0aW1lCgkgIFVzZSB0aW1lc3RhbXAgZm9yIHRoZSBzdHJlYW0gaW5kZXggYXMgd2VsbC4KCjIwMTEtMDItMTUgMTk6MzM6NDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogd2FybiB3aGVuIHBhY2tldCBpcyB0b28gbGFyZ2UKCjIwMTEtMDItMTcgMTc6NTk6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYXBhcnNlOiBOZXcgZWxlbWVudAoJICBDb3BpZWQgZnJvbSBkZW11eC4gIER1cGxpY2F0ZXMgbXVjaCBjb2RlLCBhbHNvIHNvbWUgZGVhZCBjb2RlCgkgIHJlbWFpbmluZy4KCjIwMTEtMDItMTcgMTc6NTc6NTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEVhcmxpZXIgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24KCjIwMTEtMDEtMjIgMDA6MTM6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBzZXQgZHVyYXRpb24gZm9yIGxpdmUgc3RyZWFtCgoyMDExLTAxLTA2IDE1OjQ0OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJICBkZWJ1Z3V0aWxzOiByZW1vdmUgYml0cm90dGVuIG5lZ290aWF0aW9uIGVsZW1lbnQKCSAgV2Fzbid0IGVuYWJsZWQsIGRpZG4ndCB3b3JrLCBhbmQgcGxhbm5lZCBmZWF0dXJlcyBoYXZlIGJlZW4KCSAgc3VwZXJjZWRlZCBieSBjYXBzZmlsdGVyIGFuZCBjYXBzZGVidWcuCgoyMDEwLTA5LTE3IDEyOjEwOjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogSW1wbGVtZW50IGludGVybGFjaW5nCgoyMDExLTAyLTE3IDE3OjU3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhbHNvIGFkZCB0aGUgZnJhbWUtdHlwZSBmb3IgdGhlIHN0cmVhbSBpbmRleAoKMjAxMS0wMi0xNyAxNzo1NjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZ2V0IHRoZSBpbmRleCB3cml0ZXIgaWQgd2hlbiB0aGUgcGFkIGhhcyBhIHBhcmVudAoJICBPdGhlcndpc2UgdGhlIGluZGV4IHdyaXRlciBoYXMgYSB3ZWlyZWQgbmFtZSwgYXMgdGhlIHBhZCBoYXMgbm8gcGFyZW50IHlldC4KCjIwMTEtMDItMTcgMTQ6MDA6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBhdmlkZW11eCwgZmx2ZGVtdXg6IGZvcm1hdHRpbmcgY2xlYW51cAoJICBUcmltIHRyYWlsaW5nIHdoaXRlc3BhY2VzIGFuZCBmaXggdGhlIGZvcm1hdHRpbmcgb2YgZG91YmxlIG5lZ2F0aW9uLgoKMjAxMS0wMi0xNyAxMzo1NzozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGF2aWRlbXV4LCBmbHZkZW11eDogbWFyayBkZWx0YS11bml0cyBpbiB0aGUgaW5kZXgKCSAgV2UgbmVlZCB0byB1c2UgdGhlICdkZWx0YScgZmxhZyBmb3IgZGVsdGEgdW5pdHMgYW5kIG5vdCB0aGUgJ25vbmUnIGZsYWcuCgoyMDExLTAyLTE3IDExOjU4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3ZlZCBlcXVhbGl6ZXIgdGVzdCBiaW5hcnkKCjIwMTEtMDItMTcgMTI6NDY6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFyayBkZWx0YS11bml0IGluIHRoZSBpbmRleAoJICBXZSBuZWVkIHRvIHVzZSB0aGUgZGVsdGEgZmxhZyBmcm8gZGVsdGEgdW5pdHMgYW5kIG5vdCBub25lLiBQcmludCBtb3JlIGRldGFpbHMKCSAgdG8gdGhlIGRlYnVnIGxvZy4KCjIwMTEtMDItMTcgMTI6NDQ6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9ybWF0dGluZyBjbGVhbnVwCgkgIFRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZXMgYW5kIGZpeCB0aGUgZm9ybWF0dGluZyBvZiBkb3VibGUgbmVnYXRpb24uCgoyMDExLTAyLTE2IDE3OjA5OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXdvcmsgX3JlcXVlc3RfbmV3X3BhZCB0byBoYW5kbGUgZXhwbGljdCByZXEtcGFkLW5hbWVzCgkgIERvbid0IGlnbm9yZSBleHBsaWNpdCBwYWQtbmFtZXMuCgoyMDExLTAyLTE2IDE3OjA2OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJld29yayBfcmVxdWVzdF9uZXdfcGFkIHRvIGhhbmRsZSBleHBsaWN0IHJlcS1wYWQtbmFtZXMKCSAgRG9uJ3QgaWdub3JlIGV4cGxpY2l0IHBhZC1uYW1lcy4gUmVhcnJhbmdlIHRoZSBjb2RlIGFuZCB0aGUgZXJyb3IgaGFuZGxpbmcgYQoJICBiaXQuIEFkZCBhIEZJWE1FLTAuMTEgZm9yIHRoZSBiYWQgcGFkLW5hbWVzLgoKMjAxMS0wMi0xNiAxNToyODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgaWNsZXM6IEFkZCBlcXVhbGl6ZXItdGVzdCB0byB0aGUgYnVpbGQgc3lzdGVtCgoyMDExLTAyLTE2IDE1OjIzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1LzVdIGVxdWFsaXplci10ZXN0OiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGFmdGVyIGdzdF9pbml0KCkgdG8gZml4IHNlZ2ZhdWx0CgoyMDA3LTExLTA3IDE1OjM2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNC81XSB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChkb19zbGlkZXJfZmlkZGxpbmcpOgoJICBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMy81XSBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wMy0xNCAxNjozMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDIvNV0gdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxLzVdIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAxMS0wMi0xNSAxNTo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBQSlBHIG1hcHBpbmcKCSAgQWRkcyBtYXBwaW5nIG9mIHByb2dyZXNzaXZlIGpwZWcgZm9ybWF0CgoyMDExLTAyLTE1IDE2OjMwOjIwICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcuY29tPgoKCSAgcGx1ZyBxdGRlbXV4IHJlZmNvdW50IGxlYWtzCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9zcmNfY29udmVydCk6IFVucmVmIHRoZSBxdGRlbXV4OyB3ZQoJICB3ZXJlbid0IGRvaW5nIHNvIGJlZm9yZS4KCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQsIGdzdF9xdGRlbXV4X2NoYWluKTogRml4IHNvbWUgZXJyb3IKCSAgY2FzZXMgd2hpY2ggd291bGQgbGVhayBhIHJlZiB0byB0aGUgcXRkZW11eC4KCjIwMTEtMDItMTQgMjA6MjA6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBZGQgVVJJIHF1ZXJ5IGhhbmRsZXIKCSAgRml4ZXMgYnVnICM2NDIzMzcuCgoyMDExLTAyLTE0IDE3OjQ5OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBzb3J0aW5nIE5VTEwgYXJyYXkgb2YgY2x1c3RlciBwb3NpdGlvbnMKCjIwMTEtMDItMTQgMTY6NDY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogaGFuZGxlIDAgc2l6ZWQgcGFja2V0cwoJICBIYW5kbGUgMCBzaXplZCBwYWNrZXRzIChyZXBlYXQgZnJhbWUpIGluIHRoZSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLgoJICBGaXhlcyAjNjQxODI3CgoyMDExLTAyLTE0IDE1OjIxOjI5ICswMjAwICBUdXVra2EgUGFzYW5lbiA8dHV1a2thLnBhc2FuZW5AaWxtaS5maT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IHJlc2VuZCB0YWdzIHdoZW4gdGhleSBhcmUgY2hhbmdlZAoJICBBbGxvdyBzZXR0aW5nIG5ldyB0YWdzIG9uIHRoZSBwcm9wZXJ0eSB3aGlsZSBydW5uaW5nIGFuZCBzZW5kIHRoZW0uCgkgIEZpeGVzICM2NDAyNDkKCjIwMTEtMDItMTQgMTI6NTM6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjk0ZDczOSB0byAxZGU3ZjZhCgoyMDExLTAyLTA3IDIzOjMyOjUzICswMTAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1pbm9yIGxlYWtzIHdoZW4gaGFuZGxpbmcgc2VydmVyIHJlcXVlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMTYzCgoyMDExLTAyLTE0IDAwOjQ5OjAwICswMDAwICBIZWF0aCBOaWVsc29uIDxoZWF0aG5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IE11c2ljQnJhaW56IHRhZ3MKCSAgRXh0cmFjdCBNdXNpY0JyYWlueiB0YWdzIGFkZGVkIGJ5IE11c2ljQnJhaW56J3MgUGljYXJkCgkgIHRhZ2dlciBhcHBsaWNhdGlvbi4gVGhlc2UgdGFncyAoZXNwLiB0aGUgYWxidW0gaWQpIGFyZQoJICBoZWxwZnVsIGZvciByaHl0aG1ib3ggZXQuYWwuIHRvIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRzCgkgIGNvdmVyIGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjIwNQoKMjAxMS0wMi0xNCAwMDozODo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGlUdW5lcyB0YWcgcGFyc2luZyBhIGJpdAoKMjAxMS0wMi0xMCAyMzo1Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIGRvYXA6IHVwZGF0ZSBtYWlsaW5nIGxpc3QgbG9jYXRpb24KCjIwMTEtMDItMTAgMTg6MTE6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wYWdhdGUgZXJyb3IgZHVyaW5nIGV4cG9zZV9zdHJlYW1zCgkgIC4uLiBhcyBpdCBtYXkgb2NjdXIgZHVyaW5nIGluaXRpYWwgcGFyc2luZyBvZiBmcmFnbWVudGVkIGZpbGUuCgoyMDExLTAyLTEwIDE4OjAwOjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2tpcHBpbmcgZXhwb3NpbmcgYSBzdHJlYW0gZm9sbG93aW5nIGEgcmVtb3ZlZCBzdHJlYW0KCjIwMTEtMDItMTAgMTE6NTY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdG9yZSBjbHVzdGVyIHBvc2l0aW9ucyBwcm92aWRlZCBieSBTZWVrSGVhZAoJICAuLi4gYW5kIHVzZSB0aG9zZSwgaWYgYXZhaWxhYmxlLCB0byBsb2NhdGUgYSBjbHVzdGVyIHJhdGhlciB0aGFuIHNjYW5uaW5nLgoKMjAxMS0wMi0wOSAxNjoyMjo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVybHkgcmVzdW1lIGNsdXN0ZXIgc2Nhbm5pbmcKCSAgLi4uIHJhdGhlciB0aGFuIGdldHRpbmcgb2Zmc2V0IHRyYWNraW5nIG1lc3NlZCB1cCwgYW5kIHRoZW4gbGlrZWx5CgkgIGZhaWxpbmcgYSBzdWJzZXF1ZW50IGFzc2VydC4KCjIwMTEtMDItMDggMTA6MDc6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogZW5zdXJlIGEgdGFnbGlzdCBiZWZvcmUgYWRkaW5nIHRoZSBjb250YWluZXIgdGFnCgkgIEluIHRoZSBjYXNlIG9mIGlkM3YxIGFsc28gZG9uJ3QgcmV0dXJuIE5VTEwgb24gZW1wdHkgdGFncywgYnV0IGFsc28gY3JlYXRlIGEgbmV3CgkgIHRhZ2xpc3QgYW5kIGFkZCB0aGUgY29udGFpbmVyIHRhZyBmb3IgY29uc2lzdGVuY3kuCgoyMDExLTAyLTA3IDE3OjA4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHN0cmlwIHRyYWlsaW5nIHNwYWNlcwoKMjAxMS0wMi0wNyAxNzowNzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHBzcmM6IHNldCBtdWx0aXBsZSBwcm9wZXJ0aWVzIGluIG9uZSBnbwoJICBUaGVyZSBpcyBubyBuZWVkIGZvciBzZXBhcmF0ZSBnX29iamVjdF9zZXQoKSBjYWxscyBoZXJlLgoKMjAxMS0wMi0wMyAxNjoxMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEhhbmRsZSBpbWFnZSBjYXBzIHdpdGhvdXQgYXNzZXJ0aW5nCgkgIEltYWdlcyBtaWdodCBoYXZlIGZyYW1lcmF0ZT0wLzEgaW4gdGhlIGNhcHMsIHdoaWNoIGNhdXNlZCBhbgoJICBhc3NlcnRpb24gb24gZGVpbnRlcmxhY2UuIEkgZG9uJ3Qga25vdyBvZiBpbnRlcmxhY2VkIGltYWdlIGZvcm1hdHMKCSAgYnV0IGRlaW50ZXJsYWNlIG1pZ2h0IGJlIGhhcmRjb2RlZCBvbiBzb21lIGdlbmVyaWMgcGlwZWxpbmVzIGFuZAoJICBpdCBzaG91bGRuJ3QgYXNzZXJ0LgoJICBUaGUgZml4IHdhcyB0byBzZXQgZmllbGRfZHVyYXRpb24gdG8gMCBpZiB0aGUgaW5wdXQgaGFzIGEgZnJhbWVyYXRlCgkgIHdpdGggYSAwIG51bWVyYXRvci4KCSAgVGhpcyBwYXRjaCBhbHNvIGFkZHMgY2hlY2tzIGZvciB0aGlzIHNpdHVhdGlvbiBvbiB0aGUgdW5pdCB0ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTQwMAoKMjAxMS0wMi0wNCAxMjozMzowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogZml4IHBhcmFtZXRlciBuYW1lIGluIHVkcHNyYyBkb2NzCgkgIEl0IGlzICJidWZmZXItc2l6ZSIgYW5kIG5vdCAiYnVmZmVyIi4gQWxzbyB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDExLTAyLTAzIDIzOjQyOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGludGVybGFjZWQgc2V0X2Zvcm1hdCBjb25maWd1cmF0aW9uCgkgIENvbW1pdCA2YzgyNjhkYmZkNWM4OGZhYzI4Yzg4MmVmMmU0NTk4YTY1MjJlMmQ2IGJyb2tlIHJlY29yZGluZwoJICBmcm9tIGludGVybGFjZWQgdjRsMiBzb3VyY2UgKGUuZy4gdHlwaWNhbCB0diBjYXB0dXJlIGNhcmQpIHNpbmNlCgkgIFY0TDJfRklFTERfU0VRX1RCICh3aXRoIGZpZWxkcyBzdG9yZWQgc2VwYXJhdGVseSkgZG9lcyBub3QgbWFwCgkgIHRvIGN1cnJlbnRseSBkZWZpbmVkIGludGVybGFjZWQgZm9ybWF0IChmaWVsZHMgc3RvcmVkIGludGVybGVhdmVkKS4KCSAgQmVzaWRlcyB0aGlzIG1pc21hdGNoLCBoYXJkd2FyZSBtaWdodCBxdWl0ZSBsaWtlbHkgbm90IHN1cHBvcnQgb3IKCSAgYXBwcmVjaWF0ZSB0aGlzIGZpZWxkIHZhbHVlLCBzaW5jZSBxdWVyeWluZyBzdXBwb3J0ZWQgZm9ybWF0cyBtYXBwZWQKCSAgX0lOVEVSTEFDRUQgZmllbGQgZm9ybWF0cyB0byBpbnRlcmxhY2VkPXRydWUgY2FwcyAoc28gdGhlIGxhdHRlciBzaG91bGQKCSAgbm90IGJlIG1hcHBlZCB0byBmaWVsZCB2YWx1ZSB0aGF0IGlzIG5vdCBrbm93biB0byBiZSBzdXBwb3J0ZWQpLgoKMjAxMS0wMi0wMyAxODoyNTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbGFtZS5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgbGFtZW1wM2VuYyBuZWdvdGlhdGlvbiBpc3N1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMTUxCgoyMDExLTAyLTAzIDE4OjE4OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogaW1wbGVtZW50IHNpbmtwYWQgZ2V0X2NhcHMoKSBmdW5jdGlvbiB0byBwcm94eSByYXRlIGFuZCBjaGFubmVscyByZXN0cmljdGlvbnMgZnJvbSBkb3duc3RyZWFtCgkgIFRoZSBlbGVtZW50IGRvd25zdHJlYW0gb2YgbXAzZW5jIG1pZ2h0IG9ubHkgYWNjZXB0IGNlcnRhaW4gc2FtcGxlIHJhdGVzIG9yIGNoYW5uZWxzLAoJICBtYWtlIHN1cmUgd2UgcmVsYXkgYW55IHJlc3RyaWN0aW9ucyB0aGF0IGRvIGV4aXN0IHRvIHVwc3RyZWFtIHdoZW4gaXQgZG9lcyBhCgkgIGdldF9jYXBzKCkgb24gdGhlIHNpbmsgcGFkLiBUaGF0IHdheSB1cHN0cmVhbSBlbGVtZW50cyBsaWtlIGF1ZGlvcmVzYW1wbGUgb3IKCSAgYXVkaW9jb252ZXJ0IGNhbiBwaWNrIGEgc2FtcGxlIHJhdGUgLyBjaGFubmVsIGNvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIGFjY2VwdGVkLAoJICBpbnN0ZWFkIG9mIGp1c3QgbmVnb3RpYXRpbmcgdG8gdGhlIGhpZ2hlc3QsIHdoaWNoIG1pZ2h0IHRoZW4gYmUgcmVqZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDExNTEKCjIwMTEtMDItMDIgMTg6Mjc6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc291cmNlOiBmaXggdHlwZSBvZiBudHBuc3RpbWUKCjIwMTEtMDItMDIgMTg6MjE6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogR2V0IGFuZCB1c2UgdGhlIE5UUCB0aW1lIHdoZW4gcmVjZWl2aW5nIFJUQ1AKCSAgV2hlbiB3ZSByZWNlaXZlIGFuIFJUQ1AgcGFja2V0LCBnZXQgdGhlIGN1cnJlbnQgTlRQIHRpbWUgaW4gbmFuc2Vjb25kcyBzbyB0aGF0CgkgIHdlIGNhbiBjb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSByb3VuZC10cmlwIHRpbWUuCgoyMDExLTAyLTAxIDE5OjQwOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmQ6IGFycmFuZ2UgZm9yIGRlZmluaXRpb24gb2YgX3N3YWIgb24gQ3lnd2luCgkgIGdzdGRpcmVjdHNvdW5kc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RpcmVjdHNvdW5kX3Npbmtfd3JpdGUnOgoJICBnc3RkaXJlY3Rzb3VuZHNpbmsuYzo1NTc6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnX3N3YWInCgkgIGdzdGRpcmVjdHNvdW5kc2luay5jOjU1NzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ19zd2FiJwoKMjAxMC0xMC0wNiAyMToxNzoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgIHJ0cHRoZW9yYWRlcGF5OiBSZXF1ZXN0IG5ldyBrZXlmcmFtZSBvbiBsb3N0IHBhY2tldHMKCSAgVGhlb3JhIGNhbiBvbmx5IHVzZSB0aGUgbGFzdCBmcmFtZSAob3IgdGhlIGtleWZyYW1lKSBhcyBhIHJlZmVyZW5jZSwgc28gaW4KCSAgcHJhY3RpY2UuIElmIHdlIHJlY2VpdmUgYSBidWZmZXIgdGhhdCByZWZlcmVuY2VzIGFuIHVua25vd24gY29kZWJvb2ssIHJlcXVlc3QKCSAgbmV3IGhlYWRlcnMuIEl0IHByb2JhYmx5IG1lYW5zIHRoYXQgaGVhZGVycyB3ZXJlIGxvc3QuCgoyMDEwLTA4LTI3IDE0OjExOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIGFjdGlvbiBzaWduYWwgdG8gcmVxdWVzdCBlYXJseSBSVENQCgoyMDEwLTA4LTI3IDE2OjExOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgY2FsbGJhY2sgdG8gZ2V0IHRoZSBjdXJyZW50IHRpbWUKCjIwMTAtMTAtMTkgMjI6MjE6NTQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBEb24ndCByZWxheSBtb3JlIHRoYW4gb25lIFBMSSByZXF1ZXN0IHBlciBSVFQKCSAgRHJvcCBQTEkgcmVxdWVzdHMgaWYgb25lIHdhcyByZWxheSBpbiB0aGUgbGFzdCBSVFQsIHRoZSBvdGhlciBzaWRlIG1heQoJICBqdXN0IG5vdCBoYXZlIHJlY2VpdmVkIHRoZSBrZXlmcmFtZSB5ZXQuCgoyMDEwLTA2LTIzIDE2OjQzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBTZW5kIEdzdEZvcmNlS2V5VW5pdCBldmVudCBpbiByZXNwb25zZSB0byByZWNlaXZlZCBSVENQIFBMSQoKMjAxMC0xMS0yNCAxNToyNzo0NiAtMDUwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEZhbGxiYWNrIGZvciBGSVIgdG8gUExJIGlmIFBMSSBpc24ndCBhdmFpbGFibGUKCjIwMTAtMDYtMjIgMTk6NTY6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEltcGxlbWVudCBzZW5kaW5nIFBMSSBwYWNrZXRzIGluIHJlc3BvbnNlIHRvIEdzdEZvcmNlS2V5VW5pdAoKMjAxMC0wNi0yMiAxMzozMzozMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiBSZXRhaW4gUlRDUCBGZWVkYmFjayBwYWNrZXRzIGZvciBhIHNwZWNpZmllZCBhbW91bnQgb2YgdGltZQoKMjAxMC0wOS0wNyAxMzozNToxNiArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBNYWtlIHJ0Y3AgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGFmdGVyIHByb2Nlc3NpbmcgaXQKCSAgRnVuY3Rpb25zIHRoYXQgcHJvY2VzcyB0aGUgcnRjcCBidWZmZXIgY291bGQgZGVjaWRlIHRvIGtlZXAgYSByZWYKCSAgb24gdGhlIGJ1ZmZlciBmb3IgZnVydGhlciBwcm9jZXNzaW5nLiBTbyBtYWtlIHRoZSBtZXRhZGF0YSB3cml0YWJsZQoJICBvbmx5IGFmdGVyIHRoZXkgYXJlIGRvbmUuCgoyMDEwLTA2LTE3IDE3OjM0OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRW1pdCBzaWduYWwgb24gaW5jb21pbmcgUlRDUCBGQiBwYWNrZXQKCjIwMTEtMDItMDEgMTg6MTc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCBjb21waWxhdGlvbgoKMjAxMC0wNi0xNSAxODozOTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBtZXRob2QgdG8gcmVxdWVzdCBlYXJseSBSVENQIHBhY2tldAoJICBJbXBsZW1lbnQgdGhlIGVhcmx5IG1vZGUgZGVmaW5lZCBpbiBSRkMgNDU4NS4gSW4gdGhpcyBtb2RlLCBSVENQIGZlZWRiYWNrCgkgIHBhY2tldHMgYXJlIHNlbnQgZWFybHkgdG8gbm90aWZpZXIuCgoyMDEwLTA2LTAxIDE5OjI4OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc2Vzc2lvbjogQWRkIHByb3BlcnR5IGZvciBtaW5pbXVtIGludGVydmFsIGJldHdlZW4gUmVndWxhciBSVENQIG1lc3NhZ2VzCgkgIFRoaXMgY2FuIGJlIGNoYW5nZWQgYWNjb3JkaW5nIHRvIFJGQyA0NTg1CgoyMDEwLTA2LTE0IDE4OjQwOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogRW1pdCBzaWduYWwgd2hlbiBzZW5kaW5nIGEgY29tcG91bmQgUlRDUCBwYWNrZXQKCSAgVGhpcyBhbGxvd3MgdXNlcnMgdG8gYWRkIGV4dHJhIFJUQ1AgcGFja2V0cyB0byB0aGUgY29tcG91bmQKCSAgUlRDUCBwYWNrZXQuCgoyMDEwLTA2LTE5IDE5OjExOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFRhZyB1cHN0cmVhbSBjdXN0b20gZXZlbnRzIHdpdGggcGF5bG9hZCB0eXBlCgoyMDEwLTA2LTE4IDE5OjEyOjQwIC0wNDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFRhZyB1cHN0cmVhbSBjdXN0b20gZXZlbnRzIHdpdGggU1NSQwoKMjAxMC0xMC0wMSAxNzoxOToxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBFbWl0ICJvbi1zc3JjLXZhbGlkYXRlZCIgd2hlbiB2YWxpZGF0aW5nIGJ5IFJUQ1AKCSAgRW1pdCAib24tc3NyYy12YWxpZGF0ZWQiIGlmIHRoZSBTU1JDIGlzIHZhbGlkYXRlZCBieSByZWNlaXZpbmcKCSAgYSBSVENQIFNERVMgcGFja2V0LgoKMjAxMS0wMi0wMSAxNjozODoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogc2tpcCBFUEggcGFja2V0cwoJICBJbmNsdWRlIEVQSCBtYXJrZXJzIGludG8gdGhlIHByZXZpb3VzIGNodW5rIG9mIHBhY2tldHMuCgoyMDExLTAxLTMxIDE3OjU2OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgIHJ0cHBjbWFwYXk6IFJlbmFtZSB0aGUgY2xhc3MgdG8gaGF2ZSB0aGUgcmlnaHQgbmFtZQoJICBJdCB3YXMgbmFtZSBwbWNhIGluc3RlYWQgb2YgcGNtYSBhbmQgbWFkZSBkZWJ1ZyBsb2dzIGhhcmQgdG8gc2VhcmNoLgoKMjAxMS0wMS0zMSAwNTo1ODozNiArMDEwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFB1bHNlc2luazogQWxsb3cgY2h1bmtzIHVwIHRvIGJ1ZnNpemUgaW5zdGVhZCBvZiBzZWdzaXplCgkgIEJ5IGFsbG93aW5nIGxhcmdlciBjaHVua3MgdG8gYmUgc2VudCwgUHVsc2VBdWRpbyB3aWxsIGhhdmUgYQoJICBsb3dlciBDUFUgdXNhZ2UuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgb24gbG93LWVuZCBtYWNoaW5lcywKCSAgd2hlcmUgUHVsc2VBdWRpbyBjYW4gY3Jhc2ggaWYgcGFja2V0cyBhcmUgY29taW5nIGluIGF0IGEgaGlnaGVyCgkgIHJhdGUgdGhhbiBQdWxzZUF1ZGlvIGNhbiBwcm9jZXNzIHRoZW0uCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKMjAxMS0wMS0zMSAxMzo0NDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNpbXBsaWZ5IHRlbXBsYXRlIGNhcHMKCSAgV2UgY2FuIG1lcmdlIGFsbCB0aGUgWVVWIHZhcmlhbnRzIGludG8gb25lIHNpbmdsZSBzdHJ1Y3R1cmUuCgoyMDExLTAxLTI3IDE1OjM1OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogZml4IERFRkFVTFRfQVVESU9TSU5LLCBzaG91bGQgYmUgZGlyZWN0KnNvdW5kKnNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDcwNQoKMjAxMS0wMS0yNyAxNjowMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0aWFsaXplIGxvY2FsIHZhcmlhYmxlIHRvIHBsZWFzZSBtaW5ndzMyIGNvbXBpbGVyCgoyMDExLTAxLTI2IDIyOjIxOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiB1c2Ugc29ja2xlbl90IHdoZXJlIGFwcHJvcHJpYXRlIHJhdGhlciB0aGFuIGN1c3RvbSB0eXBlCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIEN5Z3dpbiBidWlsZCB3aGVyZSBzb2NrbGVuX3QgaXMgZGVmaW5lZCBhcyBpbnQKCSAgaW4gbGluZSB3aXRoIG5hdGl2ZSB3aW4zMiBhcGkgZGVmaW5pdGlvbi4KCjIwMTEtMDEtMjcgMTI6MTY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtaW5kIHJvdW5kaW5nIGlzc3VlcyB3aGVuIGNvbnZlcnRpbmcgZnJvbSBnbG9iYWwgdGltZSB0byBtb3YgdGltZQoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGF2b2lkcyBtaXNzaW5nIHRoZSBpbnRlbmRlZCBrZXlmcmFtZSB3aGVuIGZpcnN0IGNvbnZlcnRpbmcKCSAgZnJvbSB0aGUgZnJhbWUncyBtb3YgdGltZSB0byBnbG9iYWwgc2VnbWVudCB0aW1lLCBhbmQgdGhlbiBiYWNrIGZyb20gZ2xvYmFsCgkgIHRpbWUgdG8gbW92IHRpbWUgd2hlbiBhY3RpdmF0aW5nIHRoZSBzZWdtZW50LgoKMjAxMS0wMS0yNiAwODo0ODo0MyArMDAwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2QGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGxlYWsgZWJtbCB3cml0ZXIgY2FwcyB3aGVuIHJlLXVzaW5nIG1hdHJvc2thbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA1NDIKCjIwMTEtMDEtMjUgMjE6NTY6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGRpdmlkZSBieSAwCgoyMDExLTAxLTE4IDE0OjQ4OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwdWxsIG1vZGUgc2hvdWxkIGFsd2F5cyByZXBvcnQgc2Vla2FibGUKCSAgLi4uIGFzIGl0IG5vIGxvbmdlciByZXF1aXJlcyBhbiBpbmRleCwgYnV0IGNhbiBzZWVrIGJ5IHNjYW5uaW5nIGFzIHdlbGwuCgoyMDExLTAxLTEwIDEyOjM0OjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogc3VwcG9ydCBzb21lIG1vcmUgbXBlZy00IGZvdXJjYyB2YXJpYW50cwoKMjAxMS0wMS0xMCAxMjozNDowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHJldHJpZXZpbmcgc3RzZCBjaGlsZCBlbnRyeSBhdG9tCgoyMDExLTAxLTI0IDE4OjI3OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IGNvbnNpZGVyIDAgZmNjX2hhbmRsZXIgYXMgdW5jb21wcmVzc2VkLgoJICBKdXN0IGF2b2lkcyBhIHdhcm5pbmcKCjIwMTEtMDEtMjAgMTI6MTQ6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRha2UgY29uZmlndXJlZCBzdGFydCB0aW1lIGludG8gYWNjb3VudAoJICB3aGVuIGNyZWF0aW5nIHRoZSBuZXdzZWdtZW50IGV2ZW50LCB0YWtlIHRoZSBjb25maWd1cmVkIHN0YXJ0IHRpbWUKCSAgaW50byBhY2NvdW50LgoKMjAxMS0wMS0yNCAxNToxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgb24gbWluZ3czMgoJICBNYWtlIHdpbjMyIGJ1aWxkIGJvdCBoYXBweSBhZ2FpbiwgYW5kIG5pY2VmeSBvdXRwdXQgd2hpbGUgd2UncmUgYXQgaXQuCgkgIHF0ZGVtdXguYzogSW4gZnVuY3Rpb24gJ3F0ZGVtdXhfcGFyc2VfdHJ1bic6CgkgIHF0ZGVtdXguYzoyMTYyOjM6IGVycm9yOiBmb3JtYXQgJyVsdScgZXhwZWN0cyB0eXBlICdsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdndWludDMyJwoKMjAxMS0wMS0yNCAxMzozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICBleGFtcGxlczogYXV0b2F1ZGlzaW5rIC0+IGF1dG9hdWRpb3NpbmsgaW4gUlRQIGV4YW1wbGVzCgoyMDExLTAxLTI0IDAwOjMyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI3ID09PQoKMjAxMS0wMS0yMSAxMjo1NDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yNwoKMjAxMS0wMS0yMCAxNDoxMDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGRvbid0IGxlYWsgY29kZWMgZGF0YSBidWZmZXIgaW4gYnl0ZS1zdHJlYW09dHJ1ZSBtb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwNjMKCjIwMTEtMDEtMjAgMTM6NDE6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBsZWFrIHVybCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDA2NAoKMjAxMS0wMS0yMCAxMTo0NTo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEdyYWNlZnVsbHkgaGFuZGxlIG1vdiBmaWxlcyBtaXN1c2luZyB0aGUgV0FWRSBhdG9tcwoJICBDaGVjayB0aGF0IHRoZSBXQVZFSEVBREVSIG5vZGUgaXMgcHJlc2VudCBpbnN0ZWFkIG9mIGJsaW5kbHkgdXNpbmcgaXQuCgkgIElmIG5vdCBwcmVzZW50IHdlIHdvbid0IGJlIGFibGUgdG8gcHJvdmlkZSBhIG1vcmUgcmVmaW5lZCBjYXBzLCBidXQgYXQKCSAgbGVhc3Qgd2Ugd29uJ3QgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMjgKCjIwMTEtMDEtMjAgMDA6MDc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGZpeCBhY2NpZGVudGFsIGJyZWFrYWdlIG9mIG5hdmlnYXRpb24gaW50ZXJmYWNlIHN1cHBvcnQKCjIwMTEtMDEtMTggMTI6NTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuNCBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMiAxNDowMzo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IHJld3JpdGUgaG93IG5laWdoYm9yaW5nIHNjYW4gbGluZXMgYXJlIGNhbGN1bGF0ZWQKCSAgT2xkIGNvZGUgd2FzIGRpZmZpY3VsdCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRoZSBuZWlnaGJvcmluZwoJICBzY2FuIGxpbmVzIGFyZSBjYWxjdWxhdGVkLCBhbmQgaXQgYXBwZWFyZWQgdGhhdCBzb21lIHdlcmUgb2ZmIGJ5CgkgICsyIG9yIC0yLCBkZXBlbmRpbmcgb24gdGhlIGZpZWxkIGZsYWcuICBGaXhlcyAjNjM5MzIxLgoKMjAxMS0wMS0xOCAwOTozMzowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aXN1YnRpdGxlOiBzZXQgY2FwcyBvbiBzcmNwYWQgdG8gZml4IGlzc3VlIHdpdGggZGlzY292ZXJlcgoJICBTZXQgY2FwcyBmcm9tIHRoZSBzdGFydCBzbyBkaXNjb3ZlcmVyIGRvZXNuJ3QgYmxvdyB1cCBvbgoJICBzZWVpbmcgbm8gbmVnb3RpYXRlZCBjYXBzIGJldHdlZW4gZWxlbWVudHMgb24gcHJlcm9sbCwKCSAgd2hpY2ggbWlnaHQgaGFwcGVuIGlmIG5vIHN1YnRpdGxlIGJ1ZmZlcnMgaGF2ZSBiZWVuCgkgIHB1c2hlZCB5ZXQgYXQgdGhlIHRpbWUuIFNlZSBmaWxlIGZyb20gYnVnICM2MDMzMDguCgoyMDExLTAxLTE3IDIwOjA5OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBVbmNvcmsgc3RyZWFtIHdoaWxlIGZsdXNoaW5nIHRoZSByaW5nYnVmZmVyCgkgIEFmdGVyIHN0YXJ0aW5nIHRoZSByaW5nYnVmZmVyLCB3ZSB3YWl0IGZvciBlbm91Z2ggZGF0YSB0byBhcnJpdmUgYmVmb3JlCgkgIHVuY29ya2luZyB0aGUgc3RyZWFtLiBUaGlzIHdpbGwgY2F1c2UgdGhlIHBpcGVsaW5lIHRvIHN0YWxsIGlmIHdlIGdldCBhbgoJICBFT1MgKG9yIG90aGVyd2lzZSBuZWVkIHRvIGZsdXNoIHRoZSBzdHJlYW0pIGJlZm9yZSBzdWZmaWNpZW50IGRhdGEKCSAgYmVjb21lcyBhdmFpbGFibGUuIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQKCSAgd2hpbGUgZmx1c2hpbmcgdG8gYXZvaWQgdGhpcyBwcm9ibGVtLgoJICBGaXhlcyBpc3N1ZSB3aXRoIGEgd2Via2l0IHVuaXQgdGVzdCB0ZXN0aW5nIHJldmVyc2UgcGxheWJhY2sgb2YKCSAgYW4gTVA0IEguMjY0L0FBQyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NzQwCgoyMDExLTAxLTE0IDE0OjUxOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGF2b2lkIGNyZWF0aW5nIGNhcHMgZnJvbSBzdHJpbmcgd2hlbiBwb3NzaWJsZQoJICBGaXhlcyAjNjM5NTE2LgoKMjAxMS0wMS0xNCAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHNldCBzcmMgcGFkIGNhcHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIEZpeGVzICM2Mzk1MTYuCgoyMDExLTAxLTEyIDIwOjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZGVmaW5lIFY0TDJfRklFTERfSU5URVJMQUNFRF97VEIsQlR9IGlmIG5vdCBhdmFpbGFibGUgaW4gaGVhZGVyCgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3QgaGF2ZSB0aGVzZSwgYW5kIHRoZXJlJ3Mgbm8gZWFzeSB3YXkgdG8gY2hlY2sgZm9yIHRoZQoJICBleGlzdGFuY2Ugb2YgZW51bXMgdGhhdCBkb2Vzbid0IGludm9sdmUgYSBjb25maWd1cmUgY2hlY2ssIHNvIGp1c3QgZGVmaW5lCgkgIHRoZXNlIGlmIHRoZSBWNEwyX0NBUF9WSURFT19PVVRQVVRfT1ZFUkxBWSBkZWZpbmUgaXMgbm90IHRoZXJlLCB3aGljaCB3YXMKCSAgYWRkZWQgaW4gdGhlIHNhbWUgY29tbWl0IGFzIHRoZSBUQi9CVCBlbnVtLiBGaXhlcyBjb21waWxhdGlvbiBvbiBDZW50T1MgNS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOQoKMjAxMS0wMS0xMSAyMzoxODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi4zIHByZS1yZWxlYXNlCgoyMDExLTAxLTExIDIyOjQyOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0wMS0xMSAyMzozOToxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBjb3JraW5nIGR1cmluZyBwYXVzZSBzeW5jaHJvbm91cwoJICBUaGlzIG1ha2VzIHRoZSBjYWxsIHRvIHBhX3N0cmVhbV9jb3JrKCkgZHVyaW5nIHJpbmdidWZmZXIgcGF1c2UoKQoJICBzeW5jaHJvbm91cywgd2hpY2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBjbG9jayBkb2VzIG5vdCBhZHZhbmNlIGFmdGVyIHdlCgkgIHRha2UgYSBzbmFwc2hvdCBmb3Igc3RhcnRfdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI0MAoKMjAxMS0wMS0xMSAxOTozMzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9kYS5wbzoKCSogcG8vZ2wucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2wucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDEtMTEgMTU6NTA6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTU3MmM4NyB0byBmOTRkNzM5CgoyMDExLTAxLTEwIDE2OjM2OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2NiYWE4NSB0byBlNTcyYzg3CgoyMDExLTAxLTEwIDE0OjUzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0NDVhZCB0byBjY2JhYTg1CgoyMDExLTAxLTA3IDEzOjI0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjIgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMDcgMTM6MDY6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDEtMDcgMDI6MzI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBmaXggY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wMS0wNyAwMjowNjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBkb24ndCBwdXQgZXNzZW50aWFsIGZ1bmN0aW9uIGNhbGxzIGludG8gZ19hc3NlcnQoKQoJICBnX2Fzc2VydCgpIHdpbGwgZXhwYW5kIHRvIE5PT1BzIGlmIC1ER19ESVNBQkxFX0FTU0VSVCBpcyBwYXNzZWQuCgoyMDExLTAxLTA3IDAxOjM1OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkb24ndCBwdXQgZnVuY3Rpb25hbCBjb2RlIGxpa2UgaW9jdGwgY2FsbHMgaW50byBnX3JldHVybl9pZl9mYWlsKCkKCSAgVGhlc2UgbWFjcm9zIHdpbGwgZXhwYW5kIHRvIE5PT1BzIGdpdmVuIHRoZSByaWdodCBkZWZpbmVzLiBBbHNvLAoJICBnX3JldHVybl9pZl9mYWlsKCkgYW5kIGZyaWVuZHMgYXJlIG1lYW50IHRvIGJlIHVzZWQgdG8gY2F0Y2ggcHJvZ3JhbW1pbmcKCSAgZXJyb3JzIChsaWtlIGludmFsaWQgaW5wdXQgdG8gZnVuY3Rpb25zKSwgbm90IHJ1bnRpbWUgZXJyb3IgaGFuZGxpbmcuCgoyMDExLTAxLTA3IDAxOjExOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbmV2ZXIgZGlzYWJsZSBnX2Fzc2VydCgpIGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgVGhlIHVuaXQgdGVzdHMgYXJlIHJpZGRsZWQgd2l0aCBnX2Fzc2VydCgpIGFuZCBmcmllbmRzLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgZGlzYWJsZSBhc3NlcnQgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cyBldmVuIGlmCgkgIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWVkIGZvciB0aGUgcmVzdCBvZiB0aGUgY29kZSBiYXNlLCBlLmcuIHZpYQoJICAtLWRpc2FibGUtZ2xpYi1hc3NlcnRzLgoKMjAxMS0wMS0wNiAxMjoyOToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHA6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjI4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNSAxNzo0OToxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBBZGQgY2FwZGVidWcgZGVidWcgY2F0ZWdvcnkKCjIwMTAtMTItMTEgMTI6NDI6MTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGFuZ2UgdGhlIGRlZmF1bHQgdG8gbGluZWFyCgkgIFRoZSBwcmV2aW91cyBkZWZhdWx0LCBncmVlZHloLCB0YWtlcyA0IHRpbWVzIGFzIGxvbmcgYXMgTVBFRy0yCgkgIHZpZGVvIGRlY29kaW5nLCBhbmQgaXMgdW5saWtlbHkgZmFzdCBlbm91Z2ggb24gYW55IGN1cnJlbnQgQ1BVCgkgIHRvIHBsYXkgMTA4MGkgdmlkZW8gaW4gcmVhbC10aW1lLiAgZ3JlZWR5bCBpc24ndCBtdWNoIGZhc3Rlci4KCSAgbGluZWFyIHdhcyBjaG9zZW4gb3ZlciB2ZmlyLCBzaW5jZSB0aGUgcXVhbGl0eSBhZHZhbnRhZ2Ugb2YgdmZpcgoJICBpcyBtaW5pbWFsIGNvbXBhcmVkIHRvIHRoZSBvY2Nhc2lvbmFsIHZpc3VhbCBhcnRpZmFjdHMgYW5kIHNsb3dlcgoJICBwcm9jZXNzaW5nLgoKMjAxMS0wMS0wNSAxODozMjo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgY29uZnVzZSByZXR1cm4gdmFsdWVzCgkgIFJldHVybiBhIHJldHVybiB2YWx1ZSBvZiB0aGUgcmlnaHQgdHlwZS4KCjIwMTEtMDEtMDUgMTY6MjQ6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTU6MDM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IGZpeCBsZW5ndGggY2hlY2sKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIEFkZCB0aGUgbGVuZ3RoIGNoZWNrIHNvIHdlIGRvbid0IGNhdXNlIHVubmVlZGVkIHdhcm5pbmdzLgoKMjAxMS0wMS0wNSAxMjowNDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIGJ1ZmZlci1zaXplIHByb3BlcnR5CgkgIEFkZCBidWZmZXItc2l6ZSBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIGtlcm5lbCBzZW5kIGJ1ZmZlci4KCjIwMTEtMDEtMDMgMjA6MTY6MjIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgd2hlbiBkZWJ1Zy1sb2dnaW5nIGRpc2FibGVkCgoyMDExLTAxLTAzIDIwOjA2OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIHdoZW4gZGVidWctbG9nZ2luZyBkaXNhYmxlZAoKMjAxMS0wMS0wMyAxODowNToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgIGNhY2FzaW5rOiBmaXggbWFza3MgYW5kIHN0cmlkZXMKCSAgVXNlIHRoZSByaWdodCBlbmRpYW5uZXNzIHRvIHJlYWQgdGhlIG1hc2tzLgoJICBVc2UgdGhlIHJpZ2h0IHN0cmlkZXMgZm9yIHRoZSBiaXRtYXAuCgkgIEZpeGVzICM2Mzg1NjkKCjIwMTEtMDEtMDMgMDE6MTg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiB1bmRvIHByZXN1bWFibHkgYWNjaWRlbnRhbCBlbmFibGVtZW50IG9mIHRoZSBHc3RYT3ZlcmxheSBpbnRlcmZhY2UKCSAgTG9va3MgbGlrZSB0aGlzIGdvdCBlbmFibGVkIGJ5IGFjY2lkZW50IHdoZW4gYWRkaW5nIGl0IHRvIHY0bDJzaW5rLAoJICBzbyB1bmRvIHRoaXMgZm9yIG5vdy4gTm90IHN1cmUgaXQgbWFrZXMgbXVjaCBzZW5zZSBpbiBhIEdTdHJlYW1lcgoJICBjb250ZXh0IHdpdGggY3VycmVudCBoYXJkd2FyZS4KCjIwMTEtMDEtMDMgMTU6NDA6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluY3JlYXNlIHVkcCBidWZmZXIgc2l6ZQoJICBTZXQgYSBiaWdnZXIgVURQIGJ1ZmZlciBzaXplIGJ5IGRlZmF1bHQgdG8gcmVkdWNlIHBhY2tldCBsb3NzIHdpdGgKCSAgaGlnaCBiaXRyYXRlIHN0cmVhbXMuCgoyMDExLTAxLTAyIDE5OjE5OjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogc2VuZCBzdHJlYW0gaGVhZGVycyBpbiBrZXktZnJhbWUgbW9kZQoKMjAxMS0wMS0wMiAxOTo0MzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCB1cCBlbGVtZW50IGRldGFpbHMgYW5kIHNvbWUgb3RoZXIgbWlub3IgY2xlYW4tdXBzCgoyMDExLTAxLTAyIDE5OjIzOjUxICswMDAwICBFcmljaCBTY2h1YmVydCA8ZXJpY2hAZGViaWFuLm9yZz4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogZml4IHBhcnNpbmcgb2YgSUQzdjIuNCBnZW5yZSBmcmFtZXMgd2l0aCBtdWx0aXBsZSBnZW5yZXMKCSAgV2UnZCBvbmx5IGV4dHJhY3QgdGhlIGZpcnN0IGdlbnJlIChtdWx0aXBsZSB0aW1lcykgaW5zdGVhZCBvZiBhbGwKCSAgZ2VucmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NTM1CgoyMDExLTAxLTAyIDE3OjQwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHRlbXBsYXRlIGNhcHMgaGFkIGxpc3RzIHdpdGggb25lIHZhbHVlLCBqdXN0IHVzZSB2YWx1ZSBkaXJlY3RseQoKMjAxMS0wMS0wMiAxNzowNzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IG1ha2UgZ2V0X3R5cGUgZnVuY3Rpb25zIHRocmVhZC1zYWZlCgkgIEJlY2F1c2Ugd2UgY2FuIChzaG91bGRuJ3QgYmUgbmVlZGVkIHdpdGggb3RoZXIgd29ya2Fyb3VuZHMgc3RpbGwgdGhlcmUpLgoKMjAxMS0wMS0wMiAxNToyNzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTEtMDEtMDIgMTU6MjU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkgIGphY2s6IG5ldyBqYWNrYXVkaW9zcmMgYW5kIGphY2thdWRpb3NpbmsgZWxlbWVudHMsIG1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE5MjkKCjIwMTAtMTAtMTkgMTY6MjM6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDktMDkgMTQ6NDk6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGRlZCB0cmFuc2xhdGFibGUgdGV4dCBmb3Igc2VydmVyIG5vdCBmb3VuZCBlcnJvcgoKMjAxMC0wOS0wNiAxNzoxNzo1NCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJICBleGFtcGxlczogYWRkIHRlc3QgdG8gZGVtb25zdHJhdGUgamFja19jbGllbnRfdCB1c2FnZQoKMjAxMC0wOS0wNiAxNjoxMTozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkZWQgY2xpZW50IHByb3BlcnR5CgoyMDEwLTA2LTE3IDE2OjI2OjA3IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgamFjazogcmVtb3ZlZCB1bnVzZWQgZmlsZSBnc3RqYWNrYmluLmMKCSAgVGhpcyBpcyBhIDAuOCBsZWZ0b3Zlci4KCjIwMTAtMDUtMTMgMTI6NTU6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja3NyYzogbWFrZSBzdXJlIHdlIGFsd2F5cyByZWFkIG5mcmFtZXMKCSAgRXJyb3Igb3V0IHdoZW4gd2UgYXJlIGFza2VkIHRvIHJlYWQgYSBkaWZmZXJlbnQgc2l6ZSB0aGF0IHdoYXQgd2FzIGNvbmZpZ3VyZWQgYXMKCSAgdGhlIGphY2sgcGVyaW9kIHNpemUgYmVjYXVzZSB0aGF0IHdvdWxkIG1lYW4gc29tZXRoaW5nIGVsc2UgaXMgd3JvbmcuCgkgIEZpeGVzICM2MTg0MDkKCjIwMTAtMDUtMTEgMTc6NTY6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBpbXByb3ZlIHByb2Nlc3NfY2IKCjIwMTAtMDQtMjcgMTA6NDg6MzIgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5AdHJpc3Rhbi1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrOiBpbXBsZW1lbnQgbXVsdGljaGFubmVsIHN1cHBvcnQgY29ycmVjdGx5IGZvciBqYWNrYXVkaW9zcmMKCSAgRml4ZXMgcGFydHMgb2YgYnVnICM2MTY1NDEuCgoyMDEwLTA0LTI3IDExOjIxOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBqYWNrOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBhbmQgZmluYWxpemUgbWV0aG9kcwoKMjAxMC0wNC0yNyAxMDo1OTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjYXBzCgkgIEFkZCBkaXNwb3NlIG1ldGhvZHMgdG8gY2xlYXIgY2Fwcy4KCjIwMTAtMDQtMjcgMTA6MzQ6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0wMy0yNCAxNTo1OTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBlbGVtZW50IG5hbWUgaW4gc2VjdGlvbiBkb2MgYmxvYgoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTEwLTEyIDA5OjA2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBlbnN1cmUgc2VndG90YWwgaXMgYXQgbGVhc3QgMgoJICBOb3Qgb25seSBhZGp1c3QgYnVmZmVyLXRpbWUgYW5kIGF2b2lkIHNlZ3RvdGFsPTAsIGJ1dCBpbnN0ZWFkIGVuc3VyZSBzZWd0b3RhbCBpcwoJICBhdGxlYXN0IDIuIERvIHNhbWUgY2hhbmdlIG9uIGphY2tzcmMuIFdlIGNvdWxkIGFsc28gY2hlY2sgdGhlIGxhdGVuY3kgYW5kIGJ1ZmZlcgoJICB0aW1lIGNvbmZpZ3VyZWQgYnkgdGhlIGNsaWVudCBhbmQgYWRqdXN0IGJ1ZmZlci10aW1lIHNvIHRoYXQgd2UgZ2V0IHRvIHRoZSBzYW1lCgkgIG51bWJlciBvZiBzZWdtZW50cy4KCjIwMDktMTAtMTIgMDA6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogZG9uJ3QgY3Jhc2ggaW4gcmluZ2J1ZmZlciB3aXRoIFNJR0ZQRSBvbiBzbWFsbCBidWZmZXItdGltZXMKCSAgSmFjayBvdmVycmlkZXMgdXNlci1zcGVjaWZpZWQgbGF0ZW5jeS10aW1lIHdpdGggdGhlIG9uZSBpdCBnZXRzIGZyb20gamFjawoJICBpdHNlbGYuIEl0IGFsc28gbmVlZHMgdG8gYWRqdXN0IGJ1ZmZlci10aW1lIHNvbWV3aGF0IHRvIGF2b2lkIHNlZ3RvdGFsIGJlaW5nIDAKCjIwMDktMDUtMTEgMTY6MTI6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IHdoZW4gc3RvcHBpbmcgcGxheWJhY2ssIGRvIG9uZSBtb3JlIGN5Y2xlIHRvIGZsdXNoIHRoZSBwb3J0LiBGaXhlcyAjNTgyMTY3CgkgIFRoZSBnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSgpIGZsYWdzIHRoZSBwb3J0IGFzIGRlYWN0aXZhdGluZyBhbmQgdXNlcwoJICBhIEdDb25kIHRvIHdhaXQgdW50aWwgdGhlIGphY2tfcHJvY2Vzc19jYigpIGhhcyBydW4gb25jZSBtb3JlIGFuZCBjbGVhcmVkIHRoZQoJICBmbGFnLiBUaGlzIHdheSB0aGUgY2xpZW50IHplcm8ncyB0aGUgYnVmZmVyLiBUaGlzIGhhcHBlbnMgaWYgb25lIG1hbnlhbGx5IGdvCgkgIHRvIFBBVVNFRCBhbmQgdGhlbiB0byBSRUFEWSwgd2hpbGUgbGV0aW5nIHRoZSBtYWlubG9vcCBydW4gaW5iZXR3ZWVuLgoKMjAwOS0wMy0xNiAxMToyMTowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBBZGQgbmV3IGNvbm5lY3Rpb24gbW9kZQoJICBBZGQgYSBuZXcgY29ubmVjdGlvbiBtb2RlIHRvIGphY2tzcmMgYW5kIGphY2tzaW5rLiBJbiB0aGlzIG5ldyBhdXRvLWZvcmNlCgkgIGNvbm5lY3Rpb24gbW9kZSBqYWNrIHdpbGwgY3JlYXRlIGFzIG1hbnkgcG9ydHMgYXMgcmVxdWVzdGVkL25lZWRlZCBpbiB0aGUKCSAgcGlwZWxpbmUgYW5kIHdpbGwgdGhlbiBjb25uZWN0IGFzIG1hbnkgcGh5c2ljYWwgcG9ydHMgYXMgcG9zc2libGUsIHBvc3NpYmx5CgkgIGxlYXZpbmcgc29tZSBwb3J0cyB1bmNvbm5lY3RlZC4KCSAgQWxzbyBnZXQgcmlkIG9mIHNvbWUgbGVmdG92ZXIgZ19wcmludC4KCSAgRml4ZXMgIzU3NTI4NC4KCjIwMDgtMTEtMjMgMTc6NTA6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrLzogUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgTm8gcHJpbnRmIHBsZWFzZS4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTA5LTE3IDEzOjU5OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgoyMDA4LTA4LTA3IDEzOjE1OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzogVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgoyMDA4LTA4LTA3IDA5OjA5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBBZGQgbmV3IGVsZW1lbnQgdG8gZG9jcy4KCSAgKiBleHQvamFjay9nc3RqYWNrLmgKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgUmVuYW1lIGphY2thdWRpb3NyYyB0byBqYWNrX2F1ZGlvX3NyYy4KCjIwMDgtMDgtMDcgMDg6NDc6NDAgKzAwMDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSAgZXh0L2phY2svOiBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIEZpeGVzICM1NDUxOTcuCgoyMDA4LTA2LTEzIDExOjU5OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXgKCSAgZm9yIGV4YW1wbGVzIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlCgkgIGhhdmUgc2V2ZXJhbCB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNS0yNiAxNzo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpOgoJICBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCjIwMDgtMDQtMDYgMjA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZQoJICBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgd2hlbiBzdGFydGluZyB1cCBtdWx0aXBsZSBwbGF5YmluCgkgIG9iamVjdHMgY29uY3VycmVudGx5IChzZWUgIzUxMjM4MikuCgoyMDA4LTAzLTEzIDE0OjI1OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzoKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhLmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoKMjAwNy0wNy0xOCAwNzo0Mjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgoyMDA3LTA0LTA0IDA3OjM2OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0gZXN0YWJsaXNoaW5nIGxpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLQoJICBlc3RhYmxpc2hpbmcgbGlua3MuCgoyMDA3LTAzLTE4IDE3OjU3OjQ4ICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQgY2F1c2UgZGVhZGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pOgoJICBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQKCSAgY2F1c2UgZGVhZGxvY2tzLgoKMjAwNy0wMy0wOCAxNToyNDo1MiArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay86IE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEluY2x1ZGVzIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb19jbGllbnRfaW5pdCksCgkgIChqYWNrX3Byb2Nlc3NfY2IpLCAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwKCSAgKGphY2tfc2h1dGRvd25fY2IpLCAoY29ubmVjdGlvbl9maW5kKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX21ha2VfY29ubmVjdGlvbiksIChnc3RfamFja19hdWRpb19nZXRfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fYWRkX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX3JlbW92ZV9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X25ldyksIChnc3RfamFja19hdWRpb19jbGllbnRfZnJlZSksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfZ2V0X2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkgIE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlCgkgIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGVjdGVkIGphY2sgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBqYWNrCgkgIGNvbm5lY3Rpb24uCgkgIE1ha2Ugc29tZSBzdHVmZiBhIGJpdCBtb3JlIHRocmVhZHNhZmUuCgkgIEFjdGl2YXRlIHRoZSBqYWNrIGNsaWVudCBBU0FQLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19mcmVlX2NoYW5uZWxzKSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIFVzZSBuZXcgY2xpZW50IG9iamVjdCB0byBtYW5hZ2UgY29ubmVjdGlvbnMuCgkgIERvbid0IHJlbW92ZSBhbmQgcmVjcmVhdGUgYWxsIHBvcnRzLCB0cnkgdG8gcmV1c2UgdGhlbS4KCjIwMDctMDEtMTIgMTA6MjU6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLio6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19zYW1wbGVfcmF0ZV9jYiksCgkgIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEyLTA2IDE2OjU3OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9qYWNrLy5jdnNpZ25vcmU6IElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoKMjAwNi0xMS0zMCAxMTo1OTowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0xMS0zMCAxMTo0OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2luaXQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGlzcG9zZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0YXJ0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3BhdXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0b3ApLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGVsYXkpLAoJICAoZ3N0X2phY2tfY29ubmVjdF9nZXRfdHlwZSksIChnc3RfamFja19hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDQtMDgtMDMgMTQ6Mjg6MTIgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgZml4ZXMgZm9yIEdfRElTQUJMRV9BU1NFUlQgYW5kIGZyaWVuZHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZHlucGFyYW1zL2ZpbHRlci5jOiAodWlfY29udHJvbF9jcmVhdGUpOgoJICAqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6IChwcmludF90YWcpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2EuYzogKGdzdF9hbHNhX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkgIChnc3RfZ2RrX2FuaW1hdGlvbl9pdGVyX21heV9hZHZhbmNlKToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19yZXF1ZXN0X25ld19wYWQpOgoJICAqIGV4dC9tYWQvZ3N0aWQzdGFnLmM6IChnc3RfbWFkX2lkM190b190YWdfbGlzdCksCgkgICh0YWdfbGlzdF90b19pZDNfdGFnX2ZvcmVhY2gpLCAoZ3N0X2lkM190YWdfaGFuZGxlX2V2ZW50KToKCSAgKiBleHQvdm9yYmlzL29nZ3ZvcmJpc2VuYy5jOiAoZ3N0X29nZ3ZvcmJpc2VuY19nZXRfdGFnX3ZhbHVlKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc2VuY19nZXRfdGFnX3ZhbHVlKToKCSAgKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzogKGdzdF94aW5lX2F1ZGlvX2RlY19jaGFpbik6CgkgICogZ3N0LWxpYnMvZ3N0L21lZGlhLWluZm8vbWVkaWEtaW5mby10ZXN0LmM6IChwcmludF90YWcpOgoJICAqIGdzdC9zaW5lL2RlbW8tZHBhcmFtcy5jOiAobWFpbik6CgkgICogZ3N0L3RhZ3MvZ3N0dm9yYmlzdGFnLmM6IChnc3RfdGFnX3RvX3ZvcmJpc19jb21tZW50cyk6CgkgICogdGVzdHN1aXRlL2Fsc2EvZm9ybWF0cy5jOiAoY3JlYXRlX3BpcGVsaW5lKToKCSAgKiB0ZXN0c3VpdGUvYWxzYS9zaW5lc3JjLmM6IChzaW5lc3JjX2ZvcmNlX2NhcHMpLCAoc2luZXNyY19nZXQpOgoJICBmaXhlcyBmb3IgR19ESVNBQkxFX0FTU0VSVCBhbmQgZnJpZW5kcwoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAoYWFjX3R5cGVfZmluZCksCgkgIChtcDNfdHlwZV9mcmFtZV9sZW5ndGhfZnJvbV9oZWFkZXIpLCAobXAzX3R5cGVfZmluZCksCgkgIChwbHVnaW5faW5pdCk6CgkgIHJlcXVpcmUgbXAzIHR5cGVmaW5kaW5nIHRvIGhhdmUgYXQgbGVhc3QgTUlOX0hFQURFUlMgdmFsaWQgaGVhZGVycwoJICBhZGQgdHlwZWZpbmRpbmcgZm9yIEFBQyBhZHRzIGZpbGVzCgoyMDA0LTA1LTIxIDIzOjI4OjU3ICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBzZWNvbmQgYmF0Y2ggOiByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jIChpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNlY29uZCBiYXRjaCA6CgkgIHJlbW92ZSAnLCcgYXQgZW5kIG9mIGVudW1zIGFzIHRoZXkgY291bGQgY29uZnVzZSBvbGRlciBnY2MsIGZvcmVpZ24gY29tcGlsZXJzIChmb3J0ZSkgYW5kIGd0ay1kb2MKCSAgKGluIGdzdC1wbHVnaW5zL2V4dC8gdGhpcyB0aW1lKQoKMjAwNC0wMy0xNSAxOTozMjoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1NCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJICAqLmg6IFJldmVydCBpbmRlbnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGdzdC1pbmRlbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDM6NDA6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBSZW1vdmUgYWxsIHVzYWdlIG9mIGdzdF9wYWRfZ2V0X2NhcHMoKSwgYW5kIHJlcGxhY2UgaXQgd2l0aCBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSBvciBnc3RfcGFkX2dldF9uZWdvdGlhdGVkX2NhcCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCB1c2FnZSBvZiBnc3RfcGFkX2dldF9jYXBzKCksIGFuZCByZXBsYWNlIGl0IHdpdGgKCSAgZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgb3IgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXAoKS4KCjIwMDMtMTItMjIgMDE6NDc6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMTMgMTY6NTk6NTEgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICByZW1vdmVkIEdTVF8qX0NBU1QuIERpc2FibGluZyBvZiB0eXBlIGNoZWNraW5nIGlzIGRvbmUgaW4gZ2xpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgR1NUXypfQ0FTVC4gRGlzYWJsaW5nIG9mIHR5cGUgY2hlY2tpbmcgaXMgZG9uZSBpbiBnbGliLgoKMjAwMy0xMi0wNCAxMDozNzozOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMDcgMTI6NDc6MDIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTAxIDIzOjQzOjEzICswMDAwICBJYWluIEhvbG1lcyA8aWFpbkBwcmV0dHlwZW9wbGUub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBKYWNrIGZpeGVkIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSmFjayBmaXhlZCB0b28KCjIwMDMtMTAtMjkgMDM6MTU6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICBjaGFuZ2UgZ3N0L2J5dGVzdHJlYW0uaCB0byBnc3QvYnl0ZXN0cmVhbS9ieXRlc3RyZWFtLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZSBnc3QvYnl0ZXN0cmVhbS5oIHRvIGdzdC9ieXRlc3RyZWFtL2J5dGVzdHJlYW0uaAoKMjAwMy0xMC0yOCAyMDo1Mjo0MSArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIG1lcmdlIFRZUEVGSU5EIGJyYW5jaC4gTWFqb3IgY2hhbmdlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lcmdlIFRZUEVGSU5EIGJyYW5jaC4gTWFqb3IgY2hhbmdlczoKCSAgLSB0b3RhbGx5IHJld29ya2VkIHR5cGUoZmluZCkgc3lzdGVtCgkgIC0gYWxsIHR5cGVmaW5kIGZ1bmN0aW9ucyBhcmUgaW4gZ3N0L3R5cGVmaW5kIG5vdwoJICAtIG1vcmUgdHlwZWZpbmQgZnVuY3Rpb25zIHRoZW4gYmVmb3JlCgkgIC0gc29tZSBwbHVnaW5zIG1pZ2h0IGZhaWwgdG8gY29tcGlsZSBub3cgYmVjYXVzZSBJIGRvbid0IGhhdmUgdGhlbSBpbnN0YWxsZWQgYW5kIHRoZXkKCSAgYSkgcmVxdWlyZSBieXRlc3RyZWFtIG9yCgkgIGIpIGhhdmVuJ3QgaGFkIHRoZWlyIHR5cGVmaW5kIGZpeGVkLgoJICBQbGVhc2UgZml4IHRob3NlIHBsdWdpbnMgYW5kIHB1dCB0aGUgdHlwZWZpbmQgZnVuY3Rpb25zIGludG8gZ3N0L3R5cGVmaW5kIGlmIHRoZXkgZG9uJ3QgaGF2ZSBkZXBlbmRlbmNpZXMKCjIwMDMtMTAtMDggMTY6MDg6MTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgoyMDAzLTEwLTAxIDEzOjE0OjUwICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIE5ldyB0eXBlZmluZCBzeXN0ZW06IGJ5dGVzdHJlYW0gaXMgbm93IHBhcnQgb2YgdGhlIGNvcmUgYWxsIHBsdWdpbnMgaGF2ZSBiZWVuIG1vZGlmaWVkIHRvIHVzZSB0aGlzIG5ldyB0eXBlZmluZCBzeXN0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IHR5cGVmaW5kIHN5c3RlbToKCSAgKiBieXRlc3RyZWFtIGlzIG5vdyBwYXJ0IG9mIHRoZSBjb3JlCgkgICogYWxsIHBsdWdpbnMgaGF2ZSBiZWVuIG1vZGlmaWVkIHRvIHVzZSB0aGlzIG5ldyB0eXBlZmluZCBzeXN0ZW0KCSAgKiBhc2YgdHlwZWZpbmRpbmcgYWRkZWQKCSAgKiBtcGVnIHZpZGVvIHN0cmVhbSB0eXBlZmlkaW5nIHJlbW92ZWQgYmVjYXVzZSBpdCdzIGJyb2tlbgoJICAqIGR1cGxpY2F0ZSB0eXBlZmluZCBlbnRyaWVzIHJlbW92ZWQKCSAgKiBleHRyYSBpZDMgdHlwZWZpbmRpbmcgYWRkZWQsIGJlY2F1c2Ugd2UndmUgc2VlbiA0IHR5cGVzIG9mIGZpbGVzCgkgIChyaWZmL3dhdiwgZmxhYywgdm9yYmlzLCBtcDMpIHdpdGggaWQzIGhlYWRlcnMgYW5kIGVhY2ggb2YgdGhlc2UgbmVlZHMKCSAgdG8gd29yay4gSW5zdGVhZCwgSSd2ZSBhZGRlZCBhbiBpZDMgZWxlbWVudCBhbmQgbGV0IGl0IHJlZG8gdHlwZWZpZGluZwoJICBhZnRlciB0aGUgaWQzIGhlYWRlci4gdGhpcyBuZWVkcyBhIGhhY2sgYmVjYXVzZSBzcGlkZXIgb25seSB0eXBlZmluZHMKCSAgb25jZS4gV2UgY2FuIHJlbW92ZSB0aGlzIGhhY2sgb25jZSBzcGlkZXIgc3VwcG9ydHMgbXVsdGlwbGUgdHlwZWZpbmRzLgoJICAqIHdpdGggYWxsIHRoaXMsIG1wMyB0eXBlZmluZGluZyBpcyBzZW1pLXJld3JpdHRlbgoJICAqIGlkMyB0eXBlZmluZGluZyBpbiBmbGFjL3ZvcmJpcyBpcyByZW1vdmVkLCBpdCdzIG5vIGxvbmdlciBuZWVkZWQKCSAgKiBmaXhlZCBzcGlkZXIgYW5kIGdzdC10eXBlZmluZCB0byB1c2UgdGhpcywgdG9vLgoJICAqIE90aGVyIGdlbmVyYWwgY2xlYW51cHMKCjIwMDMtMDktMzAgMTI6NTY6MjcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGNvbmZvcm0gdG8gdGhlIGJ1ZmZlci1mcmFtZXMgcHJvcHMgZW50cnkgLS0gbXVjaCBuaWNlciBub3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbmZvcm0gdG8gdGhlIGJ1ZmZlci1mcmFtZXMgcHJvcHMgZW50cnkgLS0gbXVjaCBuaWNlciBub3cuLi4KCjIwMDMtMDgtMTAgMDA6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCjIwMDMtMDctMTkgMjM6MjU6MjUgKzAwMDAgIExlaWYgSm9obnNvbiA8bGVpZkBhbWJpZW50LjJ5Lm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJICArIGNoYW5nZXMgZm9yIG5ldyBmbG9hdCBjYXBzIHdpdGhvdXQgc2xvcGUvaW50ZXJjZXB0ICsgc29tZSBjYXRlZ29yeSBjaGFuZ2VzIGZvciBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICArIGNoYW5nZXMgZm9yIG5ldyBmbG9hdCBjYXBzIHdpdGhvdXQgc2xvcGUvaW50ZXJjZXB0CgkgICsgc29tZSBjYXRlZ29yeSBjaGFuZ2VzIGZvciBwbHVnaW5zCgoyMDAzLTA3LTA2IDIwOjQ5OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQncyBkb2N1bWVudC4gTm90ZTogc29tZSBwbHVnaW5zIHdpbGwgYnJlYWssIHNvbWUgcGlwZWxpbmVzIHdpbGwgYnJlYWssIGV4cGVjdCBIRUFEIHRvIGJlIGJyb2tlbiBvciBhdCBsZWFzdCBub3QgMTAwJSB3b3JraW5nIGZvciBhIGZldyBkYXlzLCBidXQgZG9uJ3QgZm9yZ2V0IHRvIHJlcG9ydCBidWdzCgoyMDAzLTA3LTAxIDAyOjI3OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgZml4IHR5cGUgcHVubmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHR5cGUgcHVubmluZwoKMjAwMy0wNi0yOSAxOTo0NjoxMyArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgSW5jbHVkZXMgZml4ZXMgZm9yIG1pc3NpbmcgaW5jbHVkZXMgZm9yIGNvbmZpZy5oIGFuZCB1bmlzdGQuaAoJICBJIG9ubHkgZW5zdXJlZCBmb3IgcGx1Z2lucyBJIGNhbiBidWlsZCB0aGF0IHRoZXkgd29yaywgc28gaWYgc29tZSBvZiB0aGVtIGFyZSBzdGlsbCBicm9rZW4sIHlvdSBnb3R0YSBmaXggdGhlbSB5b3Vyc2VsdmVzIHVuZm9ydHVuYXRlbHkuCgoyMDAzLTA2LTEzIDIxOjIxOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBSZW1vdmVkIHVnbHkgY2FwcyBmaXhlZCBmbGFnIGhhY2ssIHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGluIGNvcmUgc29vbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCB1Z2x5IGNhcHMgZml4ZWQgZmxhZyBoYWNrLCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBpbgoJICBjb3JlIHNvb24KCjIwMDMtMDMtMDQgMTU6MzQ6MjAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBqYWNrIGN2cyBhbmQgbm9uLWNvdGhyZWFkZWQgZ3N0IHNjaGVkdWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciB0aGUgbGF0ZXN0IGphY2sgY3ZzIGFuZCBub24tY290aHJlYWRlZCBnc3Qgc2NoZWR1bGVyCgoyMDAzLTAyLTA1IDIwOjM4OjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgQ2hhbmdlZCBjYXBzLT5maXhlZCB0byB1c2UgRkxBR19TRVQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgY2Fwcy0+Zml4ZWQgdG8gdXNlIEZMQUdfU0VUCgoyMDAzLTAxLTEwIDEzOjM4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCjIwMDMtMDEtMTAgMTA6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcyBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcwoJICBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzCgkgIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdGhhdCBJIGRvbid0IHNwZW5kIGRvdWJsZQoJICB0aGUgdGltZSByZXNvbHZpbmcgY29uZmxpY3RzCgoyMDAyLTEyLTA4IDE0OjUwOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgoyMDAyLTA5LTI5IDE4OjEyOjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgbGljZW5zZXMgYWdhaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxpY2Vuc2VzIGFnYWluCgoyMDAyLTA5LTE4IDE5OjAyOjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoKMjAwMi0wOS0xMCAwOTozMTo0MCArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBUaGlzIHVwZGF0ZXMgYWxsIHBsdWdpbnMgdG8gdGhlIG5ldyBBUEkgZm9yIGdzdF9wYWRfdHJ5X3NldF9jYXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUaGlzIHVwZGF0ZXMgYWxsIHBsdWdpbnMgdG8gdGhlIG5ldyBBUEkgZm9yIGdzdF9wYWRfdHJ5X3NldF9jYXBzCgoyMDAyLTA5LTA5IDIzOjI3OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3Zpbmcgd2FybmluZ3MgYXMgYXBwcm92ZWQgYnkgd2ltCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmluZyB3YXJuaW5ncyBhcyBhcHByb3ZlZCBieSB3aW0KCjIwMDItMDgtMjMgMDQ6MDQ6MTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBmaXggamFjayBpbnB1dCBwb3J0IGNvbm5lY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBqYWNrIGlucHV0IHBvcnQgY29ubmVjdGlvbgoKMjAwMi0wNy0wOSAxNzozOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBjb21waWxlIGZpeGVuLCBhbmQgcHJlcGFyZSB0byBtb3ZlIE1BSU5UQUlORVJfTU9ERSB0byBhcy12ZXJzaW9uLm00CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21waWxlIGZpeGVuLCBhbmQgcHJlcGFyZSB0byBtb3ZlIE1BSU5UQUlORVJfTU9ERSB0byBhcy12ZXJzaW9uLm00CgoyMDAyLTA3LTAyIDIzOjM1OjA3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgbWFrZSBqYWNrIHdvcmsgaW4gYWxsIGl0cyBmdWxsIGR1cGxleCBnbG9yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFrZSBqYWNrIHdvcmsgaW4gYWxsIGl0cyBmdWxsIGR1cGxleCBnbG9yeQoKMjAwMi0wNi0xMiAwMzozMjowMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHdvcmtpbmcgamFjayBlbGVtZW50cyAoZml4ZWQgYSBwcm9ibGVtIGluIHVwc3RyZWFtIGphY2spIHJhbmRvbSBvdGhlciBmaXhlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3b3JraW5nIGphY2sgZWxlbWVudHMgKGZpeGVkIGEgcHJvYmxlbSBpbiB1cHN0cmVhbSBqYWNrKQoJICAqIHJhbmRvbSBvdGhlciBmaXhlbi4uLgoKMjAwMi0wNS0xNSAxOTowODo0OSArMDAwMCAgU3RldmUgQmFrZXIgPHN0ZXZlQHN0ZXZlYmFrZXIub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICB1c2UgbmV3IGJ5dGVzdHJlYW0gYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgbmV3IGJ5dGVzdHJlYW0gYXBpCgoyMDAyLTA1LTEzIDE4OjA4OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICB1cGRhdGUgdG8gbmV3IGphY2sgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbmV3IGphY2sgYXBpCgoyMDAyLTA1LTA1IDE5OjM5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFkZCBzb21lIGluY2x1ZGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBpbmNsdWRlcwoKMjAwMi0wNS0wNSAwMTowODowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgYmV0dGVyIGluaXRpYWxpemF0aW9uLiBpdCBkb2Vzbid0IHdvcmsgb3ZlciBoZXJlLCB0aG91Z2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiZXR0ZXIgaW5pdGlhbGl6YXRpb24uIGl0IGRvZXNuJ3Qgd29yayBvdmVyIGhlcmUsIHRob3VnaC4KCjIwMDItMDUtMDQgMjE6Mzg6NTYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgYSBjb21taXQgc28gdGhhdCBqYWNrIHdpbGwgYnVpbGQgd2l0aG91dCBlcnJvcnMgb24gVXJhZXVzJ3Mgc3lzdGVtIDspCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhIGNvbW1pdCBzbyB0aGF0IGphY2sgd2lsbCBidWlsZCB3aXRob3V0IGVycm9ycyBvbiBVcmFldXMncyBzeXN0ZW0gOykKCjIwMDItMDUtMDQgMjA6NTM6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgc2V0IGNhcHMgb25jZSB3ZSBrbm93IHRoZSBzYW1wbGUgcmF0ZSBvZiB0aGUgc3lzdGVtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgY2FwcyBvbmNlIHdlIGtub3cgdGhlIHNhbXBsZSByYXRlIG9mIHRoZSBzeXN0ZW0KCjIwMDItMDUtMDQgMTg6NTc6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHNvbWUgamFjayBmaXhlcywgYWxzYSB0b3VjaHVwcywgYW5kIGFkZCBydHAgYnkgZGVmYXVsdCB0byB0aGUgYnVpbGQgaWYgdGhlcmUgYXJlIGFueSBwcm9ibGVtcyBidWlsZGluZyBydHAsIHdlJ3JlIG1vdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc29tZSBqYWNrIGZpeGVzLCBhbHNhIHRvdWNodXBzLCBhbmQgYWRkIHJ0cCBieSBkZWZhdWx0IHRvIHRoZSBidWlsZAoJICBpZiB0aGVyZSBhcmUgYW55IHByb2JsZW1zIGJ1aWxkaW5nIHJ0cCwgd2UncmUgbW92aW5nIGl0IGJhY2sgdG8gZXhwZXJpbWVudGFsIDspCgoyMDAyLTA0LTIwIDIxOjQyOjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MgYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYyBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMgYW4gZWxlbWVudCBici4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzCgkgICogYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYwoJICAqIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucwoJICAqIGFuIGVsZW1lbnQgYnJvd3NlciB0aGF0IHVzZXMgZGV0YWlscy0+a2xhc3MKCSAgKiBzZXBhcmF0ZWQgY2R4YSBwYXJzZSBvdXQgZnJvbSB0aGUgYXZpIGRpcmVjdG9yeQoKMjAwMi0wNC0xNiAxNzoxNDowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIEZpbmFsbHkgd2UncmUgb24gdG8gYSBwcm9wZXIgamFjayBzZXR1cCwgd2l0aCBhIHNwZWNpYWxpemVkIGJpbiBhbmQgZWxlbWVudHMgdGhhdCBjYW4gb25seSBnbyBpbiBhIGphY2sgYmluLiBJIGhhZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmluYWxseSB3ZSdyZSBvbiB0byBhIHByb3BlciBqYWNrIHNldHVwLCB3aXRoIGEgc3BlY2lhbGl6ZWQgYmluIGFuZCBlbGVtZW50cwoJICB0aGF0IGNhbiBvbmx5IGdvIGluIGEgamFjayBiaW4uIEkgaGFkIHRvIGZpeCB0aGUgcGFyc2VyIGZpcnN0IHRvIGRvIHRoaXMsIGJ1dAoJICB0byBydW4gaXQsIHRoZSBzeW50YXggaXMgbGlrZSBzbzoKCSAgZ3N0LWxhdW5jaCBqYWNrYmluLiggZmlsZXNyYyAhIG1hZCAhIGphY2tzaW5rICkKCSAgQnV0IG9mIGNvdXJzZSBpdCdzIG5vdCBmdWxseSBmdW5jdGlvbmFsIHlldC4gU2lnaC4KCjIwMDItMDQtMTEgMjA6NDI6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFCgkgIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIGFsc28sIHNvbWUgLVdlcnJvciBmaXhlcy4KCjIwMDItMDMtMzAgMjE6MDc6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYWxwaGFiZXRpemF0aW9uIGZpeGVuIGEgamFjayBjYXBzIGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhbHBoYWJldGl6YXRpb24gZml4ZW4KCSAgKiBhIGphY2sgY2FwcyBmaXgKCjIwMDItMDMtMzAgMTk6MzE6MTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYWRkIG5vdGlmeSBiYWNrIHRvIGZpbGVzcmMsIGl0J3MgbmVlZGVkIGZvciBNVkMgYXBwbGljYXRpb25zIHJlbW92ZSBub3RpZnkgcHJpbnRvdXRzIGZyb20gZ3N0LWxhdW5jaCBjbGVhbnVwIGluIGdzdC1wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGFkZCBub3RpZnkgYmFjayB0byBmaWxlc3JjLCBpdCdzIG5lZWRlZCBmb3IgTVZDIGFwcGxpY2F0aW9ucwoJICAqIHJlbW92ZSBub3RpZnkgcHJpbnRvdXRzIGZyb20gZ3N0LWxhdW5jaAoJICAqIGNsZWFudXAgaW4gZ3N0LXBsdWdpbnMgY29uZmlndXJlLmFjCgkgICogc29tZSBqYWNrIHVwZGF0ZXMKCSAgKiByZW1vdmUgU0VMRl9JVEVSQVRJTkcgZmxhZyBpbiBmYXZvciBvZiBTRUZfU0NIRURVTEFCTEUgKG5vdCBhIGNsZWFyIG5hbWUsCgkgIGJ1dCBpdCdzIHdoYXQgd2UgaGF2ZSBmb3IgdGhlIG1vbWVudCkKCSAgKiBpbXByb3ZlIHBhcnNpbmcgb2YgcmVxdWVzdCBwYWQgbmFtZXMsIG5vIG1vcmUgc3NjYW5mCgkgICogZml4ZXMgdG8gdGhlIGZhc3RzY2hlZHVsZXIgTWFrZWZpbGUuYW0KCjIwMDItMDMtMjAgMjE6NDU6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCjIwMDItMDMtMTkgMDQ6MTA6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMgZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzCgkgICogZG9uJ3QgbGluayBwbHVnaW5zIHRvIGNvcmUgbGlicyAtLSB0aGUgdmVyc2lvbmluZyBpcyBkb25lIGludGVybmFsbHkgdG8gdGhlIHBsdWdpbnMgd2l0aCB0aGUgcGx1Z2luX2luZm8gc3RydWN0LAoJICBhbmQgc3ltYm9sIHJlc29sdXRpb24gaXMgbGF6eSwgc28gd2UgY2FuIGFsd2F5cyBrbm93IGlmIGEgcGx1Z2luIGNhbiBiZSBsb2FkZWQgYnkgdGhlIHBsdWdpbl9pbmZvIGRhdGEuIGluIHRoZW9yeS4KCjIwMDItMDMtMTkgMDE6Mzk6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8gQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLwoJICBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaWNhbGx5LAoJICBhbmQgdGhpcyBnaXZlcyB0aGUgdXNlciB0aGUgZnJlZWRvbSB0byBzYXkgbWFrZSBHU1RfUExVR0lOX0xERkxBR1M9LW15ZmxhZwoKMjAwMi0wMy0xOCAwNDo0MTozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIHMvZ3N0X2VsZW1lbnRfaW5zdGFsbF9zdGRfcHJvcHMvZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMvIC0tIGl0IGp1c3QgbWFrZXMgbW9yZSBzZW5zZSB0aGF0IHdheSBhZGRlZCBqYWNrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzL2dzdF9lbGVtZW50X2luc3RhbGxfc3RkX3Byb3BzL2dzdF9lbGVtZW50X2NsYXNzX2luc3RhbGxfc3RkX3Byb3BzLyAtLSBpdCBqdXN0IG1ha2VzIG1vcmUgc2Vuc2UgdGhhdCB3YXkKCSAgKiBhZGRlZCBqYWNrIGVsZW1lbnQsIGRvZXNuJ3QgcXVpdGUgd29yayByaWdodCB5ZXQgYnV0IGkgZGlkbid0IHdhbnQgdG8gbG9zZSB0aGUgd29yayAtLSBpdCBkb2VzIGJ1aWxkLCByZWdpc3RlciwKCSAgYW5kIGF0dGVtcHQgdG8gcnVuIHRob3VnaAoJICAqIGltcG9zZWQgc29tZSByZXN0cmljdGlvbnMgb24gdGhlIG5hbWluZyBvZiByZXF1ZXN0IHBhZHMgdG8gYmV0dGVyIGFsbG93IGZvciByZXZlcnNlIHBhcnNpbmcKCSAgKiBhZGRlZCAnJXMnIHRvIHJldmVyc2UgcGFyc2luZwoJICAqIGFkZGVkIG5ldyBiaW4gZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGl0IGlzIHNlbGYtaXRlcmF0aW5nLCBhbmQgc29tZSBsYW1lIGNvZGUgaW4gZ3N0LWxhdW5jaCB0byB0ZXN0IGl0IG91dAoJICAqIGZpeGVuIG9uIGxhdW5jaC1ndWkKCSAgKiBhZGRlZCBwa2ctY29uZmlnIHN0dWZmIGZvciB0aGUgZWRpdG9yJ3MgbGlicwoKMjAxMS0wMS0wMiAxMTozNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1hcmsgdjRsMnNpbmsgYXMgZXhwZXJpbWVudGFsIGFuZCBidWlsZCBvbmx5IGlmIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyBwYXNzZWQKCSAgSXQncyBub3QgcmVhbGx5IG9mICdnb29kJyBxdWFsaXR5IHlldCwgYnV0IHRoZXJlJ3MgYSBsb3Qgb2YKCSAgY29kZSBzaGFyZWQgd2l0aCB2NGwyc3JjLCBzbyBub3Qgc28gZWFzeSB0byBtb3ZlIGl0IGVsc3doZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyMjQ0CgoyMDExLTAxLTAyIDAxOjI0OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZTFkNDE5ZDA3MzM3ZTZkYjJjYzM5MzY0NzJiZTIwNWNlOTI3ZTU0LgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSBpdCBhZGRzIHVucmV2aWV3ZWQgYW5kIGJhZCBBUEkgdG8gdjRsMnNyYwoJICAocHJvcGVydHkgb2YgdHlwZSBlbnVtLCB3aXRoIHNlZW1pbmdseSByYW5kb20gYW5kIHVuc29ydGVkIHZhbHVlcykuCgoyMDExLTAxLTAxIDIzOjI2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzLy5naXRpZ25vcmU6CgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9SRUFETUUuZmlsdGVyc3RhbXA6CgkqIHRvb2xzL2ZpbHRlcnN0YW1wLnNoOgoJKiB0b29scy9nc3QtbGF1bmNoLWV4dC1tLm06CgkqIHRvb2xzL2dzdC1sYXVuY2gtZXh0LjEuaW46CgkqIHRvb2xzL2dzdC12aXN1YWxpc2UtbS5tOgoJKiB0b29scy9nc3QtdmlzdWFsaXNlLjEuaW46CgkgIHRvb2xzOiByZW1vdmUgdW51c2VkIGxlZnQtb3ZlciBkaXJlY3RvcnkKCSAgVGhlc2UgYXJlIGFsbCBpbiAtYmFzZS90b29scy4KCjIwMTAtMTItMzEgMTM6NTc6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5oOgoJICBtcDRhZGVwYXk6IGltcHJvdmUgdGltZXN0YW1wcyBvbiBvdXRnb2luZyBwYWNrZXRzCgkgIEltcHJvdmUgcGFyc2luZyBvZiB0aGUgc2FtcGxlcmF0ZS4KCSAgUGFyc2UgdGhlIGZyYW1lbGVuIHNvIHRoYXQgd2UgY2FuIGNhbGN1bGF0ZSB0aW1lc3RhbXBzLgoJICBXaGVuIGludGVycG9sbGF0ZSB0aGUgaW5jb21taW5nIHRpbWVzdGFtcCBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gdGhlcmUgYXJlCgkgIG11bHRpcGxlIHN1YmZyYW1lcy4KCSAgZml4ZXMgIzYyNTgyNQoKMjAxMC0xMi0zMSAwMDoxMjo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiBGaXggYnVpbGQgZmFpbHVyZSBjYXVzZWQgYnkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTEyLTMwIDE4OjIwOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogYnVpbGQgZml4ZXMgZm9yIE1TVkMKCSAgVXNlIGdpbnQxNiBhbmQgR19QSS4KCjIwMTAtMTItMzAgMTg6MTk6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogcmVpbmRlbnQKCjIwMTAtMTItMzEgMDI6MTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgY2Fpcm8sIHZpZGVvZmlsdGVyOiB1c2UgZ3N0L21hdGgtY29tcGF0LmggaGVhZGVyIGZvciByaW50CgoyMDEwLTEyLTMwIDE0OjMwOjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBDaGVjayBmb3IgSEFWRV9SSU5UIGluc3RlYWQKCSAgQWxzbyBjaGFuZ2UgTV9QSSB0byBHX1BJIGZvciBnaWdnbGVzLgoKMjAxMC0xMi0zMCAxNDoyMTozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm86IERvbid0IHVzZSAjaWZkZWZzIGluc2lkZSBtYWNyb3MKCjIwMTAtMTItMzAgMTQ6MjA6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9saW5lcy5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOgoJICBDaGFuZ2UgTV9QSSB0byBHX1BJCgoyMDEwLTEyLTMwIDEyOjA3OjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiB1c2UgR19PU19XSU4zMiBmb3Igd2luZG93cyBjaGVjawoKMjAxMC0xMi0zMCAxNjoyNDoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIG1wNGFkZXBheTogZml4IHRpbWVzdGFtcHMgb24gYnVmZmVycwoKMjAxMC0xMi0zMCAxNjoyMjo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIG1wdnBheTogZml4IGZsdXNoaW5nIGFuZCBkaXNjb250CgkgIEZpeCBmbHVzaGluZyBhbmQgZGlzY29udHMuCgkgIENsZWFuIHVwIGluIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTEyLTI5IDIzOjM4OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogaW5jcmVhc2UgYWxsb3dlZCBtYXguIGJsb2NrIHNpemUgZm9yIHB1c2ggbW9kZSBmcm9tIDEwTSB0byAxNU0KCSAgSXQgd2FzIGFuIGFyYml0cmFyeSBsaW1pdCBmcm9tIHRoZSBzdGFydCwgbWVhbnQgYXMgYSBiYXNpYyBzYW5pdHkgY2hlY2ssCgkgIHNvIG1heSBqdXN0IGFzIHdlbGwgaW5jcmVhc2UgaXQgYSBsaXR0bGUuIFdvdWxkIGJlIGdvb2QgdG8gcHJvdmlkZQoJICBwcm9ncmVzcyByZXBvcnRpbmcgd2hpbGUgY29tcGxldGluZyB0aGUgYmxvY2sgaW4gYW55IGNhc2UuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MDYwCgoyMDEwLTEyLTI5IDIzOjA5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogYXNzdW1lIG1hdHJvc2thIGlmIG5vIGRvY3R5cGUgaXMgc3BlY2lmaWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgwMTkKCjIwMTAtMTItMDQgMTM6NDM6MTEgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBhZGQgaW50ZXJsYWNlZCBzdXBwb3J0CgoyMDEwLTEwLTAyIDE0OjQ1OjE0IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDJzaW5rOiBhZGQgbmF2aWdhdGlvbiBzdXBwb3J0CgoyMDEwLTA0LTA0IDA2OjQzOjQxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFkZCBub3JtIHByb3BlcnR5CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgR3Vlbm5hZGkgTGlha2hvdmV0c2tpLgoKMjAxMC0wNy0xMyAxMDowMzo1MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IGNsZWFudXAgZ2V0L3NldCBpbnB1dC9vdXRwdXQKCSAgb3V0cHV0IGRldmljZXMgc2hvdWxkIHVzZSBnZXQvc2V0IG91dHB1dCwgYW5kIGluIGVpdGhlciBjYXNlIHdlIHNob3VsZAoJICBub3QgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UgaWYgdGhlIGlvY3RsIGZhaWxzIGJ1dCB0aGUgZGV2aWNlIGRvZXMgbm90CgkgIGNsYWltIHRvIHN1cHBvcnQgdGhlIHR1bmVyIGludGVyZmFjZQoKMjAxMC0wNi0xMCAxMToxNTo0NiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICB2NGwyeG92ZXJsYXk6IGFkZCBzdXBwb3J0IHRvIGNyZWF0ZSB3aW5kb3cKCSAgSWYgeG92ZXJsYXkgaXMgYXZhaWxhYmxlLCB2NGwyc2luayBzaG91bGQgY3JlYXRlIGEgd2luZG93IGZvciB0aGUgb3ZlcmxheSB0bwoJICBkaXNwbGF5IGluLgoJICBUaGUgd2luZG93IGF1dG9tYXRpY2FsbHkgdHJpZXMgdG8gbWFrZSBpdHNlbGYgYXMgbGFyZ2UgYXMgcG9zc2libGUuCgkgIFRoaXMgd29ya3Mgd2VsbCBvbiBhIHNtYWxsIHNjcmVlbiwgYnV0IHBlcmhhcHMgc2hvdWxkIGZpcnN0IGF0dGVtcHQgdG8gdXNlCgkgIHRoZSBzaXplIG9mIHRoZSB2aWRlbyB0aGF0IGlzIHBsYXllZCAobm8gc2NhbGluZykuCgoyMDEwLTA0LTA0IDA2OjQxOjI4IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogc3BlY2lhbCBoYW5kbGluZyBmb3IgY2FzZXMgZ3N0X2J1ZmZlcl9tYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkKCSAgU3BlY2lhbCBjYXNlIGNoZWNrIGZvciBzdWItYnVmZmVyczogIEluIGNlcnRhaW4gY2FzZXMsIHBsYWNlcyBsaWtlCgkgIEdzdEJhc2VUcmFuc2Zvcm0sIHdoaWNoIG1pZ2h0IGNoZWNrIHRoYXQgdGhlIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgY29weWluZwoJICBtZXRhZGF0YSwgdGltZXN0YW1wLCBhbmQgc3VjaCwgd2lsbCBmaW5kIHRoYXQgdGhlIGJ1ZmZlciBoYXMgbW9yZSB0aGFuIG9uZQoJICByZWZlcmVuY2UgdG8gaXQuICBJbiB0aGVzZSBjYXNlcywgdGhleSB3aWxsIGNyZWF0ZSBhIHN1Yi1idWZmZXIgd2l0aCBhbiBvZmZzZXQ9MAoJICBhbmQgbGVuZ3RoIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBidWZmZXIgc2l6ZS4KCSAgVGhpcyBjb3VsZCBoYXBwZW4gaW4gdHdvIHNjZW5hcmlvczogKDEpIGEgdGVlIGluIHRoZSBwaXBlbGluZSwgYW5kICgyKSBiZWNhdXNlCgkgIHRoZSByZWZjbnQgaXMgaW5jcmVtZW50ZWQgaW4gZ3N0X21pbmlfb2JqZWN0X2ZyZWUoKSBiZWZvcmUgdGhlIGZpbmFsaXplIGZ1bmN0aW9uCgkgIGlzIGNhbGxlZCwgYW5kIGRlY3JlbWVudGVkIGFmdGVyIGl0IHJldHVybnMuLiAgYnV0IHJldHVybmluZyB0aGlzIGJ1ZmZlciB0byB0aGUKCSAgYnVmZmVyIHBvb2wgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uLCBjb3VsZCB3YWtlIHVwIGEgdGhyZWFkIGJsb2NrZWQgaW4KCSAgX2J1ZmZlcl9hbGxvYygpIHdoaWNoIGNvdWxkIHJ1biBhbmQgZ2V0IGEgYnVmZmVyIHcvIHJlZmNudD09MiBiZWZvcmUgdGhlIHRocmVhZAoJICBvcmlnaW5hbGx5IHVucmVmJ2luZyB0aGUgYnVmZmVyIHJldHVybnMgZnJvbSBmaW5hbGl6ZSBmdW5jdGlvbiBhbmQgZGVjcmVtZW50cwoJICB0aGUgcmVmY250IGJhY2sgdG8gMSEKCSAgVGhpcyBpcyByZWxhdGVkIHRvIGlzc3VlICM1NDU1MDEKCjIwMTAtMDQtMDQgMDY6Mzk6NTIgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCByYWNlIGNvbmRpdGlvbgoJICBUaGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHdvdWxkIGJlIHplcm8nZCBvdXQgaW4gZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKCkKCSAgYWZ0ZXIgdGhlIGJ1ZmZlciBpcyBxYnVmJ2Qgb3IgcHVzaGVkIG9udG8gdGhlIHF1ZXVlIG9mIGF2YWlsYWJsZSBidWZmZXJzLi4KCSAgbGVhdmluZyBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSB0aHJlYWQgd2FpdGluZyBmb3IgdGhlIGJ1ZmZlciBjb3VsZCBhd2FrZQoJICBhbmQgc2V0IGJhY2sgYSB2YWxpZCBzaXplIGJlZm9yZSB0aGUgZmluYWxpemluZyB0aHJlYWQgemVyb3Mgb3V0IHRoZSBsZW5ndGguCgkgIFRoaXMgd291bGQgcmVzdWx0IHRoYXQgdGhlIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgaGFzIGxlbmd0aCBvZiB6ZXJvLgoKMjAxMC0wNC0wNCAwNjozOTowOCAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgdjRsMnNpbms6IGFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgY3JvcAoKMjAxMC0wNC0wNCAwNjozNzoxNiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgdjRsMjogcmUtZW5hYmxlIHgtb3ZlcmxheSBzdXBwb3J0CgoyMDEwLTEyLTI1IDExOjUyOjM2IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGZvciBQQVVTRUQtPlJFQURZLT5QQVVTRUQgc3RhdGUgdHJhbnNpdGlvbnMKCSAgV2hlbiB2NGwyc2luayBnb2VzIHRvIFBBVVNFRC0+UkVBRFkgaXQgb25seSBzdG9wcyBzdHJlYW1pbmcsIHNvIHRoZSBzdGF0ZQoJICBzaG91bGQgYmUgc2V0IHRvIFNUQVRFX1BFTkRJTkdfU1RSRUFNT04gaW4gY2FzZSB0aGUgZWxlbWVudCB0cmFuc2l0aW9ucwoJICBiYWNrIHRvIFBMQVlJTkcuCgoyMDEwLTA0LTA0IDA2OjI4OjUxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyc2luazogYWRkICJtaW4tcXVldWVkLWJ1ZnMiIHByb3BlcnR5CgoyMDEwLTA0LTA0IDA2OjI2OjUwIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzaW5rOiBBZGQgc3VwcG9ydCBmb3IgYmxvY2tpbmcgZGVxdWV1ZS4KCSAgV2UnZCBwcmVmZXIgdG8gdGhyb3R0bGUgdGhlIGRlY29kZXIgaWYgd2UgcnVuIG91dCBvZiBidWZmZXJzLCB0byBrZWVwIGEgYm91bmQKCSAgb24gbWVtb3J5IHVzYWdlLiAgQWxzbywgZm9yIE9NQVA0IGl0IGlzIGEgcmVxdWlyZW1lbnQgb2YgdGhlIGRlY29kZXIgdG8gbm90CgkgIGFsdGVybmF0ZSBiZXR3ZWVuIG1lbW9yeSBhbGxvY2VkIGJ5IHRoZSBkaXNwbGF5IGRyaXZlciBhbmQgbWFsbG9jJ2QgdXNlcnNwYWNlCgkgIG1lbW9yeS4KCjIwMTAtMDQtMDQgMDY6MjQ6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGNsZWFyIGZsYWdzIGJlZm9yZSByZXVzaW5nIGJ1ZmZlciBmcm9tIGJ1ZmZlciBwb29sCgkgIG5vdGU6IHRoaXMgcmVhbGx5IG9ubHkgYWZmZWN0cyB2NGwyc2luayBzaW5jZSBnc3RfdjRsMl9idWZmZXJfcG9vbF9nZXQoKSBpcwoJICBvbmx5IGNhbGxlZCBvbmNlIHBlciBidWZmZXIgaW4gdGhlIHY0bDJzcmMgY2FzZSAoaW4KCSAgZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfYWN0aXZhdGUoKSkKCjIwMTAtMDQtMDQgMDY6MjM6MzEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBkb24ndCByZW5kZXIgcHJlcm9sbCBidWZmZXJzCgkgIE1vc3QgdjRsMiBkcml2ZXJzIHdpbGwgZ2V0IHVwc2V0IHdoZW4geW91IHF1ZXVlIHRoZSBzYW1lIGJ1ZmZlciB0d2ljZSBpbiBhCgkgIHJvdyB3aXRob3V0IGZpcnN0IGRlcXVldWVpbmcgaXQuCgkgIFJlbmRlcmluZyBvZiBwcmUtcm9sbCBidWZmZXJzIGNhbiBiZSByZS1pbnRyb2R1Y2VkIGxhdGVyLCBidXQgd2lsbCByZXF1aXJlCgkgIHRyYWNraW5nIHRoZSBzdGF0ZSBvZiB0aGUgYnVmZmVyLCBhbmQgYXZvaWRpbmcgdG8gcmUtUUJVRiBpZiB0aGUgYnVmZmVyIGhhcwoJICBhbHJlYWR5IGJlZW4gcGFzc2VkIHRvIHRoZSBkcml2ZXIuCgoyMDEwLTA0LTA0IDA2OjIyOjQzIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogSW1wcm92ZSBiZWhhdmlvciBmb3Igc2hhcmVkIGJ1ZmZlcnMuCgkgIFdoZW4gdGhlIGRlY29kZXIgaXMgdXNpbmcgcGFkX2FsbG9jKCksIHY0bDJzaW5rIHdvdWxkIGJlaGF2ZSBiYWRseSBpZgoJICB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgKCdxdWV1ZS1zaXplJyBwcm9wZXJ0eSkgd2FzIG5vdCBoaWdoIGVub3VnaCB0bwoJICBhY2NvdW50IGZvciBhbGwgdGhlIGJ1ZmZlcnMgbmVlZGVkIGJ5IHRoZSBkZWNvZGVyLCBhbmQgb3RoZXIgZWxlbWVudHMKCSAgKHN1Y2ggYXMgcXVldWVzKSBiZXR3ZWVuIHRoZSBkZWNvZGVyIGFuZCB2NGwyc2luay4gIFRoaXMgcGF0Y2gKCSAgc2xpZ2h0bHkgaW5jcmVhc2VzIHRoZSBkZWZhdWx0IG51bWJlciBvZiBidWZmZXJzLCBhbmQgY2hhbmdlcyB2NGwyc2luawoJICB0byBkcm9wIGZyYW1lcyByYXRoZXIgdGhhbiByZXR1cm4gYW4gZXJyb3IgaW4gY2FzZSB0aGUgbnVtYmVyIG9mCgkgIGJ1ZmZlcnMgaXMgbm90IGhpZ2ggZW5vdWdoLgoKMjAxMC0xMS0xNSAxNTo1ODoyOCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgYWRkICJjbGllbnQiIHByb3BlcnR5CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmMgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0LCBnc3RfcHVsc2VzcmNfaW5pdCkKCSAgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHksIGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpCgkgIChnc3RfcHVsc2VzcmNfb3Blbik6IEFkZCBhICJjbGllbnQiIHByb3BlcnR5LCBhcyBpbiBwdWxzZXNpbmsuCgkgIEZpeGVzICM2MzQ5MTQKCjIwMTAtMTItMjkgMTU6NTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXJpYWxpc2UvZGVzZXJpYWxpc2UgZmxvYXRzIHdpdGhvdXQgY2hhbmdpbmcgbG9jYWxlCgkgIFVzZSBnX2FzY2lpX2R0b3N0cigpIGFuZCBnX2FzY2lpX3N0cnRvZCgpIHRvIHNlcmlhbGlzZS9kZXNlcmlhbGlzZQoJICBmbG9hdGluZyBwb2ludCBudW1iZXJzLCBpbnN0ZWFkIG9mIHVnbHkgaGFja3MgdGhhdCBzd2l0Y2ggbG9jYWxlCgkgIGJlZm9yZSBhbmQgYWZ0ZXIgY2FsbGluZyBsaWJjIGZ1bmN0aW9ucyAod2hpY2ggaXMgbm90IGEgZ29vZCBpZGVhCgkgIGluIGEgbXVsdGktdGhyZWFkZWQgYXBwbGljYXRpb24pLgoKMjAxMC0xMi0yOSAxNDo0MDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IGZpeCBmcmFtZXJhdGUgcGFyc2luZyBmb3IgbG9jYWxlcyB0aGF0IHVzZSBhIGNvbW1hIGFzIGZsb2F0aW5nIHBvaW50CgkgIGF0b2YoKSBjb252ZXJ0cyBzdHJpbmdzIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUsIGJ1dCB0aGUKCSAgZnJhbWVyYXRlIHN0cmluZyB3aWxsIGxpa2VseSBhbHdheXMgdXNlIGEgZG90IGFzIGZsb2F0aW5nIHBvaW50CgkgIHNlcGFyYXRvciwgc28gdXNlIGdfYXNjaWlfc3RydG9kKCkgaW5zdGVhZCAoYnV0IGFsc28gY2Fub25pY2FsaXNlCgkgIHRoZSBzdHJpbmcgYmVmb3JlLCBzbyB3ZSBjYW4gaGFuZGxlIGJvdGggZm9ybWF0cyBhcyBpbnB1dCkuCgoyMDEwLTEyLTI3IDEzOjExOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHRoZSByaWdodCB2YXJpYWJsZQoJICBVc2UgdGhlIHJpZ2h0IHZhcmlhYmxlIGZvciBzcGVjaWZ5aW5nIHRoYXQgd2Ugc2VudCBhIHJlY2VpdmVyIHJlcG9ydC4KCjIwMTAtMTItMjMgMTY6NDI6MjkgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZpeCB0eXBvCgoyMDEwLTEyLTIzIDE2OjAzOjAwIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGFkZCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgcHJvcGVydGllcyBmb3IgaDI2NAoKMjAxMC0xMi0yMiAxMTo0MTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogZml4IGtsYXNzLCBhZGQgUlRQIGFzIGEgdXNlIGNhc2UKCjIwMTAtMTItMTIgMTU6MTA6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBjbGVhbnVwIHRoZSBjYWNoZQoKMjAxMC0xMi0xMiAwNToxMDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXkvZGVwYXk6IGFkZCBnZW5lcmljIGdzdHJlYW1lciBwYXlsb2FkZXIKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGEgZ2VuZXJpYyBHU3RyZWFtZXIgYnVmZmVycyBwYXlsb2FkZXIuCgoyMDEwLTEyLTIzIDE3OjA2OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIG1wNGdwYXk6IHJlc2V0IHN0YXRlIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjMgMTY6MjY6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGZsdXNoIHN0YXRlIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjMgMTY6MjU6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9uLW5wdC1zdG9wIGlzIGEgbWFuYWdlciBzaWduYWwKCjIwMTAtMTItMjMgMTU6MjQ6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaW1wcm92ZSBSVFAgc2Vzc2lvbiBoYW5kbGluZwoJICBTdG9yZSB0aGUgUlRQIHNlc3Npb24gaW4gdGhlIHN0cmVhbSBzbyB0aGF0IHdlIGNhbiBtb3JlIGVmZmljaWVudGx5CgkgIHBlcmZvcm0gYWN0aW9ucyBvbiB0aGUgc3RyZWFtIGJhc2VkIG9uIFJUUCBzaWduYWxzLgoKMjAxMC0xMi0yMyAxMzo1NTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGluY2x1ZGUgbGFzdCBzZW5kIFJCIGJsb2NrCgkgIE9ubHkgcmVwb3J0IFJCIHZhbHVlcyBmb3Igbm9uLWludGVybmFsIHNvdXJjZXMuCgkgIFJlcG9ydCBub3Qgb25seSB0aGUgUkIgYmxvY2tzIHdlIGxhc3QgcmVjZWl2ZWQgZnJvbSBidXQgYWxzbyB0aGUgbGFzdCBSQgoJICBibG9jayB3ZSBzZW50IHRvIGEgc291cmNlLgoKMjAxMC0xMi0yMyAxMzo1Mjo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IHJlbWVtYmVyIGxhc3Qgc2VudCBSQiB2YWx1ZXMuCgoyMDEwLTEyLTIzIDEzOjAwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogaW5jbHVkZSBhbGwgc3RhdHMgYW5kIGRvY3VtZW50CgkgIEluY2x1ZGUgYWxsIHBvc3NpYmxlIHN0YXRzIG9mIGEgc291cmNlIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUgYmVjYXVzZSB3ZSBtaWdodAoJICBiZSBpbnRlcmVzdGVkIGluIHdoYXQgaGFwcGVuZWQgaW4gdGhlIHBhc3QuCgkgIERvY3VtZW50IHRoZSBzdGF0cyBwcm9wZXJ0eSBhbmQgdGhlIGZpZWxkcy4KCjIwMTAtMTItMjMgMTI6NTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSAgZXhhbXBsZXM6IGFkZCBleGFtcGxlIFJUUCBzdGF0cwoJICBBZGQgc29tZSBtb3JlIFJUUCBleGFtcGxlcyBmb3IgaG93IHRvIHJldHJpZXZlIFJUUCBzdGF0cyBpbiBhIHJlY2VpdmVyLgoKMjAxMC0xMi0yMyAxMjo1ODowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWxzbyBlbWl0IFJUQ1AgYWN0aXZpdHkgb24gU1IKCSAgQWxzbyBlbWl0IFJUQ1AgYWN0aXZpdHkgc2lnbmFscyB3aGVuIHdlIHJlY2VpdmUgYW4gU1IgcGFja2V0IHdpdGhvdXQgUkIgYmxvY2tzLAoJICBzdWNoIGFzIGZyb20gYSBzZW5kZXIgdGhhdCBpcyBub3QgcmVjZWl2aW5nIGFueXRoaW5nLgoKMjAxMC0xMi0yMyAxMToxMDo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBhZGQgc29tZSBtb3JlIGdzdHJ0cGJpbiBkb2NzCgoyMDEwLTEyLTIyIDIxOjI3OjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiByZW1vdGUgaXMgYSBib29sZWFuIChhbmQgbm90IHVpbnQpIHByb3BlcnR5CgoyMDEwLTEyLTIyIDE5OjU4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKQoJICBVc2luZyB0aGlzIGluIGEgZGVtdXhlciB3aWxsIGNhdXNlIGRlYWRsb2NrcyBpZiB0aGVyZSdzCgkgIGEgcGFkIHdpdGggYSBwZW5kaW5nIHBhZC1ibG9jayBkb3duc3RyZWFtLCBubyBtYXR0ZXIgaWYKCSAgdGhlcmUgaXMgYSBxdWV1ZSBiZXR3ZWVuIHRoZSBwYWQgb3Igbm90LiBRdWV1ZXMgcGFzcwoJICBidWZmZXJhbGxvYyBkb3duc3RyZWFtIGZyb20gdGhlIHNhbWUgdGhyZWFkIGFuZCBvbmx5CgkgIGFjdCBhcyBhIHRocmVhZCBib3VuZGFyeSBmb3IgZXZlbnRzIGFuZCBidWZmZXJzLgoKMjAxMC0xMi0yMiAxNDoxNDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggc3VidGl0bGUgcGFkIHRlbXBsYXRlLCB3ZSBvbmx5IGhhbmRsZSBrYXRlIGZvciBub3cKCjIwMTAtMTItMTYgMTE6NDQ6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBkb2NzOiB1cGRhdGUgcnRzcHNyYyBkb2NzLCBydHBiaW4gaXMgbm90IGluIC1iYWQgYW55IG1vcmUKCjIwMTAtMTItMjIgMTE6NDI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVubG9jayBiZWZvcmUgZW1pdHRpbmcgc2lnbmFscwoKMjAxMC0xMi0yMSAyMjozNDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkgIHJ0cGFjM3BheTogYWRkIEFDMyBwYXlsb2FkZXIKCjIwMTAtMTItMjEgMjI6MTc6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkgIGFjM2RlcGF5OiBmaXggZGVidWcgY2F0ZWdvcnkgZGVzY3JpcHRpb24KCjIwMTAtMTItMjEgMjI6MTY6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0xMi0yMCAxNDo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBZGRzIGFub3RoZXIgdGVzdCBjYXNlCgkgIEFkZHMgYSB0ZXN0IGZvciBqcGVnZW5jIHRvIGNoZWNrIHRoYXQgaXMgcG9zc2libGUgdG8gbmVnb3RpYXRlIGFuZAoJICBwdXNoIGJ1ZmZlcnMgd2l0aCBkaWZmZXJlbnQgcmVzb2x1dGlvbiBvbmUgYWZ0ZXIgYW5vdGhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzY4NgoKMjAxMC0xMi0yMSAxMzozNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNpbmsgcGFkJ3MgZ2V0Y2FwcyBzaG91bGRuJ3QgdXNlIHRoZSBzcmMgcGFkIGdldGNhcHMKCSAgSW5zdGVhZCBvZiB1c2luZyBnZXRfYWxsb3dlZF9jYXBzIG9uIHRoZSBzcmNwYWQsIHRoZSBzaW5rcGFkIGdldGNhcHMKCSAgc2hvdWxkIHVzZSB0aGUgZ2V0Y2FwcyBvZiB0aGUgc3JjcGFkJ3MgcGVlci4gVGhpcyB3YXkgdGhlIHNyY3BhZAoJICBjYW4ga2VlcCB1c2luZyBmaXhlZF9jYXBzIGFuZCBzaW5rcGFkIGdldGNhcHMgZXhwb3NlcyBhbGwgY2FwcwoJICB0aGF0IGNhbiBiZSBuZWdvdGlhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc2ODYKCjIwMTAtMTItMjEgMTY6NTg6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogYWRkIFJUUCBoaW50IHRvIHRoZSBrbGFzcwoKMjAxMC0xMi0yMSAxNjo0OToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBmaXggcmFuayBvZiBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMKCSAgU2V0IHRoZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgdG8gYSByZWFzb25hYmxlIHJhbmsuCgoyMDEwLTEyLTIxIDE1OjI0OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiByZXNldCBkZXBheWxvYWRlciBzdGF0ZQoJICBSZXNldCB0aGUgZGVwYXlsb2FkZXIgc3RhdGUgb24gZmx1c2gtc3RvcC4KCjIwMTAtMTItMjEgMTU6MDc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIG1wNHBheTogdXNlIHZtZXRob2QgZm9yIGludGVyY2VwdGluZyBldmVudHMKCjIwMTAtMTItMjEgMTM6NTU6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IGNsZWFyIHBhY2tldCBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIxIDEzOjQ5OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBjbGVhciBwYWNrZXQgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMSAxMjozMTo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogcmVzZXQgZGVwYXlsb2FkZXIgc3RhdGUKCjIwMTAtMTItMjEgMTI6Mjk6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgaDI2NHBheTogZmx1c2ggYWRhcHRlciBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIwIDE4OjQ5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiBmbHVzaCBsYXN0IHBhY2tldHMgb24gRU9TCgoyMDEwLTEyLTIwIDE3OjQ3OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTY5NDYyYSB0byA0NjQ0NWFkCgoyMDEwLTEyLTIwIDE2OjUxOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiByZXNldCBwYXlsb2FkZXIgb24gc3RhdGUgY2hhbmdlCgoyMDEwLTEyLTIwIDE2OjA1OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgbXBhcGF5OiByZXNldCBwYXlsb2FkZXIgb24gZmx1c2gKCSAgUmVzZXQgdGhlIHBheWxvYWRlciBvbiBhIGZsdXNoIGV2ZW50LgoJICBIYW5kbGUgRElTQ09OVCBiZXR0ZXIuCgoyMDEwLTEyLTIwIDE1OjU0OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZ2V0IGJldHRlciBidWZmZXJpbmcgbGV2ZWwKCSAgV2hlbiB0aGUgaml0dGVyYnVmZmVyIGNvbnRhaW5zIC0xIHRpbWVzdGFtcHMsIG1ha2Ugc3VyZSB3ZSBzdGlsbCBjYWxjdWxhdGUgdGhlCgkgIGJ1ZmZlciBmaWxsIGxldmVsIGJ5IHNraXBwaW5nIHRoZSAtMSBidWZmZXJzLgoJICBUcnkgdG8gYmUgbW9yZSByZXNpbGllbnQgdG8gd2VpcmQgaW5wdXQgdGltZXN0YW1wcy4KCjIwMTAtMTItMjAgMTE6MTA6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcm92aWRlIGEgY2xvY2suCgkgIHNpbmNlIHdlIGFyZSB1c2luZyB0aGUgY2xvY2sgZm9yIHN5bmMsIHdlIG5lZWQgdG8gYWxzbyBwcm92aWRlIGEgY2xvY2sgZm9yIGdvb2QKCSAgbWVhc3VyZS4gVGhlIHJlYXNvbiBpcyB0aGF0IGV2ZW4gaWYgZG93bnN0cmVhbSBlbGVtZW50cyBwcm92aWRlIGEgY2xvY2ssIHdlCgkgIGRvbid0IHdhbnQgdG8gaGF2ZSB0aGF0IGNsb2NrIHNlbGVjdGVkIGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIHJ1bm5pbmcgeWV0LgoKMjAxMC0xMi0yMCAxMDo0OTo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGNvcHkgYnVmZmVyaW5nIHN0YXRzCgkgIHdoZW4gd2UgY3JlYXRlIGFuIGFnZ3JlZ2F0ZSBidWZmZXJpbmcgbWVzc2FnZSwgY29weSB0aGUgYnVmZmVyaW5nIHN0YXRzIGZvcm0gdGhlCgkgIGxhc3QgbWVzc2FnZS4gQXQgbGVhc3Qgd2UgZ2V0IGNvcnJlY3QgYnVmZmVyaW5nIG1vZGUgdGhlbi4KCjIwMTAtMTItMTkgMTE6MDI6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCBtZW1vcnkgbGVha3MgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0xOSAxMDo1ODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgcmFkaW9hY3R2OiBQcmV2ZW50IHVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlcwoJICBGaXhlcyBidWcgIzYxODY1Mi4KCjIwMTAtMTItMTkgMTA6MjI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkgIGNhcHNkZWJ1ZzogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAxMC0xMS0yOSAxMjozNjowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGNoYW5nZSBmcm9tIFhHZXRJbWFnZSB0byBYR2V0U3ViSW1hZ2UgZGVwZW5kYW50IG9uIGEgcHJvcGVydHkKCSAgeGltYWdlc3JjOiBjaGFuZ2UgZnJvbSBYR2V0SW1hZ2UgdG8gWEdldFN1YkltYWdlIGRlcGVuZGFudCBvbiBhIHByb3BlcnR5CgkgIHRvIGF2b2lkIHVubmVjZXNzYXJ5IHBlcmZvcm1hbmNlIGhpdHMgYnkgZGVmYXVsdC4KCjIwMTAtMTEtMjggMTY6MDQ6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiB1c2UgWEdldFN1YkltYWdlIGluc3RlYWQgb2YgWEdldEltYWdlLCB3b3JrcyB3aXRoIHJlbW90ZSBYCgkgIHhpbWFnZXNyYzogdXNlIFhHZXRTdWJJbWFnZSBpbnN0ZWFkIG9mIFhHZXRJbWFnZSwgd29ya3Mgd2l0aCByZW1vdGUgWAoJICAob24gbXkgc2V0dXAgYW55d2F5Li4uKQoKMjAxMC0xMS0yNyAxNzoxNTozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGZpeCB2YXJpb3VzIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgYmVpbmcgb2ZmIGJ5IG9uZSwKCSAgeGltYWdlc3JjOiBmaXggdmFyaW91cyB3aWR0aC9oZWlnaHQgY2FsY3VsYXRpb25zIGJlaW5nIG9mZiBieSBvbmUsCgkgIGFuZCBtYWtlIGl0IHNvIGEgc2luZ2xlIHBpeGVsIHdpZHRoL2hlaWdodCBjYW4gYmUgY2FwdHVyZWQgKGV4Y2VwdAoJICB0aGUgdG9wIGxlZnQgb25lLCBhcyAwLDAsMCwwIGlzIHJlc2VydmVkIGZvciBmdWxsIHNjcmVlbiBhcyBwZXIKCSAgdGhlIHByb3BlcnR5IGNvbW1lbnRzKS4KCjIwMTAtMTItMTcgMTk6MTk6MzUgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgZml4IGNvbXBpbGUgZXJyb3JzIG9uIG1hY29zeAoJICB3aXRoIGk2ODYtYXBwbGUtZGFyd2luMTAtZ2NjLTQuMi4xOgoJICBnc3R2NGwyb2JqZWN0LmM6IEluIGZ1bmN0aW9uICdnc3RfdjRsMl9vYmplY3RfZ2V0X25lYXJlc3Rfc2l6ZSc6CgkgIGdzdHY0bDJvYmplY3QuYzoxOTg4OiB3YXJuaW5nOiBmb3JtYXQgJyV1JyBleHBlY3RzIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMiBoYXMgdHlwZSAnZ2ludCAqJwoJICBnc3R2NGwyb2JqZWN0LmM6MTk4ODogd2FybmluZzogZm9ybWF0ICcldScgZXhwZWN0cyB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTMgaGFzIHR5cGUgJ2dpbnQgKicKCjIwMTAtMTItMTcgMTU6Mzg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBkZXRlcm1pbmUgb3V0cHV0IGgyNjQgbGF5b3V0IHVzaW5nIGNhcHMgbmVnb3RpYXRpb24KCSAgLi4uIHRoZXJlYnkgKHBhcnRpYWxseSkgZGVwcmVjYXRpbmcgcHJvcGVydGllcyBjdXJyZW50bHkgY29udHJvbGxpbmcgd2hldGhlcgoJICBvciBub3QgYnl0ZS1zdHJlYW0gb3V0cHV0IG9yIE5BTC9BVSBhbGlnbm1lbnQgKHRob3VnaCBwcm9wZXJ0aWVzIHN0aWxsIGRldGVybWluZQoJICBmYWxsYmFjayBpZiBub3RoaW5nIHNwZWNpZmllZCBpbiBjYXBzKS4KCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTAtMTItMTYgMTg6NTU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IGhhbmRsZSBFT0MgY29ycmVjdGx5CgkgIERvbid0IGluY2x1ZGUgdGhlIG5leHQgMiBieXRlcyB3aGVuIHdlIGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBkYXRhIGFuZCB0aGVyZSBhcmUKCSAgbm8gbW9yZSBieXRlcyBsZWZ0LgoKMjAxMC0xMi0xNiAxNToxNTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZmx1c2ggcmVtYWluaW5nIGJ1ZmZlcmVkIHNhbXBsZXMgb24gRU9TCgkgIC4uLiB3aGljaCBjYW4gbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiBhbGwgb3Igbm90aGluZyB3aGVuIGRlYWxpbmcKCSAgd2l0aCBzaG9ydCBzdHJlYW1zIGFuZCByZWxhdGl2ZWx5IGxhcmdlIHJpbmdidWZmZXIgc2VnbWVudC4KCjIwMTAtMTItMTYgMTA6MDQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGFuZ2UgY2xhc3NpZmljYXRpb24gdG8gRmlsdGVyL0VmZmVjdC9WaWRlby9EZWludGVybGFjZQoKMjAxMC0xMi0xNSAxODoyMTozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IEluaXRpYWxpemUgYWxsIGZpZWxkcwoJICBNYWtlcyBzYWQgY29tcGxpZXJzIGhhcHB5CgoyMDEwLTEyLTE1IDE2OjIyOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBjbGVhbnVwIGhlYWRlciBjb25zdHJ1Y3Rpb24KCSAgVXNlIGEgc2ltcGxlciB3YXkgb2YgY29uc3RydWN0aW5nIHRoZSBoZWFkZXIgdGhhdCBkb2Vzbid0IGRlcGVuZCBvbgoJICB0aGUgZW5kaWFubmVzcy4KCjIwMTAtMTItMTUgMTM6MzA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRlcGVuZCBvbiAtYmFzZSBmcm9tIGdpdCBmb3IgbmV3IHJ0cCBiYXNlIGRlcGF5bG9hZGVyIGZlYXR1cmVzCgkgIFRoaXMgaXMgb2sgaW4gdGhpcyBjYXNlLCBzaW5jZSB0aGUgcGxhbiBpcyB0byByZWxlYXNlIGNvcmUvYmFzZSBhZ2FpbgoJICBhbG9uZyB3aXRoIGdvb2QvdWdseS9iYWQgaW4gdGhlIG5leHQgY3ljbGUuCgoyMDEwLTEyLTE1IDE0OjU1OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIwNzQyYWUgdG8gMTY5NDYyYQoKMjAxMC0xMi0xNSAxMzoxMjowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBqMmtkZXBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxMC0xMi0xNCAxODoxMjo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZml4IGF2ZXJhZ2UgUlRDUCBwYWNrZXQgc2l6ZSBzb21lIG1vcmUuCgkgIEZpeCBzdHVwaWQgZXJyb3IgaW4gYXZlcmFnaW5nIG1hY3JvLgoJICBJbmNsdWRlIHVkcCBoZWFkZXJzIGluIHBhY2tldCBsZW5ndGggZXN0aW1hdGlvbi4KCjIwMTAtMTItMTQgMTc6MTU6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cGJpbjogY29ycmVjdGx5IGNhbGN1bGF0ZSBSVENQIHBhY2tldCBzaXplCgoyMDEwLTEyLTE0IDE1OjI3OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBzdG9wIHNjYW5uaW5nIHdoZW4gd2UgcmVhY2hlZCB0aGUgZW5kCgkgIFN0b3Agc2Nhbm5pbmcgZm9yIG1hcmtlcnMgd2hlbiB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGRhdGEuCgoyMDEwLTEyLTEzIDE2OjIzOjI0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAxMWJjYzggdG8gMjA3NDJhZQoKMjAxMC0xMi0xMyAxMjo1NjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIGxlYWtpbmcgc2luayBldmVudHMKCSAgQXZvaWQgbGVha2luZyB0aGUgbmV3c2VnbWVudCBldmVudCB3aGVuIGl0IGhhcyB0aGUgd3JvbmcgZm9ybWF0LgoKMjAxMC0xMi0xMiAxNDo1MzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBtcDR2cGF5OiB3ZSBjYW4gYWxzbyBhY2NlcHQgeHZpZCBjYXBzCgoyMDEwLTEyLTEyIDAxOjM5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEF2b2lkIGluZmluaXRlIGxvb3AgZHJhaW5pbmcgZnJhbWVzCgkgIFdoZW4gdGhlIHBpcGVsaW5lIGlzIGZsdXNoZWQganVzdCBhcyB3ZSdyZSBkcmFpbmluZyBoaXN0b3J5LAoJICBkb24ndCBsb29wIGluZmluaXRlbHksIGp1c3QgZGlzY2FyZCB0aGUgaGlzdG9yeSBhbmQgYWJvcnQuCgoyMDEwLTEyLTExIDE3OjM5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBhZGQgIm1heC1lcnJvcnMiIHByb3BlcnR5IHRvIGlnbm9yZSBkZWNvZGluZyBlcnJvcnMKCSAgQWRkIHByb3BlcnR5IHRvIGlnbm9yZSBkZWNvZGluZyBlcnJvcnMuIERlZmF1bHQgaXMgdG8gaWdub3JlIGEgZmV3CgkgIGRlY29kaW5nIGVycm9ycyBpZiB0aGUgaW5wdXQgaXMgcGFja2V0aXplZCwgYnV0IGVycm9yIG91dCBpbW1lZGlhdGVseQoJICBpZiB0aGUgaW5wdXQgaXMgbm90IHBhY2tldGl6ZWQuCgkgIElnbm9yaW5nIGVycm9ycyBmb3IgcGFja2V0aXplZCBpbnB1dCBtb3N0IGxpa2VseSBkb2Vzbid0IHdvcmsKCSAgcHJvcGVybHkgeWV0LCBzbyBkb24ndCBkbyB0aGF0IGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMwNjMKCjIwMTAtMDUtMjggMTU6Mjc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmcmVlL21hbGxvYyBpbnN0ZWFkIG9mIHJlYWxsb2MsIGF2b2lkcyBtZW1jcHkKCjIwMTAtMTItMTEgMTc6NDk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBpZiB0aGVyZSdzIGFjdHVhbGx5IGEgc2VlayB0YWJsZSBiZWZvcmUgcGFyc2luZyBpdAoKMjAxMC0xMi0xMSAxNzo0NjoxNyArMDEwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEltcGxlbWVudCBDT05WRVJUIGFuZCBGT1JNQVRTIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNjM2Nzg0LgoKMjAxMC0wNy0wMSAwMDoyMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHB1dCB1bnJlY29nbmlzZWQgUklGRiBmb3JtYXQgSURzIGludG8gdGhlIHVua25vd24gY2FwcwoJICBFeHRyYSBpbmZvIGNhbid0IGh1cnQuIEZpZWxkIG5hbWVzIGFyZW4ndCBuZWNlc3NhcmlseSBjb25zaXN0ZW50IHdpdGgKCSAgd2hhdCdzIHVzZWQgZWxzZXdoZXJlIHRob3VnaCAoZS5nLiBhdmlkZW11eCksIGJ1dCB0aGVuIG5laXRoZXIgYXJlIHRoZQoJICBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTc4CgoyMDEwLTEwLTI5IDIyOjUwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgIHB1bHNlbWl4ZXI6IEltcGxlbWVudCBNSVhFUl9GTEFHX0FVVE9fTk9USUZJQ0FUSU9OUwoJICBBZGQgdGhlIG1peGVyIGZsYWcgYW5kIHNlbmQgbm90aWZpY2F0aW9ucyB3aGVuIGVpdGhlciB0aGUgdm9sdW1lIG9yIG11dGVkCgkgIHN0YXR1cyBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4Mzg5CgoyMDEwLTAyLTA4IDIxOjQxOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBESVNDT05UIHdoZW4gcmVzdW1pbmcgUExBWQoJICBJbiBwYXJ0aWN1bGFyLCB3aGVuIHN0cmVhbWluZyBpbnRlcmxlYXZlZCwgdGhpcyBhcnJhbmdlcyBmb3Igc2V0dGluZyBhIG5ldwoJICB0aW1lc3RhbXAgb24gb3V0Z29pbmcgYnVmZmVyIHNvIGRvd25zdHJlYW0gY2FuIGFwcHJvcHJpYXRlIHJlc2V0CgkgIHRvIGEgY2hhbmdlIGluIChydHApdGltZS4KCjIwMTAtMTItMDIgMTY6MDg6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGRlZ3JhZGUgZ3JhY2VmdWxseSB1cG9uIGZhaWxpbmcgc2VlayBhbmQgdHdlYWsgUVVFUllfU0VFS0lORyByZXNwb25zZQoKMjAxMC0xMC0yNSAxMTo1MTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBhbmQgdXNlIGF1dG8gYnVmZmVyaW5nIG1vZGUKCSAgLi4uIHdoaWNoIHNlbGVjdHMgQlVGRkVSIGZvciBhIG5vbi1saXZlIHN0cmVhbSwgYW5kIG90aGVyd2lzZSBTTEFWRS4KCSAgRml4ZXMgIzYzMzA4OC4KCjIwMTAtMTItMDYgMTI6MTY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuaDoKCSAgajJrZGVwYXk6IG1ha2UgdGhlIGRlcGF5bG9hZGVyIG1vcmUgcmVzaWxpZW50CgkgIFVzZSAzIGFkYXB0ZXJzLCBvbmUgdG8gYWNjdW11bGF0ZSBwYWtldGl6YXRpb24gdW5pdHMsIGFub3RoZXIgb24gdG8gYWNjdW11bGF0ZQoJICB0aWxlcyBhbmQgYSBsYXN0IG9uZSB0byBhY2N1bXVsYXRlIHRoZSBmaW5hbCBmcmFtZS4KCSAgRG9uJ3QganVzdCBibGluZGx5IGZsdXNoIHRoZSBhZGFwdGVyIG9uIERJU0NPTlQgYnV0IG9ubHkgZGlzY2FyZCB0aGUgY3VycmVudAoJICBwYWNrZXRpemF0aW9uIHVuaXQuCgkgIFdoZW4gd2UgZHJvcHBlZCBqcGVnMjAwMCBwYWNrZXRzIGJldHdlZW4gU09QIG1hcmtlcnMsIGFkanVzdCB0aGUgU09UIGhlYWRlciB3aXRoCgkgIHRoZSBuZXcgbGVuZ2h0LgoKMjAxMC0xMi0wOSAxMzo0OTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoKMjAxMC0xMi0wOCAxMTozNTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBoYW5kbGluZyBuZWFyIGVuZC1vZi1maWxlIGNvcm5lciBjYXNlcwoJICBBbHNvLCByZWxheCBzb21lIGVycm9yIGhhbmRsaW5nIHRvIG5vdCBiYWlsIG91dCBjb21wbGV0ZWx5IHdoZW4gc29tZXRoaW5nCgkgIGZlZWxzIGFtaXNzLCBidXQgY29uc2lkZXIgdGhpcyBFT0YgYW5kIGNvbnRpbnVlIHdpdGggd2FzIG9idGFpbmVkIHNvIGZhci4KCjIwMTAtMTItMDcgMTc6MTk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGZpeCBvZmZzZXQgaGFuZGxpbmcgYW5kIHJlbGF4IGVycm9yIHJhaXNpbmcKCSAgSW4gcGFydGljdWxhciwgYWNjZXB0IHVua25vd24gc3RyZWFtIGluIHRyYWNrIGZyYWdtZW50LCBhbmQgb25seSBlcnJvciBvdXQKCSAgaWYgdGhhdCByYWlzZXMgcHJvYmxlbXMgbGF0ZXIgb24gd2l0aCByZXNwZWN0IHRvIG9mZnNldCB0cmFja2luZy4KCSAgRml4ZXMgIzYyMDI4My4KCjIwMTAtMTItMDcgMTU6Mzk6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbGFtZS5jOgoJICBjaGVjazogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgbWV0aG9kCgoyMDEwLTEyLTA3IDEzOjExOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHVzZSBhYWMgY29kZWMtZGF0YSB0byBhZGp1c3Qgc2FtcGxlcmF0ZSBpZiBuZWVkZWQKCSAgQmFzZWQgb24gcGF0Y2ggYnkgRmFiaWVuIExlYmFpbGxpZi1EZWxhbWFyZSA8ZmFiaWVuQGFycS1tZWRpYS5jb20+CgkgIEZpeGVzICM2MzY2MjEuCgoyMDEwLTEyLTA3IDExOjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVuY29yayBpbiBfc3RhcnQKCSAgRG9uJ3QgdW5jb3JrIGluIHRoZSBfc3RhcnQgbWV0aG9kIGp1c3QgeWV0IGJ1dCB3YWl0IHVudGlsIHdlIGhhdmUgd3JpdHRlbiBzb21lCgkgIHNhbXBsZXMgdG8gcHVsc2VhdWRpby4gVGhpcyBhdm9pZCB1bmRlcnJ1bnMgb24gcHVsc2VhdWRpbyBhbmQgbGVzcyBjcmFja2xpbmcKCSAgbm9pc2VzIHdoZW4gc3RhcnRpbmcuCgoyMDEwLTEyLTA3IDExOjQ3OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMC0xMi0wNyAxMTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1bmNvcmsgaW4gX3N0YXJ0CgkgIERvbid0IHVuY29yayBpbiB0aGUgX3N0YXJ0IG1ldGhvZCBqdXN0IHlldCBidXQgd2FpdCB1bnRpbCB3ZSBoYXZlIHdyaXR0ZW4gc29tZQoJICBzYW1wbGVzIHRvIHB1bHNlYXVkaW8uIFRoaXMgYXZvaWQgdW5kZXJydW5zIG9uIHB1bHNlYXVkaW8gYW5kIGxlc3MgY3JhY2tsaW5nCgkgIG5vaXNlcyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0xMi0wNyAxMTo0MjoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIF9vYmplY3RfcmVmX3NpbmsoKSB3aGVuIHdlIGNhbgoKMjAxMC0xMi0wNyAxMTo0MDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgYWJ1c2UgdGhlIGNsYXNzIGxvY2sKCSAgVXNlIGEgbmV3IHN0YXRpYyBsb2NrIHRvIHByb3RlY3QgdGhlIHByb2JlZCBkZXZpY2UgbGlzdCBpbnN0ZWFkIG9mIHRoZSBvYmplY3QKCSAgY2xhc3MgbG9jay4KCjIwMTAtMTItMDYgMTk6NTk6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYLgoKMjAxMC0xMi0wNiAxODoxNzoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBkZWJ1ZyB0byBub3RpZnkgd2hlbiBza2lwcGluZyB0byBqcGVnIGhlYWRlcgoKMjAxMC0xMi0wNiAxODoxNjoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRpc2NhcmQgaW5jb21wbGV0ZSBpbWFnZQoJICAuLi4gYXMgZGV0ZXJtaW5lZCB3aGVuIGZpbmRpbmcgU09JIG5leHQgaW1hZ2UgYmVmb3JlIGFuIEVPSS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgRGF2aWQgSG95dCA8ZGF2aWQuaG95dEBsbG5sLmdvdj4KCSAgRml4ZXMgIzYzNTczNC4KCjIwMTAtMTItMDYgMTc6NDU6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gcmVzeW5jaW5nCgkgIEZpeGVzICM2MzU3MzQgKHBhcnRseSkuCgoyMDEwLTEyLTA2IDE3OjI4OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMC0xMi0wNiAxNzoyNzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSogY29uZmlndXJlLmFjOgoJICBtb3JlIDAuMTAgLT4gMC4xMSBjaGFuZ2VzCgoyMDEwLTEyLTA2IDE1OjIxOjUzICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogcGFzcyBhbG9uZyBlb3MgaWYgcmVjZWl2ZWQgYmVmb3JlIGJ1ZmZlciBhcnJpdmVzCgkgIEZpeGVzICM2MzYxNzIuCgoyMDEwLTEwLTIwIDExOjA1OjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB0cnkgdG8gd3JpdGUgdGltZXN0YW1wcyBpbiBhbGwgdGhlIG91dGdvaW5nIGJ1ZmZlcnMKCSAgRml4ZXMgIzYzMjY1NC4KCjIwMTAtMTItMDYgMTI6MjE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3RhcnQgMC4xMSBicmFuY2gKCjIwMTAtMTItMDYgMTI6MTc6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgcHJvZ3Jlc3NyZXBvcnQ6IG9wdGlvbmFsbHkgZGV0ZXJtaW5lIHByb2dyZXNzIHVzaW5nIGJ1ZmZlciBtZXRhZGF0YQoJICBCYXNlZCBvbiBwYXRjaCBieSBMZW8gU2luZ2VyIDxsc2luZ2VyIGF0IGNhbHRlY2guZWR1PgoJICBGaXhlcyAjNjI5NDE4LgoKMjAxMC0xMi0wNSAxNDozOToxOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgY2hlY2s6IEZpeHVwIHRoZSBzaHV0dGluZyBkb3duIG9yZGVyCgkgIEZpcnN0IGJyaW5nIGRvd24gZXZlcnl0aGluZyB0byBOVUxMIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVubGluawoJICBvciB1bnJlZiBhbnl0aGluZy4KCSAgQXZvaWRzIHRoZSB0ZXN0cyBqdXN0IGhhbmdpbmcgdGhlcmUgZm9yIGV2ZXIgd2FpdGluZyB0byBhY3F1aXJlIGEKCSAgbG9jayB0aGF0IGRvZXNuJ3QgZXhpc3QgYW55bW9yZS4KCjIwMTAtMTEtMDQgMTk6MzE6NDUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IHNldCB0b3AgZmllbGQgZmlyc3QgZm9yIGludGVybGFjZWQgYnVmZmVycyBpZiB2NGwyIGV4cG9ydHMgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDM5MwoKMjAxMC0xMS0wNCAxODozNjowOSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBjaGVjayBmaWVsZCBpbmZvcm1hdGlvbiBhbmQgc2V0IGludGVybGFjZWQgY2FwcyBhY2NvcmRpbmdseQoJICBSZWplY3QgdGhlIGZvcm1hdCBpZiB0aGUgZmllbGQgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MzkxCgoyMDEwLTEyLTAzIDE3OjQyOjE0ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hcGV0YWcubWs6CgkqIGFuZHJvaWQvYXZpLm1rOgoJKiBhbmRyb2lkL2Zsdi5tazoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtZW51bXR5cGVzLmg6CgkqIGFuZHJvaWQvZ3N0L3VkcC9nc3R1ZHAtbWFyc2hhbC5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuaDoKCSogYW5kcm9pZC9pY3lkZW11eC5tazoKCSogYW5kcm9pZC9pZDNkZW11eC5tazoKCSogYW5kcm9pZC9xdGRlbXV4Lm1rOgoJKiBhbmRyb2lkL3J0cC5tazoKCSogYW5kcm9pZC9ydHBtYW5hZ2VyLm1rOgoJKiBhbmRyb2lkL3J0c3AubWs6CgkqIGFuZHJvaWQvc291cC5tazoKCSogYW5kcm9pZC91ZHAubWs6CgkqIGFuZHJvaWQvd2F2ZW5jLm1rOgoJKiBhbmRyb2lkL3dhdnBhcnNlLm1rOgoJICBBZGQgYnVpbGQgc3lzdGVtIGZvciBBbmRyb2lkCgoyMDEwLTAzLTI2IDEzOjUxOjU4ICswMTAwICBHdWlsbGF1bWUgRW1vbnQgPGdlbW9udEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiBhZGQgYmFzaWMgc3VwcG9ydCB0byBjaGFuZ2UgcGxheWJhY2sgcmF0ZQoJICBUaGUgZm9sbG93aW5nIGtleXMgd2lsbCBub3cgYmUgaW50ZXJwcmV0ZWQgYnkgbmF2c2VlazoKCSAgJ2YnIG1lYW5zIGZhc3QgZm9yd2FyZDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIDIuMAoJICAncicgbWVhbnMgcmV3aW5kOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgLTIuMAoJICAnbicgbWVhbnMgbm9ybWFsOiB0aGUgc3RyZWFtIGdldHMgcGxheWVkIGF0IHJhdGUgMS4wCgkgIEZpeGVzICM2MzE1MTYuCgoyMDEwLTEyLTAxIDEzOjEyOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIGUoYSljLTMgYXVkaW8KCjIwMTAtMTEtMTkgMTI6NDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzZW5kaW5nIEVPUyBldmVudCB0d2ljZQoKMjAxMC0xMS0xOSAxMjo0NDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUgdHJ5aW5nIHRvIHVwZGF0ZSBzdHJlYW0gZHVyYXRpb24KCSAgT24gdGhlIG9uZSBoYW5kLCBpdCBpbnN1ZmZpY2llbnRseSBjaGVja3Mgd2hldGhlciBpdCBvbmx5IHVwZGF0ZXMgYSBkdW1teQoJICBzZWdtZW50LiAgT24gdGhlIG90aGVyIGhhbmQsIG9ubHkgZG9pbmcgdGhpcyBhdCB0aGUgdGltZSB0aGUgbGFzdCBzYW1wbGVkIGlzCgkgIHByZXBhcmVkIChhbmQgc2VudCBkb3duc3RyZWFtKSBpcyB0b28gbGl0dGxlIHRvbyBsYXRlLgoKMjAxMC0xMS0wOSAxMDo1ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIGlzbXYgc2FtcGxlIGZsYWdzCgoyMDEwLTExLTA4IDExOjQxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBoYW5kbGUgaXNtdiBzdGJsIGF0b21zCgkgIC4uLiBvciBsYWNrIG9mIHNvbWUgdGhlcmVvZiwgc3VjaCBhcyBtYW5kYXRvcnkgc3Rzei4gIFNodWZmbGUgc29tZSBjb2RlCgkgIGluIF9zdGJsX2luaXQgdG8gZGV0ZWN0IHRoaXMgZWFybHkgZW5vdWdoLgoKMjAxMC0xMS0wOCAxMTozOTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29tcGVuc2F0ZSBmb3IgaXNtdiBvZmZzZXQgaGFuZGxpbmcKCSAgLi4uIG9yIGxhY2sgdGhlcmVvZiwgd2hpY2ggYWNjb3JkaW5nIHRvIHNwZWNzIHdvdWxkIHB1dCBtZWRpYSBkYXRhIGluCgkgIHVubGlrZWx5IHBvc2l0aW9uLgoKMjAxMC0xMS0wNCAxNDowNzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0IGZvciBwdXNoIG1vZGUKCjIwMTAtMTEtMDQgMTA6MTc6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgcHJvcGVyIGFuZCBpbmNyZW1lbnRhbCBtb29mIHBhcnNpbmcKCSAgVGhhdCBpcywgcGFyc2UgZWFjaCBtb29mIGluIG9uZSBwYXNzIChjb25zaWRlcmluZyBhbGwgY29udGFpbmVkIHN0cmVhbXMnCgkgIG1ldGFkYXRhKSwgYW5kIGRvIHNvIGluY3JlbWVudGFsbHkgYXMgbmVlZGVkIGZvciBwbGF5YmFjayByYXRoZXIgdGhhbgoJICBhbiBpbml0aWFsIGNvbXBsZXRlIHNjYW4gb2YgYWxsIG1vb2YgKHRob3VnaCBhbGwgbW9vdiBzYW1wbGUgbWV0YWRhdGEKCSAgaXMgZnVsbHkgcGFyc2VkIGF0IHN0YXJ0dXApLgoKMjAxMC0xMS0wNCAxMDowNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIHN0cmVhbSBmcmVlaW5nCgoyMDEwLTExLTA0IDEwOjA1OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZGVsZWdhdGUgbGluZWFyIHNlYXJjaCBmb3Igc2FtcGxlIHRvIGJpbmFyeSBzZWFyY2ggd2hlbiBwb3NzaWJsZQoJICBBbHNvIGFycmFuZ2UgZm9yIHBhcnNpbmcgYSBzYW1wbGUgcHJpb3IgdG8gdGFraW5nIGEgcmVmZXJlbmNlIHRvIGl0LAoJICB3aGljaCByZXF1aXJlcyBsZXNzIG1lbW9yeSBsYXlvdXQgYXNzdW1wdGlvbnMgZm9yIGNvcnJlY3RuZXNzLgoKMjAxMC0xMS0wMSAxNTo1MjoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIG1vb3Ygc2FtcGxlcyBhbmQgcHJvcGVyIHN0cmVhbSBkdXJhdGlvbgoKMjAxMC0xMS0wMSAxMzo0MDowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29uc2lkZXIgbXZleCBhbmQgaGFuZGxlIGZsYWdzIGFuZCBvZmZzZXQgZmllbGRzCgoyMDEwLTEwLTI4IDE2OjQ5OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBmb3JlZ28gY2hlY2sgZm9yIHNob3J0IHN0cmVhbXMKCSAgLi4uIGFzIHNvbWUgYm9ndXMgZmlsZXMgbWF5IGluZGljYXRlIHN0cmVhbXMgb2YgMCBkdXJhdGlvbiBpbiBtb292LAoJICB3aGlsZSBpbmRpY2F0aW5nIHRoZSBjb21wbGV0ZSBtb3ZpZSBkdXJhdGlvbiBpbiBtdmhkICh0aGUgbGF0dGVyIHNob3VsZAoJICBiZSBpbiBtZWhkKS4KCjIwMTAtMTAtMjggMTY6NDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgY29kZSBjbGVhbnVwcyBhbmQgb3B0aW1pemF0aW9ucyBpbiBhdG9tIHBhcnNpbmcKCSAgQXZvaWQgZXh0cmEgYWxsb2NhdGlvbiBpbiBfcGFyc2VfdHJ1biwgYWRkIG1vcmUgY2hlY2tzIGZvciBwYXJzaW5nIGVycm9ycywKCSAgYWRkIG9yIGFkanVzdCBzb21lIGRlYnVnIHN0YXRlbWVudCwgZml4IGNvbW1lbnRzLCBzcHJpbmtsZSBzb21lIGJyYW5jaAoJICBwcmVkaWN0aW9uLgoKMjAxMC0wOS0xMyAyMzoxOTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlX21vb2Ygc2hvdWxkIHJldHVybiBUUlVFIG9uIHN1Y2Nlc3MKCjIwMTAtMDktMTAgMjI6NDE6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggaXRlcmF0aW9uIGJ1ZwoJICBBdm9pZCBpbmZpbml0ZSBsb29wIHdoZW4gaXRlcmF0aW5nIHRyYWYKCjIwMTAtMDktMTAgMjE6MzI6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWZhY3RvciB0cnVuIHBhcnNpbmcKCSAgVGhlIGFsbG9jYXRpb24gb2YgdGhlIHNhbXBsZXMgY2FuIGJlIHBsYWNlZCBvdXQgb2YgdGhlIGxvb3AuCgkgIE1ha2VzIHRoZSBjb2RlIGNsZWFyZXIuCgkgIEFsc28gYXZvaWQgcmVseWluZyBvbiB0cmFmIGluZm9ybWF0aW9uIGFzIGl0IGlzIHBsYWNlZCBvbiB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlIGFuZCBtaWdodCBub3QgYmUgYWNlc3NpYmxlIG9uIHB1c2ggbW9kZS4KCjIwMTAtMDktMTAgMDA6Mjk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgcGFyc2luZyBvZiB1bnVzZWQgYXRvbQoJICBzZHRwIGF0b20gaXMgcGFyc2VkIGJ1dCBub3QgdXNlZCwgc28gd2UgZG9uJ3QgaGF2ZSB0bwoJICBwYXJzZSBpdC4KCjIwMTAtMTEtMDkgMTE6NDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0d2VhayB3YW0gc3VwcG9ydAoJICAuLi4gd2l0aCBzb21lIGNvbW1lbnQgYW5kIHBvcnRhYmlsaXR5IG1hY3Jvcy4KCjIwMDktMDktMjMgMTg6NDc6NDIgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgd21hICYgdmMtMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDA5OjU2OjA0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcGFyc2UgZm1wNCBzYW1wbGVzIGluZm9ybWF0aW9uCgkgIFRoZSBmcmFnbWVudGVkIG1wNCBmb3JtYXQgc3RvcmVzIHRoZSB0cmFja3MgYW5kIHNhbXBsZXMgaW5mb3JtYXRpb24gaW4gdGhlCgkgICdtb29mJyBib3hlcywgd2hpY2ggYXJlIGFwcGVuZGVkIGJlZm9yZSBlYWNoIGZyYWdtZW50IChmcmFnbWVudC0+J21vb2YnKydtZGF0JykuCgkgIFRoZSAnbWZyYScgYm94IHN0b3JlcyB0aGUgb2Zmc2V0IG9mIGVhY2ggJ21vb2YnIGJveCBhbmQgdGhlaXIgcHJlc2VudGF0aW9uCgkgIHRpbWUuIFRoZSBsb2NhdGlvbiBvZiB0aGlzIGJveCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlICdtZnJvJyBib3gsIHdoaWNoIGlzCgkgIGxvY2F0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgVGhlICdtZnJhJyBib3ggaXMgcGFyc2VkIHRvIGdldCB0aGUgb2Zmc2V0IG9mIGVhY2ggJ21vb2YnIGJveCBhbmQgdGhlaXIKCSAgcHJlc2VudGF0aW9uIHRpbWUuCgkgIEVhY2ggJ21vb2YnIGJveCBjYW4gY29udGFpbiBpbmZvcm1hdGlvbiBmb3Igb25lIG9yIG1vcmUgdHJhY2tzIGluc2lkZQoJICAndGZoZCcgYm94ZXMuIEZvciBlYWNoIHRyYWNrIGluIGEgJ21vb2YnLCB3ZSBoYXZlIGEgJ3RydW4nIGJveCwgd2hpY2gKCSAgY29udGFpbnMgaW5mb3JtYXRpb24gb2YgZWFjaCBzYW1wbGUgKG9mZnNldCBhbmQgZHVyYXRpb24pIHVzZWQgdG8gYnVpbGQKCSAgdGhlIHNhbXBsZXMgdGFibGUuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDE1OjM0OjQ5ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBhZGQgZnJhZ21lbnRlZCBtcDQgZm91cmNjcwoJICBBZGRzIGZvdXJjYydzIGZvciB0ZnJhLCB0ZmhkLCB0cnVuLCBzZHRwLCB0cmV4LCBtZWhkIGFuZAoJICB0aGVpciBkdW1wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDEwOjI0OjU2ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFyc2UgdGhlIHRyYWNrIGlkIGZyb20gdGhlIHRyYWNrIGhlYWRlcgoJICBTaWduZWQtb2ZmLWJ5OiBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDMtMTEgMTQ6MTA6MTIgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbGxvdyBwdWxsaW5nIGF0b21zIHdpdGggdW5rbm93biBzaXplCgkgIFNpZ25lZC1vZmYtYnk6IEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wNy0xNCAyMDoxMzo1NSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogbWFrZSBxdGRlbXV4X2R1bXBfbXZoZCBwYXJzZSB2ZXJzaW9uIDEgY29ycmVjdGx5CgkgIFZlcnNpb25zIDAgYW5kIDEgb2YgbXZoZCBoYXZlIGRpZmZlcmVudCBzaXplcyBvZiBpdHMgdmFsdWVzCgkgICgzMmJpdHMvNjRiaXRzKS4gVGhpcyBwYXRjaCBtYWtlcyBpdCBkdW1wIHRoZW0gY29ycmVjdGx5LgoJICBBbHNvIHVzZSB0aGUgcmlnaHQgbm9kZSBpbiB0aGUgcGFyYW1ldGVyIGFuZCBub3QgdGhlIHJvb3Qgbm9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0xMS0xOSAxMjo0NTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1pbm9yIGNsZWFudXBzIGluIHNldHRpbmcgc3RyZWFtaGVhZGVyIG9uIGNhcHMKCjIwMTAtMTEtMDIgMTc6MDQ6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG5vcm1hbGl6ZSBlbXB0eSBDdWVzIHRvIG5vIEN1ZXMKCSAgLi4uIHRvIHRyaWdnZXIgaW5kZXhsZXNzIHNlZWtpbmcuCgoyMDEwLTEwLTI2IDExOjE1OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCB3b3JrYXJvdW5kIGZvciBidWdneSBsaXN0IHNpemUKCSAgRml4ZXMgdHJ1bmNhdGVkIGV4dHJhLWRhdGEgaW4gaGRybC9zdHJsL3N0cmYgZHVlIHRvIGJ1Z2d5IGNvbnRhaW5pbmcKCSAgbGlzdCBzaXplIG5vdCBhY2NvdW50aW5nIGZvciBwYWRkaW5nIGluIGNvbnRhaW5lZCBjaHVua3MuCgoyMDEwLTEyLTAyIDE2OjExOjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRvIG5vdCBob2xkIGN1c3RvbSBQQURfTE9DSyB3aGVuIHB1c2hpbmcgZG93bnN0cmVhbQoKMjAxMC0xMi0wMiAxNjoxMDoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlc2V0IHNlc3Npb24gbWFuYWdlciBiYXNlIHRpbWUgd2hlbiBmbHVzaGluZwoJICAuLi4gYXMgcnRwYmluIHVzZXMgcnVubmluZyB0aW1lIHRvIGhhbmRsZSBydHBqaXR0ZXJidWZmZXIncyBidWZmZXIgbW9kZSBwYXVzZXMuCgoyMDEwLTEyLTAxIDE2OjUxOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5jbHVkZSByYW5nZSByZXF1ZXN0IGZvciBhbGwgc3RyZWFtcyB3aXRoIG5vbi1hZ2dyZWdhdGUgY29udHJvbAoKMjAxMC0xMC0wNyAxNDo1MDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMTItMDMgMTU6Mzg6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQYXJzZSBtb3JlIHZhcmlhbnRzIG9mIG51bWVyaWNhbCBJRElUIHRhZwoKMjAxMC0wNS0wNyAxNzozMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogVXNlIHByb3BlciBmcmFtZXJhdGUgcmFuZ2UgaW4gY2FwcwoKMjAxMC0xMi0wMyAxNTowNDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IEZpeCBwcmV2aW91c2x5IHVuYnVpbGRhYmxlL3VudGVzdGVkIHdhdmVuYyB0ZXN0CgoyMDEwLTEwLTI0IDE1OjIxOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUmVmYWN0b3IgdGFnIHB1c2hpbmcgbG9naWMKCSAgVGhlIGxvZ2ljIG9mIHdoZW4gdG8gcHVzaCB3YXMgd3JvbmcgYWxzbyAocmVzdWx0aW5nIGluIHNvbWUgdGFncyBuZXZlcgoJICBiZWluZyBwdXNoZWQpLgoKMjAxMC0xMC0yNCAxNToyMDoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFVzZSBwYnV0aWxzIGZvciBjb2RlYyBkZXNjcmlwdGlvbnMKCjIwMTAtMDQtMTMgMTE6Mjk6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIGNoZWNrOiBVc2UgZmFpbF91bmxlc3NfZXF1YWxzX2ludCBpbnN0ZWFkIG9mIGZhaWxfaWYKCSAgTWFrZXMgdGhlIGVycm9yIG1lc3NhZ2UgbW9yZSBpbnRlcmVzdGluZwoKMjAxMC0xMS0zMCAxOToyMjoxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsc28gZXh0cmFjdCBJRElUIHRhZ3MgcHJlc2VudCB0b28gZWFybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjE0MwoKMjAxMC0xMS0zMCAxOToyMToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEFsc28gZW1pdCBEYXRlVGltZSB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjE0MwoKMjAxMC0xMi0wMyAwMDoyMjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRldGVjdCBEVFMgYWR2ZXJ0aXNlZCBhcyBQQ00gY29ycmVjdGx5IGluIHNvbWUgbW9yZSBjYXNlcwoJICBUaGUgRFRTIHR5cGVmaW5kZXIgbWF5IHJldHVybiBhIGxvd2VyIHByb2JhYmlsaXR5IGZvciBmcmFtZXMgdGhhdCBzdGFydAoJICBhdCBub24temVybyBvZmZzZXRzIGFuZCB3aGVyZSB0aGVyZSdzIG5vIHNlY29uZCBmcmFtZSBzeW5jIGluIHRoZSBmaXJzdAoJICBidWZmZXIuIEl0J3MgZmFpcmx5IHVubGlrZWx5IHRoYXQgd2UnbGwgYWNpZGVudGFsbHkgaWRlbnRpZnkgUENNIGRhdGEKCSAgYXMgRFRTLCBzbyB3ZSBkb24ndCBkbyBhZGRpdGlvbmFsIGNoZWNrcyBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2MjM0CgoyMDEwLTExLTA4IDE3OjExOjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG1ha2VmaWxlIGNsZWFudXAKCSAgRml4IGluZGVudGF0aW9uLiBVc2UgJChHU1RfTUFKT1JNSU5PUikgaW5zdGVhZCBvZiBoYXJkY29kZWQgMC4xMC4KCjIwMTAtMTEtMDggMTc6MDI6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3Igd2F2IG11eGluZwoKMjAxMC0xMS0wOCAxNjo1NzoxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOgoJICB0ZXN0czogcmVtb3ZlIG5ld2xpbmVzIGJldHdlZW4gdmFyaWFibGUgZGVjbHMgKG9sZCBnc3QtaW5kZW50IGZhaWx1cmUpCgoyMDEwLTExLTA4IDE0OjQ3OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IHVzZSBwbmdfZXJyb3IoKSBhcyByZWNvbW1lbmRlZCBieSBsaWJwbmcgZG9jcyB0byBzaWduYWwgYW4gZXJyb3IKCSAgV2l0aG91dCB0aGF0IHRoZSBlbGVtZW50IGxvb3BzIGVuZGxlc3NseSBvbiBicm9la24gcG5ncy4gRml4ZXMgIzYzNDMxNAoKMjAxMC0xMS0xNiAxNzo0ODoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIGFuZCB1c2UgY3JlYXRpb24gdGltZSB0YWcgZnJvbSBtdmhkCgkgIEV4cG9zZSBjcmVhdGlvbiB0aW1lIGZyb20gbXZoZCBhcyBhIGRhdGV0aW1lIHRhZwoJICBGaXhlcyAjNjM0OTI4CgoyMDEwLTEwLTI3IDE5OjE1OjIwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEFkZCAnU3RyZWFtVXJsJyBtZXRhZGF0YSBhcyBHU1RfVEFHX0hPTUVQQUdFIHRhZwoKMjAxMC0xMC0yMyAxOTozNDowMCAtMDQwMCAgVG9tIEphbmlzemV3c2tpIDxUb20uSmFuaXN6ZXdza2lAYWxjYXRlbC1sdWNlbnQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggZm9yIG5lbGx5bW9zZXIgY29kZWNpZCBzZXR0aW5nCgkgIEZpeGVzIGJ1ZyAjNjMyODk3LgoKMjAxMC0xMC0yMSAxNjoxNTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgRS1BQzMKCjIwMTAtMTAtMjEgMTY6MTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIERUUwoKMjAxMC0xMC0zMSAxODowODoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3Qgc2VuZCBzZWVrcyBiZWhpbmQgdGhlIGVuZCBvZiBmaWxlIHRvIHRoZSBzZXJ2ZXIKCSAgQWxzbyBpbXByb3ZlIGRlYnVnIG91dHB1dCwgcmUtaW5pdGlhbGl6ZSB0aGUgY29udGVudCBzaXplIGFuZCBsZXQgdGhlCgkgIHNlZWsgaGFuZGxlciBlcnJvciBvdXQgb24gaW52YWxpZCBzZWVrIHNlZ21lbnRzLgoJICBGaXhlcyBidWcgIzYzMjk3Ny4KCjIwMTAtMTItMDIgMTc6NTM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHVzZSBTT1AgbWFya2VycyB0byBzcGxpdCBiaXRzdHJlYW0KCSAgV2hlbiBwYXJzaW5nIHRoZSBiaXRzdHJlYW0sIGxvb2sgZm9yIFNPUCBtYXJrZXJzIGJlY2F1c2Ugd2UgYXJlIGFsbG93ZWQgdG8gc3BsaXQKCSAgcGFja2V0cyBvbiB0aG9zZSBtYXJrZXIgYm91bmRhcmllcy4KCSAgUmV3b3JrIHRoZSBwYXJzaW5nIGNvZGUgYSBsaXR0bGUgc28gdGhhdCB3ZSBjYW4gcGFjayBtdWx0aXBsZSBQYWNrZXRpemF0aW9uCgkgIHVuaXRzIGluIG9uZSBSVFAgcGFja2V0LgoKMjAxMC0xMS0xOCAxMjo0OTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoya3BheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBVc2UgYnVmZmVyIGxpc3RzIGZvciBkb2luZyB6ZXJvY29weSBwYXlsb2FkaW5nLgoJICBBZGQgcHJvcGVydHkgdG8gZGlzYWJsZSBidWZmZXIgbGlzdHMuCgoyMDEwLTExLTE2IDE2OjU0OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IHNtYWxsIGNsZWFudXBzCgkgIEFsbG9jYXRlIGFkYXB0ZXIgb25seSBvbmNlLgoJICBNYWtlIHNvbWUgZ3VpbnQ4ICogY29uc3QuCgoyMDEwLTExLTE2IDE1OjM5OjI0ICswMTAwICBUYW1iZXQgSW5nbyA8dGFtYmV0IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogaW1wbGVtZW50IGZ1bGwgYnl0ZXN0cmVhbSBzY2FuIG1vZGUuCgkgIEltcGxlbWVudCB0aGUgZnVsbCBieXRlc3RyZWFtIHNjYW4gbW9kZS4KCSAgRml4ZXMgIzYzNDkxMAoKMjAxMC0xMS0xNSAxMDo1MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBleGFtcGxlczogaW1wcm92ZSBSVFAgZXhhbXBsZXMKCSAgTWFrZSB0aGUgZXhhbXBsZXMgdXNlIGF1dG92aWRlb3NpbmsgYW5kIGZmbXBlZ2NvbG9yc3BhY2UgZm9yIGJldHRlcgoJICBjb21ww6B0aWJpbGl0eS4KCSAgTWFrZSBzb21lIG1vcmUgdmFyaWFibGVzIGZvciB0aGUgc2luayBhbmQgdGhlIGRlY29kZXJzLgoJICBTZXQgemVyb2xhdGVuY3kgdHVuaW5nIG9uIHgyNjRlbmMgZm9yIGJldHRlciByZWFsdGltZSByZXN1bHRzLgoKMjAxMC0xMS0xMCAxMTowNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBzZWxlY3QgbXVsdGljYXN0IHRyYW5zcG9ydHMgaW4gYSBzbWFydGVyIHdheQoJICBXaGVuIHdlIHNlZSBhIG11bHRpY2FzdCBhZGRyZXNzIGluIHRoZSBTRFAgY29ubmVjdGlvbiwgb25seSB0cnkgdG8gbmVnb3RpYXRlIGEKCSAgbXVsdGljYXN0IHRyYW5zcG9ydCB3aXRoIHRoZSBzZXJ2ZXIuCgkgIEZpeGVzICM2MzQwOTMKCjIwMTAtMTItMDIgMTg6MTQ6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gaW1wbGljaXQgcmVxdWlyZW1lbnQKCSAgaWUuID49IDIuMjAgd2hpbGUgd2UgZGVwZW5kIG9uIGNvcmUvYmFzZSAwLjEwLjMxCgoyMDEwLTEyLTAyIDE4OjEzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjYgPT09CgoyMDEwLTEyLTAxIDIxOjE1OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjYKCjIwMTAtMTEtMzAgMTU6Mjg6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBhbmFseXNlIFJGRiBmaWVsZHMgaW4gY29ycmVjdCBvcmRlcgoJICBDb2RlIHdhcyByZXBlYXRpbmcgdGhlIHNlY29uZCBmaWVsZCwgbm90IHRoZSBmaXJzdC4KCSAgRml4ZXM6ICM2MzYxNzkuCgoyMDEwLTExLTI5IDE1OjMyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHN0YWxlIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBzZXNzaW9uIGRhdGEKCSAgSW4gcGFydGljdWxhciwgaGFuZGxlIFVuYXV0aG9yaXplZCBzZXJ2ZXIgcmVzcG9uc2Ugd2hlbiB0cnlpbmcgdG8gY29udmV5CgkgIGtlZXAtYWxpdmUuCgkgIEZpeGVzICM2MzU1MzIuCgoyMDEwLTExLTI2IDE1OjAwOjI5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggc2VnZmF1bHQgb24gZW1wdHkgcGF5bG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODQzCgoyMDEwLTExLTI1IDE5OjA2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTE4IDAwOjQ1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjUgcHJlLXJlbGVhc2UKCjIwMTAtMTEtMTggMDA6NDQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3RyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMS0xNCAwMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCByZWZlcmVuY2UgbGVhawoKMjAxMC0xMS0xMiAyMzo1OTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGbHVzaCBRb1MgYW5kIGhpc3RvcnkgYmVmb3JlIGFwcGx5aW5nIHNlZ21lbnQKCSAgV2hlbiBoYW5kbGluZyBuZXdzZWdtZW50LCBmbHVzaCBvdXQgdGhlIGJ1ZmZlciBoaXN0b3J5IGluIHRoZQoJICBleGlzdGluZyBzZWdtZW50LCBub3QgdGhlIG5ldyBvbmUuIEZpeGVzIHBsYXliYWNrIGluIHNvbWUgRFZECgkgIGNhc2VzLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzYzMzI5NAoKMjAxMC0xMS0xMiAxMjoyMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGltcHJvdmUgZXZlbnQgbG9nZ2luZwoKMjAxMC0xMS0wNSAxNzowMDoxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IGZpZWxkIGhpc3RvcnkgZmx1c2hpbmcKCSAgSW4gYSBudW1iZXIgb2YgY2FzZXMgaXQgaXMgbmVjZXNzYXJ5IHRvIGZsdXNoIHRoZSBmaWVsZCBoaXN0b3J5IGJ5CgkgIHBlcmZvcm1pbmcgJ2RlZ3JhZGVkJyBkZWludGVybGFjaW5nIC0gdGhhdCBpcywgdXNpbmcgdGhlIHVzZXItY2hvc2VuCgkgIG1ldGhvZCBmb3IgYXMgbWFueSBmaWVsZHMgYXMgcG9zc2libGUsIHRoZW4gdXNpbmcgdmZpciBmb3IgYXMgbG9uZyBhcwoJICB0aGVyZSBhcmUgPj0gMiBmaWVsZHMgcmVtYWluaW5nIGluIHRoZSBoaXN0b3J5LCB0aGVuIHVzaW5nIGxpbmVhciBmb3IKCSAgdGhlIGxhc3QgZmllbGQuCgkgIFRoaXMgc2hvdWxkIGF2b2lkIGxvc2luZyBmaWVsZHMgYmVpbmcga2VwdCBmb3IgaGlzdG9yeSBmb3IgZXhhbXBsZSBhdAoJICBFT1MuCgkgIFRoaXMgbWF5IGFkZHJlc3MgcGFydCBvZiAjNjMzMjk0CgoyMDEwLTExLTA1IDE1OjQ0OjM1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlZmFjdG9yIGNoYWluIGZ1bmN0aW9uCgkgIFRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gb3V0cHV0IGEgZnJhbWUgZnJvbSBvdXRzaWRlIHRoZSBjaGFpbgoJICBmdW5jdGlvbiwgaS5lLiBpbiB0aGUgZm9sbG93aW5nIGNvbW1pdCB0aGF0IGFkZHMgZmx1c2hpbmcgb2YgdGhlIGZpZWxkCgkgIGhpc3RvcnkuCgoyMDEwLTExLTA1IDE3OjE3OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB3ZSBzdGlsbCByZXF1aXJlIEd0aysgPj0gMi4xNC4wIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgMi4wCgkgIFRoZSBjaGVjayBmb3IgdGhlIG1pbm9yIHZlcnNpb24gd2FzIGRyb3BwZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMTAtMTEtMDUgMTY6MjQ6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCAtLXdpdGgtZ3RrIG9wdGlvbiBhbmQgZGVmYXVsdCB0byBHdGsrIDIuMCB3aGlsZSB0aGUgMy4wIEFQSSBpcyBzdGlsbCBpbiBmbHV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQwMTQKCjIwMTAtMTEtMDQgMTY6NDI6MDcgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBmaXggdXNlLWFmdGVyLWZyZWUgb2YgdGFnbGlzdAoJICBCcm9rZW4gYnkgY29tbWl0IDRjMmY1MzMzIChidWcgIzYzMDIwNSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzM5NzAKCjIwMTAtMTEtMDEgMTc6Mjk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjUuNCBwcmUtcmVsZWFzZQoKMjAxMC0xMS0wMSAxNzoyODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vc2wucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0xMS0wMSAxNjowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0xMS0wMSAxNDo1NjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogb25seSBzZXQgZGVsdGEgdW5pdCBvbiBhbGwtbm9uLWtleSB1bml0cwoJICBPbmx5IHNldCB0aGUgZGVsdGEgZmxhZyB3aGVuIGFsbCBvZiB0aGUgdW5pdHMgaW4gdGhlIHBhY2tldCBhcmUgZGVsdGEgdW5pdHMuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlcyAjNjMyOTQ1CgoyMDEwLTEwLTI2IDE1OjQ0OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogUmV0dXJuIG5vdC1uZWdvdGlhdGVkIHdoZW4gYnBzIGlzIHVua25vd24KCSAgSWYgY2FwcyB3ZXJlbid0IG5lZ290aWF0ZWQsIGdvb20gc2hvdWxkIHJldHVybiBub3QtbmVnb3RpYXRlZAoJICBmcm9tIGl0cyBjaGFpbiBmdW5jdGlvbnMgaW5zdGVhZCBvZiB1c2luZyBicHMgdW5pdGlhbGl6ZWQsIHdoaWNoCgkgIGxlYWRzIHRvIGEgZGl2aXNpb24gYnkgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzMjEyCgoyMDEwLTEwLTI3IDEzOjE2OjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYmQ3MDggdG8gMDExYmNjOAoKMjAxMC0xMC0yNiAxNjo1NDoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEZvcndhcmQgc3JjIHBhZCBldmVudHMgdXBzdHJlYW0uCgkgIEZpeCBwYXNzaW5nIG5hdmlnYXRpb24gYW5kIG90aGVyIGV2ZW50cyB1cHN0cmVhbSBieSBhY3R1YWxseSBzZW5kaW5nIHRoZW0uCgkgIEZpeGVzOiAjNjMzMjA1CgoyMDEwLTEwLTI0IDE4OjUwOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYWRsb2NrIGluIGVycm9yIGNvZGUgcGF0aAoJICBHU1RfRUxFTUVOVF9FUlJPUiBtdXN0IG5vdCBiZSBjYWxsZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2sgaGVsZCwKCSAgc2luY2UgaXQgd2lsbCBjYWxsIGdzdF9vYmplY3RfZ2V0X3BhcmVudCgpIGludGVybmFsbHksIHdoaWNoCgkgIHRha2VzIHRoZSBvYmplY3QgbG9jayBhcyB3ZWxsLgoKMjAxMC0xMC0yMCAxMDoyMTo0OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdXNlbGVzcyBjbGVhcmluZyBvZiBzZW5kX3hpcGhfaGVhZGVycyBmb3IgRGlyYWMKCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSB3aGVuIGNvcHktcGFzdGluZyB0aGUgVGhlb3JhIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI2ODIKCjIwMTAtMTAtMjAgMTM6Mjg6MjggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgY3Jhc2ggaWYgdm9yYmlzL3RoZW9yYSBjb2RlYyBkYXRhIGlzIG1pc3NpbmcKCSAgRXJyb3Igb3V0IHByb3Blcmx5IGluIHRoaXMgY2FzZSBpbnN0ZWFkIG9mIGNyYXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNjgyCgoyMDEwLTEwLTIyIDE4OjExOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjMgcHJlLXJlbGVhc2UKCjIwMTAtMTAtMTkgMTY6NDU6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZHVyYXRpb24gcmVwb3J0aW5nCgkgIEluaXQgc2VnbWVudCBwcmlvciB0byBzdG9yaW5nIGR1cmF0aW9uIGluZm8gaW4gaXQuCgkgIEZpeGVzICM2MzI1NDguCgoyMDEwLTEwLTE5IDE0OjIxOjUzICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgZ2NvbmY6IERvbid0IGluc3RhbGwgc2NoZW1hcyB3aGVuIEdDb25mIGlzIGRpc2FibGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI1NTMKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxMzo0NDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiByZW1vdmUgREVCVUdfRlVOQ1BUUiBmcm9tIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMTAtMTkgMTI6MjA6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgdmFyaW91czogY2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzCgoyMDEwLTEwLTE5IDEwOjA2OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTE2IDE1OjQzOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogc2V0IEdTVF9QQUNLQUdFX1JFTEVBU0VfREFURVRJTUUgYWxzbyBpbiB3aW4zMiBjb25maWcuaAoKMjAxMC0xMC0xNiAwMTozMzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS4yIHByZS1yZWxlYXNlCgoyMDEwLTEwLTE2IDAxOjI2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2VsLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTAtMTUgMTM6MjI6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBkaXN0IGdlbmVyYXRlZCBvcmMgZmlsZXMKCjIwMTAtMTAtMTUgMTQ6MDI6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgVXBkYXRlIGdlbmVyYXRlZCBvcmMgY29kZQoKMjAxMC0xMC0xNSAxODowMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBPcmMgcmVxdWlyZW1lbnQgdG8gMC40LjExCgoyMDEwLTEwLTE0IDE3OjQxOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBVc2UgdGhlIHJpZ2h0IGNvbnN0YW50IHRvIGRlZmluZSB0aGUgInVzZS1waXBlbGluZS1jbG9jayIgcHJvcGVydHkKCSAgVGhlIHdyb25nICNkZWZpbmUgd2FzIGJlaW5nIHVzZWQsIG5vdyB1c2UgdGhlIGNvcnJlY3Qgb25lLgoKMjAxMC0xMC0xNCAxMjozMTo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhNjY4YmYgdG8gN2JiZDcwOAoKMjAxMC0xMC0xNCAxNzoyNjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBhYzM6IGRlbXV4ZXJzIHByb3ZpZGUgZnJhbWVkIG91dHB1dAoKMjAxMC0xMC0xNCAwMDoxMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogcmVkdWNlIG5ld3NlZ21lbnQgZXZlbnQgc3BhbSBhbmQgc2V0IGRpc2NvbnQgZmxhZyB3aGVyZSBuZWVkZWQKCSAgT25seSBzZW5kIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggbmV3IHBvc2l0aW9ucyBkb3duc3RyZWFtIHdoZW4gYWN0dWFsbHkKCSAgbmVlZGVkLCBpbnN0ZWFkIG9mIHNlbmRpbmcgbXVsdGlwbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBuZXcgc2VlawoJICBwb3NpdGlvbnMgaW4gYSByb3cuIEFsc28gc2V0IHRoZSBkaXNjb250IGZsYWcgb24gYnVmZmVycyBhZnRlciBhCgkgIGRpc2NvbnRpbnVpdHkuCgoyMDEwLTEwLTEzIDIzOjQ2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiBzZXQgY29ycmVjdCBidWZmZXIgb2Zmc2V0cyBhZnRlciBzZWVrcwoJICBSZS11c2UgdGhlIGV4aXN0aW5nICdwb3MnIGZpZWxkIG1haW50YWluZWQgYnkgZWJtbCB3cml0ZXIgdG8gc2V0CgkgIGJ1ZmZlciBvZmZzZXRzLiBUaGlzIGFsc28gbWFrZXMgc3VyZSB0aGF0IHdlIHNldCB0aGUgcmlnaHQgb2Zmc2V0cwoJICBvbiBidWZmZXJzIGFmdGVyIGEgc2VlayAoZS5nLiB3aGVuIHdyaXRpbmcgYW4gaW5kZXggYXQgdGhlIGVuZCkuCgoyMDEwLTEwLTE0IDAwOjIyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGZvcndhcmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtCgkgIERvbid0IGZvcndhcmQgc3RyZWFtLXNwZWNpZmljIHRhZyBldmVudHMgZG93bnN0cmVhbSAoZXNwLiBub3QKCSAgYmVmb3JlIGFueSBuZXdzZWdtZW50IGV2ZW50KS54CgoyMDEwLTEwLTEzIDE3OjE1OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogaGFuZGxlIGFub3RoZXIgbXA0diB2YXJpYXRpb24KCSAgLi4uIGluY2x1ZGluZyB0aGUgZ2xibCBhdG9tIGNvbnRhaW5pbmcgY29kZWMtZGF0YS4KCjIwMTAtMTAtMTMgMTc6MjE6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE3OjEzOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB2YXJpb3VzIChzeXMpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTY6MjU6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE2OjM0OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgIHZhcmlvdXM6IHdyYXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGFuZCBhZGQgYSBzaW5nbGUgZml4bWUgZm9yIGxvbmcgZGVzYy4KCjIwMTAtMTAtMTMgMTE6NDY6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGFsd2F5cyBtYXJrIHRoZSBjb2RlY19kYXRhIGFzIGtleWZyYW1lCgkgIFdlIG5lZWQgdG8gbWFyayB0aGUgY29kZWNfZGF0YSBhcyBhIGtleWZyYW1lIG9yIGVsc2UgZG93bnN0cmVhbSBkZWNvZGVycyBtaWdodAoJICBkZWNpZGUgdG8gc2tpcCBpdCwgd2FpdGluZyBmb3IgYSBrZXlmcmFtZS4KCSAgRml4ZXMgIzYzMTk5NgoKMjAxMC0xMC0xMyAwNzoxNjo0NyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGJ1ZmZlciBvZmZzZXRzIGEgYnl0ZSBjb3VudCByYXRoZXIgdGhhbiBhIGJ1ZmZlciBjb3VudAoKMjAxMC0xMC0wNyAyMToxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGV4dCwgZ3N0OiBjYW5vbmljYWxpc2UgcHJvcGVydHkgbmFtZXMgd2hlcmUgdGhpcyB3YXNuJ3QgdGhlIGNhc2UKCSAgaWUuICJmb29fYmFyIiAtPiAiZm9vLWJhciIKCjIwMTAtMTAtMTIgMTU6MDI6NDIgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IGZpeCB0aW1lc3RhbXBpbmcgb2YgcnRwIGJ1ZmZlcnMKCSAgSW5jb21taW5nIGJ1ZmZlciBpcyBvbmx5IHB1c2hlZCBvbiB0aGUgYWRhcHRlciBhdCB0aGUgZW5kIG9mIHRoZQoJICBoYW5kbGVfYnVmZmVyIGZ1bmN0aW9uLiBCdXQgZHVyYXRpb24vdGltZXN0YW1wIG9mIHRoaXMgYnVmZmVyIGlzIGFscmVhZHkKCSAgdGFrZW4gaW50byBhY2NvdW50IGZvciB0aGUgY3VycmVudCBkYXRhIGluIHRoZSBhZGFwdGVyLiBUaGlzIGxlYWRzIHRvCgkgIHdyb25nIHJ0cCB0aW1lc3RhbXBzIGFuZCBleHRyYSBsYXRlbmN5LgoKMjAxMC0xMC0xMiAxMTozNzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogRml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMTAtMTEgMTU6MTI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgYXMgYSBzb3VyY2UKCSAgTWFyayB0aGUgcnRzcHNyYyBlbGVtZW50IGFzIGEgc291cmNlLgoJICBSZXF1aXJlcyAwLjEwLjMxLjEgbm93CgoyMDEwLTEwLTExIDE0OjI0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogU2V0IEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnIG9uIHNvdXJjZXMKCjIwMTAtMTAtMTEgMTQ6MjE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJICBzd2l0Y2hzcmM6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcKCjIwMTAtMTAtMTEgMTQ6MTc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZSAwLjEwLjMwLjEKCjIwMTAtMTAtMTAgMTQ6NDM6NTggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogc2V0IG9mZnNldHMgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAxMC0xMC0wOSAxNDoxNDoyNyArMDIwMCAgSU9oYW5uZXMgbSB6bcO2bG5pZyA8em1vZWxuaWdAaWVtLmF0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IE9ubHkgZ2V0L3NldCBvdmVybGF5IHBhcmFtcyBpZiBuZWVkZWQKCSAgaXQncyBwZXJmZWN0bHkgb2sgZm9yIGEgdmlkZW8gb3V0cHV0IGRldmljZSB0byBub3QgaGF2ZSBvdmVybGF5IGNhcGFiaWxpdGllcy4KCSAgdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBuZWVkIHRvIGdldC9zZXQgdGhlIG92ZXJsYXkgcGFyYW1ldGVycyBpZiB0aGUgdXNlcgoJICBkb2VzIG5vdCBleHBsaWNpdGVseSByZXF1ZXN0IG9uZSBvZiB0aGUgb3ZlcmxheSBwcm9wZXJ0aWVzCgoyMDEwLTA5LTMwIDE1OjI4OjIzICswMjAwICBJT2hhbm5lcyBtIHptw7ZsbmlnIDx6bW9lbG5pZ0BpZW0uYXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogUHJvdGVjdCBhZ2FpbnN0IE5VTEwtcG9pbnRlciBhY2Nlc3MKCSAgZ3N0X3Y0bDJzaW5rX2NoYW5nZV9zdGF0ZSgpIHdvdWxkIGZyZWUgdGhlIHBvb2wgd2l0aG91dCBjaGVja2luZyB3aGV0aGVyIHRoZXJlCgkgIHdhcyBhIHZhbGlkIHBvb2wuLi4KCjIwMTAtMTAtMDggMTI6NDM6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNGE4YWRjIHRvIDVhNjY4YmYKCjIwMTAtMTAtMDggMTI6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZTNjOWJmIHRvIGM0YThhZGMKCjIwMTAtMTAtMDYgMTE6Mjk6NTUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHJlcXVpcmVkIGZpZWxkcyBsb2dpYwoJICBCb3RoIGhpc3RvcnlfY291bnQgYW5kIGZpZWxkc19yZXF1aXJlZCBjb3VudCBmcm9tIDEuIEFzIHBlciB0aGUgd2hpbGUgbG9vcAoJICBjb25kaXRpb24gdGhhdCBmb2xsb3dzIHRoaXMgY29kZSwgdG8gcGVyZm9ybSB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2QsIHdlIG5lZWQKCSAgaGlzdG9yeV9jb3VudCA+PSBmaWVsZHNfcmVxdWlyZWQgZmllbGRzIGluIHRoZSBoaXN0b3J5LiBUaGVyZWZvcmUgaWYgd2UgaGF2ZQoJICBoaXN0b3J5X2NvdW50IDwgZmllbGRzX3JlcXVpcmVkIChub3QgZmllbGRzX3JlcXVpcmVkICsgMSksIHdlIG5lZWQgbW9yZSBmaWVsZHMuCgoyMDEwLTA5LTIwIDE5OjQzOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IHJlc2VuZCBvbk1ldGFkYSB0YWcgd2hlbiB0YWdzIGNoYW5nZXMgaW4gc3RyZWFtYWJsZSBtb2RlCgoyMDEwLTEwLTA1IDE5OjQwOjUwICswMTAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQUFDIGNvZGVjX2RhdGEgY2FuIGJlID4gMiBieXRlcyBsb25nCgkgIFRoaXMgZml4ZXMgdGhlIGFzc3VtcHRpb24gdGhhdCBEZWNvZGVyU3BlY2lmaWNJbmZvIG11c3QgYmUgMiBieXRlcyBsb25nCgkgIGZvciBBQUMgZmlsZXMuIFRoZSBzcGVjaWZpY2F0aW9uIGFsbG93cyBIRS1BQUMgdG8gYmUgZXhwbGljaXRseQoJICBzaWduYWxsZWQgaW4gYSBiYWNrd2FyZCBjb21wYXRpYmxlIHdheS4gVGhpcyBpcyBkb25lIGJ5IG1lYW5zIG9mIGFuCgkgIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWZ0ZXIgdGhlIHJlZ3VsYXIgQUFDIGhlYWRlci4gSXQgaXMgZXhwZWN0ZWQgdGhhdAoJICBkZWNvZGVycyB0aGF0IGNhbiBwbGF5IEFBQyBidXQgbm90IEhFLUFBQyB3aWxsIHBhcnNlIHRoZSBoZWFkZXIgbm9ybWFsbHkKCSAgYW5kIGlnbm9yZSBleHRlbmRlZCBiaXRzLCBtdWNoIGFzIHRoZXkgZG8gZm9yIHRoZSBIRS1BQUMgc3BlY2lmaWMgcGF5bG9hZAoJICBpbiB0aGUgYWN0dWFsIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjMxMwoKMjAxMC0xMC0wNSAxNjowMToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSB1bnJlZiBidWZmZXIgd2hlbiBubyBsb25nZXIgbmVlZGVkIGZvciBjbHVzdGVyIHNjYW5uaW5nCgkgIEZpeGVzICM2MjkwNDcuCgoyMDEwLTEwLTA1IDE2OjAwOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBpbmZpbml0ZSBjbHVzdGVyIHNjYW5uaW5nCgoyMDEwLTEwLTA1IDEyOjIwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb206IHRha2UgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gZG9pbmcgUW9TCgkgIFRha2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBmcmFtZXMgaW50byBhY2NvdW50IHNvIHRoYXQgd2UgZG9uJ3QgZHJvcCBmcmFtZXMgdGhhdAoJICBhcmUgb25seSBwYXJ0aWFsbHkgcGFzdCB0aGUgUW9TIGRlYWRsaW5lLgoKMjAxMC0xMC0wNSAxMDo0MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTogdXNlIGFkYXB0ZXIgZm9yIHRpbWVzdGFtcGluZwoJICBVc2UgdGhlIGFkYXB0ZXIgdGltZXN0YW1wIGNvZGUgdG8gZ2V0IG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcy4KCSAgRml4IGxhdGVuY3kgY2FsY3VsYXRpb24sIHdlIGFkZCBvdXIgb3duIGxhdGVuY3kgaW4gdGhlIHdvcnN0IGNhc2UuCgoyMDEwLTEwLTA0IDIyOjMxOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJICByYXcxMzk0OiBEb24ndCBjb21waWxlIGhkdjEzOTRzcmMgaWYgbGliaWVjNjE4ODMgaXNuJ3QgYXZhaWxhYmxlCgkgIEZpeGVzICM2Mjk4OTYKCjIwMTAtMDktMjAgMTk6NDQ6MDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZm9yd2FyZCB0YWcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzAyMDUKCjIwMTAtMTAtMDQgMTk6MDA6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IHJlcG9ydCBvdXIgbGF0ZW5jeSBjb3JyZWN0bHkKCSAgRml4ZXMgIzYzMTMwMwoKMjAxMC0xMC0wNCAxODo1NjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogYWRkIGRlZmluZXMgZm9yIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZwcwoJICBBZGQgc29tZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnBzIGluc3RlYWQgb2YgdXNpbmcgZGlmZmVyZW50CgkgIHZhbHVlcyBpbiBkaWZmZXJlbnQgcGxhY2VzLgoKMjAxMC0xMC0wNCAxODo1MjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogYWRkIGxhdGVuY3kgY29tcGVuc2F0aW9uIGNvZGUuCgkgIEltcGxlbWVudCBhIGxhdGVuY3kgcXVlcnkgYW5kIHJlcG9ydCBob3cgbXVjaCBsYXRlbmN5IHdlIHdpbGwgYWRkIHRvIHRoZQoJICBzdHJlYW0uCgkgIEFsc2UgbWFrZSBzb21lIGRlZmF1bHRzIGZvciB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlCgkgIEZpeGVzICM2MzEzMDMKCjIwMTAtMTAtMDQgMTc6NTY6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgdGVzdDogYWRkIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBhdWRpbyBzZW5kZXIKCSAgQWRkIGEgcHl0aG9uIHZlcnNpb24gb2YgdGhlIGF1ZGlvIHNlbmRlciBwaXBlbGluZS4KCSAgUG9ydGVkIGJ5IFNwNHJjIG9uIElSQy4KCjIwMTAtMTAtMDQgMTc6NTI6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkgIHRlc3RzOiBBZGQgcHl0aG9uIFJUUCBjbGllbnQgZXhhbXBsZQoJICBBZGQgYSBweXRob24gdmVyc2lvbiBvZiB0aGUgUENNQSBjbGllbnQgYXBwLgoJICBQb3J0ZWQgYnkgU3A0cmMgb24gSVJDLgoKMjAxMC0xMC0wNCAwOTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgcnRwOiBGaXggdW5pdGlhbGl6ZWQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCBidWlsZCBib3QKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nIHRob3VnaCwgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGluCgkgIHRoZSBjYXNlcyB3aGVyZSB0aGV5ICphcmUqIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0xMC0wMyAyMzo0OTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSAgcnRwZzcyMnBheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBUaGUgY2xvY2sgcmF0ZSBpcyBhbHdheXMgODAwMCBIeiBhY2NvcmRpbmcgdG8gdGhlIFJGQyBhbmQKCSAgdGhlIHNhbXBsaW5nIHJhdGUgbXVzdCBhbHdheXMgYmUgMTYwMDAgSHouCgoyMDEwLTEwLTAxIDEzOjU5OjEwICswNDAwICBWbGFkaW1pciBFcmVtZWV2IDxlcmVtZWV2QGF0bGFudGlzLnJ1PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBhcnRpY2xlIHJlZmVyZW5jZSBpbiBjb21tZW50IGJsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEwODIKCjIwMTAtMDQtMzAgMjE6MDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgcXRkZW11eDogVXNlIHBidXRpbHMgZm9yIEguMjY0IHByb2ZpbGUvbGV2ZWwgZXh0cmFjdGlvbgoJICBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gZXh0cmFjdCB0aGlzIGRhdGEgaGF2ZSBiZWVuIG1vdmVkIHRvIGdzdHBidXRpbHMgdG8KCSAgZmFjaWxpdGF0ZSByZXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNzMxOAoKMjAxMC0wNC0zMCAyMTowMDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIHBidXRpbHMgZm9yIEguMjY0IHByb2ZpbGUvbGV2ZWwgZXh0cmFjdGlvbgoJICBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gZXh0cmFjdCB0aGlzIGRhdGEgaGF2ZSBiZWVuIG1vdmVkIHRvIGdzdHBidXRpbHMgdG8KCSAgZmFjaWxpdGF0ZSByZXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNzMxOAoKMjAxMC0wNC0yMiAxOTozOTo0NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBNUEVHLTQgdmlkZW8gcHJvZmlsZSBhbmQgbGV2ZWwgaW4gc3RyZWFtIGNhcHMKCSAgVGhpcyB1c2VzIGdzdHBidXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgZnJvbSB0aGUgdmlkZW8KCSAgb2JqZWN0IHNlcXVlbmNlIGFuZCBhZGRzIHRoaXMgdG8gc3RyZWFtIGNhcHMuIFRoaXMgY2FuIGJlIHVzZWQgYXMKCSAgbWV0YWRhdGEgYW5kIGZvciBmaW5lLWdyYWluZWQgZGVjb2RlciBzZWxlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY1MjEKCjIwMTAtMDktMzAgMTI6NDQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYWFjIGNoYW5uZWwgb3ZlcnJpZGUgYmFzZWQgb24gY29kZWMgZGF0YSBmb3IgNy4xIGNhc2UKCjIwMTAtMDQtMzAgMTQ6MDY6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IEFBQyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgQUFDIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMgZm9yIHVzZSBhcyBtZXRhZGF0YSBhbmQKCSAgKGV2ZW50dWFsbHkpIGZvciBtb3JlIGZpbmUtZ3JhaW5lZCBzZWxlY3Rpb24gb2YgZGVjb2RlcnMgYXQKCSAgY2Fwcy1uZWdvdGlhdGlvbiB0aW1lLiAoRG9lc24ndCB3b3JrIGZvciBIRS1BQUMgeWV0IHRob3VnaC4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzMTMKCjIwMTAtMDktMzAgMTg6MzQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkgIHJ0cDogYWRkIEc3MjIgcGF5IGFuZCBkZXBheWxvYWRlcgoKMjAxMC0wOS0zMCAxMjowODo0OSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBsaW5rIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMzAgMTE6MzQ6NTYgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgIGV4YW1wbGVzOiBmaXggaW5kZW50YXRpb24gb24gcnRwIGNsaWVudCBleGFtcGxlCgoyMDEwLTA5LTMwIDExOjMzOjI0ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgZXhhbXBsZXM6IGZpeCB0eXBvIGluIHBvcnQgb2YgcnRwIGV4YW1wbGVzCgoyMDEwLTA5LTI5IDEzOjIwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogbWluaXNjdWxlIGNvZGUgY2xlYW4tdXAKCSAgR1NUX0NMT0NLX1RJTUVfTk9ORSBpcyBub3Qgc29tZXRoaW5nIHRoYXQgc2hvdWxkIGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoCgkgIEdTVF9GT1JNQVRfQllURVMuCgoyMDEwLTA5LTI5IDEwOjM0OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJldmVyc2UgcGxheWJhY2s7IHByZXZlbnQgb3ZlcmxhcCBvZiBzdWJzZXF1ZW50IGZyYWdtZW50cwoKMjAxMC0wOS0yOCAxNjoyMTo0OCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1pc3NpbmcgbnVsbC10ZXJtaW5hdG9yIGluIHByb3RvY29scyBhcnJheQoJICBGaXhlcyByYW5kb20gY3Jhc2ggcmVncmVzc2lvbiBmcm9tIGNvbW1pdCBhZTg0YWUuCgoyMDEwLTA5LTI0IDE2OjI2OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBhZGQgL1VEUCBpbiB0aGUgdHJhbnNwb3J0LCBpdCdzIHRoZSBkZWZhdWx0CgkgIGRvbid0IGFkZCB0aGUgZGVmYXVsdCBVRFAgbG93ZXItdHJhbnNwb3J0LCBzb21lIHNlcnZlcnMgZG9uJ3Qgc2VlbSB0byBsaWtlIGl0LgoJICBGaXhlcyAjNjMwNTAwCgoyMDEwLTA2LTI1IDE3OjA4OjAzICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBwYWNrZXQgbG9zdCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4gSXQgaGFwcGVucyBhbGwgdGhlIHRpbWUuLi4KCjIwMTAtMDktMjQgMTU6MzM6NDAgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogTWFrZSBjbGVhbmluZyB1cCBzb3VyY2VzIGluIHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgTVQgc2FmZQoJICBVc2luZyBfZm9yZWFjaF9yZW1vdmUgb24gdGhlIGhhc2h0YWJsZSwgd2hpbGUgcmVsZWFzaW5nIHRoZSBsb2NrIHByb3RlY3RpbmcKCSAgdGhhdCB0YWJsZSBpbnNpZGUgdGhlIGNhbGxiYWNrIGlzIG5vdCBhIGdvb2QgaWRlYS4gVGhlIGhhc2h0YWJsZSBtaWdodAoJICB0aGVuIGNoYW5nZSAoYSBzb3VyY2UgcmVtb3ZlZCBvciBhZGRlZCkgd2hpbGUgc2lnbmFscyBsaWtlIG9uX3RpbWVvdXQKCSAgYXJlIGJlaW5nIHNlbnQuCgkgIFRoaXMgc29sdXRpb24gbWFrZXMgYSBjb3B5IG9mIHRoZSB0YWJsZSwgcGVyZm9ybXMgdGhlIF9mb3JlYWNoIHdpdGhvdXQKCSAgYWN0dWFsbHkgcmVtb3ZpbmcgYW55IHNvdXJjZXMsIGJ1dCBtYXJrcyB0aGVtIGZvciByZW1vdmFsIG9uIGEgc2Vjb25kCgkgIGl0ZXJhdGlvbiB3aXRoIHRoZSByZWFsIGxpc3QsIGJ1dCB0aGlzIHRpbWUgbm90IGxldHRpbmcgZ28gb2YgdGhlIGxvY2suCgkgIEZpeGVzICM2MzA0NTIKCjIwMTAtMDktMjQgMTU6MTk6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogU2FuaXRpemUgaWQzIGZyYW1lIG5hbWVzCgkgIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IGlzIGRvbmUgaW4gcXRkZW11eC4gQXZvaWRzIHByb3ZpZGluZyBpbnZhbGlkCgkgIHN0cnVjdHVyZS90YWdzIG5hbWVzCgoyMDEwLTA5LTI0IDE0OjU5OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogU2tpcCBlbXB0eSB0YWdzCgkgIEF2b2lkIGNyZWF0aW5nIGJvZ3VzIHN0cmluZyB0YWdzLiBBbHNvIGFkZGVkIGxvZ2dpbmcgb2YgdGhlIHN0cmluZwoJICB2YWx1ZXMgb2YgdGhlIHRhZyBuYW1lIGFuZCB2YWx1ZS4KCjIwMTAtMDktMjQgMDg6NTY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDQtMTIgMDk6NDk6MTQgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSGFuZGxlIHJ5c25jIG9mIGl0ZXJhdG9yIHdoZW4gbG9va2luZyBmb3IgZnJlZSBwYWQgbmFtZQoJICBJZiBhIG5ldyBwYWQgd2FzIGFkZGVkIHdoaWxlIGl0ZXJhdGluZyB0aGVuIGEgcGFkIGNvdWxkIGJlCgkgIHJldHVybmVkIHRoYXQgd2FzIGFscmVhZHkgaW4gdXNlLgoJICBGaXhlcyAjNjMwNDUxCgoyMDEwLTA5LTI0IDE0OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggY29tcGlsYXRpb24KCjIwMTAtMDQtMDcgMTU6MzE6NTIgKzAyMDAgIFRyb25kIEFuZGVyc2VuIDx0cm9uZC5hbmRlcnNlbkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBVbmxvY2sgYmVmb3JlIGFkZGluZyBwYWQgaW4gbmV3X3BheWxvYWRfZm91bmQKCSAgSG9sZGluZyBpbnRlcm5hbCBsb2NrcyB3aGlsZSBwb3RlbnRpYWxseSBjYWxsaW5nIG91dCBpcyBhIHNvdXJjZQoJICBvZiBkZWFkbG9ja3MsIGFuZCBpbiB0aGlzIGNhc2UgdGhlIGFwcGxpY2F0aW9uIG1pZ2h0IHN1YnNjcmliZSB0byB0aGUKCSAgcGFkLWFkZGVkIHNpZ25hbC4KCSAgRml4ZXMgIzYzMDQ0OQoKMjAwOS0wOC0zMSAxODozNzo0MCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZWxheCB0aGlyZC1wYXJ0eSBjb2xsaXNpb24gZGV0ZWN0aW9uCgkgIElmIHRoZSBzb3VyY2UgaGFzIGJlZW4gaW5hY3RpdmUgZm9yIHNvbWUgdGltZSwgd2UgYXNzdW1lIHRoYXQgaXQgaGFzCgkgIHNpbXBseSBjaGFuZ2VkIGl0cyB0cmFuc3BvcnQgc291cmNlIGFkZHJlc3MuIEhlbmNlLCB0aGVyZSBpcyBubyB0cnVlCgkgIHRoaXJkLXBhcnR5IGNvbGxpc2lvbiAtIG9ubHkgYSBzaW11bGF0ZWQgb25lLgoJICBGaXhlcyAjNjMwNDQ3CgoyMDEwLTA5LTI0IDEzOjUwOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogd2hpdGVzcGFjZSBmaXhlcwoKMjAxMC0wOS0yNCAxMzo0ODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHNpbXBsaWZ5IHRoZSByYXRlIGVzdGltYXRpb24gc29tZSBtb3JlCgoyMDA5LTA4LTMxIDE4OjM0OjA4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogcHJvdmlkZSBhZGRpdGlvbmFsIHN0YXRpc3RpY3MKCjIwMTAtMDktMjQgMDA6MDE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNldCBwbHVnaW4gcmVsZWFzZSBkYXRldGltZQoKMjAxMC0wOS0yMyAyMToyMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgZXF1YWxpemVyOiBmaXggY2xhc3MgZGVmaW5pdGlvbnMKCSAgQ2xhc3Mgc3RydWN0dXJlcyBtdXN0IGJlIGJhc2VkIG9uIHRoZSBwYXJlbnQgY2xhc3Mgc3RydWN0LCBub3Qgb24KCSAgdGhlIHBhcmVudCBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDEwLTA5LTE1IDIwOjM2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBwcmUtcmVnaXN0ZXIgcGFkIGNsYXNzIHByb3Blcmx5IHdpdGggZ190eXBlX2NsYXNzX3JlZgoJICBGaXggY29kZSB0byBtYXRjaCB0aGUgY29tbWVudC4gQWxzbywgdGhlcmUncyBubyBuZWVkIHRvIHJlZ2lzdGVyIHRoZQoJICBiYWNrZ3JvdW5kIGVudW0gdHlwZSBhZ2FpbiwgdGhpcyBpcyBhbHJlYWR5IGRvbmUgdmlhIGluc3RhbGxfcHJvcGVydHkuCgoyMDEwLTA5LTIzIDIxOjU3OjE4ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEZpeCBjcmFzaGVzIHdpdGggTVNWQwoJICBVc2luZyB0aGUgc3ltYm9scyBmb3IgdGhlIGRpZmZlcmVudCBTcGVleCBtb2RlcyByZXN1bHRzCgkgIGluIGNyYXNoZXMgd2hlbiB1c2luZyBNU1ZDLiBVc2UgdGhlIGxpYnJhcnkgZnVuY3Rpb25zIHRvCgkgIGdldCB0aGUgbW9kZXMgaW5zdGVhZC4KCSAgRml4ZXMgYnVnICM2MzAzNzguCgoyMDEwLTA4LTI0IDEzOjI1OjAyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gb24gc2lsZW5jZQoJICBGaXhlcyBidWcgIzYzMDQ1OC4KCjIwMTAtMDktMjMgMTY6NDY6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBwYXJzZSBhbmQgdXNlIGN0cwoJICBGb3IgSDI2NCwgdGhlcmUgaXMgYW4gZXh0cmEgaGVhZGVyIGNvbnRhaW5pbmcgdGhlIENUUywgd2hpY2ggaXMgYSB0aW1lc3RhbXAKCSAgb2Zmc2V0IHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIFBUUy4gUGFyc2UgdGhpcyB2YWx1ZSBhbmQgdXNlIGl0IHRvIGFkanVzdAoJICB0aGUgcHRzLgoJICBGaXhlcyAjNjMwMDg4CgoyMDEwLTA5LTIzIDE2OjQ1OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogaW1wcm92ZSBwdHMgZGVidWdnaW5nCgoyMDEwLTA5LTIyIDE5OjAxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkgIHB1bHNlOiBhZGQgdGVzdCBhcHAgZm9yIHB1bHNlIGRldmljZSBwcm9iZQoKMjAxMC0wOS0yMiAxODo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBmaXggZGV2aWNlX2Rlc2NyaXB0aW9uIGluIFJFQURZCgkgIE1ha2UgdGhlIGlzX2RlYWQgY2hlY2sgbW9yZSBjbGVhciBhbmQgYWRkIGFuIG9wdGlvbiB0byBjaGVjayBmb3IgdGhlIHN0YXR1cyBvZgoJICB0aGUgc3RyZWFtIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZXh0LgoJICBXZSBkb24ndCBuZWVkIGEgc3RyZWFtIHRvIGdldCB0aGUgZGV2aWNlX2Rlc2NyaXB0aW9uIHN0cmluZy4KCSAgRml4ZXMgIzYzMDMxNwoKMjAxMC0wOS0yMiAxMjo1NjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcG9zdCB0YWdzIGlmIHRoZXJlIGFyZSBub25lCgkgIEFuZCBtYWtlIGFsbCBjb2RlIGdvIHRocm91Z2ggX3Bvc3RfZ2xvYmFsX3RhZ3MuCgoyMDEwLTA5LTIyIDEyOjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiByZWZhY3RvciBhbmQgc2ltcGxpZnkgQVUgbWVyZ2luZwoJICBNb3ZlIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBOQUxVIHRvIGEgc2VwYXJhdGUgbWV0aG9kLgoJICBTaW1wbGlmeSB0aGUgbWVyZ2luZyBvZiBOQUxVIGludG8gQVUgYW5kIHVzZSBjb21tb24gY29kZSB3aGVuIHBvc3NpYmxlLgoKMjAxMC0wOS0yMSAyMzoyMzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogYWRkIG9wdGlvbmFsIGJvcmRlciBwYXJhbWV0ZXIgYW5kIHNsb3dkb3duIGFuaW1hdGlvbgoJICBBbGxvdyB0byBwbGF5IHdpdGggdGhlIGJvcmRlciBwcm9wZXJ0eSAoc2hhcnAvc29mdCBlZGdlcykuCgoyMDEwLTA5LTIxIDE5OjE0OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRm9yY2UgZm9ybWF0IHRvIEFZVVYgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUgZm9yIHRoZSBzYW1lIHJlYXNvbgoKMjAxMC0wOS0yMSAxOToxMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBGb3JjZSB0aGUgaW5wdXQgdG8gQVlVViB0byBwcmV2ZW50IG5lZ290aWF0aW9uIGZhaWx1cmVzIGluIHZpZGVvbWl4ZXIKCSAgVGhlIHNlY29uZCB2aWRlb3Rlc3RzcmMgY2hhaW4gbWlnaHQgcHJvZHVjZSBZVVkyIGJlY2F1c2UgZXZlcnl0aGluZyBpcwoJICBhY2NlcHRlZCBkb3duc3RyZWFtIGJlZm9yZSB0aGUgZmlyc3Qgc2hhcGV3aXBlIGNoYWluIGdldHMgbmVnb3RpYXRlZC4KCjIwMTAtMDktMjEgMTk6MTI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgaW1tZWRpYXRlbHkgcmV0dXJuIGVtcHR5IGNhcHMgZnJvbSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbnMKCjIwMTAtMDktMjEgMTg6MzM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFhMGQxZDAgdG8gNWUzYzliZgoKMjAxMC0wOS0yMSAxMjo0OTozMSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMjogdXNlIHRoZSB4b3ZlcmxheSBBUElzCgoyMDEwLTA5LTIxIDEyOjQ4OjM0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogdXNlIHRoZSBuZXcgeG92ZXJsYXkgQVBJcwoJICBBbHNvIGJ1bXBlZCAtYmFzZSByZXF1aXJlbWVudHMuCgoyMDEwLTA5LTIxIDEyOjMxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGFnYWluIGZvciBHSVQgdmVyc2lvbnMKCjIwMTAtMDktMjEgMTE6NTI6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wOS0yMCAyMzoxNzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIHV1aWQgYXRvbXMgaW4gcHVzaCBtb2RlCgkgIFBhcnNlcyB1dWlkIGF0b21zIGluIHB1c2ggbW9kZSB3aGVuIHRoZXkgYXJlIGZvdW5kLCB0aGV5IG1pZ2h0CgkgIGNvbnRhaW4geG1wIHRhZ3MuCgkgIEFsc28gZG9lcyBhIG1pbm9yIHJlZmFjdG9yaW5nIHRvIHB1dCB0aGUgZ2xvYmFsIHRhZ3MgcG9zdGluZwoJICBpbnRvIGEgc2luZ2xlIGZ1bmN0aW9uIGluc3RlYWQgb2YgcmVwZWF0aW5nIGl0IGluIDMgZGlmZmVyZW50CgkgIHBsYWNlcy4KCSAgRml4ZXMgIzYyOTgzOQoKMjAxMC0wOS0xNiAwODowNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERlbGF5IHRhZ3MgcG9zdGluZyBhIGxpdHRsZQoJICBEZWxheSB0YWdzIHBvc3RpbmcgdW50aWwgd2UndmUgcGFyc2VkIGFsbCB0aGUgaGVhZGVycyBzbwoJICB0aGF0IHRoZSBuYXRpdmUgYW5kIHhtcCB0YWdzIGdldCBtZXJnZWQgYmVmb3JlIHBvc3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTgzOQoKMjAxMC0wOS0xNSAyMjoxMzo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFBhcnNlIHhtcCBwYWNrZXQgaW4gdXVpZCBhdG9tCgkgIHhtcCBwYWNrZXQgaXMgcGxhY2VkIGludG8gYSB0b3AtbGV2ZWwgdXVpZCBhdG9tIGZvcgoJICBpc29tL21wNCB2YXJpYW50cy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHBhcnNlIGFsbCB0b3AtbGV2ZWwgYXRvbXMKCSAgaW4gcHVsbC1tb2RlIGJlZm9yZSBzdGFydGluZyB0byBwdXNoIGRhdGEsIG1ha2luZwoJICBpdCBhYmxlIHRvIGZpbmQgdGhvc2UgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTgzOQoKMjAxMC0wOS0xNyAxMTowNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA5LTE3IDExOjA3OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cHBheTogc29tZSBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA5LTE1IDE4OjIxOjExICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbG9naWMgd2hlbiBwdXNoaW5nIEVPUy4KCSAgRG9uJ3QgY2hlY2sgZm9yIHJldHVybiB2YWx1ZXMgd2hlbiBwdXNoaW5nIEVPUy4gU3RpbGwgcG9zdCBhbiBlcnJvciBpZiBFT1MgaXMKCSAgcmVhY2hlZCBhbmQgbm8gc3RyZWFtcyBoYXZlIGJlZW4gZm91bmQuCgoyMDEwLTA5LTE1IDE3OjAyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGRvY3M6IGFkZCBndGstZG9jIGNodW5rcyB3aXRoIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgdjRsMnNyYyBwcm9wZXJ0aWVzCgoyMDEwLTA5LTE1IDE4OjQzOjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY2FtY3RybDogYWRkIGxpY2Vuc2UgaGVhZGVyIHRvIGRlbW8KCjIwMTAtMDktMTQgMTc6NDE6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHNlbmQgRU9TIHR3aWNlIG9uIHRoZSBzYW1lIHBhZC4KCjIwMTAtMDktMTQgMTA6MDc6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IG1vdmUgdGhlIHNoYXJlZCBtYWlubG9vcCBmcm9tIGNsYXNzIHRvIHN0YXRpYyB2YXIKCSAgSnVzdCBoYXZlIG9uZSBzdGF0aWMgdmFyIGZvciB0aGUgc2hhcmVkIG1haW5sb29wIGluc3RlYWQgb2Ygb25lIGNsYXNzIHZhcmlhYmxlCgkgIGFuZCBjb3BpZXMgaW4gdGhlIGluc3RhbmNlLgoKMjAxMC0wOS0xMyAxNzozMTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBjbGVhbnVwcyBmb3IgRFJJIG1hcmtlcnMKCSAgUHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgRFJJIG1hcmtlcnMuCgkgIGRvIHNvbWUgY2xlYW51cHMKCjIwMTAtMDktMTAgMTE6MzU6NTMgLTA0MDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVnc0B0eWNvc3AuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGdzdHJ0cGpwZWdwYXk6IEFkZGVkIERlZmluZSBSZXN0YXJ0IEludGVydmFsIChEUkkpIE1hcmtlcgoJICBBZGRlZCBhYmlsaXR5IHRvIGRldGVjdCBhbmQgcmVzcG9uZCB0byBhIEpQRUctZGVmaW5lZCBEUkkgbWFya2VyCgoyMDEwLTA2LTE5IDE5OjIwOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IFNwbGl0IGdldHRpbmcgdGhlIGNhcHMgaW50byBpdHMgb3duIGZ1bmN0aW9uCgoyMDEwLTA5LTEzIDE2OjAzOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc21hbGwgY2xlYW51cC4KCjIwMTAtMDktMTMgMTY6MjQ6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJld29yayBjb250ZXh0IHNoYXJpbmcKCSAgV2UgYWxzbyBuZWVkIHRvIHNoYXJlIHRoZSBtYWluLWxvb3AgdGhyZWFkcyBhcyB0aGlzIG93bnMgdGhlIGNvbnRleHQuIFRodXMgaGF2ZQoJICBhIGNsYXNzIHdpZGUgbWFpbi1sb29wIHRocmVhZC4gRnJvbSB0aGlzIHdlIGNyZWF0ZSBhIGNvbnRleHQgcGVyIGNsaWVudC1uYW1lLgoJICBJbnN0ZWFkIG9mIGFsd2F5cyBsb29raW5nIHVwIHRoZSBjb250ZXh0LCB3ZSBrZWVwIHRoaXMgd2l0aCB0aGUgaW5zdGFuY2UuIFRoZQoJICByZXZlcnNlIG1hcHBpbmcgaXMgb25seSBuZWVkZWQgaW4gcHVsc2Ugc2luZ2FsIGhhbmRsZXJzLiBUaGlzIHNhdmVzIGEgbG90IG9mCgkgIGxvY2tpbmcuIEFsc28gb25lIHNpZ25hbCBoYW5kbGVyIGJlY29tZXMgc2ltcGxlciBhcyB0aGVyIGVpcyBvbmx5IG9uZSBtYWlubG9vcAoJICB0byBub3RpZnkuCgkgIE5vdyB2YWxnaW5kIGhhcHB5IC0gbm8gbGVha3MsIG5vIGJhZCByZWFkcy93cml0ZXMuCgkgIFRoaXMgcmV2ZXJ0cyBtYWpvciBwYXJ0cyBvZiBjb21taXQgNjlhMzk3YzMyZjRiYWYwN2E3YjI5MzdjNjEwZjllOGYzODNlOWFlOS4KCSAgRml4ZXMgIzYyODk5NgoKMjAxMC0wOS0xMyAxNTo0NDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc2Vzc2lvbjogU21hbGwgY2xlYW51cHMKCSAgTWFrZSB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb24gcHJldHRpZXIuCgkgIEFjdHVhbGx5IG11bHRpcGxlIHRoZSBiYW5kd2lkdGggd2l0aCB0aGUgZnJhY3Rpb24uCgoyMDEwLTA2LTAxIDIxOjM1OjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBDYWxjdWxhdGUgUlRDUCBiYW5kd2lkdGggYXMgYSBmcmFjdGlvbiBvZiB0aGUgUlRQIGJhbmR3aWR0aAoJICBDYWxjdWxhdGUgdGhlIFJUQ1AgYmFuZHdpZHRoIHRvIGJlIGEgZnJhY3Rpb24gb2YgdGhlIFJUUCBiYW5kd2lkdGggaWYgaXQgaXMKCSAgc3BlY2lmaWVkIGFzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLgoKMjAxMC0wOS0xMyAxNToyOTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaW1wcm92ZSBiYW5kd2lkdGggcmVjYWxjdWxhdGlvbgoJICBBbHNvIHJlY2FsY3VsYXRlIGJhbmR3aWR0aCB3aGVuIG9uZSBvZiB0aGUgc291cmNlIGJhbmR3aWR0aHMgY2hhbmdlZC4KCSAgVXNlIHRoZSBuZXdseSBjYWxjdWxhdGVkIGJhbmR3aWR0aC4KCjIwMTAtMDYtMDEgMjE6MTc6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgdGhlIG9wdGlvbiB0byBhdXRvLWRpc2NvdmVyIHRoZSBSVFAgYmFuZHdpZHRoCgoyMDEwLTA5LTEzIDE0OjM4OjExICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHVzZS1waXBlbGluZS1jbG9jayBvbiBjb3JyZWN0IEdPYmplY3QKCjIwMTAtMDYtMDIgMTc6NTE6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgYXZlcmFnZSBzY2FsZWQgYnkgMTYKCjIwMTAtMDktMTMgMTI6NDE6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBydW5uaW5nX3RpbWUgYXJndW1lbnQgZG9jcwoKMjAxMC0wNi0yMyAxNjoxMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IFJlY3RpZnkgZGVzY3JpcHRpb24gb2YgY3VycmVudF90aW1lIGluIFJUUEFycml2YWxTdGF0cwoJICBJdCBpcyB0aGUgY3VycmVudCB0aW1lLCBpdCBpcyB1bnJlbGF0ZWQgdG8gd2hlbiB0aGUgcGFja2V0IHdhcyBhY3R1YWxseSByZWNlaXZlZC4KCjIwMTAtMDktMTMgMTI6MzE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNvbXB1dGUgdGhlIGF2ZXJhZ2UgY29ycmVjdGx5IHNjYWxlZAoKMjAxMC0wNi0wMSAyMDozMToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBDb3VudCBzZW50IFJUQ1AgcGFja2V0cyBhZnRlciB0aGV5IGhhdmUgYmVlbiBmaW5pc2hlZAoJICBJZiB0aGV5IGFyZSBjb3VudGVkIGJlZm9yZSBjYWxsaW5nIGdzdF9ydGNwX2J1ZmZlcl9lbmQoKSwgdGhlbiB0aGUKCSAgc2l6ZSBpcyB3YXkgdG9vIGJpZy4KCjIwMTAtMDYtMDEgMTk6NTE6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRG9uJ3QgdW5yZWYgIHBhZHMgaW4gZmluYWxpemUKCSAgVGhlIGdzdHJ0cHNlc3Npb24gb2JqZWN0IGlzIG5vdCBob2xkaW5nIGFueSByZWZlcmVuY2UgdG8gdGhlbSBkaXJlY3RseQoKMjAxMC0wOS0xMiAwMDowOTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIG5ldyBzb3VwaHR0cHNyYyBtZXNzYWdlcwoKMjAxMC0wOS0xMiAwMDowODowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBob29rIHVwIGkxOG4gYml0cyBmb3IgcGx1Z2luCgkgIENhbGwgYmluZHRleHRkb21haW4oKSBldGMuCgoyMDEwLTA5LTEyIDAwOjA0OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCBlcnJvciBtZXNzYWdlcwoJICBFcnJvciBtZXNzYWdlcyBzaG91bGQgYmUgdHJhbnNsYXRlZC4gVVJJcyBhbmQgZmlsZW5hbWVzIHNob3VsZCBub3QKCSAgYmUgcGFydCBvZiB0aGUgZXJyb3IgbWVzc2FnZSBzdHJpbmcgdGhhdCdzIHNob3duIHRvIHRoZSB1c2VyLgoJICBzb3VwX21lc3NhZ2UtPnJlYXNvbl9waHJhc2UgaXMgbm90IHRyYW5zbGF0ZWQgYW5kIG5vdCBzdWl0YWJsZSBhcwoJICBlcnJvciBtZXNzYWdlIGZvciB1c2VycyAoc2VlIGxpYnNvdXAgZG9jdW1lbnRhdGlvbikuIEFsc28gZml4IHVwCgkgIGVycm9yIGNvZGVzIGEgYml0LCBhcyBmYXIgYXMgcG9zc2libGUgd2l0aCB0aGUgZXhpc3RpbmcgY29kZXMuCgoyMDEwLTA5LTEwIDA5OjQzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGJ1ZmZlciBhbGxvYyBmYWlscyB3aXRoIE5PVF9MSU5LRUQgZmxvdwoJICBUaGlzIGlzIG5vdCBmYXRhbCwgbGV0IHVwc3RyZWFtIGhhbmRsZSBpdC4KCjIwMTAtMDktMTAgMTg6MDY6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGNsZWFyIHNkcCB3aGVuIHNldCBhcyB1cmkKCSAgd2hlbiB3ZSBzZXQgdGhlIFNEUCB3aXRoIGFuIHVyaSwgZG9uJ3QgY2xlYXIgaXQgd2hlbiB3ZSBnbyB0byBSRUFEWS4KCjIwMTAtMDktMTAgMTg6MDE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBzZHAgdXJpIHBhcnNlIG1ldGhvZAoJICBVc2UgdGhlIHNkcCBwYXJzZSBtZXRob2QgdGhhdCBkb2VzIHByb3BlciB1cmkgZXNjYXBpbmcuCgoyMDEwLTA5LTEwIDE2OjU5OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBleGFtcGxlOiBhZGQgdjRsMiBleGFtcGxlLCBkZW1vbnN0cmF0aW5nIHRoZSB1c2Ugb2YgZ3N0IGNvbnRyb2xsZXIKCjIwMTAtMDktMTAgMTY6NTU6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZG9uJ3Qgc2tpcCBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24KCjIwMTAtMDYtMjIgMTU6NDg6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGNvbnRyb2xhYmxlIGNvbG9yYmFsYW5jZSBwYXJhbWV0ZXJzCgkgIEV4cG9zZSBjb2xvcmJhbGFuY2UgY29udHJvbHMgYXMgb2JqZWN0IHByb3BlcnRpZXMgKGxpa2Ugd2UgZG8gb24geHZpbWFnZXNpbmspLgoJICBNYWtlIHRoZW0gY29udHJvbGFibGUuCgoyMDEwLTA5LTEwIDEzOjI1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGZpeCBzb21lIG1pcy1pbXBsZW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIGRlYnVnLgoKMjAxMC0wOS0xMCAxMzoyNDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBwcm9wZXJseSBpbnNlcnQgZHVtbXkgYnVmZmVycwoKMjAxMC0wOS0xMCAxMTo1NToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcnRzcC1zZHAgcHJvdG9jb2wgc3VwcG9ydAoJICBBbGxvdyBzZXR0aW5nIGFuIFNEUCB3aXRoIHRoZSBydHNwLXNkcDovLyB1cmwuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gTWFyY28gQmFsbGVzaW8uCgkgIFNlZSAjNjI4MjE0CgoyMDEwLTA5LTEwIDExOjM1OjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogbWFrZSBwYXNzdGhyb3VnaCB3b3JrLgoKMjAxMC0wOS0wOSAyMTo0Mzo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgbXA0YWRlcGF5OiBzbWFsbCBsb2dnaW5nIGNsZWFudXAgYW5kIGFkZGl0aW9uIHRvIGRlYnVnIGNvbmZpZyBwYXJzaW5nCgoyMDEwLTA5LTA5IDIxOjQyOjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogZml4IGNvbnRleHQgaW5pdGlhbGlzYXRpb24gYW5kIGZyZWVpbmcgdG8gbm90IGxlYWsKCjIwMTAtMDktMDkgMjE6NDA6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogYWxsb3cgcnVubmluZyBzdGF0ZSB0ZXN0cyBmb3IgYWxsIGVsZW1lbnRzCgkgIE5vdyBvbmUgY2FuIHVzZSBHU1RfTk9fU1RBVEVfSUdOT1JFX0VMRU1FTlRTPTEgbWFrZSBnZW5lcmljL3N0YXRlcy5jaGVjawoJICB0byB0cnkgZWxlbWVudHMgdGhhdCB3b3VsZCBub3JtYWx5IGJlIHNraXBwZWQuCgoyMDEwLTA5LTA5IDE4OjQ3OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBydHBqcGVncGF5IHRlc3QKCSAgTWFrZSB0aGUgZGF0YSB3ZSBzZW5kIHRvIHRoZSBqcGVnIHBheWxvYWRlciBiZSBhIHZhbGlkIGpwZWcgZmlsZSBiZWNhdXNlIHRoZQoJICBwYXlsb2FkZXIgbm93IGV4cGVjdHMgdGhpcy4KCjIwMTAtMDktMDkgMTg6NDc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTAtMDktMDkgMTY6MzE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogdXNlIHZhbGlkIGJpdHJhdGUgZm9yIGR1bW15IGZyYW1lCgoyMDEwLTA5LTA4IDE3OjA3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBBZGRzIG1hcHBpbmcgZm9yIGFsYnVtIGFydGlzdAoJICBNYXBzIEdTVF9UQUdfQUxCVU1fQVJUSVNUIHRvIFRQRTIgaW4gaWQzdjJtdXgKCjIwMTAtMDktMDggMTg6MzU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgb3JjIDAuNC44CgkgIFRoZSBkZWludGVybGFjZSBwbHVnaW4gYXBwYXJlbnRseSBmYWlscyB0byBjb21waWxlIHdpdGggb2xkZXIgdmVyc2lvbnMuCgoyMDEwLTA5LTA4IDE3OjUwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBRb1MgaGFuZGxpbmcgbG9naWMgb25seSBhcHBsaWVzIHRvIGZvcndhcmQgcGxheWJhY2sKCSAgRml4ZXMgIzYyODg5NC4KCjIwMTAtMDktMDggMTc6NDM6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTAtMDktMDggMTQ6MzY6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXh1cCBsYXN0IGNvbW1pdAoJICBXZSBuZWVkIHRvIHByZXZlbnQgdGhlIGV2ZW50dWFsIGxlYWsgYmV0dGVyLgoKMjAxMC0wOS0wOCAxNDoxNjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNvZGUgY2xlYW51cHMKCSAgVXNlIGdfc2xpc3RfcHJlcGVuZCBhcyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBvcmRlci4gQ2hlY2sgZm9yIGxpc3QgPT0gTlVMTAoJICBpbnN0ZWFkIG9mIGl0ZXJhdGluZyB0aGUgbGlzdCB0byBzZWUgaWYgaXQgaXMgZW1wdHkuIE1vdmUgY3R4IGFsbG9jYXRpb24gZG93bgoJICB0byBwcmV2ZW50IGxlYWsgaW4gY2FzZSBvZiBmYWlsdXJlLgoKMjAxMC0wOS0wOCAwNzoxMzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyBidWcgIzYyOTAxOC4KCjIwMTAtMDktMDcgMTk6MDI6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2ltcGxpZnkgY2xvY2sgcHJvdmlkZSBjb2RlCgkgIERvbid0IGxlYWsgdGhlIHB1bHNlc2luayBlbGVtZW50IGJ5IGhhdmluZyB0aGUgY2xvY2sga2VlcCBhIHJlZiB0byB0aGUgc2luay4KCSAgQ3JlYXRlIHRoZSBjbG9jayBvbmx5IG9uY2UgaW4gdGhlIGNvbnN0cnVjdG9yIGFuZCB1c2UgdGhlIGJhc2VhdWRpb3NpbmsgY2xvY2sKCSAgY2xlYW51cCBjb2RlLgoKMjAxMC0wOS0wNyAxNzo0OTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG1vdmUgdGhlIGNvbnRleHQgdGFibGUgaW5pdCB0byBfZ2V0X3R5cGUgcGhhc2UKCSAgVGhpcyBzZWVtcyB0byBmaXggdGhlIGludmFsaWQgcmVhZHMgb24gY29udGV4dCBzaHV0ZG93biBiZXR0ZXIsIGFsdG91Z2gKCSAgSSBjYW4ndCByZWFsbHkgZXhwbGFpbi4KCjIwMTAtMDktMDcgMTc6MDY6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBvbGRlciBnX2FycmF5X2ZyZWUKCSAgZ19hcnJheV91bnJlZigpIGlzIG9ubHkgc2luY2UgMi4yMgoKMjAxMC0wOS0wNyAxNjo0OToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgaW52YWxpZCBhZGFwdGVyIGZsdXNoIG9uIFFvUwoJICBGaXJzdCBzdG9yZSB0aGUgYXZhaWxhYmxlIGRhdGEgaW4gdGhlIGFkYXB0ZXIgaW4gdGhlIHJlbV9pbWdfbGVuIGluc3RhbmNlIGZpZWxkCgkgIGJlZm9yZSB0cnlpbmcgdG8gZmx1c2ggdGhlIGFkYXB0ZXIgd2l0aCB0aGF0IHZhbHVlIG9uIFFvUy4KCjIwMTAtMDktMDcgMTY6NDA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogZG8gc29tZSBtb3JlIHNhbml0aXR5IGNoZWNrcwoJICBQcm90ZWN0IHNvbWUgbW9yZSBhZ2FpbnN0IGludmFsaWQgaW5wdXQuCgoyMDEwLTA5LTA3IDE1OjIwOjEyICswMjAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3MgYXQgdHljb3NwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiBoYW5kbGUgY29ycnVwdGVkIGpwZWcgYmV0dGVyCgkgIFByb3RlY3QgYWdhaW5zdCBjb3JydXB0ZWQganBlZyBpbnB1dC4KCjIwMTAtMDktMDcgMTM6NTU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydmF3ZGVwYXk6IGNsZWFudXAgdW51c2VkIGZpZWxkcwoKMjAxMC0wOS0wNyAxMzo1MTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogaGFuZGxlIGludmFsaWQgcGF5bG9hZCBiZXR0ZXIKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgbW9yZSBkYXRhIHRoYW4gYXZhaWxhYmxlIGluIHRoZSBpbnB1dCBidWZmZXIuCgkgIENsaXAgdGhlIGlucHV0IGRhdGEgaW50byB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTAtMDgtMTYgMTU6MzU6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogYWxsb3cgc2V0dGluZyBzdHJlYW0gcHJvcGVydGllcwoJICBBZGQgYSAicHJvcGVydGllcyIgcHJvcGVydHkgdG8gdGhlIGVsZW1lbnRzIHRvIGFsbG93IHNldHRpbmcgZXh0cmEgc3RyZWFtCgkgIHByb3BlcnRpZXMuCgkgIEZpeGVzICM1Mzc1NDQKCjIwMTAtMDktMDcgMTI6MDg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogcmVtb3ZlIGludHJvc3BlY3Rpb24gaW5mbyBmb3IgZ2RrcGl4YnVmMyBwbHVnaW4gYW5kIHVwZGF0ZSB2ZXJzaW9uIGZvciBvdGhlcnMKCSAgVGhlIHZlcnNpb25zIGdvdCBhY2NpZGVudGFsbHkgcmV2ZXJ0ZWQgdG8gYSBwcmUtcmVsZWFzZSB2ZXJzaW9uLCBmaXggdGhhdC4KCjIwMTAtMDktMDcgMTE6NDI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjMmUxMGJmIHRvIGFhMGQxZDAKCjIwMTAtMDktMDcgMDk6MjA6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICBjbW1sZGVjOiBmaXggZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgRml4IGJ1Z2d5IEdTVF9GTE9XX0lTX0ZBVEFMIHN1YnN0aXR1dGlvbiwgYW5kICdtYWtlIGNoZWNrJzoKCSAgLSAgaWYgKCFHU1RfRkxPV19JU19GQVRBTCAoZGVjLT5mbG93X3JldHVybikgJiYgIWRlYy0+c2VudF9yb290KSB7CgkgICsgIGlmIChkZWMtPmZsb3dfcmV0dXJuICE9IEdTVF9GTE9XX09LICYmICFkZWMtPnNlbnRfcm9vdCkgewoKMjAxMC0wOS0wNyAwMDoyNzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGZyZWUgdGhlIGNvbnRleHQgbXVsdGlwbGUgdGltZXMKCSAgQXBwYXJlbnRseSB0aGUgY2xvc2UgZnVuY3Rpb24gb2YgdGhlIHJpbmctYnVmZmVyIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDEwLTA4LTEyIDEyOjMzOjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGdyYWIgdGhlIHNhbXBsaW5nIGFydGUgYW5kIHB1dCBpbnRvIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBtdXggdGhlIHJlY2VpdmVkIGF1ZGlvIGludG8gbXA0IChpbiB0aGUgY2FzZSBvZgoJICBhYWMpLiBGaXhlcyAjNjI1ODI1LgoKMjAxMC0wOS0wNiAxNDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IG1hcmsgY29uc3RhbnQgdGFibGVzIGFzIGNvbnN0CgoyMDEwLTA4LTE4IDE0OjQwOjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgIHJ0cGFtcnBheTogcHJvcGVybHkgc3VwcG9ydCBwZXJmZWN0LXJ0cHRpbWUKCjIwMTAtMDgtMTggMTE6NDI6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1ycGF5OiBwcm9wZXIgZHVyYXRpb24gZm9yIG11bHRpcGxlIGZyYW1lIHBheWxvYWQKCjIwMTAtMDgtMTggMTE6NDI6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXIoZGUpcGF5OiBzdXBwb3J0IEFNUi1XQiBTSUQgZnJhbWUKCjIwMTAtMDgtMTggMTE6Mzk6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBwcm9wZXJseSBzdXBwb3J0IHBlcmZlY3QtcnRwdGltZQoKMjAxMC0wOC0xNiAxNjowODowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZnJhbWVyYXRlIGRldGVybWluaW5nCgkgIENvbGxlY3QgYSBsaW1pdGVkIG51bWJlciBvZiBzdGFydGluZyBzYW1wbGUgZHVyYXRpb25zIGFuZCB1c2UgdGhlIG1lZGlhbiBvZgoJICB0aG9zZSB0byBkZXRlcm1pbmUgY2FwcyBmcmFtZXJhdGUuCgoyMDEwLTA4LTE3IDEyOjA4OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdHRlbXB0IG1vcmUgcmVzeW5jIHVwb24gKGNsdXN0ZXIpIHBhcnNlIGVycm9yCgkgIFRoYXQgaXMsIGlmIHBhcnNlIGVycm9yIG9jY3VycyBpbiBzdGF0ZSByZXF1aXJpbmcgdG8gbW92ZSB0byBuZXh0IGNsdXN0ZXIsCgkgIGFuZCBkb2luZyBzbyB0byB0aGUgZXhwZWN0ZWQgbmV4dCBwb3NpdGlvbiBvZiBjbHVzdGVyIGZhaWxzLCB0aGVuIHNjYW4gZm9yIGEKCSAgbmV4dCBjbHVzdGVyIGZyb20gcHJlc2VudCBwb3NpdGlvbiBhbmQgcmVzdW1lIGZyb20gdGhlcmUuCgkgIEZpeGVzICM2MjA3OTAuCgoyMDEwLTA4LTE2IDE2OjA1OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBub3Qgc28gZmF0YWwgZXJyb3IgaGFuZGxpbmcKCSAgSWYgc29tZSBiaXRzIG91dCBvZiBwbGFjZSBpbiBibG9jayhncm91cCkgcGFyc2luZywgZm9yZWdvIGFuZCBtb3ZlIHRvIG5leHQuCgkgIEFsc28gc2tpcCBsYXJnZSBibG9ja3MgaW4gcHVsbCBtb2RlLCBidXQgbmVlZCB0byBnaXZlIHVwIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgIzYyNjQ2My4KCSAgSW1wcm92ZXMgIzYyMDc5MC4KCjIwMTAtMDctMjYgMTU6NTE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIHBhcnNlIHJlY292ZXJ5CgkgIEluIHBhcnRpY3VsYXIsIHVwb24gcGFyc2UgZmFpbHVyZSBpbiBvbmUgY2x1c3Rlciwgd2UgbWF5IGZvcmVnbyByZW1haW5pbmcKCSAgY29udGVudCBhbmQgdHJ5IHJlc3VtaW5nIGZyb20gbmV4dCBjbHVzdGVyIG9ud2FyZHMuCgkgIEZpeGVzICM2MjA3OTAuCgoyMDEwLTA4LTI2IDAyOjU0OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBNYWtlIHRoZSBkdG1mc3JjIGFjY2VwdCBldmVudHMgc2VudCB3aXRoIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQKCSAgVGhlIGRvYyBzYXlzIHRvIHVzZSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50IG9uIHRoZSBwaXBlbGluZSwgYnV0IGlmCgkgIHdlIGFyZSB0byBjYWxsIGl0IG9uIHRoZSBlbGVtZW50IGl0c2VsZiwgaXQncyBhIG5vb3AuIFRoaXMgc2hvdWxkIG1ha2UgaXQKCSAgaGFuZGxlIHRoZSBldmVudCBwcm9wZXJseSBiZWZvcmUgZGVsZWdhdGluZyBpdCB0byBiYXNlc3JjLgoKMjAxMC0wOS0wNiAxMjoyMjoxMSArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB1ZHBzcmMgYnVmZmVyIHNpemUKCSAgQWRkIGEgbmV3IHVkcC1idWZmZXItc2l6ZSBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIGJ1ZmZlci1zaXplIG9uIHRoZSB1ZHBzcmMKCSAgZWxlbWVudHMuCgkgIEZpeGVzICM2MjgwNTgKCjIwMTAtMDgtMjcgMTc6NTg6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIG50cC1zeW5jIHByb3BlcnR5CgkgIEFkZCBhbiBudHAtc3luYyBwcm9wZXJ0eSB0aGF0IHdpbGwgc3luYyB0aGUgcmVjZWl2ZWQgc3RyZWFtcyB0byB0aGUgc2VydmVyCgkgIE5UUCB0aW1lLiBUaGlzIHJlcXVpcmVzIHN5bmNocm9uaXplZCBOVFAgdGltZXMgYmV0d2VlbiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlcnMsCgkgIGxpa2Ugd2l0aCBudHBkLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIFRoaWpzIFZlcm1laXIuCgkgIEZpeGVzICM2Mjc3OTYKCjIwMTAtMDgtMjcgMTI6MTQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW5hbWUgYSB2YXJpYWJsZSB0byBhdm9pZCBjb25mdXNpb24KCjIwMTAtMDgtMjcgMTE6MDc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGxlc3MgY29uZnVzaW9uCgoyMDEwLTA4LTI3IDEwOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBjb21tZW50IHdoZXJlIGl0IGJlbG9uZ3MKCjIwMTAtMDgtMjYgMTY6MDA6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1pbm9yIGNsZWFudXBzCgkgIE1ha2UgY2xvY2sgc25hcHNob3RzIG1vcmUgYWNjdXJhdGUgYnkgb25seSBzYW1wbGluZyB0aGUgc2FtZSBjbG9jayBvbmNlLgoKMjAxMC0wOC0yNiAxMDo1ODoyNiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgV2l0aCB0aGlzIHByb3BlcnR5IFJUQ1AgU1IgTlRQIHRpbWVzIGNhbiBiZSBiYXNlZAoJICBvbiB0aGUgc3lzdGVtIGNsb2NrIChtYXliZSBzeW5jZWQgd2l0aCBudHBkKSBvciB0aGUKCSAgY3VycmVudCBwaXBlbGluZSBjbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzc5NgoKMjAxMC0wOC0yNSAwOTo1ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgcnRzcGV4dDogc3RvcCBjb25maWd1cmF0aW9uIG9uIGZpcnN0IGZhaWx1cmUKCSAgU3RvcCB0aGUgY29uZmlndXJhdGlvbiBvZiBhIHN0cmVhbSBhcyBzb29uIGFzIHNvbWUgb2YgdGhlIGV4dGVuc2lvbnMgcmV0dXJuCgkgIEZBTFNFLgoJICBGaXhlcyAjNTgxMjk0CgoyMDEwLTA4LTIwIDE1OjM1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGlmZHNpbms6IHVzZSByZWZjb3VudCB0byBjb3VudCBob3N0L3BvcnQgZHVwbGljYXRlcwoJICBJbnN0ZWFkIG9mIGFkZGluZyBtdWx0aXBsZSBjbGllbnQgc3RydWN0dXJlcyBmb3IgdGhlIHNhbWUgaG9zdC9wb3J0IHBhaXIsIHVzZSBhCgkgIHJlZmNvdW50LgoJICBBZGQgYSBzZW5kLWR1cGxpY2F0ZXMgZmVhdHVyZSB0aGF0IGFsbG93cyB5b3UgdG8gZGlzYWJsZSBzZW5kaW5nIG11bHRpcGxlIGNvcGllcwoJICBvZiB0aGUgc2FtZSBwYWNrZXQgdG8gdGhlIHNhbWUgaG9zdCB3aGVuIGl0IHdhcyBhZGRlZCBtdWx0aXBsZSB0aW1lcy4gVGhlCgkgIHNlbmQtZHVwbGljYXRlcyBwcm9wZXJ0eSBpcyBieSBkZWZhdWx0IHNldCB0byBUUlVFIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBhbHRob3VnaCBpdCBpcyB2ZXJ5IGxpa2VseSB0aGF0IHRoaXMgaXMgbm90IGRlc2lyZWQgYmVoYXZpb3VyLgoKMjAxMC0wOC0xOSAxNzowNjoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wbGVtZW50IGN1c3RvbSBldmVudCBoYW5kbGVyCgkgIEV4dGVuZCB0aGUgX3B1c2hfZXZlbnQoKSBmdW5jdGlvbiBzbyB0aGF0IGl0IGNhbiBhbHNvIHNlbmQgZXZlbnRzIHRvIHRoZSB1ZHAKCSAgc291cmNlcyB3aGVuIGFza2VkLgoJICBJbXBsZW1lbnQgYSBjdXN0dW0gc2VuZF9ldmVudCBmdW5jdGlvbiB0aGF0IGNvcnJlY3RseSBkaXNwYXRjaGVzIHRoZSBkb3duc3RyZWFtCgkgIGV2ZW50cyBpbiBUQ1AgbW9kZS4gVGhpcyBmaXhlcyBzZW5kaW5nIEVPUyB0byBydHNwc3JjIGFuZCBoYXZlIGl0IHB1c2ggdGhlIEVPUwoJICBkb3duc3RyZWFtLgoKMjAxMC0wOC0xOSAxMTozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogdXNlIF9nZXRfY2Fwc19yZWZmZWQoKSB3aGVuIHdlIGNhbgoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCgpCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgd2hlbiBvcGVuaW5nIHRoZSBzZXJ2ZXIgY29ubmVjdGlvbi4KCjIwMTAtMDgtMTYgMTE6Mjk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBqcGVnZGVwYXk6IGhhbmRsZSBESVNDT05UIGFuZCByZXNldCBzdGF0ZQoJICBQdXQgYSBESVNDT05UIGV2ZW50IG9uIHRoZSBuZXh0IG91dHB1dCBidWZmZXIgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhZCBhCgkgIERJU0NPTlQuCgkgIE1ha2Ugc3VyZSB3ZSBjbGVhciBvdXIgYWRhcHRlciBhbmQgcmVzZXQgb3VyIHN0YXRlIGJlZm9yZSBnb2luZyB0byBQQVVTRUQuCgkgIEZyZWUgdGhlIHF0YWJsZXMuCgkgIEZpeGVzICM2MjY4NjkKCjIwMTAtMDgtMTYgMTE6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgZzcyOXBheTogZXh0ZW5kIGZyb20gcmlnaHQgcGFyZW50CgoyMDEwLTA5LTA2IDA5OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIHNpbmNlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0eS4KCjIwMTAtMDgtMzAgMTY6NDU6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0xNiAxNzoyMzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlbWl4ZXI6IGFkZCBhIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gdXNlIHRoZSBjaGlsZCBwcm9wZXJ0aWVzCgkgIFNob3cgaG93IHRvIHBvc2l0aW9uIGFuZCBzZXQgdGhlIGFscGhvIG9mIHRoZSB2aWRlb3Mgb24gZ3N0LWxhdW5jaC4KCjIwMTAtMDgtMTYgMTU6MTk6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogbW92ZSB0aGUgcHJvcGVydHktc2V0dGVyIHRvIHRoZSBnZXR0ZXIuCgoyMDEwLTA4LTExIDE1OjQ4OjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW0gb25seSBhZ2dyZWdhdGUgbWFnbml0dWRlL3BoYXNlIGlmIHVzZXIgYXNrcyBmb3IgaXQKCjIwMTAtMDgtMTEgMTU6NDU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwZXJmb3JtYW5jZSB3aXRoIGxvY2FsIHZhcnMKCSAgVXNlICdpbnB1dCcgaW5zdGVhZCBvZiAnc3BlY3RydW0tPmlucHV0JyB3aGljaCB3YXMgaW50ZW5kZSBhbHJlYWR5ICh2YXJpYWJsZQoJICBleGlzdHMsIGJ1dCBub3QgdXNlZCBldmVyeXdoZXJlKS4gQWxzbyB1c2UgYSBsb2NhbCB2ZXJzaW9uIG9mCgkgICdzcGVjdHJ1bS0+aW5wdXRfcG9zJy4KCjIwMTAtMDgtMTEgMTU6NDQ6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwCgkgIE1vcmUgY29tbWVudHMgYW5kIGxvZ2dpbmcuIEV4dHJhY3Qgb25lIGNvbXBsZXggY29uZGl0aW9uIHRvIGEgdmFyaWFibGUuIFJlb3JkZXIKCSAgc29tZSBjb2RlIGZvciByZWFkYWJpbGl0eS4KCjIwMTAtMDgtMTEgMTU6NDA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwcm9wZXJ0eSBzZXR0ZXIKCSAgY29uc2lzdGVudGx5IG9ubHkgdXBkYXRlIGlmIHRoZSBwcm9wZXJ0eSBhY3R1YWx5IGNoYW5nZWQgdGhlIHZhbHVlLiBEbyBpdAoJICB3aXRob3V0IHJlYWRpbmcgdGhlIGd2YWx1ZSB0d2ljZS4gTm8gbmVlZCB0byByZXNldCB0aGUgc3BlY3RydW0gYW5hbHl6ZXIgZm9yCgkgIHRocmVzaG9sZCBjaGFuZ2VzLgoKMjAxMC0wOC0xMSAxNTozODoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhZGQgaGVscGVyIHRvIG9ubHkgZmx1c2ggcmluZ2J1ZmZlciBkYXRhIHdpdGhvdXQgcmVzZXR0aW5nIHRoZSBmZnQKCSAgUmVkdWNlcyBzb21lIGR1cGxpY2F0ZWQgY29kZSBhcyB3ZWxsLgoKMjAxMC0wOC0xMSAxMjo0NTo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cwoKMjAxMC0wOS0wNSAyMjoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvY3VtZW50IG1ldGhvZHMgd2l0aCBiYWQgcXVhbGl0eQoKMjAxMC0wOS0wNSAyMjoxOTo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IGluaXRpYWxpemUgYWxsIGRlaW50ZXJsYWNlIGNsYXNzIG1lbWJlcnMKCSAgVGhpcyBmaXhlcyBVWVZZIGRlaW50ZXJsYWNpbmcuCgoyMDEwLTA5LTA1IDE4OjU4OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDE4OjQ1OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IG9yY19pbml0KCkgZG9lc24ndCBuZWVkIHRvIGJlIGNhbGxlZAoJICBUaGVyZSdzIG5vIG5lZWQgdG8gY2FsbCBvcmNfaW5pdCgpIHVubGVzcyB5b3UncmUgdXNpbmcgdGhlIE9yYwoJICBBUEkgZGlyZWN0bHkuICBBbGwgY29kZSBjcmVhdGVkIGJ5IG9yY2MgaXMgZ3VhcmFudGVlZCB0byB3b3JrCgkgIHdpdGhvdXQgY2FsbGluZyBvcmNfaW5pdCgpLgoKMjAxMC0wOS0wNSAxODo0MDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZ3JlZWR5bCBPcmMgaW1wbGVtZW50YXRpb24KCSAgVG8gYWdyZWUgd2l0aCB0aGUgcHJldmlvdXMgQy9hc20gY29kZS4KCjIwMTAtMDktMDUgMjI6MzE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZhaWwgd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUKCSAgRG8gbm90IGZvcmdldCB0byByZXR1cm4gZmFsc2Ugd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUuCgoyMDEwLTA5LTA1IDIwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgaW5pdCBvcmMgaWYgaXQgaXMgYXZhaWxhYmxlCgkgIFB1dCBzb21lIGlmZGVmIGFyb3VuZCBvcmNfaW5pdCB0byBwcmV2ZW50IGJ1aWxkIGVycm9ycwoKMjAxMC0wOS0wNSAxMjoxNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNCAxMjo0NjozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkgIGRlaW50ZXJsYWNlOiBVcGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAwOS0wNi0yOSAxMTo0MzowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGRlY2ltYXRlIHByb3BlcnR5CgoyMDEwLTA2LTA0IDEyOjA5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSAgZHZkZW11eDogUGFyc2UgU01QVEUgdGltZSBjb2RlcwoKMjAxMC0wOC0yMyAwMjo1MDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgYXNzZW1ibHkgY29kZSBpbiBmYXZvciBvZiBvcmMKCjIwMTAtMDYtMDggMTQ6NTQ6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBpbXBsZW1lbnQgZ3JlZWR5IGluIE9yYwoKMjAxMC0wOS0wNCAxMTo0MzoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB1cGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAxMC0wOS0wMiAxNDozNDo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogRml4IGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgaXMgbm8gZWZmZWN0IGJ1dCBhIGNvbnZlcnRlci4gRml4ZXMgYnVnICM2Mjg2MDguCgoyMDEwLTA5LTAyIDExOjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGFkZCB0byB0aGUgZG9jcwoKMjAxMC0wNy0yNiAxNjowNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdmlkZW9taXhlcjIgZWxlbWVudAoJICBUaGlzIGlzIGJhc2VkIG9uIGNvbGxlY3RwYWRzMiBhbmQgaXMgc3luY2hyb25pemluZwoJICBhbGwgc3RyZWFtcyBiYXNlZCBvbiB0aGUgcnVubmluZyB0aW1lLgoJICBOZXcgZmVhdHVyZXMgY29tcGFyZWQgdG8gb2xkIHZpZGVvbWl4ZXI6CgkgICogU3luY2hyb25pemluZyBmcmFtZXMgb24gdGhlIHJ1bm5pbmcgdGltZQoJICAqIEltcHJvdmVkIGFuZCBzaW1wbGlmaWVkIG5lZ290aWF0aW9uCgkgICogRnVsbCBRb1Mgc3VwcG9ydAoJICAqIFZhcmlhYmxlIGZyYW1lcmF0ZSBzdXBwb3J0CgkgIEZpeGVzIGJ1ZyAjNjI2MDQ4LCAjNjI0OTA1LgoKMjAxMC0wOS0wMSAxMToxMTozNCArMDIwMCAgUGF2ZWwgS29zdHl1Y2hlbmtvIDxzaHByb3R4QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZWxheCBwYXJzaW5nIG9mIGRhdGUgdGFncwoJICBCZWZvcmUgd2UgcmVxdWlyZWQgYSBjb21wbGV0ZSBkYXRlIGluIG1hdHJvc2thZGVtdXggYnV0IGluCgkgIGlkM2RlbXV4IGZvciBleGFtcGxlIG9ubHkgdGhlIHllYXIgb3IgeWVhciBhbmQgbW9udGggd2FzIHBvc3NpYmxlIHRvby4KCSAgRml4ZXMgYnVnICM2Mjg0NTQuCgoyMDEwLTA4LTMwIDE5OjAzOjUyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogVXNlIEdzdEJhc2VTcmM6OmJsb2NrLXNpemUgYXMgZmFsbGJhY2sgc2l6ZQoKMjAxMC0wOC0zMCAxODozNjo1NCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRml4IHVzaW5nIG1wZWd0cyB2aWEgdGhlIG1tYXAgaW50ZXJmYWNlCgkgIE1QRUcgZG9lc24ndCBoYXZlIGEgc3RhdGljIHNpemUgcGVyIGZyYW1lLCBzbyBkb24ndCBwcmV0ZW5kIGl0IGhhcyBvbmUKCSAgYW5kIGZhaWwgd2hlbiBjYXB0dXJpbmcgYmVjYXVzZSBpdCBkb2Vzbid0IG1hdGNoLiBJbnN0ZWFkIG1hcmsgdGhlIHNpemUKCSAgYXMgdW5rbm93biBhbmQgbGV0IHRoZSByZWFkIGZyYW1lIGdyYWJiaW5nIG1ldGhvZCB1c2UgYSByZWFzb25hYmxlIGZhbGxiYWNrCgkgIHZhbHVlIChhc3N1bWluZyB0aGF0J3Mgb25seSBmb3IgYWN0dWFsIHN0cmVhbWluZyBmb3JtYXRzKQoJICBGaXhlcyBidWcgIzYyODM0OS4KCjIwMTAtMDgtMjcgMTg6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MTM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGRvd25zdHJlYW0gcmV0dXJucyBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODowNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkIGJlY2F1c2UKCSAgb2YgVU5FWFBFQ1RFRCwgd2hpY2ggb25seSBtZWFucyB0aGF0IGRvd25zdHJlYW0gd2FudHMgdXMgdG8gRU9TIG5vdy4KCjIwMTAtMDgtMjcgMTg6MDI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmMvZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgcHJvcGVybHkgaGFuZGxlIFVORVhQRUNURUQgYW5kIFdST05HX1NUQVRFLgoKMjAxMC0wOC0yNyAxNzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGRlYy9lbmM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBhcyBhIHJlc3VsdCwgZG9uJ3QgaWdub3JlIFdST05HX1NUQVRFIGFuZCBOT1RfTElOS0VELgoJICBCb3RoIG1lYW4gdGhhdCBpdCdzIGEgZ29vZCBpZGVhIHRvIHBhc3MgdGhlbSB1cHN0cmVhbSBpbnN0ZWFkCgkgIG9mIHByZXRlbmRpbmcgdGhhdCBldmVyeXRoaW5nIGlzIGdvb2QuCgoyMDEwLTA4LTI3IDE3OjQ3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKSBhbmQgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE3OjM5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6Mzc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM1OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvY3VtZW50IHdoeSB3cm9uZy1zdGF0ZSBkb2Vzbid0IG5lZWQgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMTAtMDgtMjYgMTM6NDQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZhaWwgZ3JhY2VmdWxseSBpZiBubyB0aHJlYWRlZCBQQSBtYWlubG9vcCBjYW4gYmUgY3JlYXRlZAoJICBGaXhlcyBidWcgIzYyODAyMC4KCjIwMTAtMDgtMjQgMTU6MTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBkaXN0ZWQgT1JDIGZpbGVzCgoyMDEwLTA4LTIzIDE1OjQ0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT3B0aW1pemUgQVJHQiBibGVuZGluZyBhbmQgaW1wbGVtZW50IEJHUkEgYmxlbmRpbmcgd2l0aCBvcmMKCSAgVGhpcyBub3cgbWVhbnMsIHRoYXQgd2UgaGF2ZSBhYnNvbHV0ZWx5IG5vIGhhbmR3cml0dGVuIGFzc2VtYmx5IGFueW1vcmUKCSAgaW4gdmlkZW9taXhlciBhbmQgaXQncyBhbHNvIGZhc3RlciBub3cgd2hlbiB1c2luZyBTU0UuCgoyMDEwLTA4LTIyIDAxOjU4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCjIwMTAtMDgtMjIgMDE6NTQ6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgdmlkZW9taXhlcjogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEwLTA4LTIwIDExOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgY2hlY2tpbmcgaWYgaW1hZ2VmcmVlemUgY29ycmVjdGx5IHJldHVybnMgVU5FWFBFQ1RFRCBhZnRlciB0aGUgZmlyc3QgYnVmZmVyCgoyMDEwLTA4LTIwIDExOjM4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgYnVmZmVyYWxsb2MgcGFzc3Rocm91Z2gKCjIwMTAtMDgtMjAgMTA6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEZpeCByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIHVuaXQgdGVzdAoJICBJZiBzZXR0aW5nIHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGJlZm9yZSBpc3N1aW5nIHRoZSBzZWVrLCBidWZmZXJzCgkgIGFyZSBhbHJlYWR5IGFycml2aW5nIGF0IHRoZSBzaW5rIGJlZm9yZSB0aGUgc2VlayBpcyBoYW5kbGVkIGFuZAoJICB3aWxsIGhhdmUgdGhlIHdyb25nIHRpbWVzdGFtcHMgYW5kIGV2ZXJ5dGhpbmcuCgkgIEZpeGVzIGJ1ZyAjNjI1NTQ3LgoKMjAxMC0wOC0yMCAxMDozNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBGaXggYW5vdGhlciBzdWJ0bGUgcmFjZSBjb25kaXRpb24gcmVsYXRlZCB0byBzdGFydGluZyB0aGUgc3JjcGFkIHRhc2sKCSAgRHVlIHRvIGEgc2VlayB0aGUgc3JjcGFkIHRhc2sgY291bGQgYmUgc3RhcnRlZCBpbiByYXJlIGNpcmN1bXN0YW5jZXMgYWx0aG91Z2gKCSAgaXQgc2hvdWxkbid0IGJlIHN0YXJ0ZWQgYW55bW9yZSBiZWNhdXNlIG5vIHVwc3RyZWFtIGJ1ZmZlciBpcyBhdmFpbGFibGUuCgoyMDEwLTA4LTIwIDEwOjI0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IFByb3RlY3QgdGhlIGZsdXNoaW5nLXNlZWsgdmFyaWFibGUgYnkgdGhlIHNyY3BhZCdzIHN0cmVhbSBsb2NrCgkgIFRoaXMgZml4ZXMgYSBzdWJ0bGUgcmFjZSBjb25kaXRpb24sIHRoYXQgY2F1c2VkIGJ1ZmZlcmFsbG9jIHRvIGZhaWwKCSAgd2l0aCB3cm9uZy1zdGF0ZSBkdWUgdG8gYSBzZWVrIGJ1dCBjYXVzZWQgaXQgdG8gYmUgbm90IHJldHJpZWQgYXMKCSAgaXQgc2hvdWxkLgoKMjAxMC0wOC0yMCAwOToxNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFsd2F5cyBnZW5lcmF0ZSBhIHBlcmZlY3RseSB0aW1lc3RhbXBlZCBzdHJlYW0KCSAgQmVmb3JlIHRoZXJlIGNvdWxkIGJlIHJvdW5kaW5nIGVycm9ycyB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiwKCSAgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCArIGR1cmF0aW9uIGJlaW5nIHNtYWxsZXIgdGhhbiB0aGUgbmV4dCBidWZmZXIncwoJICB0aW1lc3RhbXAuCgoyMDEwLTA4LTE5IDE4OjM4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IGluY2x1ZGUgdGhlIHNlcnZlciBuYW1lIGluIHRoZSBjb250ZXh0IG5hbWUgaWYgaXQncyBub3QgTlVMTAoKMjAxMC0wOC0xOCAxNjozNzo0MSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEFkZCAiY2xpZW50IiBwcm9wZXJ0eSB0byBzZXQgdGhlIFBBIGNsaWVudCBuYW1lCgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBjbGllbnQgbmFtZSB1c2VkIHRvIGNvbm5lY3Qgd2hlbgoJICBjb25uZWN0aW5nIHRvIHRoZSBQdWxzZUF1ZGlvIGRhZW1vbi4gTm90ZSBob3dldmVyIHRoYXQgdXBkYXRpbmcgdGhlCgkgIHByb3BlcnR5IGFmdGVyIHRoZSBlbGVtZW50IHJlYWNoZWQgdGhlIFJFQURZIHN0YXRlIHdpbGwgaGF2ZSBubwoJICBlZmZlY3QgdW50aWwgdGhlIG5leHQgTlVMTC0+UkVBRFkgdHJhbnNpdGlvbi4KCSAgRml4ZXMgYnVnICM2MjcxNzQuCgoyMDEwLTA4LTE5IDE3OjU5OjA5ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzCgkgIEJlZm9yZSB0aGV5IGNvbnRhaW5lZCB0aGUgVVJMIGJlZm9yZSB0aGUgYWN0dWFsIGZhaWx1cmUuIFRoZSBvdGhlcgoJICB3YXkgYXJvdW5kIG1ha2VzIG1vcmUgc2Vuc2UgYW5kIHdlIGRvIHRoZSBzYW1lIGluIG90aGVyIGVsZW1lbnRzCgkgIGxpa2UgZmlsZXNyYy4KCSAgRml4ZXMgYnVnICM2MjcyODkuCgoyMDEwLTA4LTE5IDEyOjQ2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIHRoZSBjbG9jayBvbiBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMgdG9vCgoyMDEwLTA4LTE3IDE2OjI2OjQxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcHVsc2V1dGlsOiBpbmNsdWRlIHBpZCB2YWx1ZSBpbiBnc3RfcHVsc2VfY2xpZW50X25hbWUoKSBmYWxsYmFjayByZXR1cm4gdmFsdWUKCSAgRml4ZXMgYnVnICM2MjcxNjIKCjIwMTAtMDgtMTkgMTI6MzI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgdGhlIEdzdFB1bHNlQ29udGV4dCBhZnRlciB1c2FnZQoKMjAxMC0wOC0xNiAwOToxMjowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzaGFyZSB0aGUgUEEgY29udGV4dCBiZXR3ZWVuIGFsbCBjbGllbnRzIHdpdGggdGhlIHNhbWUgbmFtZQoJICBBdm9pZCB0byBjcmVhdGUgYSBuZXcgUEEgY29udGV4dCBmb3IgZWFjaCBuZXcgY2xpZW50IGJ5IHVzaW5nIGEgaGFzaAoJICB0YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHJpbmctYnVmZmVycyBhbmQgdGhlIHNoYXJlZCBQQSBjb250ZXh0CgkgIGZvciBlYWNoIGNsaWVudC4gRG9pbmcgdGhpcyB3aWxsIGltcHJvdmUgYXBwbGljYXRpb24gbWVtb3J5IHVzYWdlIGluCgkgIHRoZSBjYXNlcyB3aGVyZSBtdWx0aXBsZSBwaXBlbGluZXMgaW52b2x2aW5nIG11bHRpcGxlIHB1bHNlc2luawoJICBlbGVtZW50cyBhcmUgdXNlZC4KCSAgRml4ZXMgYnVnICM2MjQzMzguCgoyMDEwLTA4LTE3IDEzOjQxOjQ5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhciB0aGUgUEEgbWFpbmxvb3AgaWYgYmFzZWF1ZGlvc2luayBmYWlsZWQgdG8gb3BlbiB0aGUgcmluZ19idWZmZXIKCSAgSWYgdGhlIGFwcGxpY2F0aW9uIHJlcXVlc3RzIGEgc3RhdGUtY2hhbmdlIGFuZCBwdWxzZXNpbmsgZmFpbHMgdG8gb3BlbgoJICB0aGUgcmluZ19idWZmZXIgZGV2aWNlIHRoZSBtYWlubG9vcCBhdHRyaWJ1dGUgb2YgdGhlIHNpbmsgc2hvdWxkIGJlCgkgIGNsZWFuZWQgdXAgdG8gYXZvaWQgZnV0dXJlIHN0YXRlLWNoYW5nZSAoTlVMTC0+UkVBRFkpIGZhaWx1cmVzLgoKMjAxMC0wOC0xOSAxMjoyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBFT1MgaGFwcGVucyBiZWZvcmUgdmFsaWQgaW5wdXQgaXMgZm91bmQKCSAgRml4ZXMgYnVnICM2MjczNDEuCgoyMDEwLTA4LTEyIDExOjQ5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogU2VuZCBjbG9zZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTAtMDgtMTEgMTE6MzY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogUmV0cnkgYnVmZmVyYWxsb2MgaWYgaXQgd2FzIGFib3J0ZWQgd2l0aCBXUk9OR19TVEFURSBiZWNhdXNlIG9mIGEgZmx1c2hpbmcgc2VlawoKMjAxMC0wOC0xMSAwODo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoZW4gZ2V0dGluZyBhIHNlY29uZCBidWZmZXIKCSAgVGhpcyBwcmV2ZW50cyB1cHN0cmVhbSBmcm9tIHB1c2hpbmcgbWFueSB1c2VsZXNzIGJ1ZmZlcnMgYW5kIG1ha2VzCgkgIGl0IGdvIGludG8gRU9TIHN0YXRlLgoKMjAxMC0wOC0xMCAyMDoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFBhc3N0aHJvdWdoIGJ1ZmZlciBhbGxvY2F0aW9ucwoKMjAxMC0wOS0wNCAxMzoxMDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKPT09IHJlbGVhc2UgMC4xMC4yNSA9PT0KCjIwMTAtMDktMDIgMjM6NDQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjUKCjIwMTAtMDktMDIgMjM6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVsZWFzZQoKMjAxMC0wOS0wMiAyMzowNzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2x0LnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOC0yNSAxOTowMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMjIgMjE6MTU6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2Ugc2VwYXJhdGUgYnVmZmVyIG1ldGFkYXRhIGZvciBmaWVsZHMKCSAgQ2FsbCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBvbiBidWZmZXJzIHRoYXQgYXJlCgkgIGR1cGxpY2F0ZWQgaW50byBmaWVsZHMuICBGaXhlcyAjNjI3Njg5LgoKMjAxMC0wOC0yMSAyMTo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTkgMTg6MzA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBQcmV2ZW50IGNyYXNoIHdoZW4gcmVhZGluZyBpbWFnZSB3aXRoIHByb2JsZW1zCgkgIENoZWNrIGlmIHdlIGhhdmUgZGF0YSBvbiB0aGUgYWRhcHRlciBhbmQgZmFpbCBpZiBub3QuCgkgIEZpeGVzICM2Mjc0MTMKCjIwMTAtMDgtMTMgMTc6MjQ6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjIwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2VuZCBjbG9zZSBzZWdtZW50cyB3aGVuIHNlZWtpbmcgb25seSBmb3Igbm9uLWZsdXNoaW5nIHNlZWtzIGFuZCBpZiB3ZSBhbHJlYWR5IHNlbnQgYSBuZXdzZWdtZW50IGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjI2NjE5LgoKMjAxMC0wOC0xMSAxNjo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSAgMC4xMC4yNC4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDExOjE3OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCByZWFkaW5nIHBhc3QgYXZjMSBhdG9tIHdoZW4gcGFyc2luZwoJICAuLi4gd2hlbiBvbmUgb2YgdGhlIHN1YmF0b21zIGhhcyBhIGxhcmdlL2ludmFsaWQgc2l6ZS4KCSAgRml4ZXMgIzYyNjYwOS4KCjIwMTAtMDgtMTAgMjM6Mzc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjQuMiBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMCAxMDo1Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAwMDozNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBmaXggcHJpbnRmIGZvcm1hdCBpbiBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcwoKMjAxMC0wOC0wOCAyMzozMTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBzZXQgcGx1Z2luc2RpciB0byB0b3AtbGV2ZWwgYnVpbGRkaXIgd2l0aG91dCB0aGUgcGtnY29uZmlnLy4uIGJpdHMKCSAgUmVtb3ZlcyBjbHV0dGVyIGluIHBsdWdpbiBkaXIgcGF0aHMuIFRoaXMgaXMgb25seSB1c2VkIHRvIGZpbmQgdGhlIC1nb29kCgkgIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMgb2YgdWdseS9iYWQvZmZtcGVnL2V0Yy4gaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuCgoyMDEwLTA4LTA2IDIwOjA0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYWxzbyBsb2cgcGl4ZWwgZm9ybWF0cyBpbiBzb3J0ZWQgb3JkZXIKCjIwMTAtMDgtMDYgMTg6MDc6NDYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzb3J0IGZvcm1hdHMgaW4gdGhlIHJpZ2h0IG9yZGVyIHNvIHRoYXQgbm9uLWVtdWxhdGVkIGZvcm1hdHMgYXJlIHByZWZlcmVkCgkgIFRoZSBmb3JtYXQgbGlzdCBzaG91bGQgYmUgc29ydGVkIGZyb20gaGlnaCByYW5rcyB0byBsb3cgcmFua3MuIEluIHRoZSBHU0xpc3QKCSAgc29ydGluZyBmdW5jdGlvbiB0aGlzIG1lYW5zIHRoZSBjb21wYXJlIG5lZWRzIHRvIHJldHVybiBhIHBvc2l0aXZlIHZhbHVlIGlmCgkgIGZvcm1hdCBhIGhhcyBhIGxvd2VyIHJhbmsgdGhhbiBmb3JtYXQgYi4KCSAgQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgZml4ZXMgdjRsMnNyYyB0byBwcmVmZXIgbm9uLWVtdWxhdGVkIGZvcm1hdHMKCSAgdG8gZW11bGF0ZWQgZm9ybWF0cyB3aGVuIGJ1aWx0IGFnYWluc3QgbGlidjRsLgoKMjAxMC0wOC0wNiAxOToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBwaXBlbGluZSBpbiB0aGUgZG9jdW1lbnRhdGlvbgoJICBNYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIHRoZSBzYW1lIGNvbG9yIGZvcm1hdCBvbiBhbGwgc3RyZWFtcywgaS5lLiBBWVVWCgkgIEZpeGVzIGJ1ZyAjNjI1NDUyLgoKMjAxMC0wOC0wNSAxMzo1Njo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNTE5NTcxIHRvIGJkMjA1NGIKCjIwMTAtMDYtMTQgMTk6NTg6MTEgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIGJlYXRzLXBlci1taW51dGUgdGFnIHVzaW5nIFRCUE0gZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMAoKMjAxMC0wNy0yNSAxMTo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogTW92ZSBkZWJ1ZyBjYXRlZ29yaWVzIGludG8gdGhlIHNvdXJjZSBmaWxlcyBhbmQgYWRkIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYmxlbmQgZnVuY3Rpb25zCgoyMDEwLTA4LTA0IDE5OjI1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA3LTE1IDEwOjEwOjMxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSBHX1RZUEVfREVGSU5FIHRvIGRlZmluZSByaW5nIGJ1ZmZlciB0eXBlCgkgIFRoZSBleGlzdGluZyBnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uIGlzIHJhY3ksIGFuZCB0aGUKCSAgZ190eXBlX2NsYXNzX3JlZigpIHdvcmthcm91bmQgZGlkbid0IGFjdHVhbGx5IHdvcmsgYmVjYXVzZQoJICBpdCB3YXMgaW4gdGhlIHdyb25nIGZ1bmN0aW9uLiBTaW5jZSBjbGFzcyBjcmVhdGlvbiBpbiBHT2JqZWN0CgkgIGlzIHRocmVhZC1zYWZlIHRoZXNlIGRheXMgKHNpbmNlIDIuMTYpLCB0aGUgY2xhc3NfcmVmIHdvcmthcm91bmQKCSAgaXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgaXQgaXMgc3VmZmljaWVudCB0byBlbnN1cmUgdGhlIF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9uIGlzIHRocmVhZC1zYWZlLCB3aGljaCBHX1RZUEVfREVGSU5FIGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMzgKCjIwMTAtMDgtMDQgMTU6MjA6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgQ0xPQ0stTE9TVC9DTE9DSy1QUk9WSURFIHdoZW4gZ29pbmcgdG8vZnJvbSBSRUFEWQoJICBPdGhlcndpc2UgdGhlIGNsb2NrcyBhcmUgcmVkaXN0cmlidXRlZCBldmVyeSB0aW1lIHRoZSBwaXBlbGluZQoJICBnb2VzIHRvIFBBVVNFRCwgd2hpY2ggaXMgcXVpdGUgZXhwZW5zaXZlLgoKMjAxMC0wNy0xMiAxMjozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgcnRwbXA0Z3BheTogaW1wbGVtZW50IHBlcmZlY3QgdGltZXN0YW1wcwoJICBVc2UgYml0cmVhZGVyIGZvciBwYXJzaW5nIHRoZSBjb25maWcgc3RyaW5nCgkgIFJlc2V0IHN0YXRlIHZhcmlhYmxlcyB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFBhcnNlIGZyYW1lIGxlbmd0aCBhbmQgdXNlIGl0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHJ0cHRpbWVzdGFtcHMKCjIwMTAtMDctMDkgMTQ6MDc6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogYWxsb3cgbW9yZSBjbG9jay1yYXRlcyBhcyBpbnB1dAoJICBBbHRob3VnaCB0aGUgc3BlYyBzYXlzIHRoYXQgdGhlIGNsb2NrLXJhdGUgc2hvdWxkIGFsd2F5cyBiZSA5MDAwMCwgc29tZSBydHNwCgkgIHNlcnZlcnMgc2VuZCBkaWZmZXJlbnQgY2xvY2stcmF0ZXMgc28gd2UgbXVzdCBhY2NlcHQgdGhlbiBpbiBvcmRlciB0byBoYW5kbGUKCSAgdGhvc2Ugc3RyZWFtcyB0b28uCgoyMDEwLTA3LTA2IDE5OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICBMMTZkZXBheTogZGVmYXVsdCB0byAxIGNoYW5uZWwKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGFueSBjaGFubmVsIG9yIGVuY29kaW5nLXBhcmFtcyBvbiB0aGUgY2FwcyBmb3IgZHluYW1pYwoJICBwYXlsb2FkIHR5cGVzLCBzZXQgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDEsIGFzIHRoZSBzcGVjIHNheXMgd2UKCSAgc2hvdWxkLgoJICBTZWUgIzYyMzIwOQoKMjAxMC0wNy0wNiAxODoyMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcmV1c2UgdWRwIHNvY2tldHMKCSAgRG9uJ3QgcmV1c2Ugc29ja2V0cyBidXQgbWFrZSB0aGUgdWRwc3JjIGVsZW1lbnQgZmFpbCB0aGUgc3RhdGUgY2hhbmdlIHdoZW4gdGhlCgkgIHNvY2tldCBpcyBhbHJlYWR5IGluIHVzZS4gSWYgd2UgZG9uJ3QgcHJldmVudCByZXVzZSwgd2UgbWlnaHQgZW5kIHVwIHVzaW5nIHRoZSBzYW1lCgkgIHBvcnQgZm9yIGRpZmZlcmVudCBzdHJlYW1zIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM2MjIwMTcKCjIwMTAtMDctMDYgMTg6MTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGFkZCBwcm9wZXJ0eSB0byBlbmFibGUgcG9ydCByZXVzZQoKMjAxMC0wNy0wNSAxMDoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgTDE2ZGVwYXk6IHVzZSBlbmNvZGluZy1wYXJhbXMgZm9yIHRoZSBjaGFubmVscwoJICBXaGVuIHBhcnNpbmcgdGhlIG51bWJlciBvZiBjaGFubmVscywgdXNlIHRoZSBlbmNvZGluZy1wYXJhbXMgcHJvcGVydHkgZnJvbSB0aGUKCSAgUlRQIGNhcHMgYmVjYXVzZSB0aGF0IGlzIHdoZXJlIHdlIGNhbiBmaW5kIHRoZSBjaGFubmVscyBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuCgkgIEZhbGwgYmFjayB0byB0aGUgY2hhbm5lbHMgcHJvcGVydHkgaW4gdGhlIGNhcHMgd2hlbiBuZWVkZWQuCgkgIEZpeGVzICM2MjMyMDkKCjIwMTAtMDYtMjkgMTA6NDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgZXJyb3IgYW5kIHdhcm5pbmcgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIGFuZCB3YXJuaW5nIG1lc3NhZ2UuCgkgIEZpeGVzICM2MjI1NzcKCjIwMTAtMDgtMDIgMjM6MTU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBubyBuZWVkIHRvIHNldCB0aGUgY29sb3IgZm9yIGVhY2ggZnJxLWJhbmQKCjIwMTAtMDgtMDIgMTI6NTY6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBhdm9pZCBiYXNlcnRwcGF5bG9hZCBwZXJmZWN0LXJ0cHRpbWUgbW9kZQoJICBHNzI5IHBhY2tldHMgbWF5IG9ubHkgb2NjdXIgaW50ZXJtaXR0ZW50bHkgKGUuZy4gY24gcGFja2V0cyksIGFuZCBhcyBzdWNoCgkgIGRvIG5vdCBhbGxvdyBmb3IgcGVyZmVjdC1ydHB0aW1lIGNhbGN1bGF0aW5nIHJ0cCB0aW1lcyBiYXNlZCBvbiBmcmFtZSBvciBieXRlCgkgIGNvdW50LiAgSW4gcGFydGljdWxhciwgZG8gbm90IHVzZSBydHAgYXVkaW8gYmFzZSBwYXlsb2FkZXIgYXMgYmFzZSBjbGFzcywgYnV0CgkgIHJhdGhlciBiYXNlIHBheWxvYWRlciBkaXJlY3RseS4KCjIwMTAtMDgtMDIgMTI6NDg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwbXA0dmRlcGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cCBwYXlsb2FkaW5nOiBmaXggcGFkIGxlYWsKCjIwMTAtMDctMjkgMTc6MTg6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyB1c2UgcHJvcGVyIG1vdmkgb2Zmc2V0IGZvciBtb3ZpIGJhc2VkIGluZGV4CgkgIEZpeGVzICM2MjMzNTcuCgoyMDEwLTA3LTI5IDEwOjAwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgbXZoZCBhdG9tcwoJICBQYXJzZSBtdmhkIGRhdGEgYWNjb3JkaW5nIHRvIGl0cyB2ZXJzaW9uIHRvIGF2b2lkIGZhaWxpbmcKCSAgb24gdmFsaWQgZmlsZXMuCgoyMDEwLTA3LTI4IDEyOjIxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRoZSBtYXgvYXZnIGluIGJ0cnQgYXRvbSByZWFkaW5nCgkgIEFjY29yZGluZyB0byBJU08gbWVkaWEgYmFzZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZSBpcyB0aGUKCSAgZmlyc3Qgb25lLCBhbmQgdGhlIGF2ZyBjb21lcyBuZXh0LgoKMjAxMC0wNy0yNyAxNTo1ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIGhhbmRsaW5nIG9mIHN0cmVhbWluZyB1cHN0cmVhbSB3aXRob3V0IGR1cmF0aW9uCgkgIEZpeGVzICM2MjUzNzEuCgoyMDEwLTA3LTI2IDE4OjMzOjA5ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1ggYnVpbGQgYm90CgoyMDEwLTA3LTI2IDE4OjE1OjI1ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb3JyZWN0bHkgY2hlY2sgd2hhdCB2ZXJzaW9uIG9mIGdzdC1wbHVnaW5zLWJhc2Ugd2UncmUgY29tcGlsaW5nIGFnYWluc3QKCSAgV2UgbmVlZCB0byBjaGVjayB0aGUgZ3N0LXBsdWdpbnMtYmFzZSB2ZXJzaW9uLCBub3QgdGhlIGNvcmUgdmVyc2lvbgoJICAoZXZlbiBpZiBib3RoIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBhbnkgc2FuZSBzZXR1cCkuCgoyMDEwLTA3LTI2IDE3OjQ1OjQyICswMjAwICBBcm5hdWQgVnJhYyA8cmF3b3VsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcG9ydC1yYW5nZSBwcm9wZXJ0eSB0byBydHNwc3JjCgkgIFRvIHN1cHBvcnQgc2V0dXBzIHdpdGggZmlyZXdhbGwvaXBzZWMsIGl0IGlzIHVzZWZ1bCBmb3IgYW4gcnRzcCBjbGllbnQgdG8gYmUKCSAgYWJsZSB0byBzZXQgdGhlIHJhbmdlIG9mIHBvcnRzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHJ0cC9ydGNwIHJlY2VwdGlvbi4KCSAgQWxsb3dzIHRoaXMgYnkgYWRkaW5nIGEgInBvcnQtcmFuZ2UiIHByb3BlcnR5IHRvIHRoZSBydHNwc3JjIGVsZW1lbnQuCgkgIEZpeGVzICM2MjUxNTMKCjIwMTAtMDctMjYgMTM6Mzg6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgYWxzbyBmb3IgcGFyPTEvMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzAyCgoyMDEwLTA3LTI2IDE1OjMxOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gc2VydmVyIHJlcXVlc3QgcmVwbHkKCSAgVGhlIFJUU1Agc2VydmVyIHJ0c3BzcmMgaXMgY29tbXVuaWNhdGluZyB3aXRoLCBzZW5kcyBhIEdFVF9QQVJBTUVURVIgcmVxdWVzdAoJICBwZXJpb2RpY2FsbHkgYXMgYSBwaW5nLiAgVGhlIGNvZGUgaW4gZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QgZm9ybXMgYW4gT0sKCSAgcmVzcG9uc2UgYW5kIHNlbmRzLCBidXQgZG9lc24ndCBjYWxsIGdzdF9ydHNwX21lc3NhZ2VfdW5zZXQgdG8gZnJlZSB0aGUgbWVtb3J5CgkgIGFmdGVyIHNlbmRpbmcgdGhlIHJlc3BvbnNlLiAgVGhpcyByZXN1bHRzIGluIGEgY29uc3RhbnQgc2xvdyBtZW1vcnkgbGVhay4KCSAgRml4ZXMgIzYyNDc3MAoKMjAxMC0wNy0yNCAyMjozOTo1NCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJICBjcHVyZXBvcnQ6IHJlbW92ZSBib2d1cyBkb2NzCgoyMDEwLTA3LTI0IDIyOjM3OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgZGVidWd1dGlsczogbmV3IGVsZW1lbnQgY3B1cmVwb3J0CgkgIGNwdXJlcG9ydCBwb3N0cyBidXMgbWVzc2FnZXMgYWZ0ZXIgZXZlcnkgYnVmZmVyIHJlY2VpdmVkIG9mIGNwdSB1c2VkLCBzeXN0ZW0KCSAgY2xvY2sgdGltZSwgYnVmZmVyIHRpbWUKCjIwMTAtMDctMjQgMTA6Mjk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IERlc3Ryb3kgdGhlIGNhaXJvIGNvbnRleHQgYWZ0ZXIgdXNhZ2UKCjIwMTAtMDctMjQgMTA6MjE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICBSZXZlcnQgImdka3BpeGJ1ZjogQWRkIGEgZ2RrcGl4YnVmMyBwbHVnaW4gdGhhdCB1c2VzIGdka3BpeGJ1ZjMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjY3ODgxNTMxNjFiNGUwN2ZiZjNkNDJhMmQ4OTIxZWEwNDkzMDVkMC4KCSAgVGhlcmUncyBubyBnZGstcGl4YnVmMyBhbnltb3JlLiBnZGstcGl4YnVmIHdhcyBzZXBhcmF0ZWQgZnJvbSBHVEsrCgkgIGFuZCB3aWxsIHN0YXkgYXQgdmVyc2lvbiAyLjAgZm9yIEdUSysgMy4wLgoKMjAxMC0wNy0yNCAxMDoxOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgdG8tYmUtZGVwcmVjYXRlZCBHREsgQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAyLgoKMjAxMC0wNy0yMiAxNjoyNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBldmVudCBsZWFrCgoyMDEwLTA3LTIyIDEyOjA1OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIG5vbi1jdWUgc2Vla2luZwoJICBUaGF0IGlzLCBpbiBmaWxlcyB0aGF0IGhhdmUgbm8gaW5kZXggKEN1ZSksIHBlcmZvcm0gc2VlayBieSBzY2FubmluZyBmb3IKCSAgbmVhcmVzdCBjbHVzdGVyIHdpdGggdGltZWNvZGUgYmVmb3JlIHJlcXVlc3RlZCBwb3NpdGlvbi4gIFNjYW5uaW5nIGlzIGRvbmUKCSAgYXMgYSBjb21iaW5hdGlvbiBvZiBpbnRlcnBvbGF0aW9uIGFuZCBzZXF1ZW50aWFsIHNjYW4uCgkgIEZpeGVzICM2MTczNjguCgoyMDEwLTA3LTE2IDEyOjQ2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbWFibGUgZmlsZXMgbmVlZCBubyBfZmluaXNoCgkgIEZpeGVzICM2MjQ0NTUuCgoyMDEwLTA3LTIyIDExOjQ2OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIDAtc2l6ZSBkYXRhIGNodW5rcwoJICBGaXhlcyAjNjE4NTM1LgoKMjAxMC0wNy0yMSAwODoxMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgcmVzZXQgUW9TIGluZm9ybWF0aW9uIGFuZCBzZW5kIGEgTkVXU0VHTUVOVCBldmVudCBkb3duc3RyZWFtIGZvciBORVdTRUdNRU5UIGV2ZW50cyBvbiB0aGUgbWFzdGVyIHBhZAoKMjAxMC0wNy0xNCAyMDozMTo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wNy0yMCAxNjoxMToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkZW1vdGUgV0FSTklORyBtZXNzYWdlIHRvIExPRyBsZXZlbAoJICBJdCdzIG5vdCBhIHdhcm5pbmcuCgoyMDEwLTA3LTE5IDE0OjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHJlZ3Jlc3Npb24gb24gbWFya2VycyBwYXJzaW5nCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIHdoZW4gZml4aW5nIGJ1ZyAjNTgzMDQ3IGluCgkgIGNvbW1pdCBhMzkxYmY1MmNjM2M1ODBjN2EwYTIzMTZjYTUyZWI2NmRhM2I4NWMxCgkgIFNraXAgdGhlIGRhdGEgd2hlbiBsaWJqcGVnIGFza3MgaXQgdG8gYmUgc2tpcHBlZCBvbgoJICBvbmUgb2YgaXRzIGNhbGxiYWNrcy4KCjIwMTAtMDctMTYgMTg6MDQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBtaXNzaW5nIGFyZ3VtZW50IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDctMTYgMTc6NTM6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc2luazogT25seSB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ldygpIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgbmV3ZXIgYmFzZQoKMjAxMC0wNy0wOSAxNzozMzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZHYxMzk0c3JjOiBQb3N0IGNsb2NrLXByb3ZpZGUgYW5kIGNsb2NrLWxvc3QgbWVzc2FnZXMgd2hlbiBnb2luZyBmcm9tL3RvIFBMQVlJTkcKCSAgSW4gUEFVU0VEIGFuZCBiZWxvdyB0aGUgY2xvY2sgaXMgbm90IHdvcmtpbmcuCgoyMDEwLTA3LTA0IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJICBnY29uZjogRml4IHJlZiBoYW5kbGluZyBvZiBuZXcgY2hpbGQgZWxlbWVudHMgYW5kIG1pbm9yIGNsZWFudXAKCjIwMTAtMDctMDQgMDk6NDU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSAgZ2NvbmZ2aWRlb3NyYzogVXNlIGNvcnJlY3QgR0NvbmYga2V5CgoyMDEwLTA3LTAzIDE0OjE2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mYXVkaW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjEyOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mdmlkZW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjExOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkgIGdjb25mOiBBZGQgR3N0U3dpdGNoU3JjIGJhc2UgY2xhc3MKCjIwMTAtMDctMDMgMTM6NTY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgZ2NvbmY6IENyZWF0ZSB0aGUgZ2hvc3RwYWQgb2YgdGhlIHN3aXRjaHNpbmsgZnJvbSB0aGUgdGVtcGxhdGUKCjIwMTAtMDctMDcgMTA6MTA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgY2xvY2stcHJvdmlkZS9jbG9jay1sb3N0IHdoZW4gZ29pbmcgdG8vZnJvbSBQQVVTRUQKCSAgQWxzbyB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkgdG8gcHJldmVudCBjcmFzaGVzIHdoZW4gdGhlCgkgIGNsb2NrIGlzIHVzZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgd2FzIGRlc3Ryb3llZC4KCjIwMTAtMDctMTUgMTE6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlbW92ZSBib2d1cyBVTkxPQ0sKCjIwMTAtMDctMTMgMTI6MzQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNhbGN1bGF0ZSBQQVIgdXNpbmcgdHJhY2sgd2lkdGggYW5kIGhlaWdodCBmb3IgUVQgZmlsZXMKCSAgKC4uLiBhcyBvcHBvc2VkIHRvIG9ubHkgZm9yIElTTyBzdHlsZSBmaWxlcykuCgkgIEZpeGVzICM2MjQxNzMuCgoyMDEwLTA3LTEyIDE3OjI5OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYm9ndXMgZmlsZXMgc3RvcmluZyBBRFRTIEFBQyBkYXRhCgoyMDEwLTA3LTA5IDE2OjU3OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkbyBub3QgZXJyb3Igb3V0IG9uIGEgYmxvY2sgd2l0aCB1bmtub3duIHRyYWNrbnVtYmVyCgoyMDEwLTA3LTA4IDE4OjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IGFsaWduIHJldmVyc2UgcGxheWJhY2sgcmVmZXJlbmNlIHN0cmVhbSB0d2ljZQoJICBUaW1lc3RhbXAgcm91bmRpbmcgaXNzdWVzIGNvdWxkIGxlYWQgdG8gZ29pbmcgYmFja3dhcmRzIDIga2V5ZnJhbWUgcGVyaW9kcwoJICAocmF0aGVyIHRoYW4gb25seSAxKS4gIFdoaWxlIHRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IGEgcHJvYmxlbSwgaXQgbWlnaHQKCSAgcG90ZW50aWFsbHkgcGxhY2UgYWRkaXRpb25hbCAoYnVmZmVyaW5nKSBsb2FkIG9uIGRvd25zdHJlYW0gYW5kIGNvdWxkIGJlCgkgIGF2b2lkZWQgKGJlY2F1c2UgV2UgQ2FuKS4KCSAgRml4ZXMgIzYyMzYyOS4KCjIwMTAtMDctMDggMTY6MDc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb252ZXJ0IHNvbWUgbW9yZSBtb3YgZm9ybWF0IHRpbWVzdGFtcCB0byBnc3QgdGltZQoKMjAxMC0wNy0wNyAxNDoxNjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGRpdGlvbmFsIHZlcmlmaWNhdGlvbiBoZXVyaXN0aWNzIGZvciBWQlIgYXVkaW8gc3RyZWFtCgkgIENoZWNrIGZvciBhbmQgb3ZlcnJpZGUgc29tZSBoZWFkZXIgZmllbGQocykgZm9yIHJlYXNvbmFibGUgdmFsdWVzLCBhY2NvcmRpbmcKCSAgdG8gbGF0ZXIgZXhwZWN0ZWQgdXNlIGluIGNhbGN1bGF0aW9ucy4KCjIwMTAtMDctMTQgMTU6MjE6MjEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEZpeCB3cm9uZyBsb2NrIG9yZGVyIHRoYXQgY291bGQgbGVhZCB0byBhIGRlYWRsb2NrLiBGaXhlcyAjNjI0MzMxLgoKMjAxMC0wNy0xNiAxMTozMTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI0ID09PQoKMjAxMC0wNy0xNSAwMTo0OTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjQKCjIwMTAtMDctMTUgMDE6MzU6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2x2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNy0wNyAwMDo0Mjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuNCBwcmUtcmVsZWFzZQoKMjAxMC0wNy0wNyAwMDozMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaWQucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yMyAxMTo0Nzo0MyArMDIwMCAgTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRlc3Ryb3kgYnVmZmVyIHBvb2wgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBOVUxMCgkgIEluIHRoZSBjYXNlIHdlIGNoYW5nZSB0aGUgU3RhdGUgZnJvbSBSRUFEWV9UT19OVUxMIHRoZSBidWZmZXJzIGluIHRoZSBwb29sCgkgIHN0aWxsIGhvbGQgYW4gb3BlbiBkdXAgZmlsZSBkZXNjcmlwdG9yIHRvIHRoZSBkZXZpY2UsIHRoZXJlZm9yZSB0aGUgZGV2aWNlCgkgIHJlbGVhc2UgZnVuY3Rpb24gd2lsbCBub3QgYmUgY2FsbGVkIGFuZCB0aGUgZGV2aWNlIHdpbGwgcHJvYmFibHkgYW5zd2VyIHdpdGgKCSAgLUVCVVNZIHdoZW4gd2UgcmVvcGVuIGl0IGluIHRoZSBuZXh0IE5VTExfVE9fUkVBRFkgdHJhbnNpdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoJICBTZWUgYnVnICM2MjI1MDAgYW5kICM2MTIyNDQuCgoyMDEwLTA3LTA2IDEzOjIxOjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9yZGVyIG9mIGJpdHJhdGVzIGluICdidHJ0JyBhdG9tCgkgIFRoZXJlIHNlZW1zIHRvIGJlIGEgYnVnIGluIGxpYm1wNHYyIHRoYXQgZ2VuZXJhdGVzIGEgTVBFRzRCaXRSYXRlQm94IGFzCgkgIChidWZmZXJTaXplREIsIGF2Z0JpdHJhdGUsIG1heEJpdHJhdGUpIGluc3RlYWQgb2YgKGJ1ZmZlclNpemVEQiwKCSAgbWF4Qml0cmF0ZSwgYXZnQml0cmF0ZSksIGFjY29yZGluZyB0byB0aGUgc3BlYy4gSSB1c2VkIHRoZSBtcDRmaWxlCgkgIG91dHB1dCB3aGlsZSB3cml0aW5nIHRoaXMgY29kZSwgc28gdGhlIG9yZGVyIGlzIHdyb25nLiBUaGlzIHBhdGNoZXMKCSAgZml4ZXMgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY1NAoKMjAxMC0wNy0wNSAxMjowNTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgRml4ZXMgIzYyMzU4NS4KCjIwMTAtMDYtMjkgMjM6MTg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGZpeCBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIHJlc3VsdCBvZiBnc3RfYWRhcHRlcl90YWtlKCkuIFRoZXJlIGFyZSBtb3N0IGxpa2VseQoJICBzbWFydGVyIHRoaW5ncyB3ZSBjYW4gZG8sIGJ1dCBsZXQncyBrZWVwIHRoaW5ncyBzaW1wbGUgZm9yIHRoZQoJICByZWxlYXNlLgoJICBGaXhlcyAjNjIzMTcyLgoKMjAxMC0wNy0wMiAxMjozMTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RyaXAgb3V0IGJvZ3VzIHRhZ3MgZnJvbSBYTVAgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY2CgoyMDEwLTA3LTAyIDE0OjI1OjIyICswMjAwICBBbmRyemVqIEsuIEhhY3pld3NraSA8YWhhY3pld3NraUBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFdyaXRlIGR1cmF0aW9uIGF0IHRoZSBjb3JyZWN0IHBvc2l0aW9uCgoyMDEwLTA2LTMwIDExOjEyOjA4ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmaXggbWVtbGVhayBvbiBjdXN0b20gZG93bnN0cmVhbSBldmVudHMKCSAgYnkgbm90IHNlbmRpbmcgY3VzdG9tIGRvd25zdHJlYW0gZXZlbnQgdHdpY2UgYW5kIGZpeCBtZW1sZWFrIHdoZW4KCSAgbm90IGhhbmRsaW5nIHRoZSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTk2CgoyMDEwLTA2LTI5IDIwOjE4OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNi0yOSAyMDoxNDo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCB1bnBvcnRhYmxlIHByaW50ZiBmb3JtYXQgc3BlY2lmaWVycyBpbiBjb21tZW50ZWQgb3V0IGNvZGUKCSAgVG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIHdoZW4gZ3JlcHBpbmcgZm9yIHVucG9ydGFibGUgc3BlY2lmaWVycy4KCjIwMTAtMDYtMjkgMTk6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDYtMjggMTU6NDQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTAgYW5kIGF1dG9jb25mIHRvIDIuNjAKCSAgRm9yIG1haW50YWluYWJpbGl0eSByZWFzb25zIGFuZCAkKGJ1aWxkZGlyKS4KCSAgU2VlICM2MjI5NDQuCgoyMDEwLTA2LTI4IDA5OjA3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGRvbid0IGFsbG9jYXRlIDI2MGtCIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgUGx1Z2luSW5mbyBpcyBxdWl0ZSBhIHNpemVhYmxlIHN0cnVjdCwgbGV0J3Mgbm90IGFsbG9jYXRlIGl0IG9uIHRoZQoJICBzdGFjaywgZXNwZWNpYWxseSBub3QgaWYgd2UncmUgY29weWluZyBpdCBvdmVyIGludG8gYW5vdGhlciBkeW5hbWljYWxseQoJICBhbGxvY2F0ZWQgY29weSBhbnl3YXkuCgkgIEZpeGVzICM1NzA3NjEuCgoyMDEwLTA2LTI3IDEwOjMxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGVzCgoyMDEwLTA2LTI2IDIwOjEyOjI1ICswMjAwICBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IE1ha2UgZGVtb3MgLURTRUFMIHNhZmUgdG8gZml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6Mzk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgIGpwZWc6IEV4cGxpY2l0ZWx5IGxpbmsgd2l0aCBsaWJnc3RiYXNlCgoyMDEwLTA2LTI2IDE4OjQyOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDYtMjYgMTg6NDE6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIG9yYyBmaWxlcwoKMjAxMC0wNi0yNiAxODo0MTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yNSAxOTo0MDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggbGVha2luZyBvZiB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMKCSAgZ3N0X3ZhbHVlX3NldF9idWZmZXIoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50IGFuZCBkb2Vzbid0CgkgIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBidWZmZXIuCgoyMDEwLTA2LTI0IDE2OjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgbWF0cm9za2EsIHZpZGVvYm94LCB2aWRlb2ZpbHRlcjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkIGluIGdzdHJlYW1lcgoJICBGaXhlcyB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3Mgd2hlbiBHU3RyZWFtZXIncyBkZWJ1Z2dpbmcgc3lzdGVtIGhhcyBiZWVuIGRpc2FibGVkLgoKMjAxMC0wNi0yNCAxNToxNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlL2Jhc2UvZ29vZCBwbHVnaW5zIGhlcmUuCgkgIEZpeGVzICM2MTk3MTcuCgoyMDEwLTA2LTI0IDE1OjA5OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczZmY5M2EgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmZGVjOiBidW1wIHJhbmsgdG8gU0VDT05EQVJZCgkgIEJ1bXAgZ2RrcGl4YnVmZGVjJ3MgcmFuayB0byBTRUNPTkRBUlkgdG8gZ2l2ZSBpdCBhbiBlZGdlIG92ZXIgbWlzYy4KCSAgaW1hZ2UgZGVjb2RlcnMgaW4gZ3N0LWZmbXBlZyB0aGF0IGFsc28gaGF2ZSBhIE1BUkdJTkFMIHJhbmsuCgkgIEZpeGVzICM2MjAxNjIuCgoyMDEwLTA2LTIzIDEyOjE1OjEzICswMjAwICBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIHJlc2V0IHRoZSBoYXZlX2luZGV4IGZsYWcgYXQgdHJhbnNpdGlvbiBQQVVTRURfVE9fUkVBRFkKCSAgSWYgd2UgcmVzdGFydCB0aGUgU3RyZWFtIGluIHRoZSBjYXNlIG9mIGRvaW5nIGEgdHJhbnNpdGlvbiBmcm9tCgkgIFBBVVNFRF9UT19SRUFEWSBhbmQgYmFjayB3aXRoIFJFQURZX1RPX1BBVVNFRCBhc28uIHRoZSBkdXJhdGlvbiBvZiB0aGUgdmlkZW8KCSAgd2lsbCBnZXQgY2FsY3VsYXRlZCBldmVuIGlmIHdlIGhhdmUgYSBhdmkgaGVhZGVyIHdpdGggdGhhdCBpbmZvcm1hdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKMjAxMC0wNi0yMyAyMDoyOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBuZWdvdGlhdGlvbiBmb3IgSTQyMC9ZVjEyCgkgIFdlIGRvbid0IHN1cHBvcnQgY29udmVyc2lvbiBpbnRvICphbGwqIFlVVgoJICBmb3JtYXRzIGZvciB0aGVtLCBvbmx5IGludG8gSTQyMC9ZVjEyL0FZVVYuCgkgIEZpeGVzIGJ1ZyAjNjIyNTAxLgoKMjAxMC0wNi0yMiAxNToyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHByb3BlciBjbG9zaW5nIHNlZ21lbnQgY29uc3RydWN0aW9uCgkgIEZpeGVzICM2MTg5ODIuCgoyMDEwLTA2LTIyIDE1OjQ2OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwcmVjYWxjdWxhdGUgZHVyYXRpb24KCSAgSGF2ZSBmcmFtZSBkdXJhdGlvbiBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IGFuZCBjYWxjdWxhdGUgaXQgYWZ0ZXIgY2hhbmdpbmcgdGhlIGNhcHMuCgoyMDEwLTA2LTIxIDEyOjE3OjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogdXNlIGdsaWIgZGVmaW5lcyBpbiBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgZm9yIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTIxIDEyOjE1OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gc2F2ZSBhIGZldyBieXRlcyBhbmQgc3RyZHVwcwoKMjAxMC0wNi0xOCAyMDowMjo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxvY2tpbmcgYWZ0ZXIgbW92aW5nIHRoaW5ncyBhcm91bmQKCjIwMTAtMDYtMTggMTQ6MTM6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgdGFnbGliOiBVc2UgbmV3bHkgYWRkZWQgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgY2FsbHMgdG8gZ3N0X3RhZ19saXN0X2dldF9zdHJpbmdfaW5kZXggd2l0aAoJICBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxNjo1NjoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzb21lIGVycm9ycyBhcyB3YXJuaW5ncwoJICBBdm9pZCBzcGFtbWluZyB0aGUgdGVzdHN1aXRlIHdpdGggdGhlc2UgZXJyb3IgZGVidWcgbGluZXMuCgoyMDEwLTA2LTE4IDE2OjQ5OjA4ICswMjAwICBLZWl0aCBOaWNob2xzb24gPGtlaXRoLm5pY2hvbHNvbiBhdCB1bHRyYS1jY3MuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggbXVsdGljYXN0IHN1cHBvcnQgb24gd2luZG93cyBidWlsZHMKCSAgT24gd2luZG93cyBidWlsZHMsIHNldHMgc291cmNlIGFkZHJlc3MgZm9yIGJpbmQgdG8gSU5BRERSX0FOWSwgd2hpbGUKCSAgbWFpbnRhaW5pbmcgdGhlIG9yaWdpbmFsIG11bHRpY2FzdCBncm91cCBhZGRyZXNzIGZvciBzdWJzZXF1ZW50IGpvaW4uCgkgIEZpeGVzICM1OTU5NzgKCjIwMTAtMDYtMTggMTY6MTY6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogbWFrZSB1cmwgcGFyc2luZyBjb21wYXRpYmxlIHdpdGggVkxDIHN5bnRheAoJICBTa2lwIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBAIHNpZ24gaW4gdGhlIHVybCBsb2NhdGlvbi4gVkxDIHVzZXMgdGhhdCBhcyB0aGUKCSAgcmVtb3RlIGFkZHJlc3MgdG8gY29ubmVjdCB0byAoYnV0IHdlIGlnbm9yZSBpdCBmb3Igbm93KS4gVGhpcyBtYWtlcyBvdXIgdWRwIHVybHMKCSAgY29tcGF0aWJsZSB3aXRoIHRoZSBvbmVzIHVzZWQgYnkgVkxDLgoJICBGaXhlcyAjNTk3Njk1CgoyMDEwLTA2LTE4IDE1OjA4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZhY3RvciBvdXQgdGhlIGNvbm5lY3Rpb25zCgkgIEtlZXAgYSBnbG9iYWwgY29ubmVjdGlvbiBmb3IgYWdncmVnYXRlIGNvbnRyb2wgYnV0IGFsc28ga2VlcCBzdHJlYW0gY29ubmVjdGlvbnMKCSAgZm9yIG5vbi1hZ2dyZWdhdGUgY29udHJvbC4KCSAgQWRkIHNvbWUgaGVscGVyIG1ldGhvZHMgdG8gY29ubmVjdC9jbG9zZS9mbHVzaCB0aGUgY29ubmVjdGlvbnMuCgoyMDEwLTA2LTE3IDEzOjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgbm9uLWFnZ3JlZ2F0ZSBjb250cm9sCgkgIEFkZCBub24tYWdncmVnYXRlIGNvbnRyb2wuCgkgIFNlcGFyYXRlIHJldHJpZXZpbmcgdGhyIFNEUCBmcm9tIHBhcnNpbmcgYW5kIHNldHRpbmcgdXAgdGhlIHN0cmVhbWluZyBmcm9tIHRoZQoJICBTRFAuCgoyMDEwLTA2LTE3IDIyOjEwOjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gYmFjayB0byB3aGF0IGl0IHdhcwoKMjAxMC0wNi0xNyAxNzoyNDoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgZG9jdW1lbnRhdGlvbiBmb3Igc3RyZWFtYWJsZSBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjo0Mzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlIGludHJvc3BlY3RlZCBwbHVnaW4gZG9jcyBmb3IgZ3N0ZG9jLXNjYW5nb2JqIGFuZCBvdGhlciBjaGFuZ2VzCgkgIFVwZGF0ZSBjb21tb24gZm9yIGxhdGVzdCBnc3Rkb2Mtc2NhbmdvYmosIGFuZCBpbnNwZWN0IHhtbCBmaWxlcyBmb3IKCSAgZXNjYXBpbmcgYW5kIHBhZCB0ZW1wbGF0ZSBvcmRlciBjaGFuZ2VzLgoKMjAxMC0wNi0xNyAxNjo0MTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIHN1Yi1kaXJlY3Rvcnkgd2l0aCBvcmMgdGVzdHMKCjIwMTAtMDYtMTcgMTA6NDQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDYtMTYgMjE6MDI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sLXJlYWQ6IFplcm8tc2l6ZWQgaW50cy91aW50cy9mbG9hdHMgaGF2ZSBhIHZhbHVlIG9mIDAgYWNjb3JkaW5nIHRvIHRoZSBFQk1MIHNwZWMKCjIwMTAtMDYtMTYgMjA6MDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIGFzc2VydGlvbiB0aGF0IGNvdWxkIGJlIGNhdXNlZCBieSBpbnZhbGlkIGZpbGVzCgoyMDEwLTA2LTE2IDE5OjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbGVhbiB1cC9maXggc29tZSBtaW5vciBlcnJvciBoYW5kbGluZyBidWdzCgoyMDEwLTA2LTE2IDE5OjMwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSB3aGVuIGFsbG9jYXRpb24gb2YgdGhlIHhpbWFnZSBmYWlscwoKMjAxMC0wNi0xNiAxOToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IERvbid0IHVzZSBmbG9hdHMgYXMgbG9vcCBjb3VudGVycwoKMjAxMC0wNi0xNiAxMToyMTozNSAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgdHJ5IHRvIGNoYW5nZSBkZXZpY2UgZm9ybWF0IGlmIGl0J3MgYWxyZWFkeSBjb3JyZWN0CgkgIFRoaXMgYWxsb3dzIHNldF9jYXBzIHRvIHN1Y2NlZWQgaWYgY2FwcyBjaGFuZ2UgaW4gYSB3YXkgdGhhdAoJICB3b3VsZCBub3QgbW9kaWZ5IHRoZSBmb3JtYXQgd2UncmUgZ2V0dGluZyBmcm9tIHRoZSBoYXJkd2FyZS4KCSAgT3RoZXJ3aXNlIGlmIG5vdCBpbiBOVUxMIHN0YXRlLCBzZXR0aW5nIGNhcHMgd291bGQgZmFpbAoJICB3aXRoIEVCVVNZLgoJICBXaXRoIHRoaXMgY2hhbmdlLCBpbiBzb21lIGNhc2VzIGl0J3MgT0sgdG8gZ28gUExBWUlORy0+UkVBRFktPlBMQVlJTkcKCSAgcmF0aGVyIHRoYW4gUExBWUlORy0+TlVMTC0+UExBWUlORyB0byBhdm9pZCBhIHRpbWUtY29uc3VtaW5nIGNsb3NlCgkgIGFuZCByZW9wZW4gb2YgdGhlIGRldmljZS4KCSAgRml4ZXMgIzYyMTcyMwoKMjAxMC0wNi0xNiAxMTowOToxNyAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbiBuZWdvdGlhdGUsIGNoZWNrIGZvciBlcnJvciByZXR1cm4gZnJvbSBzZXRfY2FwcwoJICBGaXhlcyAjNjIxNzIzICAocGFydGlhbGx5KQoJICBzZXRfY2FwcyBjYW4gZmFpbCBpZiB0aGUgdmlkZW8gZGV2aWNlIGlzIHJ1bm5pbmcsIGluIHRoYXQgY2FzZQoJICBzZXR0aW5nIGl0cyBmb3JtYXQgbGVhZHMgdG8gRUJVU1kuCgkgIElmIHNldF9jYXBzIGZhaWxzIHRoZW4gd2Ugd2lsbCBub3QgaGF2ZSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgkgIChpdCB3aWxsIGJlIE5VTEwpIHdoaWNoIGxlYWRzIHRvIGEgY3Jhc2ggd2hlbiB3ZSB0cnkgdG8gcHVsbAoJICBidWZmZXJzLiBJZiB3ZSBmYWlsIHRoZSBuZWdvdGlhdGUgb24gc2V0X2NhcHMgZmFpbHVyZSwgdGhlbiB3ZQoJICB3b24ndCBnbyB0byBwbGF5aW5nIHN0YXRlIGFuZCB3b24ndCBjcmFzaC4KCSAgVGhpcyBpcyBhIHNtYWxsIGltcHJvdmVtZW50LiBPZiBjb3Vyc2UsIGEgbmljZXIgZml4IHdvdWxkCgkgIGJlIHRvIG1ha2Ugc2V0X2NhcHMgd29yayBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgZm9ybWF0IGlzCgkgIHVuY2hhbmdlZC4gSWYgdGhlIGZvcm1hdCBoYXMgY2hhbmdlZCwgZmFpbGluZyBpcwoJICBwcm9iYWJseSBjb3JyZWN0IGJlY2F1c2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgZGV2aWNlCgkgIChnbyB0byBOVUxMIHN0YXRlKSBpbiBvcmRlciB0byBzZXQgY2Fwcy4KCjIwMTAtMDYtMTYgMTU6NDA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBhdWRpbyB2YnIgZGV0ZWN0aW9uCgkgIFN1YnNlcXVlbnQgZW50cnkgdGltZSBjYWxjdWxhdGlvbnMgdXNlIGJsb2NrYWxpZ24gdmFsdWUgdG8gZGV0ZXJtaW5lCgkgIG51bWJlciBvZiBmcmFtZXMgcGVyIGNodW5rLCBhbmQgYmxvY2thbGlnbiA9PSAxIGlzIHRoZW4gbW9zdCB1bmxpa2VseSB0byByZXN1bHQKCSAgaW4gcmVhc29uYWJsZSB2YWx1ZXMgKHdoaWNoIGFsc28gYWxpZ25zIHdpdGggInNwZWMiKS4KCjIwMTAtMDYtMTYgMTU6NTI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiB0d2VhayBERUxUQV9VTklUIGxhYmVsaW5nCgkgIENvbnNpZGVyIFNQUywgUFBTIGFuZCBJRFIgYXMga2V5ZnJhbWUsIGFsbCBvdGhlcnMgYXMgREVMVEFfVU5JVC4KCSAgU2VlICM2MjAxNTQuCgoyMDEwLTA2LTE1IDIwOjA2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogSW5pdGlhbGl6ZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGFuZCBkb24ndCB1bnJlZiBpdCBpZiBpdCdzIE5VTEwKCjIwMTAtMDYtMTUgMjA6MDQ6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQXNzaWduIHZhcmlhYmxlcyBiZWZvcmUgcHJpbnRpbmcgdGhlbQoKMjAxMC0wNi0xNSAyMDowMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEluaXRpYWxpemUgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxOTo0NzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEluaXRpYWxpemUgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTk6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggTkVXU0VHTUVOVCBwYXJzaW5nIGxvZ2ljIGFuZCBkb24ndCB1c2UgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDYtMTUgMTc6MjA6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTY6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTY6MzU6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE0OjA4OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgdHZ0aW1lLmggZmlsZQoKMjAxMC0wNi0xNSAxNTozNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDUtMTcgMTM6NTQ6MDMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJICByYXcxMzk0OiByZW1vdmUgdXNlbGVzcyBsYXN0X3RpbWUKCSAgSXQgc2VlbXMgdG8gbWUgdGhpcyBjb2RlIGlzIHVzZWxlc3M6IHJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4ODcxCgoyMDEwLTA2LTE0IDE5OjIxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHJlc3BlY3QgYWdncmVnYXRlIGNvbnRyb2wgYXR0cmlidXRlcwoJICB3aGVuIHRoZSBTRFAgc3BlY2lmaWVzIGFuIGFnZ3JlZ2F0ZSBjb250cm9sIHVybCwgdXNlIHRoYXQgZm9yIHBsYXliYWNrCgkgIGNvbnRyb2wuCgkgIEZpeGVzICM2MTk1MzEKCjIwMTAtMDYtMTQgMTU6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE1OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNDoyNjoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHJldmVydCBjaGFuZ2UgdGhhdCBzZXQgYSByZXNlcnZlZCBmbGFnIG9uIHRoZSBCbG9jay4KCSAgU28gbWF0cm9za2EncyBCbG9jayBzdHJ1Y3R1cmUgaGFzIG5vIGtleWZyYW1lIGZsYWcsIG9ubHkgdGhlIFNpbXBsZUJsb2NrIGhhcyBpdC4KCSAgVG8gZGV0ZWN0IGtleWZyYW1lcyBpbiBCbG9ja3MsIGl0IGlzIGp1c3QgdGhlIEJsb2NrR3JvdXAgY29udGFpbmVyIHRoYXQgbmVlZHMKCSAgdG8gaGF2ZSBhIFJlZmVyZW5jZUJsb2NrIGF0dGFjaGVkIGlmIGl0IGlzIGEgZGVsdGEgZnJhbWUgaW4gdmlkZW8uCgoyMDEwLTA1LTMxIDEyOjQ1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiB1c2UgbGlianBlZyBzY2F0dGVyLWdhdGhlciBvcGVyYXRpb24gdG8gYXZvaWQgZGF0YSBjb3B5aW5nCgkgIEZpeGVzICM1ODMwNDcgKG1vcmUpLgoKMjAxMC0wNS0yNyAxNTo0NToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pemUgYnVmZmVyIGhhbmRsaW5nIHdoZW4gcGFyc2luZwoJICBVc2UgYW4gYWRhcHRlciB0byBjb2xsZWN0IGluY29taW5nIGRhdGEsIGFuZCB1c2UgYWRhcHRlciBBUEkgdG8gc2NhbiBhbmQgcGVlay4KCSAgRml4ZXMgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBVc2UgZ19hc2NpaV9zdHJjYXNlY21wKCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAoKQoKMjAxMC0wNi0xNCAxMzoyNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjAzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDExOjQ2OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYWxzbyBjb25zaWRlciBBVSBhbmQgU0VJIE5BTFVzIGFzIERFTFRBX1VOSVQKCSAgRml4ZXMgIzYyMDE1NC4KCjIwMTAtMDYtMTQgMTE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGEzYmFiIHRvIDdhMGZkZjUKCjIwMTAtMDYtMTIgMjE6MjY6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgYnVpbGQ6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDEwLTA2LTEyIDE0OjEyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIGNsZWFuIHJ1bGUgZm9yIHRoZSBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMTQ6MTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgYXV0b2dlbmVyYXRlZCBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMDg6Mjc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDYtMTEgMTY6MjM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAxMC0wNi0xMSAyMToxMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBkb24ndCB0cnkgdG8gdW5yZWYgTlVMTCBidWZmZXJzCgkgIEZpeGVzIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTAtMDYtMTEgMjA6NTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1c2UgdHlwZWZpbmQgZnVuY3Rpb25zIHRvIGNoZWNrIGlmIFBDTSBkYXRhIGNvbnRhaW5zIGR0cyBzdHJlYW0KCSAgVXNlIG5ldyBkdHMgYXVkaW8gdHlwZWZpbmRlciBmcm9tIC1iYXNlIHRvIGNoZWNrIGlmIHRoZSBQQ00gZGF0YQoJICBjb250YWlucyBhIGR0cyBzdHJlYW0uIFRoaXMgd2F5IHdlIHJlY29nbmlzZSBtb3JlIHZhcmlldGllcyBtb3JlCgkgIHJlbGlhYmx5IGFuZCBhbHNvIGRldGVjdCB0aGUgZHRzIHN0cmVhbSBpZiB0aGVyZSBpc24ndCBhIGZyYW1lCgkgIHN5bmMgcmlnaHQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBkYXRhLgoJICBGaXhlcyAjNDEzOTQyLgoKMjAxMC0wNi0xMSAyMDo0NzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNldCBidWZmZXIgb2Zmc2V0cyBiZWZvcmUgdXNpbmcgdGhlIGJ1ZmZlciBmb3IgdGhlIGZpcnN0IHRpbWUKCSAgZ3N0X3R5cGVfZmluZF9oZWxwZXJfZm9yX2J1ZmZlcigpIHdpbGwgbmVlZCB0aGUgY29ycmVjdCBvZmZzZXQKCSAgc2V0IG9uIHRoZSBidWZmZXIgKGllLiAwKSBhbmQgbm90IHRoZSBieXRlIG9mZnNldCB3ZSBzdGFydGVkCgkgIHB1bGxpbmcgdGhlIGRhdGEgZnJvbS4KCjIwMTAtMDYtMTAgMTY6MTQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkgIHJ0cDogYWRkIG1wYS1yb2J1c3QgZGVwYXlsb2FkZXIKCSAgRml4ZXMgIzU4OTk5Ny4KCjIwMTAtMDYtMTEgMTA6NTc6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXZpIGhlYWRlciBieXRld3JpdGluZwoJICAuLi4gYnkgdXNpbmcgcHJvcGVyIG9mZnNldHMgZm9yIHRhZyBsaXN0IHdyaXRpbmcuCgkgIEFsc28gdXNlIF9yZXNldCByYXRoZXIgdGhhbiBfZnJlZSBhbmQgY29uc2lzdGVudGx5IHVzZSBieXRld3JpdGVyIHBvc2l0aW9uLgoJICBTZWUgIzYxOTI5My4KCjIwMTAtMDYtMTAgMjI6NTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCSAgQWRkIHRoZSBnZW5lcmF0ZWQgb3JjIHNvdXJjZSBmaWxlcwoKMjAxMC0wNi0xMCAyMjo1NToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IHVuaXQgdGVzdCBmb3IgY2hhbmdlZCBrZXktZnJhbWUgYmVoYXZpb3VyCgkgIEFsbCBhdWRpbyBmcmFtZXMgYXJlIG1hcmtlZCBhcyBrZXlmcmFtZSBub3cgaW5zdGVhZCBvZiBtYXJraW5nCgkgIHRoZW0gYWxsIGFzIGRlbHRhIHVuaXQuLi4KCjIwMTAtMDYtMTAgMjI6NDU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBQb3J0IG1vc3QgYmxlbmRpbmcgcmVsYXRlZCBmdW5jdGlvbnMgdG8gb3JjCgkgIE9ubHkgcmVtYWluaW5nIE1NWCBpbXBsZW1lbnRhdGlvbiBpcyB0aGUgQVJHQi9CR1JBL0FZVVYgYmxlbmRpbmcKCSAgZm9yIHdoaWNoIHdlIGZpcnN0IG5lZWQgdGhlIG9yYyBjb21wb3NpdGluZyBvcGNvZGVzLgoKMjAxMC0wNi0xMCAyMDoxNzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogUmVwbGFjZSBzb21lIHRhYnMgYnkgc3BhY2VzCgoyMDEwLTA2LTEwIDExOjA0OjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0OiBGaXggdGhlIGludGVybmFsIGNsb2NrIGV2ZW4gbW9yZQoJICBUaGUgY3ljbGVDb3VudCByZWdpc3RlciBpcyAxMyBiaXRzIGxvbmcgYW5kIHRoZSBjeWNsZU9mZnNldCBvbmUKCSAgaXMgMTIgYml0cyBsb25nLiBUbyByZWFkIHRoZSBjeWNsZUNvdW50IHJlZ2lzdGVyIHdlIG5lZWQgdG8gc2hpZnQKCSAgMTIgYml0cyBhbmQgbm90IDEzLiBGaXhlcyAjNjE1NDYxCgoyMDEwLTA2LTA5IDE4OjM3OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gdG8gY2hlY2sgZm9yIE9yYwoKMjAxMC0wNi0wOSAyMjo0MDoyMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNvbWUgbm9uLWRlbHRhIGJ1ZmZlcnMgd2VyZSBub3QgbWFya2VkIGFzIGtleWZyYW1lcwoKMjAxMC0wNi0wOSAyMjowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIDIgc2Vjb25kIGxpbWl0IHBlciBjbHVzdGVyCgkgIFN0YXJ0IGNsdXN0ZXIgYXQgZXZlcnkga2V5ZnJhbWUgb3Igd2hlbiB3ZSB3b3VsZCBvdmVyZmxvdyB0aGUgcHJldmlvdXMKCSAgY2x1c3RlcidzIHJlbGF0aXZlIHRpbWVzdGFtcCBmaWVsZC4gVGhpcyB3b3VsZCBhdm9pZCBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIHN0YXJ0aW5nIGNsdXN0ZXJzIGF0IG5vbi1rZXlmcmFtZXMuCgoyMDEwLTA2LTA5IDEyOjQwOjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjUzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCByZXF1ZXN0IG1vcmUgc2hhcmVkIG1lbW9yeSB0aGFuIG5lZWRlZAoKMjAxMC0wNi0wOSAyMDo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBzd2l0Y2hzaW5rOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NJTksgZmxhZyBvbiB0aGUgc2luawoKMjAxMC0wNi0wOSAyMDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgIGdjb25mdmlkZW9zaW5rOiBVc2UgR3N0U3dpdGNoU2luayBhcyBiYXNlIGNsYXNzCgoyMDEwLTA2LTA5IDIwOjMwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJICBnY29uZmF1ZGlvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTAtMDYtMDkgMjA6Mjk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICBnY29uZmF1ZGlvc2luazogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIHRvIGJlIG1vcmUgZGVzY3JpcHRpdmUKCjIwMTAtMDYtMDkgMjA6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99c2luazogRG9uJ3QgbG9zZSB0aGUgR1NUX0VMRU1FTlRfSVNfU0lOSyBmbGFnIGFmdGVyIHJlbW92aW5nIHRoZSBjaGlsZAoKMjAxMC0wNi0wOSAyMDowNzowOSArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFBsdWcgc29tZSBtZW1sZWFrIGFuZCBzdXBwb3J0IDIyMDUwSHogbW9ubyBzb3VuZC4KCSAgU2VnbWVudCBzaXplIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNhbXBsZSBzaXplIGluIGJ5dGVzLgoKMjAxMC0wNi0wOSAxNjoyMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmx1c2ggc2htIGJ1ZmZlciBpbW1lZGlhdGVseSBpZiBpdCdzIGZ1bGwKCjIwMTAtMDYtMDkgMTY6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCB3cml0aW5nIG9mIGJ1ZmZlcnMgbGFyZ2VyIHRoYW4gc2Vnc2l6ZQoJICBGaXhlcyBidWcgIzYyMDU0MC4KCjIwMTAtMDYtMDkgMTU6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBwbGF5YmFjayBpZiBQQSBkb2Vzbid0IGdpdmUgdXMgYSBsYXJnZSBlbm91Z2ggc2hhcmVkIG1lbW9yeSBidWZmZXIKCjIwMTAtMDYtMDkgMTU6NDI6MTkgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpbmRleGVkIHByb3BlcnR5IHRvIHN0cmVhbWFibGUKCSAgVGhlIHByb3BlcnR5IHN0cmVhbWFibGUgaGFzIHJldmVyc2Ugc2VtYW50aWNzIHRvIGluZGV4ZWQuCgoyMDEwLTA2LTA5IDA5OjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVuYW1lIHVucmVsZWFzZWQgcHJvcGVydHkgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJwoJICBSZW5hbWUgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJyBmb3IgYSBiZXR0ZXIgbmFtZSB3aGlsZSBpdAoJICBoYXNuJ3QgYmVlbiByZWxlYXNlZAoKMjAxMC0wNi0wOCAxNToyMzo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbGlib2lsIGNoZWNrCgoyMDEwLTA2LTA4IDE0OjQ0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIHVudXNlZCBsaWJvaWwgaW5jbHVkZQoKMjAxMC0wNi0wNCAxODoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA0IDE4OjIxOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy5vcmM6CgkgIHZpZGVvYm94OiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDQgMTg6MTY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL1JFQURNRToKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDggMTY6MDQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJICBkZWludGVybGFjZTogb3JjaWZ5IHNvbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzCgoyMDEwLTA2LTA4IDE2OjAzOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNvbnZlcnQgZnJvbSBsaWJvaWwgdG8gb3JjCgoyMDEwLTA2LTA4IDE1OjIzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBvcmMgY2hlY2sKCjIwMTAtMDYtMDggMTQ6MDk6MDAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBpbmRleGVkIHByb3BlcnR5IHRvIHJlcGxhY2UgZGlzYWJsZWQgaXMtbGl2ZS4KCSAgQWRkIGluZGV4ZWQgcHJvcGVydHkgdG8gYmUgdGhlIG5lZ2F0aW9uIG9mIHdoYXQgdGhlIGRpc2FibGVkIGlzLWxpdmUgcHJvcGVydHkKCSAgd2FzLiBGaXhlcyBidWcgIzYxMzA2Ni4KCjIwMTAtMDYtMDggMDk6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICByYXcxMzk0OiBSZXF1aXJlIGxpYnJhdzEzOTQgPj0gMi4wLjAgZm9yIHJhdzEzOTRfcmVhZF9jeWNsZV90aW1lcgoJICBGaXhlcyBidWcgIzYyMDkyOS4KCjIwMTAtMDYtMDggMDc6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBSZW1vdmUgaGFjayB0byBsZXQgb2dnbXV4IHN0YXJ0IGEgbmV3IHBhZ2UgZm9yIGV2ZXJ5IENNTUwgYnVmZmVyCgkgIG9nZ211eCBkb2VzIHRoaXMgZm9yIENNTUwgYnkgaXRzIG93biBub3cKCjIwMTAtMDYtMDcgMTg6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgaGFuZGxlIG5vbi1USU1FIHNlZWtzCgkgIERvbid0IHNlbmQgdGhlbSB1cHN0cmVhbSBiZWNhdXNlIGZvciB1cHN0cmVhbSBhIEJZVEVTIHNlZWsKCSAgbWlnaHQgbWFrZSBzZW5zZSBidXQgaXMgY29tcGxldGVseSB3cm9uZyBiZWNhdXNlIHVwc3RyZWFtCgkgIGNhbid0IHNlZWsgdG8gYSBieXRlIHBvc2l0aW9uIG9mIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW0uCgkgIEFsc28gZG9uJ3QgYnVpbGQgdGhlIGluZGV4IGluIHB1c2ggbW9kZSBmb3Igbm9uLVRJTUUgc2Vla3MsCgkgIHRoaW5ncyB3aWxsIGdvIHdyb25nIGhlcmUgb3RoZXJ3aXNlLgoKMjAxMC0wNi0wNyAxMToxNToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogT25seSB3b3JrcyB3aXRoIHJhdGU9ODAwMCwgZml4IGluIGNhcHMKCjIwMTAtMDYtMDIgMTk6MTY6MjAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIENvcGUgd2l0aCBzaG9ydCBzdGFydGNvZGVzIGluIHRoZSBoMjY0IGJ5dGVzdHJlYW0KCjIwMTAtMDYtMDYgMTc6MjU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogbG9nIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wNi0wNiAxODowMDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBleHQ6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTc6NTc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgc3lzOiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE3OjUyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNToxMjoxNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZWZhY3RvciBkZWx0YSB1bml0IGhhbmRsaW5nCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHNraXAgZGVsdGEgdW5pdHMgZWFybGllciBhbmQgaXMgYSBiaXQgY2xlYXJlciBpbiBteQoJICBvcGluaW9uLiBJdCBhbHNvIG1ha2VzIG9ubHkgdmlkZW8gYnVmZmVycyBldmVyIGJlIGRlbHRhIHVuaXRzLCBub3QKCSAganVzdCBmb3IgU2ltcGxlQmxvY2sgYXMgYmVmb3JlLgoKMjAxMC0wNi0wNiAxNToxNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRpbnVpdGllcwoKMjAxMC0wNi0wNiAxNDowMzo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJZ25vcmUga2V5ZnJhbWUgZmxhZyBmb3Igbm9uLXZpZGVvIHN0cmVhbXMKCSAgV2hlbiB0aGUga2V5ZnJhbWUgYml0IG9mIFNpbXBsZUJsb2NrIEZsYWdzIHdhc24ndCBzZXQsIHRoZSBidWZmZXIgd2FzIGJlaW5nCgkgIG1hcmtlZCB3aXRoIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklULCBjYXVzaW5nIGFsbCBidWZmZXJzIHRvIGJlIHNraXBwZWQKCSAgYWZ0ZXIgYSBzZWVrLiBUaGlzIG1heSBiZSBhIHByb2JsZW0gd2l0aCB0aGUgU29yZW5zb24gU3F1aXNoIGVuY29kZXIsIGJ1dAoJICBhcmd1YWJseSB0aGUga2V5ZnJhbWUgYml0IHNob3VsZCBvbmx5IGJlIGFwcGxpZWQgdG8gdmlkZW8uCgkgIEZpeGVzIGJ1ZyAjNjIwMzU4LgoKMjAxMC0wNi0wNiAxNDo1Njo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXJzdCB0cnkgdXBzdHJlYW0gd2hlbiBoYW5kbGluZyBzZWVrIGV2ZW50cy9xdWVyaWVzCgoyMDEwLTA2LTA0IDE0OjU0OjU5IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBnc3RydHBjZWx0cGF5OiBkb24ndCBhbHdheXMgZml4YXRlIHNpbmsgY2FwcyB0byAxIGNoYW5uZWwKCSAgVGhlIGdldGNhcHMgZnVuY3Rpb24gc2hvdWxkIG5vdCBmaXhhdGUgdGhlIGNoYW5uZWxzIGZpZWxkIHVudGlsIHdlCgkgIGdldCB0aGUgZW5jb2RpbmctcGFyYW1zIGZpZWxkIGZyb20gb3VyIHNyY3BhZCdzIGNhcHMuIEZpeGVzICM2MjA1OTEKCjIwMTAtMDYtMDQgMTM6NTc6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHRyeSBhbGwgcmFuZ2VzIGZyb20gdGhlIHNkcAoJICBUcnkgYWxsIHJhbmdlcyBpbiB0aGUgU0RQIGJlZm9yZSBnaXZpbmcgdXAuCgoyMDEwLTA2LTA0IDEzOjU2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHBhcnNlX3JhbmdlIHJldHVybiByZXN1bHQKCSAgTWFrZSB0aGUgcGFyc2VfcmFuZ2UgZnVuY3Rpb24gcmV0dXJuIGlmIHRoZSBwYXJzaW5nIHN1Y2NlZWRlZCBvciBmYWlsZWQuCgoyMDEwLTA2LTA0IDExOjQ0OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBpZiB3ZSdyZSBub3QgbGlua2VkIGRvd25zdHJlYW0sIHdlIGNhbiBkbyBhbnkgZm9ybWF0CgkgIFN0dXBpZCBtZSwgYXNzdW1pbmcgX2dldF9hbGxvd2VkX2NhcHMoKSB3b3VsZCBhY3R1YWxseSByZXR1cm4gdGhlCgkgIHBhZCB0ZW1wbGF0ZXMgaWYgdGhlcmUgd2FzIG5vIHBlZXIuCgoyMDEwLTA1LTMxIDE2OjI2OjE5ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIEtlZXAgYW5ub3VuY2luZyB0aGUgZGVsaXZlcnktbWV0aG9kIGluIHRoZSBjYXBhYmlsaXRpZXMKCSAgRXZlbiB0aG91Z2ggd2UgZG9uJ3QgdXNlIGRlbGl2ZXJ5LW1ldGhvZCBpbiBvdXIgcGF5bG9hZGVyLCBvbGRlciB2ZXJzaW9ucyBvZgoJICB0aGUgdGhlb3JhIHBheWxvYWRlciBpbiBnc3RyZWFtZXIgcmVxdWlyZWQgaXQuIEFzIHN1Y2ggd2UgbmVlZCB0byBrZWVwIHRoaXMKCSAgYXJvdW5kIGluIHRoZSBjYXBzIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS4KCSAgVGhpcyByZXZlcnRzIHBhcnQgb2YgNDk0NjNhMzdjYmFhOTUyZTE0MDEyOTFmMGEyNjIzZGU2Y2FiMzg4MAoJICBGaXhlcyAjNjE4OTQwCgoyMDEwLTA2LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIHNvbWUgY29tbWVudHMgZm9yIHRyYW5zbGF0b3JzIHRvIGNsYXJpZnkgbWVhbmluZyBvZiAiTG93IgoJICAiTG93IiBldGMuIGFyZSBxdWFsaXR5IHNldHRpbmdzIGhlcmUgKGUuZy4gZm9yIHRoZSBpbnRlcm5hbCByZXNhbXBsZXIpLgoJICBTb21lIGRheSB3aGVuIHdlIHVzZSBHTGliJ3MgaTE4biBmdW5jdGlvbnMgd2UgbWlnaHQgd2FudCB0byB1c2UKCSAgTkNfKCkgYW5kIGdfZHBnZXR0ZXh0MigpIGhlcmUgaW5zdGVhZCBvZiB0aGUgY29tbWVudHMuCgkgIEZpeGVzICM1NTU5NjcuCgoyMDEwLTA2LTAzIDE5OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgbXA0Z2RlcGF5OiBjYWxjdWxhdGUgdGhlIGZyYW1lIGR1cmF0aW9uIGNvcnJlY3RseQoJICBXaGVuIHdlIGNhbGN1bGF0ZSB0aGUgZnJhbWUgZHVyYXRpb24sIHdlIG5lZWQgdG8gdXNlIHRoZSBhbW91bnQgb2YKCSAgZnJhbWVzIGluIHRoZSBfcHJldmlvdXNfIHBhY2tldCwgbm90IHRoZSBjdXJyZW50IHBhY2tldC4gVGhlIGZyYW1lIGR1cmF0aW9uIGlzCgkgIG5lZWRlZCB0byBjb3JyZWN0bHkgZGUtaW50ZXJsZWF2ZSBpbnRlcmxlYXZlZCBzdHJlYW1zLiBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlCgkgIHRoZXJlIGFyZSBhIHZhcmlhYmxlIG51bWJlciBvZiBmcmFtZXMgaW4gYSBwYWNrZXQuCgkgIEZpeGVzICM2MjA0OTQKCjIwMTAtMDYtMDMgMTg6NTg6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHJldHVybiBjYXBzIGluIGdldF9jYXBzKCkgdGhhdCB3aWxsIGJlIHJlamVjdGVkCgkgIFRoaXMgY29tbWl0IGJhc2ljYWxseSBwdXRzIF9nZXRfY2FwcygpIGluIHN5bmMgd2l0aCBhY2NlcHRfY2FwcygpLgoJICBJZiB3ZSBkb24ndCBoYXZlIGEgbWFzdGVyIHBhZCBPUiB0aGUgbWFzdGVyIHBhZCBjYXBzIGFyZW4ndCBuZWdvdGlhdGVkCgkgIHRoZW4gd2UganVzdCByZXR1cm4gdGhlIGRvd25zdHJlYW0gYWxsb3dlZCBjYXBzLgoJICBJZiB3ZSBoYXZlIGEgbWFzdGVyIHBhZCB3aXRoIG5lZ290aWF0ZWQgY2Fwcywgd2UgcmV0dXJuIHRob3NlIGNhcHMKCSAgd2l0aCBhIGZyZWUgcmFuZ2Ugb2Ygd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZQoKMjAxMC0wNi0wMyAxMzo0NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiBBZGQgY29tbWVudHMgdG8gcmVtb3ZlIHRoZSBwcm92aWRlLWNsb2NrIG1lc3NhZ2UgcG9zdGluZyBvbmNlIHdlIGRlcGVuZCBvbiBiYXNlIDAuMTAuMzAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGYzNzA4ZjM4YWEzODM5YTZhNjI1Y2E3ZDFjMTY2MTAxYzlmYmI3Zi4KCSAgVGhlIGJhc2VhdWRpb3NpbmsgY29tbWl0IHdhcyByZXZlcnRlZAoKMjAxMC0wNi0wMyAxMDoyNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWRkIGNvbW1lbnRzIHRvIHJlbW92ZSB0aGUgcHJvdmlkZS1jbG9jayBtZXNzYWdlIHBvc3Rpbmcgb25jZSB3ZSBkZXBlbmQgb24gYmFzZSAwLjEwLjMwCgkgIGJhc2VhdWRpb3NpbmsgZG9lcyBhbGwgdGhpcyBmb3IgdXMgbm93LgoKMjAxMC0wNS0wNyAxODo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBydHBkdG1mbXV4IHN0cmVhbS1sb2NrIGNvZGUKCjIwMTAtMDYtMDIgMTY6MzY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZGVsYXllZCBzZWVrIGhhbmRsaW5nIGFsc28gZGVzZXJ2ZXMgVFJVRSBldmVudCByZXNwb25zZQoKMjAxMC0wNi0wMiAxNTozMDo0NyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIHVudXNlZCB2YXJpYWJsZSDigJhlc3RpbWF0ZWTigJkKCjIwMTAtMDYtMDIgMTU6MDQ6MDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IHJldmVydCB0aGUgY2hhbmdlIGkgZGlkIGluIG15IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0wNi0wMiAxMzozOToxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHN0b3AgYnVmZmVyaW5nIGFuZCBlbWl0IEVPUyBhdCB0aGUgZW5kIG9mIGEgc3RyZWFtCgkgIFdoZW4gdXNpbmcgUlRQX0pJVFRFUl9CVUZGRVJfTU9ERV9CVUZGRVIsIG1ha2Ugc3VyZSB0aGF0IHRoZSByaW5nYnVmZmVyIGRvZXNuJ3QKCSAgZ2V0IHN0dWNrIGJ1ZmZlcmluZyBmb3JldmVyIHdoZW4gdGhlcmUgaXNuJ3QgZW5vdWdoIGRhdGEgbGVmdCB0byBmaWxsIHRoZQoJICBidWZmZXIuCgoyMDEwLTA2LTAxIDIxOjUyOjU5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkgIGRlYnVndXRpbHM6IERvbid0IGNvbnN1bWUgcHJlcm9sbCBidWZmZXIgdHdpY2UKCjIwMTAtMDYtMDEgMjE6MzI6MTEgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IFN0eWxlIGZpeDogdXNlIGdfc3RyZHVwKCkgaW5zdGVhZCBvZiBwcmludGYoKWluZyBhIHNpbXBsZSBzdHJpbmcKCjIwMTAtMDUtMjcgMTY6MDc6MzEgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVndXRpbHM6IFJlcGxhY2UgbWQ1IGltcGxlbWVudGF0aW9uIHdpdGggZ2xpYidzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk4MjQKCjIwMTAtMDUtMjIgMTE6NTU6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjbGVhbiB1cCBjb2RlIGZvciBhdmkgaGVhZGVyIHVzaW5nIGEgYnl0ZXdyaXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5MjkzCgoyMDEwLTA2LTAxIDE4OjU0OjQxIC0wNTAwICBQaWVycmUtTG91aXMgQm9zc2FydCA8cGllcnJlLWxvdWlzLmJvc3NhcnRAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb3B0aW1pemUgY29tbXVuaWNhdGlvbiB3aXRoIFB1bHNlQXVkaW8gdXNpbmcgcGFfc3RyZWFtX2JlZ2luX3dyaXRlCgoyMDEwLTA2LTAyIDEwOjUyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHRoZSBjbG9jayBhcHBlYXJzL2Rpc2FwcGVhcnMKCSAgRml4ZXMgYnVnICM2MjAyNzcuCgoyMDEwLTA2LTAxIDIzOjQ5OjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTdmODllNSB0byA0NzY4M2MxCgoyMDEwLTA2LTAxIDIyOjU0OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2RmZjBmYiB0byAxN2Y4OWU1CgoyMDEwLTA2LTAxIDIwOjQ1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaWx0ZXIgY2FwcyByZXR1cm5lZCBmcm9tIGRvd25zdHJlYW0gd2l0aCBvdXIgcGFkIHRlbXBsYXRlLgoKMjAxMC0wNi0wMSAxNjo1NjozMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFJlbW92ZSBtb3JlIHVubmVlZGVkIHdhcm5pbmdzCgoyMDEwLTA2LTAxIDE2OjU0OjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lZWRlZCB3YXJuaW5nCgoyMDEwLTA2LTAxIDE2OjQ5OjE0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lZWRlZCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDYtMDEgMTY6MjQ6NTMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpcy1saXZlIHByb3BlcnR5IHRvIGluZGV4ZWQKCjIwMTAtMDUtMjMgMTM6NTY6MTYgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogdXNlIHRoZSB1aW50NjQgc2NhbGluZyBmdW5jdGlvbnMKCSAgSW4gZGVtdXhlciBhbmQgbXV4ZXIgdXNlIHRoZSBnc3RfdXRpbF91aW50NjQgc2NhbGluZyBmdW5jdGlvbnMgcmF0aGVyIHRoYW4KCSAgc3RhbmRhcmQgaW50ZWdlciBkaXZpc2lvbi4gQWRkIHdhcm5pbmdzICh0byBiZSBjaGFuZ2VkIHRvIGRlYnVnKSBmb3IgZGVidWdnaW5nCgkgIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uLgoKMjAxMC0wNS0yMSAxNDozNTozNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBkZWx0YSB1bml0IG9uIGFsbCBidWZmZXJzIGV4Y2VwdCBjbHVzdGVyIHN0YXJ0IG9uZXMKCjIwMTAtMDUtMjEgMTM6Mzg6MTEgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBjYXBzIGFuZCBzZXQgb24gYnVmZmVycyByYXRoZXIgdGhhbiB1c2luZyBwYWQgY2FwcwoKMjAxMC0wNS0yMSAxMzoyNToyNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2Ugc3VyZSBwYWRzIGNhcHMgYXJlIHNldCBiZWZvcmUgYW55IGJ1ZmZlcnMgcHVzaGVkLgoKMjAxMC0wNS0yMSAxMzoxNDowNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZCBzdHJlYW1oZWFkZXJzCgoyMDEwLTA1LTIxIDEyOjIzOjA4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbm8gbmVlZCB0byBzZXQgY2FjaGUgdHdpY2UKCjIwMTAtMDUtMjEgMDE6NTk6NTMgKzAyMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIERvIG5vdCBjcmVhdGUgYSBTZWVrSGVhZGVyLCBDdWVzLCAuLiB3aGVuIGRvaW5nIGxpdmUKCjIwMTAtMDUtMjAgMjM6Mzk6NTkgKzAyMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGlzLWxpdmUgcHJvcGVydHkKCjIwMTAtMDYtMDEgMTM6MjI6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggdmFyaWFibGUgaW5pdAoKMjAxMC0wNS0yOCAxNjozNzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSByZXZlcnNlIHBsYXliYWNrCgkgIFNsaWdodGx5IG1vZGlmeSBhcHByb2FjaCB0byBhbHNvIGhhbmRsZSBjYXNlcyB3aGVyZSBjdWUgZW50cmllcyBkbyBub3QgcmVsaWFibHkKCSAgbGVhZCB0byBpbml0aWFsIGtleWZyYW1lcy4KCSAgRml4ZXMgIzYxOTgxNy4KCjIwMTAtMDUtMjQgMTY6MDI6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogYXZvaWQgZ3RrLWRvYyBjb25mdXNpbmcgY29tbWVudHMKCjIwMTAtMDUtMjEgMTE6MjE6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91cgoKMjAxMC0wNS0yMCAxNDozMzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2Ugd3JpdGUgY2FjaGluZyBhbHNvIHdoZW4gd3JpdGluZyBidWZmZXIgZGF0YQoJICBTcGVjaWZpY2FsbHksIHRoaXMgcmVkdWNlcyBwdXNoaW5nIHNldmVyYWwgc21hbGwgYnVmZmVycyBmb3IgZWFjaAoJICBkYXRhIGJ1ZmZlciBhbmQgYWxzbyBhdm9pZHMgYSBzZWVrIGZvciBlYWNoIGJ1ZmZlciBhbHRvZ2V0aGVyCgkgICh0aG91Z2ggYSBzZWVrIGlzIHN0aWxsIG5lZWRlZCBmb3IgZWFjaCBjbHVzdGVyKS4KCSAgRml4ZXMgIzYxOTI3My4KCjIwMTAtMDUtMjAgMTQ6MjM6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGVibWwgd3JpdGUgY2FjaGluZyB3aXRoIGJ5dGV3cml0ZXIgaW1wbGVtZW50YXRpb24KCSAgQWxzbyBjYWNoZSBhIGJpdCBtb3JlIGR1cmluZyBoZWFkZXIgd3JpdGluZy4KCSAgRml4ZXMgIzYxOTI3My4KCjIwMTAtMDUtMjAgMTQ6MDg6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBjb25zaXN0ZW50IGRlYnVnIGNhdGVnb3J5IG5hbWUgZm9yIGVibWx3cml0ZQoKMjAxMC0wNS0xOCAxNDo0NDoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgYnl0ZXJlYWRlciBiYXNlZCBHc3RFYm1sUmVhZCBhcyBhIGhlbHBlcgoJICAuLi4gcmF0aGVyIHRoYW4gYmFzaW5nIG9uIGl0IGJ5IGluaGVyaXRhbmNlLgoJICBBbHNvIHVzZSBtb3JlIGNvbW1vbiBjb2RlIGZvciBwdXNoIGFuZCBwdWxsIG1vZGUuCgkgIEZpeGVzICM2MTkxOTguCgkgIEZpeGVzICM2MTExMTcuCgoyMDEwLTA2LTAxIDE1OjQ3OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IF9nZXRfcGFkX3RlbXBsYXRlIHJlc3VsdCBuZWVkcyBubyB1bnJlZgoKMjAxMC0wNS0xOCAxOTo0Mjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IFN1cHBvcnQgOCBiaXQgZ3JheXNjYWxlCgkgIEFkZHMgc3VwcG9ydCB0byA4IGJpdCBncmF5c2NhbGUgaW5wdXQKCjIwMTAtMDUtMTggMTQ6NDY6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBZGRzIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQKCSAgQWRkcyBkZWNvZGluZyBzdXBwb3J0IGZvciBqcGVnIGltYWdlcyBpbiA4IGJpdCBncmF5c2NhbGUgZm9ybWF0LgoKMjAxMC0wNS0xOCAwMTo1NzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFjY2VwdCBncmF5c2NhbGUgYXMgaW5wdXQKCSAgQWRkcyB2aWRlby94LXJhdy1ncmF5c2NhbGUgKDggYml0KSBzdXBwb3J0IHRvIGpwZWdlbmMKCjIwMTAtMDUtMzEgMTM6MzA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEltcGxlbWVudCBzaW5rcGFkIEdldENhcHNGdW5jdGlvbi4KCSAgVGhpcyBhbGxvd3MgcmV0dXJuaW5nIG9ubHkgdGhlIGZvcm1hdHMsIHdpZHRoLCBoZWlnaHQsIGZyYW1lcmF0ZQoJICBhbmQgcGl4ZWwtYXNwZWN0LXJhdGlvIHRoYXQgZG93bnN0cmVhbSBjYW4gc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDE0OAoKMjAxMC0wNS0yMCAxMToyODo0NyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IGltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5CgkgIFRoZSBlbmNvZGVyJ3MgbGF0ZW5jeSBpcyBkZWR1Y2VkIGZyb20gdGhlIGZyYW1lc2l6ZS4gRml4ZXMgIzYxODg5Ni4KCjIwMTAtMDUtMzEgMDc6NDk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGNvbXBhcmUgcnVubmluZyB0aW1lcyB3aXRoIHN0cmVhbSB0aW1lcyB3aGVuIGRvaW5nIFFvUwoKMjAxMC0wNS0yNyAyMTowNjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCByZWNvbmZpZ3VyZSB0aGUgY2FwcyB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMKCSAgRml4ZXMgYnVnICM2MTk4NDguCgoyMDEwLTA1LTI2IDEzOjEzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgYWxwaGE6IEFkZCBwcm9wZXJ0eSB0byBhbGxvdyBwYXNzdGhyb3VnaCBtb2RlCgkgIFRoaXMgcGFzc3Rocm91Z2ggbW9kZSBpcyB1c2VkIGlmIHRoZSBhbHBoYSBtZXRob2QgaXMgInNldCIKCSAgYW5kIHRoZSBhbHBoYSB2YWx1ZSBpcyAxLjAuCgkgIEZpeGVzIGJ1ZyAjNjE3NTEyLgoKMjAxMC0wNS0yNSAxNToxNjowNiArMTAwMCAgQWxleGFuZGVyIEtvamV2bmlrb3YgPGFsZXhhbmRlckBrb2pldm5pa292LmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc3VwcG9ydCAyNC1iaXQgd2lkdGgKCSAgRml4ZXMgIzYxOTA0NQoKMjAxMC0wNS0yNCAyMTo1MDo1OCArMTAwMCAgQWxleGFuZGVyIEtvamV2bmlrb3YgPGFsZXhhbmRlckBrb2pldm5pa292LmNvbT4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogc3VwcG9ydCBhcmJpdHJhcnkgYml0IGRlcHRoCgkgIFBhcnRpYWxseSBmaXhlcyAjNjE5MDQ1CgoyMDEwLTA1LTI1IDA1OjM2OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBkZWFkbG9jayBpbnRyb2R1Y2VkIGJ5IHZpZGVvIGtleWZyYW1lIFFvUwoKMjAxMC0wNS0yMyAwOTozMjowOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogc2tpcCBidWZmZXJzIGJlZm9yZSBhIGxhdGUga2V5ZnJhbWUgKFFvUykKCSAgQmVmb3JlLCB2cDhkZWMgaGFkIG5vIG9wdGlvbiBidXQgdG8gZGVjb2RlIGFsbCBmcmFtZXMgZXZlbiBpZiBzb21lL2FsbAoJICBvZiB0aGVtIHdvdWxkIGJlIGxhdGUuIFdpdGggdGhpcyBjaGFuZ2UsIHBlcmZvcm1hbmNlIHdoZW4ga2V5ZnJhbWVzIGFyZQoJICBmcmVxdWVudCBpcyBoZWxwZWQgYSBncmVhdCBkZWFsLiBPbiBteSBUaGlua3BhZCBYNjBzLCBkZWNvZGluZyBhIDIwIHMKCSAgMTA4MHAgc3VuZmxvd2VyIGVuY29kZSB3aXRoIGtleWZyYW1lcyBldmVyeSAxMCBmcmFtZXMgd2VudCBmcm9tIHRha2luZwoJICA0MiBzIHdpdGggNSBmcmFtZXMgc2hvd24gdG8gMjEgcyB3aXRoIDE1IGZyYW1lcyBzaG93biAoc3RpbGwgc2xvdwoJICBlbm91Z2ggdG8gY291bnQgYnkgaGFuZCkuIFdoZW4ga2V5ZnJhbWVzIGFyZSBtb3JlIHNwYXJzZSwgeW91IHdpbGwKCSAgc3RpbGwgYmUgYWJsZSB0byBjYXRjaCB1cCBldmVudHVhbGx5LCBidXQgdGhlIHJlc3VsdHMgd29uJ3QgYmUgYXMKCSAgbm90aWNhYmxlLgoKMjAxMC0wNS0xNCAxNzo1Nzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBEb24ndCBtaXggaW5wdXQgd2l0aCBkaWZmZXJlbnQgcGl4ZWwgYXNwZWN0IHJhdGlvcwoJICBGaXhlcyBidWcgIzYxODUzMC4KCjIwMTAtMDUtMTcgMTk6NTQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgTU1YLzNETm93IGltcGxlbWVudGF0aW9ucyBvZiBncmVlZHloIGZvciBVWVZZCgoyMDEwLTA1LTE3IDE5OjE2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogRml4IFVZVlkgaW1wbGVtZW50YXRpb24gb2YgZ3JlZWR5aCB0byBiZSBhY3R1YWxseSB1c2VkCgoyMDEwLTA1LTExIDExOjQzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgZ2RrcGl4YnVmOiBBZGQgYSBnZGtwaXhidWYzIHBsdWdpbiB0aGF0IHVzZXMgZ2RrcGl4YnVmMwoKMjAxMC0wNi0wMSAxMDowNjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuaDoKCSAgd2luMzI6IGFkZCBtb3JlIGdlbmVyYXRlZCBtYXJzaGFsIGFuZCBlbnVtdHlwZSBmaWxlcyB0byB3aW4zMi11cGRhdGUKCjIwMTAtMDYtMDEgMDk6Mjc6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkgIFJldmVydCAibWF0cm9za2E6IGFkZCB0ZW1wb3Jhcnkgd2VibSB0eXBlZmluZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQxNDhlYzBhZDIwNTNhYmIwYzM4ZmM2ODFhODk1MzI5Mjk4NTM4OGYuCgkgIFdlIGRlcGVuZCBvbiAtYmFzZSBnaXQgbm93LCB3aGljaCBoYXMgYSB3ZWJtIHR5cGVmaW5kZXIgaW4gdGhlIHVzdWFsCgkgIHBsYWNlLgoKMjAxMC0wNi0wMSAwOToyNjoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIFJldmVydCAiYXZpbXV4LCBmbHZtdXgsIG1hdHJvc2thbXV4OiBkb24ndCBjcmFzaCBpZiB0YWdzIGFycml2ZSBvbiBtdWx0aXBsZSBpbnB1dCBwYWRzIGF0IHRoZSBzYW1lIHRpbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmE5OTgzY2QyMGM0OGI5NjM5NjIyOWIzZjk0ZDAyNTRhMDVkZGY0OC4KCSAgUmVseSBvbiBsb2NraW5nIGRvbmUgaW4gR3N0VGFnU2V0dGVyIGluIGNvcmUgZ2l0LgoKMjAxMC0wNi0wMSAwOToyMzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBjb3JlL2Jhc2UgZ2l0CgkgIEZvciBXZWJNIHR5cGVmaW5kaW5nIGFuZCBHc3RUYWdzZXR0ZXIgZml4ZXMuCgoyMDEwLTA2LTAxIDA5OjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMyA9PT0KCjIwMTAtMDUtMzAgMTQ6MDM6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIzCgoyMDEwLTA1LTMwIDE0OjAyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDUtMjkgMTA6MjM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHBvc2l0aW9uIHF1ZXJ5CgoyMDEwLTA1LTI4IDE1OjE0OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBkb2NzOiByZW1vdmUgdW5uZWNlc3NhcnkgdmlkZW9yYXRlIGVsZW1lbnQgZnJvbSB3ZWJtbXV4IGV4YW1wbGUgcGlwZWxpbmUKCjIwMTAtMDUtMjggMTA6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBLZWVwIHZhcmlhYmxlcyBpbiBzYW5lIHN0YXRlIGFmdGVyIF9yZXNldAoJICBXaGVuIHJlc2V0aW5nLCBrZWVwICdyb3cnIHZhcmlhYmxlcyBhdCBhIHNhbmUgc3RhdGUgYWZ0ZXIKCSAgZnJlZWluZyB0byBhdm9pZCBpdCBiZWluZyBmcmVlZCBhZ2FpbiBvbiBfcmVzeW5jIHJlYWxsb2MKCSAgd2hlbiB0aGUgZWxlbWVudCBpcyByZXVzZWQuCgkgIEZpeGVzICM2MTk5NDMKCjIwMTAtMDUtMjcgMTg6MDg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggZmxvYXRpbmcgcG9pbnQgdG8gaW50ZWdlciBjb252ZXJzaW9uIGZvciB0aGUgYWxwaGEgdmFsdWVzCgkgIEZpeGVzIGJ1ZyAjNjE5ODM1LgoKMjAxMC0wNS0yNiAwODo1NDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMi4zIHByZS1yZWxlYXNlCgoyMDEwLTA1LTI2IDAwOjMzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA1LTI1IDE1OjM0OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogaGFuZGxlIHRydW5jYXRlZCBpbnB1dCBkYXRhIGF0IEVPUyBpbiBwdWxsIG1vZGUKCSAgRml4ZXMgIzYxNzczMy4KCjIwMTAtMDUtMjYgMTE6NTU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTdiMGRiIHRvIGZkN2NhMDQKCjIwMTAtMDUtMjUgMjE6MTQ6MDUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUm91bmQgdGltZXN0YW1wIHVwIHdoZW4gc2NhbGluZyB0byBtb3YgZm9ybWF0CgkgIEZpeCB0aW1lc3RhbXAgcm91bmRpbmcgdG8gYWxsb3cgdGhlIGNvcnJlY3QgaW5kZXggdG8gYmUgbG9jYXRlZC4KCSAgVGhlIGlzc3VlIHdhcyB0aGF0IHNjYWxpbmcgZnJvbSBHU3RyZWFtZXIgdGltZSBmb3JtYXQgdG8gbW92IHRpbWUgZm9ybWF0IHdhcwoJICByb3VuZGluZyBkb3duIGNhdXNpbmcgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV3c2VnbWVudCBldmVudCByZWNlaXZlZCBhZnRlciBhCgkgIGZsdXNoaW5nIGtleWZyYW1lIHNlZWsgdG8gZmluZCB0aGUgc2FtcGxlIGluZGV4IGJlZm9yZSB0aGUgb25lIGl0IHNob3VsZAoJICBjYXVzaW5nIGZ1cnRoZXIgYmFja3dhcmQgc2Vla2luZyB0byB0aGUga2V5ZnJhbWUgcHJpb3IgdW50aWwgbm8gcm91bmRpbmcgZXJyb3IKCSAgb2NjdXJyZWQuCgkgIFJvdW5kaW5nIHVwIHdoZW4gc2NhbGluZyB0byBtb3YgZm9ybWF0IGhhcyB0aGUgZGVzaXJlZCBlZmZlY3QsIGFuZCBpdCBpcwoJICBub3QgY2xlYXIgd2hldGhlciBqdXN0IHRoZSBfcm91bmQgKCkgdmFyaWFudCB3b3VsZCBiZSBzdWZmaWNpZW50LgoJICBGaXhlcyBidWcgIzYxOTEwNQoKMjAxMC0wNS0yNCAxNzoyNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGF2aW11eCwgZmx2bXV4LCBtYXRyb3NrYW11eDogZG9uJ3QgY3Jhc2ggaWYgdGFncyBhcnJpdmUgb24gbXVsdGlwbGUgaW5wdXQgcGFkcyBhdCB0aGUgc2FtZSB0aW1lCgkgIFRoaXMgaXMgYSB0ZW1wb3JhcnkgZml4IGZvciB0aGUgcmVsZWFzZSBvbmx5LgoJICBGaXhlcyAjNjE5NTMzLgoKMjAxMC0wNS0yNSAxNzowNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhOiByZW1vdmUgZGVsaXZlcnktbWV0aG9kIGZyb20gY2FwcwoJICBXZSBjYW4gYWNjZXB0IGFsbCBkZWxpdmVyeSBtZXRob2RzIHNvIGRvbid0IGFkdmVydGlzZSBhbnl0aGluZyBvbiB0aGUgY2FwcyBvcgoJICBwYXJzZSBhbnl0aGluZywgd2Ugd2lsbCBoYW5kbGUgd2hhdGV2ZXIgd2UgcmVjZWl2ZS4KCSAgRml4ZXMgIzYxODk0MAoKMjAxMC0wNS0yNSAxNTo0MDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2E6IGFkZCB0ZW1wb3Jhcnkgd2VibSB0eXBlZmluZGVyCgkgIEFkZCB3ZWJtIHR5cGVmaW5kZXIganVzdCBmb3IgdGhlIHJlbGVhc2UsIHNvIHdlYm0gd29ya3MgZm9yCgkgIHBlb3BsZSB3aG9zZSBkaXN0cm9zIGRvbid0IHBhdGNoIGdzdC1wbHVnaW5zLWJhc2UgYXMgd2VsbC4KCSAgV2UnbGwgcmVtb3ZlIHRoaXMgYWdhaW4gYWZ0ZXIgdGhlIHJlbGVhc2UuCgoyMDEwLTA1LTIzIDExOjE3OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBkb2NzOiBhZGQgc29tZSBwaXBlbGluZSBleGFtcGxlcyB0byB3ZWJtbXV4IGRvY3MKCjIwMTAtMDUtMjEgMTI6Mjc6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IGFkZCB3ZWJtbXV4IHRvIGRvY3MKCjIwMTAtMDUtMjEgMTM6MDE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2E6IGZpeCB1cCBwbHVnaW4gYW5kIGVsZW1lbnQgZGVzY3JpcHRpb25zIGEgYml0CgoyMDEwLTA1LTIxIDEyOjQ3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4Lmg6CgkgIG1hdHJvc2thOiBtb3ZlIHdlYm1tdXggaW50byBvd24gc291cmNlIGZpbGVzCgkgIE1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIGd0ay1kb2MuCgoyMDEwLTA1LTIxIDEyOjI2OjA1ICswNTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxMC0wNS0yMCAyMDowMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IFJlbW92ZSB0aGUgZG9jdHlwZSBlbnVtLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZQoKMjAxMC0wNS0yMCAxOTo1NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgd2VibW11eDogQWRkIG5ldyB3ZWJtbXV4IGVsZW1lbnQgdGhhdCBvbmx5IHN1cHBvcnRzIG11eGluZyBvZiBXZWJNCgkgIC4uLmFuZCByZW1vdmUgdGhlIGRvY3R5cGUgcHJvcGVydHkgZnJvbSBtYXRyb3NrYW11eCBhZ2Fpbi4KCjIwMTAtMDUtMjAgMTc6MzE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHVuaXQgdGVzdCBjaGVja3MgdmVyc2lvbiAxIGZpbGVzCgoyMDEwLTA1LTE4IDE1OjI3OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogZml4IGxhdGVuY3kgcXVlcnkKCSAgU3BlZXggc2hvdWxkIHJlcG9ydCAzMCBtcyBsYXRlbmN5IGZvciBuYXJyb3diYW5kIG1vZGUsIDM0IG90aGVyd2lzZS4KCSAgRml4ZXMgIzYxOTAxOAoKMjAxMC0wNS0xOCAyMTowNDozMiArMDgwMCAgUGhpbGlwIDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbHJlYWQ6IHJtIGZsb2F0Y2FzdC5oIGluY2x1ZGUgKG5vdCB1c2VkKQoKMjAxMC0wNS0xNyAwNTozNjowMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJ1bXAgZGVmYXVsdCBkb2N0eXBlIHZlcnNpb24gdG8gMgoJICBJbiB0aGlzIGRheSBhbmQgYWdlIHRoaXMgc2hvdWxkIGJlIHNhZmUuIFRoZXJlJ3Mgb3RoZXJ3aXNlIGEgcmlzayBwZW9wbGUKCSAgd2lsbCBiZSBjcmVhdGluZyB1bm5lY2Nlc3NhcmlseSBiaWcgV2ViTSBmaWxlcyBhcyB0aGV5IGNhbid0IHVzZQoJICBTaW1wbGVCbG9jayBpbiB2MS4KCjIwMTAtMDUtMTcgMDU6Mjc6NDQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogaGFuZGxlIG1hdHJvc2thIGFuZCB3ZWJtIGRvY3R5cGUgdmVyc2lvbnMgZXF1YWxseQoJICBUaGUgb3JpZ2luYWwgcGxhbiB3YXMgdG8gbGV0IFdlYk0gdjEgYmUgdGhlIHNhbWUgYXMgTWF0cm9za2EgdjIgKHdpdGgKCSAgZXh0cmEgY29uc3RyYWludHMpLCBidXQgZm9yIHNpbXBsaWNpdHkgaXQgd2FzIGRlY2lkZWQgdG8gaGFuZGxlIHRoZQoJICB2ZXJzaW9ucyBlcXVhbGx5LCBzdWNoIHRoYXQgZS5nLiBTaW1wbGVCbG9jayBpcyBvbmx5IGFsbG93ZWQgaW4gV2ViTSB2Mi4KCjIwMTAtMDUtMTMgMTI6MTA6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVmVyaWZ5IGxhY2Ugc2l6ZSBpbiBfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jawoJICBGYWlsdXJlIHRvIGRvIHRoaXMgZm9yIGNvcnJ1cHQgaW5wdXQgY2FuIGNhdXNlIGEgc3ViYnVmZmVyIGJpZ2dlcgoJICB0aGFuIHRoZSBhY3R1YWwgYnVmZmVyIHRvIGJlIGNyZWF0ZWQsIHF1aWNrbHkgbGVhZGluZyB0byBzZWdmYXVsdC4KCSAgVGVzdCBjYXNlOgoJICBidWdfczIyMjAwNTc1MV9yMC4wMDFfX19fbWVtY3B5LndlYm0KCjIwMTAtMDUtMTMgMTA6MjM6MTAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZWJtbDogY3J1ZGUgaGFjayB0byBhdm9pZCBjcmFzaGluZyBvbiB1bmV4cGVjdGVkIG1ldGFkYXRhCgkgIFRoZSBjb21tZW50IHNheXMgdGhpcyBjYW5ub3QgaGFwcGVuLCBidXQgaXQgZGlkIGFuZCBJIGRvbid0IGtub3cKCSAgd2h5LiBUaGlzIGlzIG5vdCB0aGUgY29ycmVjdCBmaXgsIG5lZWRzIGludmVzdGlnYXRpb24uIFRlc3QgY2FzZToKCSAgYnVnX3M1NTUwMTAwOTRfcjAuMDAwNTowLjAwOF9fX19JQV9fZ19hc3NlcnRpb25fbWVzc2FnZV9leHByLndlYm0KCjIwMTAtMDUtMTMgMDk6MTg6NTYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIGVibWw6IGRvbid0IG1vZGlmeSBvdXQgc3RyIGlmIHJldHVybmluZyBhbiBlcnJvciBpbiBfcmVhZF9hc2NpaQoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIEFTQ0lJIHZhbGlkYXRpb24gY2hhbmdlcy4gVGVzdCBjYXNlOgoJICBidWdfczY2ODc2MzkwX3IwLjAwMV9fX19tYWxsb2NfcHJpbnRlcnIud2VibQoKMjAxMC0wNS0xMiAxMzoxNjoyOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbDogVmFsaWRhdGUgNy1iaXQgQVNDSUkgaW4gZ3N0X2VibWxfcmVhZF9hc2NpaQoJICBUaGlzIHdhcyB0cmlnZ2VyaW5nIGFuIFVURi04IGFzc2VydGlvbiBpbiBnc3RfY2Fwc19zZXRfc2ltcGxlIGZvcgoJICBjb3JydXB0IGZpbGVzIHdpdGggZ2FyYmFnZSBhcyBjb2RlYyBpZC4gVGVzdCBjYXNlOgoJICBnc3RyZWFtZXJfZXJyb3JfdHJ5aW5nX3RvX3NldF9pbnZhbGlkX3V0ZjhfYXNfY29kZWNfaWQud2VibQoJICBPbGQgZ3N0X2VibWxfcmVhZF9hc2NpaSByZW5hbWVkIHRvIGdzdF9lYm1sX3JlYWRfc3RyaW5nLCBhbHNvIHVzZWQgYnkKCSAgZ3N0X2VibWxfcmVhZF91dGY4LiBVbmxpa2UgZm9yIFVURi04LCBmYWlsdXJlIHRvIHZhbGlkYXRlIGlzIGFuIGVycm9yLAoJICBhcyBnc3RfZWJtbF9yZWFkX2FzY2lpIGlzIHVzZWQgZm9yIHJlYWRpbmcgZG9jdHlwZSBhbmQgY29kZWMgaWQgYW5kIHdlCgkgIG1pZ2h0IGp1c3QgYXMgd2VsbCBnaXZlIHVwIGVhcmx5IGluIHRob3NlIGNhc2VzLgoKMjAxMC0wNS0xMiAxNDozMDoxOCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJZ25vcmUgdW5leHBlY3RlZCBDb2RlY1N0YXRlCgkgIEJlY2F1c2UgR3N0TWF0cm9za2FUcmFja0NvbnRleHQgKnN0cmVhbSBpcyBzZXQgdXAgaW4gdGhlIGZpcnN0CgkgIFNpbXBsZUJsb2NrIG9yIEJsb2NrLCBhIHJvZ3VlIENvZGVjU3RhdGUgb3RoZXJ3aXNlIGNhdXNlcyBhIHNlZ2ZhdWx0IG9uCgkgIGRlcmVmZW5jaW5nIHRoZSBOVUxMIHBvaW50ZXIuIFRlc3QgY2FzZToKCSAgYnVnX3M1NTA2MTY3X3IwLjAwMV9fX19nc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jay53ZWJtCgoyMDEwLTA1LTEwIDA2OjAwOjQ5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCB2aWRlby93ZWJtIHNpbmsgY2FwcwoKMjAxMC0wNS0wOSAxOTo0Njo1MSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFVzZSBTaW1wbGVCbG9jayBmb3IgV2ViTSB3aGVuIHBvc3NpYmxlCgoyMDEwLTA1LTA5IDE5OjI4OjU5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFN1cHBvcnQgIndlYm0iIERvY1R5cGUKCjIwMTAtMDUtMDkgMTI6MzU6MTAgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHJlbmFtZSBtYXRyb3NrYV92ZXJzaW9uIHRvIGRvY3R5cGVfdmVyc2lvbgoKMjAxMC0wNS0wOSAxMjowOTo1NyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IFN1cHBvcnQgIndlYm0iIERvY1R5cGUKCjIwMTAtMDUtMTIgMTg6Mzg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgVlA4CgoyMDEwLTA0LTI3IDE1OjI2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBPbjIgVlA4CgkgIC4uLm1hdHJvc2thZGVtdXggYXV0b21hdGljYWxseSBzdXBwb3J0cyBpdCB0aHJvdWdoIGxpYmdzdHJpZmYuCgoyMDEwLTA0LTI3IDE1OjI1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIHN1cHBvcnQgZm9yIE9uMiBWUDgKCSAgLi4uYXZpZGVtdXggYXV0b21hdGljYWxseSBzdXBwb3J0cyBpdCB0aHJvdWdoIGxpYmdzdHJpZmYuCgoyMDEwLTA1LTE3IDE3OjE3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBEb24ndCBsb2NrIHRoZSBtYWlubG9vcCBpbiBOVUxMCgoyMDEwLTA1LTE1IDIxOjE1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgPSBpbnN0ZWFkIG9mID09IGluIHNoZWxsIHNjcmlwdHMgZm9yIGVxdWFsaXR5IGNoZWNrcwoKMjAxMC0wNS0xNCAxODozMzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMi4yIHByZS1yZWxlYXNlCgoyMDEwLTA1LTE0IDE4OjI0OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGQ2N2JkNiB0byAzNTdiMGRiCgoyMDEwLTA1LTE0IDE4OjE2OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggbGVhayBpbiBzb3VwaHR0cHNyYyB1bml0IHRlc3QKCSAgVW5yZWYgc2VydmVyIG9iamVjdHMgd2hlbiBkb25lLiBGaXhlcyBjaGVjay12YWxncmluZC4KCjIwMTAtMDUtMTQgMTc6MzA6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmaXggdHdvIGxlYWtzCgkgIERvbid0IGxlYWsgb3RoZXJjYXBzIG9yIGpwZWdlbmMgcmVmLgoKMjAxMC0wNS0xMyAxMzowMToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBkb2NzCgkgIERvY3VtZW50YXRpb24gZXJyb3Igc3BvdHRlZCBieSB0b255IDxjYWljYWkwMTE5IGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYxODQxOQoKMjAxMC0wNS0xMSAxMzoxODo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogbWFrZSBkZWxpdmVyeS1tZXRob2QgcGFyYW1ldGVyIG9wdGlvbmFsCgkgIEl0IHByb2JhYmx5IHdpbGwgbm90IGJlIGluIHRoZSBmaW5hbCBSRkMgYXMgaXQgaXMgbm90IGluIFJGQyA1MjE1IGZvciBWb3JiaXMuCgkgIElmIHRoZXJlIGlzIGEgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQsIGFzc3VtZSBpdCBpcyBpbi1saW5lIGFuZCBpZiBub3RoaW5nIGlzCgkgIHNwZWNpZmllZCwgYXNzdW1lIGl0IGlzIGluLWJhbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTgzODYKCjIwMTAtMDUtMTMgMTI6MTY6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGluY3JlYXNlIGFjY2VwdGFibGUgb3V0cHV0IHNpemVzCgkgIFdlIGNhbiBwZXJmZWN0bHkgZGVjb2RlIDF4MSBpbWFnZXMgc28gbG93ZXIgdGhlIG1pbiB3aWR0aCBhbmQgaGVpZ2h0IHRvIDEuCgkgIEZpeGVzICM2MTgzOTIKCjIwMTAtMDUtMTMgMTE6MzA6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheTogZml4IHF1ZXVlIGR1cmF0aW9uIGNhbGN1bGF0aW9ucwoJICBEb24ndCBibGluZGx5IGFkZCB0aGUgZHVyYXRpb25zIG9mIGluY29tbWluZyBidWZmZXJzIHRvIHRoZSB0b3RhbCBxdWV1ZWQKCSAgZHVyYXRpb24gYmVjYXVzZSBpdCBtaWdodCBiZSBpbnZhbGlkLiBNYXJrIHRoZSB0b3RhbCBxdWV1ZWQgZHVyYXRpb24gaW52YWxpZAoJICB3aGVuIHdlIHJlY2VpdmUgYW4gaW52YWxpZCBpbmNvbW1pbmcgdGltZXN0YW1wIGJlY2F1c2UgdGhhdCdzIHdoZW4gd2UgbG9zZSB0cmFjawoJICBvZiB0aGUgdG90YWwgcXVldWVkIGR1cmF0aW9uLgoJICBGaXhlcyAjNjE4MzI0CgoyMDEwLTA1LTEwIDExOjE0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBleHRyYWN0IFNQUyBhbmQgUFBTIGZyb20gcHJvcGVydHkgcHJvdmlkZWQgcGFyYW1ldGVyIHNldAoJICAuLi4gc28gaXQgY2FuIGFsc28gYmUgcmVndWxhcmx5IGluc2VydGVkIGludG8gdGhlIHN0cmVhbSBpZiBzbyBjb25maWd1cmVkLgoJICBGaXhlcyAjNjE3MTY0LgoKMjAxMC0wNS0xMSAyMjoyODowOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWxsb3cgc3dpdGNoaW5nIHZpZXdzIGF0IHJ1bnRpbWUuCgoyMDEwLTA1LTExIDIwOjI2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlIHRvIGZpeCBtYWtlIGRpc3RjaGVjawoKMjAxMC0wNS0xMSAxOTowNTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgb3NzNDogbWlub3IgY2xlYW51cAoJICBSZW1vdmUgZml4ZWQgRklYTUUsIGNoYW5nZSBmaW5hbGlzZSB0byBmaW5hbGl6ZSBmb3IgY29uc2lzdGVuY3kuCgoyMDEwLTA1LTExIDE5OjAxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSAgZG9jczogYWRkIG9zczQgZWxlbWVudHMgdG8gZG9jcwoKMjAxMC0wNS0xMSAxNjowOToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IG1vdmUgb3NzNCBzdHJpbmdzIGZyb20gLWJhZCB0byAtZ29vZAoKMjAxMC0wNS0xMSAxNjowODoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogcG8vUE9URklMRVMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgb3NzNCBwbHVnaW4gZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUsIGRvY3MgYW5kIHRlc3RzLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0yOSAxMzoxODo1OCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICBvc3M0c2luazogaW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UgYW5kIGFkZCBtdXRlIGFuZCB2b2x1bWUgcHJvcGVydGllcwoJICBPU1M0IHN1cHBvcnRzIHBlci1zdHJlYW0gdm9sdW1lIGNvbnRyb2wsIHNvIGV4cG9zZSB0aGlzIHVzaW5nIHRoZSByaWdodAoJICBBUEksIHNvIHRoYXQgcGxheWJpbjIgYW5kIGFwcGxpY2F0aW9ucyBsaWtlIHRvdGVtIGNhbiBtYWtlIHVzZSBvZiBpdAoJICAoaW5zdGVhZCBvZiB1c2luZyBhIHZvbHVtZSBlbGVtZW50IGZvciB2b2x1bWUgY29udHJvbCkuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTA4IDEwOjQ1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogOC1iaXQgUENNIGF1ZGlvIGNhcHMgZG9uJ3QgbmVlZCBhbiBlbmRpYW5uZXNzIGZpZWxkCgoyMDEwLTA0LTA4IDEwOjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogZG9uJ3QgaXRlcmF0ZSB0aGUgZm9ybWF0cyB0YWJsZSB0d2ljZSBmb3IgZWFjaCBlbnRyeQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgZm9ybWF0cyB0YWJsZSwgd2UgY2FuIGp1c3QgcGFzcyB0aGUgd2hvbGUKCSAgZW50cnkgdG8gb3VyIGhlbHBlciBmdW5jdGlvbiwgd2hpY2ggYXZvaWRzIGl0ZXJhdGluZyB0aGUgdGFibGUKCSAgYWdhaW4gdG8gZmluZCB0aGUgZW50cnkgc3RydWN0dXJlIGZyb20gdGhlIHBhc3NlZCBmb3JtYXQgaWQuCgoyMDEwLTAzLTMwIDExOjQzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogYWxzbyBhY2NlcHQgZm9ybWF0cyBub3QgbmF0aXZlbHkgc3VwcG9ydGVkCgkgIEFsc28gYWNjZXB0IGZvcm1hdHMgdGhhdCBhcmUgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZCBieSB0aGUKCSAgaGFyZHdhcmUsIE9TUzQgY2FuIGNvbnZlcnQgdGhlbSBpbnRlcm5hbGx5LiBMaXN0IHRoZSBuYXRpdmUKCSAgZm9ybWF0cyBmaXJzdCBpbiB0aGUgY2FwcyB0aG91Z2gsIHRvIGV4cHJlc3Mgb3VyIHByZWZlcmVuY2UKCSAgZm9yIHRoZSBuYXRpdmUgZm9ybWF0cy4gV2UgbmVlZCB0aGlzIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlCgkgIGNhc2UgcHJvcGVybHkgd2hlcmUgdGhlIGF1ZGlvIGhhcmR3YXJlIHN1cHBvcnRzIG9ubHkgZS5nLgoJICBsaXR0bGUgZW5kaWFuIFBDTSwgYnV0IHRoZSBob3N0IGlzIGJpZyBlbmRpYW4sIHNpbmNlIG1hbnkKCSAgYXVkaW8gZWxlbWVudHMgb25seSBzdXBwb3J0IG5hdGl2ZSBlbmRpYW5uZXNzIGFuZCBtYWtlIHRoZQoJICByZWFzb25hYmxlIGFzc3VtcHRpb24gdGhhdCBhbnkgYXVkaW9zaW5rIHdpbGwgYmUgYWJsZSB0bwoJICBoYW5kbGUgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgkgIEZpeGVzICM2MTQzMTcuCgoyMDEwLTAzLTMwIDAxOjE0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzCgkgIE5vdCB0aGF0IHRoYXQgd2lsbCBtYWtlIHRoZXNlIHN0cmluZ3MgbXVjaCBiZXR0ZXIuIEFsc28gcmVtb3ZlIGkxOG4KCSAgbWFya2VyIHdoZXJlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCjIwMTAtMDMtMjIgMTY6MTM6MTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogUmVmYWN0b3IgY29kZSB0byBtYWtlIGl0IGxvb2sgbW9yZSBtb2Rlcm4KCSAgQSBzaWRlIGVmZmVjdCBpcyB0aGF0IGl0IHBhc3NlcyAtV2Zvcm1hdC1ub25saXRlcmFsIGFuZCBkb2Vzbid0IHJlYWQKCSAgaW52YWxpZCBtZW1vcnkgaW4gc29tZSBjYXNlcywgbGlrZSB3aGVuIHRoZSBtaXhlciB0cmFjayBjb250YWlucwoJICBhICUgc2lnbiBvciB0aGVyZSBpcyBhIG51bWJlciBidXQgbm90IGEga25vd24gbWl4ZXIgbmFtZS4KCjIwMTAtMDMtMjIgMTQ6MDk6MjQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXZvaWQgZ19xdWFya190b19zdHJpbmcgKGdfcXVhcmtfZnJvbV9zdHJpbmcgKCkpIG1hZG5lc3MKCSAgV2UgdG8gdGhlIHN0cmR1cCBpbnNpZGUgZ3N0X29zczRfbWl4ZXJfY29udHJvbF9nZXRfdHJhbnNsYXRlZF9uYW1lKCkKCSAgaW5zdGVhZCBvZiBpbiB0aGUgb25seSBjYWxsZXIuCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMS0yMCAxMzoyOTo1MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgcmV0dXJuIHZhbHVlCgoyMDA5LTA4LTIxIDAxOjE3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogZml4IHRlc3Qtb3NzNCB0byB0cmVhdCBhbiBlbXB0eSBkZXZpY2UgbmFtZSB0aGUgc2FtZSBhcyBhIE5VTEwgbmFtZQoKMjAwOS0wNy0xNiAxMzo1NToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdHRlbXB0IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgRG9uJ3Qgc3RvcmUgYSBjb25zdCBnY2hhciAqIGluIGEgbm9uLWNvbnN0IGdjaGFyICogbG9jYWwgdmFyLgoJICBBbHNvLCBtYWtlIHRoZSB0cmFuc2xhdGlvbiBzdHJpbmcgZnVuY3Rpb24gc3RhdGljIHNpbmNlIGl0J3Mgb25seQoJICB1c2VkIGluIHRoZSBvbmUgZmlsZS4KCjIwMDktMDYtMTAgMTk6MjE6MjEgKzAxMDAgIEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBFbmhhbmNlbWVudHMgdG8gdGhlIG1peGVyIGFuZCBhdWRpbyBvdXRwdXQKCSAgQ29kZSBjbGVhbnVwcywgZ2VuZXJhbCBpbXByb3ZlbWVudHMsIHN1cHBvcnQgZm9yIHRoZQoJICBuZXcgbWl4ZXIgZmxhZ3MgaW4gbGF0ZXN0IGdzdC1wbHVnaW5zLWJhc2UuCgkgIEZpeGVzOiAjNTg0MjUyCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0xMiAyMTo1MjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzNC86IEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBGaXhlczogIzU1NTk2OSAjNTU1OTY4ICM1NTU5NjUKCjIwMDgtMDgtMDcgMTY6MjA6MzAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19wbHVnaW5faW5pdCk6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMTIgMTM6MDY6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDUtMjIgMTY6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcyB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogKG9wdF9zaG93X21peGVyX21lc3NhZ2VzKSwgKFdBSVRfVElNRSksCgkgIChzaG93X21peGVyX21lc3NhZ2VzKSwgKHByb2JlX21peGVyX3RyYWNrcyksIChwcm9iZV9wYWQpLAoJICAocHJvYmVfZGV0YWlscyksIChwcm9iZV9lbGVtZW50KSwgKG1haW4pOgoJICBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMKCSAgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhdC4gQWxzbyBhbGxvd3MgdGVzdGluZyBvZgoJICBtaXhlciBjaGFuZ2UgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDgtMDUtMjIgMTU6MTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzNC86IE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzogKGdzdF9vc3M0X21peGVyX29wZW4pOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWUpLAoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZV9ub2ZkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6IChnc3Rfb3NzNF9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlCgkgIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoKMjAwOC0wNS0wOCAxOToxNjoxNyArMDAwMCAgQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHRAbnRsd29ybGQuY29tPgoKCSAgc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywgc28gbWFzayB0aG9zZSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHQgbnRsd29ybGQgY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IChnc3Rfb3NzNF9taXhlcl9zbGlkZXJfdW5wYWNrX3ZvbHVtZSk6CgkgIEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsCgkgIHNvIG1hc2sgdGhvc2Ugb3V0IHdoZW4gcmVhZGluZyB0aGVtLiBQcm9iYWJseSBtYWtlcyB0aGUgbWl4ZXIgYXBwbGV0CgkgIHdvcmsgcHJvcGVybHkgaW4gc29tZSBtb3JlIGNhc2VzLgoKMjAwOC0wNC0xMSAwODoxMzoyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvb3NzNC86IEZpeCBhcmd1bWVudHMgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTExICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAoZ3N0X29zczRfbWl4ZXJfZW51bV9nZXRfdmFsdWVzX2xvY2tlZCk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9kZWxheSk6IEZpeCBhcmd1bWVudHMKCSAgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA0LTAyIDIwOjE4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwKCSAgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgoyMDEwLTA1LTExIDEwOjUyOjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSB4b3ZlcmxheSBpbnRlcmZhY2UuIEZpeGVzICM2MTgzNDkuCgoyMDEwLTA1LTExIDE4OjQyOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHB1c2ggYmFzZWQgc2Vla2luZwoJICAuLi4gd2hlcmUgaXQgY29tZXMgZG93biB0byB0cmFuc2Zvcm1pbmcgaW5jb21pbmcgQllURSBzZWdtZW50CgkgIHRvIGEgY29ycmVzcG9uZGluZyBUSU1FIHNlZ21lbnQuCgkgIEFsc28gZml4ZXMgIzYwOTQwNS4KCjIwMTAtMDUtMTEgMTQ6MjM6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlIGltYWdlZnJlZXplIHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSwgZG9jcyBhbmQgdW5pdCB0ZXN0IGZvciBuZXcgcGx1Z2luLgoJICBGaXhlcyAjNjEzNzg2LgoKMjAxMC0wNS0wNSAxMjoyMzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBjb3JyZWN0IHBhZAoJICBUaGlzIG1ha2VzIHRoZSBzaW5rIGdldGNhcHMgZnVuY3Rpb24gYWN0dWFsbHkgdXNlZCBpbnN0ZWFkIG9mIHVzaW5nCgkgIHRoZSBmaXhlZCBjYXBzIGZ1bmN0aW9uIGZvciBpdC4KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0xNSAxMTo1NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IE9ubHkgc3RhcnQgdGhlIHRhc2sgYWZ0ZXIgYSBzZWVrIGlmIGEgYnVmZmVyIHdhcyByZWNlaXZlZCBhbHJlYWR5CgoyMDEwLTAyLTI4IDE2OjA4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgc29tZSB1bml0IHRlc3RzCgoyMDEwLTAyLTI4IDE2OjA0OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHVuZGVmaW5lZCBmcmFtZXJhdGUgaW4gc2luayBnZXRjYXBzIGZ1bmN0aW9uCgoyMDEwLTAyLTI4IDE1OjAyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgYW5kIHNldCBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wMi0yNyAxNzozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzdGlsbCBmcmFtZSBzdHJlYW0gZ2VuZXJhdG9yIGVsZW1lbnQKCjIwMTAtMDUtMTEgMTM6MDc6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZSBjYXBzZmlsdGVyIGVsZW1lbnQgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEhvb2sgdXAgbW92ZWQgZmlsZXMgdG8gdGhlIGJ1aWxkIGluZnJhc3RydWN0dXJlIGFuZCBkb2NzLgoJICBGaXhlcyAjNjE3NzM5LgoKMjAxMC0wNS0wNiAxMzoxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMC0wOCAxOTo1MTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IGFkZCB1bml0IHRlc3QKCjIwMDktMDYtMjUgMTY6NDE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IGltcG9ydCBlbGVtZW50IGludG8gLWJhZAoKMjAxMC0wNS0xMSAxMjowNjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNoZWNrIHRoYXQgcGFkcyBoYXZlIGJlZW4gbmVnb3RpYXRlZAoJICBBbHNvIHNldCBmY2NfaGFuZGxlciBmaWVsZCBpbiBhdWRpbyBzdHJlYW0gaGVhZGVyLgoJICBGaXhlcyAjNjE4MzUxLgoKMjAxMC0wNS0xMCAxODozMzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwYXJ0aWFsIHBhcnNpbmcgb2YgY3R0cyB0YWJsZQoJICBGaXhlcyAjNjE2NTE2LgoKMjAxMC0wNS0xMCAxODozMjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNsZWFudXAgYSBjb21tZW50IGFuZCBhZGQgc29tZSBkZWJ1ZyBhbmQgY29uZGl0aW9uYWwgY29tcGlsYXRpb24KCjIwMTAtMDUtMTEgMTA6MDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBHVEsrIDMuMCBhbmQgaWYgaXQncyBub3QgYXZhaWxhYmxlIGZvciBHVEsrIDIuMAoKMjAxMC0wNS0xMCAyMjoxMToxMCArMDIwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogb25seSBzdG9yZSB0aGUgbGFzdCBidWZmZXIgdGltZXN0YW1wIGlmIGl0J3MgdmFsaWQKCSAgRml4ZXMgYnVnICM2MTgzMDUKCjIwMTAtMDEtMDggMjI6MTM6NTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBSZS1zZW5kIFNQUy9QUFMgd2hlbiByZXF1ZXN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY4OQoKMjAxMC0wNS0wNyAxNzowOToxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNS0wNyAxNTo0MjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBydHB0aGVvcmFwYXk6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgY29uZmlndXJhdGlvbiBoZWFkZXJzIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEga2V5ZnJhbWUgaXMgY291bnRlcmVkKS4KCjIwMTAtMDUtMDcgMTU6MzE6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogZml4IGluLWJhbmQgY29uZmlndXJhdGlvbiBwYXJzaW5nCgkgIEFsc28gbWFrZSBjb25maWd1cmF0aW9uIGhlYWRlciBwYXJzaW5nIGEgYml0IG1vcmUgcmVsYXhlZCB3aXRoIHJlc3BlY3QKCSAgdG8gbGVuZ3RoIGZpZWxkIGludGVycHJldGF0aW9uLgoKMjAxMC0wNS0wNyAxNTozMDozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBmaXggaW4tbGluZSBjb25maWd1cmF0aW9uIHBhcnNpbmcKCSAgQWxzbyBtYWtlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIHBhcnNpbmcgYSBiaXQgbW9yZSByZWxheGVkIHdpdGggcmVzcGVjdAoJICB0byBsZW5ndGggZmllbGQgaW50ZXJwcmV0YXRpb24uCgoyMDEwLTA1LTA0IDE2OjU3OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZG8gbm90IGRpc2NhcmQgZG93bnN0cmVhbSBmbG93IHJldHVybgoKMjAxMC0wNS0wNCAxNjo1NzoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IHJlZmFjdG9yIGJ1ZmZlciBwYXlsb2FkaW5nCgoyMDEwLTA1LTA3IDIwOjQxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMTAtMDUtMDcgMTk6MDY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCByZXR1cm4gdmFsdWUKCjIwMTAtMDUtMDcgMTk6MDI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdGhlIHNlc3Npb24KCjIwMTAtMDUtMDcgMTg6NTk6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGNvbmZpZ3VyZSBiYW5kd2lkdGggcHJvcGVydGllcyBpbiB0aGUgc2Vzc2lvbgoKMjAxMC0wNS0wNyAxODo1ODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIHRoZSBiYW5kd2lkdGgKCSAgQWRkIHByb3BlcnRpZXMgdG8gcHJveHkgdGhlIGJhbmR3aWR0aCBjb25maWd1cmF0aW9uIHRvIHRoZSBzZXNzaW9uIG9iamVjdC4KCjIwMTAtMDUtMDcgMTg6NTc6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogYWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIGJhbmR3aWR0aHMKCSAgQWRkIHByb3BlcnRpZXMgdG8gY29uZmlndXJlIHRoZSBzZW5kZXIgYW5kIHJlY2VpdmVyIGJhbmR3aWR0aHMuCgkgIENvbmZpZ3VyZSB0aGUgYmFuZHdpZHRocyBiZWZvcmUgY2FsY3VsYXRpbmcgdGhlIFJUQ1AgdGltZW91dCB3aGVuIHdlIG5lZWQgdG8uCgoyMDEwLTA1LTA3IDE4OjU2OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc3RhdHM6IGFkZCBzb21lIGRlYnVnIGluZm8KCjIwMTAtMDUtMDcgMTg6NTU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNtYWxsIGNsZWFudXBzCgoyMDEwLTA1LTA3IDE2OjU1OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IG1ha2UgYmFuZHdpZHRocyBtb3JlIGNvbmZpZ3VyYWJsZQoJICBBZGQgYSBtZXRob2QgdG8gY29uZmlndXJlIHRoZSB2YXJpb3VzIGJhbmR3aWR0aHMgaW4gdGhlIHNlc3Npb24uCgoyMDEwLTA1LTA3IDEzOjMyOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBoYW5kbGUgTk9ORSBSVENQIGludGVydmFscwoJICBQcmVwYXJlIGZvciBoYW5kbGluZyBSVENQIHJlcG9ydGluZyBpbnRlcnZhbHMgb2YgR1NUX0NMT0NLX1RJTUVfTk9ORSwgd2hpY2gKCSAgbWVhbnMgZG9uJ3Qgc2VuZCBSVENQIGF0IGFsbC4KCjIwMTAtMDUtMDcgMTI6NTE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZmFsbCBiYWNrIHRvIFNEUCBwb3J0cyBpbnN0ZWFkIG9mIHNlcnZlcl9wb3J0CgkgIEluIG11bHRpY2FzdCwgZmFsbCBiYWNrIHRvIHRoZSBwb3J0cyBpbiB0aGUgU0RQIGluc3RlYWQgb2YgdGhlIHNlcnZlcl9wb3J0CgkgIGF0dHJpYnV0ZSBhcyB0aGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBSRkMuCgoyMDEwLTA1LTA3IDEyOjI0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZWZhY3RvciBjb2xsZWN0aW5nIHRoZSB0cmFuc3BvcnQgaW5mbwoJICBNYWtlIGEgbWV0aG9kIHRvIGNvbGxlY3QgdGhlIHBvcnRzIGFuZCBkZXN0aW5hdGlvbiBhZGRyZXNzLgoKMjAxMC0wNS0wNyAxMToyODozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlcnZlcnMgdGhhdCBzZW5kIGJyb2tlbiBUcmFuc3BvcnRzCgkgIEhhbmRsZSBzZXJ2ZXJzIHRoYXQgc2VuZCB0aGVpciBwb3J0IHBhaXJzIHdpdGggdGhlIHdyb25nIG5hbWUuCgkgIEZpeGVzICM2MTc1MzcKCjIwMTAtMDUtMDYgMTY6NTI6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdXNlIHRoZSBTRFAgY29ubmVjdGlvbiBpbmZvIGluIG11bHRpY2FzdAoJICBQYXJzZSB0aGUgY29ubmVjdGlvbiBpbmZvIGZyb20gdGhlIFNEUC4KCSAgV2hlbiB3ZSBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgbXVsdGljYXN0IGRlc3RpbmF0aW9uLCBmYWxsIGJhY2sgdG8gdGhlIFNEUAoJICBjb25uZWN0aW9uIGluZm8gd2hlbiB0aGUgdHJhbnNwb3J0IGRpZCBub3Qgc3BlY2lmeSBhIGRlc3RpbmF0aW9uIGFuZCB0dGwuCgkgIEZpeGVzICM2MTc1MzcKCjIwMTAtMDUtMDYgMTU6NDI6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBnb29tLG1vbm9zY29wZTogdHJ1bmNhdGUgb3duIGNhcHMsIGluc3RlYWQgb2YgY29weWluZyBhbmQgdXNpbmcgdGhlIGZpcnN0IG9ubHkKCSAgV2UgZ290IHRoZSBjYXBzIGZyb20gYW4gaW50ZXJzZWN0LCBpdCBpcyBvdXIgb3duLCBoZW5jZSB3ZSBjYW4gdHJ1bmNhdGUgaXQuCgoyMDEwLTA1LTA2IDE1OjQwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHJlZmxvdyB0byB0cnVuY2F0ZSBjYXBzIGp1c3Qgb25jZQoJICBXZSBnZXQgd3JpdGFibGUgY3BhcyBmcm9tIHRoZSBpbnRlcnNlY3Rpb24gKHVubGVzcyBpdCBmYWlsZWQpLiBBcyB3ZSB0cnVuY2F0ZQoJICB0aG9zZSBhbnl3YXksIHdlIGRvbid0IG5lZWQgdG8gbWFueWFseSBjb3B5IHRoZSBmaXJzdCBzdHJ1Y3R1cmUuCgoyMDEwLTA1LTA2IDE1OjM5OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmOiBkb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDUtMDYgMTU6Mzg6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99e3NyYyxzaW5rfTogdXNlIGNhbl9pbnRlcnNlY3QgdG8gYXZvaWQgYSBjYXBzIGNvcHkKCjIwMTAtMDQtMjcgMTM6MzY6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHRlbGwgd2hhdCB3ZSBjYW4gZG8KCSAgQW55LWNhcHMgYXJlIGJhZC4gSWYgYXBwcyBzY2FuIHRoZSByZWdpc3RyeSwgdGhleSdkIGxpa2UgdG8ga25vdyB3aGF0IHdlIGNhbgoJICBvdXRwdXQuCgoyMDEwLTA0LTI3IDEzOjQzOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGFsc28gbGlmdCB0aGUgYXJiaXRyYXJ5IHJlc3RyaWN0aW9ucyBmb3Igd2lkdGggYW5kIGhlaWdodAoJICBUaGlzIHdhcyBhbHJlYWR5IGRvbmUgZm9yIGpwZWdkZWMuCgoyMDEwLTA1LTA2IDE0OjAzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogQWxsb2NhdGUvZnJlZSBQQSBtYWlubG9vcCBkdXJpbmcgc3RhdGUgY2hhbmdlcwoJICAuLi5hbHNvIGRlc3Ryb3kgdGhlIHN0cmVhbSBhbmQgY29udGV4dCBkdXJpbmcgc3RhdGUgY2hhbmdlcy4KCjIwMTAtMDUtMDYgMTM6NTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsbG9jYXRlIGFuZCBmcmVlIHRoZSBjdXN0b20gY2xvY2sgaW4gTlVMTDwtPlJFQURZCgoyMDEwLTA1LTA2IDEzOjUxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDcmVhdGUgYW5kIGZyZWUgdGhlIFBBIG1haW5sb29wIGluIE5VTEwtPlJFQURZL1JFQURZLT5OVUxMCgkgIFRoaXMgZml4ZXMgYSByYWNlIGNvbmRpdGlvbiwgd2hlbiBzdG9wcGluZyB0aGUgbWFpbmxvb3AgZHVyaW5nIGZpbmFsaXphdGlvbgoJICBpcyBkb25lIGZyb20gYSBtYWlubG9vcCBjYWxsYmFjay4KCSAgRml4ZXMgYnVncyAjNjE0NzY1IGFuZCAjNTkwNjYyLgoKMjAxMC0wNS0wNSAxOTozNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2Ugc2VsZWN0aW9uIG9mIGEgc2lua3BhZCBudW1iZXIgdGhyZWFkc2FmZQoKMjAxMC0wNS0wNSAxNzozOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIGFsbCBjb21tb24gUkdCIGZvcm1hdHMKCjIwMTAtMDUtMDUgMTY6MDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgQVlVVgoKMjAxMC0wNS0wNCAxNjozNDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzZXR1cCB1cmwgaW4gYSBzbWFydGVyIHdheQoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlcGFyYXRlIHRoZSBiYXNlIGFuZCBjb250cm9sIHVybCBwYXJ0cyB3aXRoIGEgLyB3aGVuCgkgIGNyZWF0aW5nIHRoZSBzZXR1cCB1cmwuCgoyMDEwLTA1LTA0IDE2OjA0OjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIFNFRUtJTkcgcXVlcmllcy4KCjIwMTAtMDUtMDQgMTE6MTM6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhZGQgY29uZmlnLWludGVydmFsIHBhcmFtZXRlciB0byByZS1pbnNlcnQgY29uZmlnIGluIHN0cmVhbQoJICBBZGQgYSBuZXcgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIGluc3RydWN0IHRoZSBwYXlsb2FkZXIgdG8gaW5zZXJ0CgkgIGNvbmZpZyAoVk9TSCwgVk9TLCBldGMpIGF0IHBlcmlvZGljIGludGVydmFscyBpbiB0aGUgc3RyZWFtCgkgICh3aGVuIGEgR09QIG9yIFZPUC1JIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYwNzQ1Mi4KCjIwMTAtMDUtMDMgMTM6MjY6MzIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBtb3ZlIHNvbWUgaW5pdGlhbGl6YXRpb24gY29kZSBmcm9tIGNoYW5nZV9zdGF0ZSB0byBfaW5pdC4KCSAgU2V0IC0+YWN0aXZlIHRvIFRSVUUgaW4gX2luaXQgc28gaXQgY2FuIGJlIHNldCB0byBGQUxTRSBhZnRlciBjcmVhdGluZyB0aGUKCSAgaml0dGVyYnVmZmVyIGFuZCBpdCB3b24ndCBiZSBtaXN0YWtlbmx5IHJlc2V0IHRvIFRSVUUgaW4gdGhlIGNoYW5nZV9zdGF0ZQoJICBmdW5jdGlvbi4KCSAgVGhpcyBpcyBuZWVkZWQgdG8gc3RhcnQgdGhlIGppdHRlcmJ1ZmZlciBhcyBpbmFjdGl2ZSB3aGVuIHJ0cGJpbiBpcyBidWZmZXJpbmcuCgoyMDEwLTA1LTAzIDExOjU2OjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGEgYnVnIGhhbmRsaW5nIEJVRkZFUklORyBtZXNzYWdlcy4KCSAgSWYgYSBzZXNzaW9uIGV4aXN0cyBidXQgaGFzIG5vIHN0cmVhbXMsIHNldCB0aGUgbWluIGJ1ZmZlcmluZyBwZXJjZW50IHRvIDAKCSAgc2luY2UgaXQgbWVhbnMgdGhhdCB3ZSBoYXZlbid0IHJlY2VpdmVkIGFueXRoaW5nIGZvciB0aGF0IHNlc3Npb24geWV0LgoKMjAxMC0wNS0wMyAxMTo1MTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHdoZW4gYSBzdHJlYW0gaXMgY3JlYXRlZCwgcGF1c2UgdGhlIGppdHRlcmJ1ZmZlciBpZiBydHBiaW4gaXMgYnVmZmVyaW5nLgoKMjAxMC0wNS0wMyAxMToyMzo1OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBhIGJ1ZyBjYWxjdWxhdGluZyBzdHJlYW0gb2Zmc2V0cy4KCjIwMTAtMDUtMDEgMTQ6MjA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBXcml0ZSBwcmV2aW91cyBjbHVzdGVyJ3Mgc2l6ZQoJICBUaGlzIGlzIHVzZWZ1bCBmb3IgYmFja3dhcmRzIHBsYXliYWNrLCB3aGljaCBzaG91bGQgYmUgaW1wbGVtZW50ZWQKCSAgaW4gbWF0cm9za2FkZW11eCBhdCBzb21lIHBvaW50LgoKMjAxMC0wNS0wMSAxNDoxNTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU2V0IGludGVybGFjZWQgZmxhZyBpbiB0aGUgY2FwcyBpZiB0aGUgZmxhZyBpcyBzZXQgaW4gdGhlIE1hdHJvc2thIGZpbGUKCjIwMTAtMDUtMDEgMTQ6MTI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogV3JpdGUgaW50ZXJsYWNlZCBmbGFnIGlmIHRoZSBpbnB1dCB2aWRlbyBjb250ZW50IGlzIGludGVybGFjZWQKCSAgVW5mb3J0dW5hdGVseSBNYXRyb3NrYSBoYXMgbm8gd2F5IHRvIHNwZWNpZnkgVEZGIGFuZCBmcmllbmRzLi4uCgoyMDEwLTA1LTAxIDExOjI1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBydHA6IGZpeCBwcmludGYgZm9ybWF0IG9mIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDEgMTE6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBpbml0IHZhcmlhYmxlIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgb24gT1NYCgkgIEZpeGVzIChib2d1cykgIidvZmZzZXQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiIKCSAgd2FybmluZyBvbiBidWlsZCBib3QgKGFsc28gc3BvdHRlZCBieSBwaGlsbikuCgoyMDEwLTA0LTMwIDE3OjE5OjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVVlWWSBpcyA0OjI6Miwgbm90IDQ6MjowCgoyMDEwLTA0LTMwIDIyOjIyOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERvbid0IGNvbXBhcmUgdmFsdWVzIG9mIHR3byBkaWZmZXJlbnQgZW51bSB0eXBlcwoKMjAxMC0wNC0zMCAyMjoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IE1ha2UgYXV0b21hdGljIGRldGVjdGlvbiBvZiBpbnRlcmxhY2luZyB0aGUgZGVmYXVsdAoJICBQcmV2aW91c2x5ICJmb3JjZSBkZWludGVybGFjaW5nIiB3YXMgdGhlIGRlZmF1bHQsIHdoaWNoIGlzIGEgbm90IHZlcnkKCSAgc2Vuc2libGUgZGVmYXVsdCBmb3IgdGhlIG5vcm1hbCB1c2UgY2FzZSB3aGVyZSBkZWludGVybGFjZSBzaG91bGQgYWN0CgkgIGluIHBhc3N0aHJvdWdoIG1vZGUgdW5sZXNzIGludGVybGFjZWQgY29udGVudCBpcyBwcmVzZW50LgoKMjAxMC0wNC0yOSAxNjoyNjo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pc2UgYnVmZmVyIHNjYW5uaW5nCgkgIFNwZWNpZmljYWxseSwgd2hlbiBuZWVkaW5nIG1vcmUgZGF0YSwgZG8gbm90IHJlc2NhbiBmcm9tIHN0YXJ0IG5leHQgdGltZQoJICBhcm91bmQsIGJ1dCByZXN1bWUgZnJvbSBsYXN0IHBvc2l0aW9uLgoJICBTZWUgYWxzbyAjNTgzMDQ3LgoKMjAxMC0wNC0yOSAxNTozODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRpc3JlZ2FyZCBzdXBlcmZsdW91cyBsaW5lcyB3aGVuIGluZGlyZWN0IGRlY29kaW5nCgoyMDEwLTA0LTI3IDE1OjQ0OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBhZGQgc3VwcG9ydCBmb3IgUkdCIGFuZCBncmF5c2NhbGUgY29sb3Igc3BhY2UKCSAgQWxzbyByZWZhY3RvciBzcmMgY2FwcyBuZWdvdGlhdGlvbiBhbmQgc2V0dGluZy4KCjIwMTAtMDQtMjcgMTI6MTk6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnZW5jOiBzdXBwb3J0IG1vcmUgY29sb3VyIHNwYWNlcyBhbmQgc29tZSBjbGVhbnVwcwoKMjAxMC0wNC0zMCAxMjo0NzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1vcmUgZ2VuZXJpYyBzaW5rIGdldGNhcHMKCjIwMTAtMDQtMzAgMTI6NDI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBtb3JlIHNhbml0eSBjaGVja3Mgb24gaW5wdXQKCSAgU3BlY2lmaWNhbGx5LCB2ZXJpZnkgaW5wdXQgY29tcG9uZW50cyAvIGNvbG91ciBzcGFjZSBpcyBhcyBjb2RlCgkgIHN1YnNlcXVlbnRseSBleHBlY3RzLCB0aGVyZWJ5IGF2b2lkaW5nIGNyYXNoZXMgb3Igb3RoZXJ3aXNlIGJvZ3VzIG91dHB1dC4KCSAgUHJlc2VudGx5LCB0aGF0IG1lYW5zIDMgY29tcG9uZW50cyBZQ2JDciBjb2xvdXIgc3BhY2UsIGFuZCBzb21ld2hhdAoJICBsaW1pdGVkIHNhbXBsaW5nIGZhY3RvcnMuCgkgIEZpeGVzICM2MDA1NTMuCgoyMDEwLTA0LTIyIDEyOjI4OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IGFsc28gYWNjZXB0IGluLWJhbmQgY29uZmlndXJhdGlvbgoJICBGaXhlcyAjNTc0NDE2ICh0aGVvcmEpLgoKMjAxMC0wNC0yMiAxMjoyNzozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBhbHNvIGFjY2VwdCBpbi1saW5lIGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgIzU3NDQxNiAodm9yYmlzKS4KCjIwMTAtMDQtMDcgMTc6MjE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IElnbm9yZSBwYWNrZXRzIHdpdGhvdXQgYSBrbm93biBjb2RlYm9vawoJICBEb24ndCBwcm9kdWNlIGFuIGVycm9yIGlmIGEgcGFja2V0IGlzIHJlY2VpdmVkIHdpdGhvdXQgYSB2YWxpZCBjb2RlYm9vaywKCSAgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSBjb2RlYm9vayB3aWxsIGp1c3QgYmUgY29taW5nIGxhdGVyLgoJICBTZWUgIzU3NDQxNi4KCjIwMTAtMDQtMjAgMTI6MTc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHk0bWVuYzogYWRqdXN0IHVuaXQgdGVzdCB0byBlbGVtZW50IGJlaGF2aW91cgoKMjAxMC0wMi0yMyAyMjoxNjozOSAtMDUwMCAgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBhZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQKCSAgRml4ZXMgIzYxMDkwMi4KCjIwMTAtMDQtMTUgMTI6MjE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBERUxUQV9VTklUIG1hcmtpbmcgb2Ygb3V0cHV0IGJ1ZmZlcnMKCSAgLi4uIHdoaWNoIGV2aWRlbnRseSBtYWtlcyAobW9zdCkgc2Vuc2UgaWYgb3V0cHV0IGJ1ZmZlcnMgYXJlCgkgIGFjdHVhbGx5IGZyYW1lcy4KCSAgUGFydGlhbGx5IGJhc2VkIG9uIGEgcGF0Y2ggYnkKCSAgTWlndWVsIEFuZ2VsIENhYnJlcmEgPG1hZF9hbHVjaGUgYXQgaG90bWFpbC5jb20+CgkgIEZpeGVzICM2MDk2NTguCgoyMDEwLTA0LTE2IDE3OjIxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkgIHJ0cGgyNjNkZXBheTogZXh0cmEga2V5ZnJhbWUgaW5mbyBmcm9tIFBUWVBFIGhlYWRlcgoJICAuLi4gYXMgb3Bwb3NlZCB0byB0YWtpbmcgaXQgZnJvbSBoMjYzIHBheWxvYWQgaGVhZGVyLCB3aGljaCBuZWVkIG5vdAoJICBiZSBzbyByZWxpYWJsZS4KCSAgRml4ZXMgIzYxMDE3Mi4KCjIwMTAtMDQtMTYgMTc6MDg6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBhbHNvIHVzZSBQaWN0dXJlIFN0YXJ0IENvZGUgdG8gZGV0ZWN0IHBhY2tldCBsb3NzCgkgIFRoaXMgZW5zdXJlcyBhIHdob2xlIGZyYW1lIGlzIGRyb3BwZWQgaWYgYSAoc3RhcnQpIHBhY2tldCBpcyBsb3N0LAoJICByYXRoZXIgdGhhbiByZWx5aW5nIG9ubHkgb24gdGhlIERJU0NPTlQgZmxhZy4KCjIwMTAtMDQtMTYgMTc6MDY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBkZXRlY3QgZnJhbWUgc3RhcnQgdXNpbmcgUGljdHVyZSBTdGFydCBDb2RlCgkgIFNvIHdlIHN0b3AgZHJvcHBpbmcgZnJhZ21lbnRzIGFzIHNvb24gYXMgdGhlcmUgaXMgYSBwaWN0dXJlIHN0YXJ0IChjb2RlKS4KCSAgSW4gcGFydGljdWxhciwgdGhpcyBwcmV2ZW50cyBkcm9wcGluZyB0aGUgZmlyc3QgZnJhbWUgZm9sbG93aW5nCgkgIGluaXRpYWwgRElTQ09OVC4KCjIwMTAtMDQtMTYgMTY6MzQ6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBoYW5kbGUgYSBmZXcgRklYTUVzCgoyMDEwLTA0LTE2IDE2OjI3OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogc2xpZ2h0bHkgcmVmYWN0b3IgcGF5bG9hZCBkcm9wcGluZwoKMjAxMC0wNC0xNiAxMTo1MzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IHVzZSBmb3VuZCBHT0JzIHRvIGFwcGx5IE1vZGUgQSBwYXlsb2FkaW5nCgkgIC4uLiByYXRoZXIgdGhhbiBmYWxsaW5nIGJhY2sgdG8gc2VuZGluZyB0aGUgd2hvbGUgZnJhbWUgaW4gb25lIHBhY2tldAoJICBpZiBudW1iZXIgb2YgR09CIHN0YXJ0Y29kZXMgPCBtYXhpbXVtLgoJICBPbmUgbWlnaHQgdGFrZSB0aGlzIGZ1cnRoZXIgYW5kIHN0aWxsIHBlcmZvcm0gTW9kZSBCL0MgcGF5bG9hZGluZywKCSAgYnV0IGF0IGxlYXN0IHRoaXMgc2hvdWxkIGNhdGVyIGZvciBkZWNlbnQgZnJhZ21lbnRzIGluIHR5cGljYWwgY2FzZXMuCgkgIEZpeGVzICM1OTk1ODUuCgoyMDEwLTA0LTE0IDExOjUzOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogaW1wbGVtZW50IHB1c2ggbW9kZSBzZWVraW5nCgoyMDEwLTA0LTI5IDIwOjA4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgcGx1Z2luIG1lcmdlIGFuZCBhZGQgZ3RrLWRvYyBibHVyYiBmb3IgbmV3IHByb3BlcnR5CgoyMDEwLTA0LTI2IDE4OjEyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nIGEgYml0CgoyMDEwLTA0LTI2IDE4OjA1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogT3JkZXIgY2FwcyBieSBhbW91bnQgb2YgY29udGFpbmVkIGluZm9ybWF0aW9uCgoyMDEwLTA0LTI2IDE3OjI1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUHJvcGVybHkgc2V0IGludGVybGFjZWQgZmllbGQgaW4gZ2V0Y2FwcwoKMjAxMC0wNC0yNCAxNjoyODoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgcGxhbmFyIFlVViBzdXBwb3J0IHRvIGFsbCBvdGhlciBzaW1wbGUgbWV0aG9kcwoKMjAxMC0wNC0yNCAxNjoxMDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBwbGFuYXIgWVVWIHN1cHBvcnQgdG8gZ3JlZWR5aCBtZXRob2QKCjIwMTAtMDQtMjQgMTU6NDI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBwbGFuYXIgWVVWIGZvcm1hdHMgaW4gZ3JlZWR5bCBtZXRob2QKCjIwMTAtMDQtMjQgMTM6NTg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiwgSTQyMCwgWVYxMiBhbmQgWTQxQgoJICBUaGUgdmZpciBtZXRob2Qgc3VwcG9ydHMgdGhlbSBhbmQgd2lsbCBiZSB1c2VkIHVudGlsIHNvbWV0aGluZyBlbHNlCgkgIHN1cHBvcnRzIGl0LgoKMjAxMC0wNC0yNCAwOToxNjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IERlZmluZSBkZWludGVybGFjZSBtZXRob2QgYmFzZSBjbGFzc2VzIGFzIGFic3RyYWN0IHR5cGVzCgoyMDEwLTA0LTIzIDE3OjQwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IE1vdmUgZGVpbnRlcmxhY2luZyBtZXRob2RzIHRvIHRoZWlyIG93biBmaWxlCgoyMDEwLTA0LTIzIDE3OjI1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IFNpbXBsaWZ5IHBhc3N0aHJvdWdoIG1vZGUgZGV0ZWN0aW9uCgoyMDEwLTA0LTIzIDE0OjM1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdW5pdCB0ZXN0IHRoYXQgY2hlY2tzIGNhcHMgaGFuZGxpbmcKCSAgZGVpbnRlcmxhY2Ugbm93IGFsd2F5cyBhZGRzIHRoZSBpbnRlcmxhY2VkIGZpZWxkIHRvIHRoZSBvdXRwdXQgY2FwcywKCSAgaWYgaXQgd2Fzbid0IHByZXNlbnQgaW4gdGhlIGlucHV0IGNhcHMgdGhlIG91dHB1dCBjYXBzIHdpbGwgc3RpbGwKCSAgY29udGFpbiBpbnRlcmxhY2VkPWZhbHNlLgoKMjAxMC0wNC0yMSAxNzowMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBSZWZhY3RvciBkZWludGVybGFjaW5nIGFzIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIG1vcmUgY29sb3IgZm9ybWF0cwoKMjAxMC0wNC0yMiAxOTowNTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCIGFuZCBZNDFCCgoyMDEwLTA0LTIyIDE1OjU0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlWWVUgYW5kIHJlb3JkZXIgdGVtcGxhdGUgY2FwcwoKMjAxMC0wNC0xOCAyMToxMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFRyYW5zbGF0ZSBuYXZpZ2F0aW9uIGV2ZW50cyB0byBtYWtlIHNlbnNlIGFnYWluIHVwc3RyZWFtCgoyMDEwLTA0LTE4IDIwOjU4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogUHJvcGVybHkgaGFuZGxlIHJhbmdlcy9saXN0cyBvZiB3aWR0aCBvciBoZWlnaHQgd2hlbiB0cmFuc2Zvcm1pbmcgY2FwcwoJICBDb2RlIHBhcnRseSB0YWtlbiBmcm9tIHRoZSB2aWRlb2Nyb3AgZWxlbWVudC4KCjIwMTAtMDQtMjIgMTU6NDU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBGaXggcGxhbmFyIFlVVi0+UkdCIHByb2Nlc3NpbmcKCjIwMTAtMDQtMjIgMTU6NDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBDb3JyZWN0bHkgY2xhbXAgYWZ0ZXIgWVVWLT5SR0IgY29udmVyc2lvbgoKMjAxMC0wNC0yMiAxNToyMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBZVllVIGFuZCBVWVZZCgoyMDEwLTA0LTE4IDE1OjAyOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTYgMTc6MDA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVVZMiBhbmQgVVlVVgoKMjAxMC0wNC0yMSAxNzo0MTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlZmFjdG9yIHByb2Nlc3NpbmcgYW5kIGFkZCBzdXBwb3J0IGZvciBvdGhlciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgVGhpcyByZWR1Y2VzIHRoZSBnZW5lcmF0ZWQgY29kZSBzaXplIGJ5IGEgZmFjdG9yIG9mIDIuNS4KCjIwMTAtMDQtMjEgMTc6MTU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBBZGQgc3VwcG9ydCBmb3IgWVYxMiBpbnB1dAoKMjAxMC0wNC0yMiAxMzo1Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBZVVkyLCBZVllVLCBVWVZZCgoyMDEwLTA0LTIwIDEyOjE4OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIsIFk0MUIgYW5kIFlWMTIKCjIwMTAtMDQtMjEgMTc6MDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogT3JkZXIgY29sb3IgZm9ybWF0cyBieSB0aGVpciBjb250YWluZWQgYW1vdW50IG9mIGluZm9ybWF0aW9uCgoyMDEwLTA0LTIwIDE4OjIyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBEcm9wIFk0MUIvWTQyQiBzdXBwb3J0CgkgIFJvdGF0aW5nIDkwwrAvMjcwwrAgd2l0aCBzdWJzYW1wbGVkIFlVViB3aGVyZSBob3Jpem9udGFsCgkgIGFuZCB2ZXJ0aWNhbCBzdWJzYW1wbGluZyBhcmUgZGlmZmVyZW50IGRvZXNuJ3QgcmVhbGx5IHdvcmsuCgoyMDEwLTA0LTE5IDE0OjM3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBbHNvIGZsaXAgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB3aWR0aC9oZWlnaHQgYXJlIGV4Y2hhbmdlZAoKMjAxMC0wNC0xOCAyMzowODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IEV4dGVuZCB0aGUgdW5pdCB0ZXN0IHRvIHRlc3QgZGlmZmVyZW50IGNvbG9yIGZvcm1hdHMKCjIwMTAtMDQtMTggMjI6NTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IEFkZCBzb21lIG1vcmUgdGVzdHMKCSAgVGhlc2UgY2hlY2sgZGlmZmVyZW50IHByb3BlcnR5IGNvbWJpbmF0aW9ucwoKMjAxMC0wNC0xOCAyMjo1NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQ2hhbmdlIHRoZSBkZWZhdWx0IG1ldGhvZCB0byBpZGVudGl0eQoKMjAxMC0wNC0xOCAyMjo1MDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBSZWR1Y2UgbnVtYmVyIG9mIGFsbG9jYXRpb25zIHBlciBpbnN0YW5jZQoKMjAxMC0wNC0xOCAyMjo0NTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBVcGRhdGUgbGFzdC1yZXZpZXdlZCBjb21tZW50cwoKMjAxMC0wNC0xOCAyMjo0MDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cwoKMjAxMC0wNC0xOCAyMjoyODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFVZVlksIEFZVVYgYW5kIFlWWVUKCjIwMTAtMDQtMTggMjI6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0wNC0xOCAyMjoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogTWFrZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyZWFkc2FmZQoKMjAxMC0wNC0xOCAyMjoxODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIFk0MUIsIFk0MkIgYW5kIFk0NDQKCjIwMTAtMDQtMTggMjI6MTc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogVXNlIGxpYmdzdHZpZGVvIGZvciBmb3JtYXQgc3BlY2lmaWMgdGhpbmdzCgoyMDEwLTA0LTE4IDIyOjA5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgoyMDEwLTA0LTE4IDIyOjA2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBFbWl0ICJ2YWx1ZS1jaGFuZ2VkIiBzaWduYWwgb2YgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2Ugd2hlbiB2YWx1ZXMgY2hhbmdlCgoyMDEwLTA0LTE4IDIxOjU4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTggMjE6Mzc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IFN0b3AgdXNpbmcgbGlib2lsCgkgIFRoZSB1c2VkIGxpYm9pbCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCBoYXMgbm8gb3B0aW1pemVkCgkgIGltcGxlbWVudGF0aW9uIGFueXdheS4KCjIwMTAtMDQtMTggMjE6MTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IE1ha2UgcHJvcGVydHkgYWNjZXNzIHRocmVhZHNhZmUKCjIwMTAtMDQtMTggMTU6MDA6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xOCAxNDo0NjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cyBhbmQgQVlVVgoKMjAxMC0wNC0xOCAxNDozMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogQWRkIHN1cHBvcnQgZm9yIFk0MUIsIFk0MkIgYW5kIFk0NDQKCjIwMTAtMDQtMTggMTQ6Mjk6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvZmxpcDogTWFrZSBwcm9jZXNzaW5nIG1vcmUgZ2VuZXJhbCBhbmQgdXNlIGxpYmdzdHZpZGVvIGZvciBhbGwgZm9ybWF0IHNwZWNpZmljIHRoaW5ncwoKMjAxMC0wNC0xOCAxMzoxMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogTWFrZSBtZXRob2QgcHJvcGVydHkgY29udHJvbGxhYmxlIGFuZCBpbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMC0wNC0xOCAxMzowMzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE4IDEwOjE3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJICB2aWRlb2ZpbHRlcjogTW92ZSBhbGwgZWxlbWVudHMgaW50byBhIHNpbmdsZSBwbHVnaW4KCSAgSGF2aW5nIGFsbCB0aGVzZSBzbWFsbCBlbGVtZW50cyBpbiBhIHNlcGFyYXRlIHBsdWdpbgoJICBpcyBub3QgdmVyeSBtZW1vcnkgZWZmZWN0aXZlLi4uCgoyMDEwLTA0LTE4IDEwOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgZ2FtbWE6IEltcHJvdmUgZG9jcyBhIGJpdAoKMjAxMC0wNC0xOCAwOTo1OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBhbGwgUkdCIGZvcm1hdHMKCjIwMTAtMDQtMTggMDk6NDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBBZGQgc3VwcG9ydCBmb3IgbWFueSBwYWNrZWQgWVVWIGZvcm1hdHMKCSAgVGhhdCBpcyBZVVkyLCBVWVZZLCBBWVVWIGFuZCBZVllVLgoKMjAxMC0wNC0xOCAwOTozODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBhbGwgb3RoZXIgcGxhbmFyIFlVViBmb3JtYXRzCgkgIFRoYXQgaXMgWTQxQiwgWTQyQiwgWTQ0NCwgTlYxMiBhbmQgTlYyMS4KCjIwMTAtMDQtMTggMDk6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFN0b3AgdXNpbmcgbGlib2lsCgkgIFRoZSB1c2VkIGxpYm9pbCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCBvbmx5IGhhcyBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbgoJICBhbmQgaXMgbW9yZSBjb21wbGV4IHRoYW4gd2hhdCdzIG5lZWRlZCBoZXJlLgoKMjAxMC0wNC0xNyAxODoxMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6CgkgIGdhbW1hOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyB2YWx1ZXMgYW5kIG1ha2UgZ2FtbWEgcHJvY2Vzc2luZyBtb3JlIGdlbmVyaWMKCSAgQWxsb3dzIHVzIHRvIGVhc2lseSBhZGQgc3VwcG9ydCBmb3IgbmV3IGNvbG9yIGZvcm1hdHMgbGF0ZXIuCgoyMDEwLTA0LTE3IDE4OjAxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBNYWtlIGdhbW1hIHByb3BlcnR5IGNvbnRyb2xsYWJsZQoJICAuLi5hbmQgcHJvcGVybHkgdXNlIGxpYm9pbC4KCjIwMTAtMDQtMTcgMTc6NTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgIGdhbW1hOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA0LTE5IDE0OjQ1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE3IDE3OjQ3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVjEyIChjb252ZXJ0ZWQgdG8gQVlVVikKCjIwMTAtMDQtMTcgMTc6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGFsbCA0IEFSR0IgZm9ybWF0cwoJICAuLi53aXRob3V0IGZvcm1hdCBjb252ZXJzaW9uLgoKMjAxMC0wNC0xNiAxNzoyNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZWFscGhhOiBNYWtlIGNvbG9yIGZvcm1hdCBzdXBwb3J0IG1vcmUgZ2VuZXJpYwoJICBUaGlzIGFsbG93cyBlYXNpZXIgYWRkaXRpb24gb2YgbmV3IGZvcm1hdHMgbGF0ZXIuCgoyMDEwLTA0LTE2IDE3OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlYWxwaGE6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTUgMjI6Mjg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICBzbXB0ZTogQWRkIHByb3BlcnR5IGZvciBpbnZlcnRpbmcgdGhlIHRyYW5zaXRpb24gbWFzawoJICBUaGlzIGNvbnZlcnRzIGEgbGVmdC10by1yaWdodCB0cmFuc2l0aW9uIHRvIHJpZ2h0LXRvLWxlZnQgb3IKCSAgY2xvY2std2lzZSB0byBjb3VudGVyLWNsb2NrLXdpc2UuCgoyMDEwLTA0LTE1IDIyOjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIHNtcHRlYWxwaGE6IENvcnJlY3RseSBkZXRlY3QgcHJvcGVydHkgY2hhbmdlcyBhbmQgdXBkYXRlIHByb3BlcnRpZXMKCjIwMTAtMDQtMTYgMTk6MzU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkgIHFjZWxwZGVwYXk6IGFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgUUNFTFAgZGVwYXlsb2FkZXIKCjIwMTAtMDQtMjkgMTU6MTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuCgo9PT0gcmVsZWFzZSAwLjEwLjIyID09PQoKMjAxMC0wNC0yOCAwMjo1ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMgoKMjAxMC0wNC0yOCAwMjo1NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA0LTI1IDIzOjM2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDQtMjUgMjE6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBoaWRlIGlzLWxpdmUgcHJvcGVydHkgZm9yIHJlbGVhc2UKCSAgQXQgdGhlIHZlcnkgbGVhc3QgaXQgbmVlZHMgYSBiZXR0ZXIvbGVzcyB3cm9uZyBuYW1lLgoJICBTZWUgIzYxMzA2Ni4KCjIwMTAtMDQtMjUgMTU6MTI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBjcmFzaCBpZiBqcGVnIGltYWdlIGNvbnRhaW5zIG1vcmUgdGhhbiB0aHJlZSBjb21wb25lbnRzCgkgIE91ciBjb2RlIGN1cnJlbnRseSBvbmx5IGhhbmRsZXMgYSBtYXhpbXVtIG9mIDMgY29tcG9uZW50cywgc28gZXJyb3IKCSAgb3V0IGZvciBub3cgaWYgdGhlIGltYWdlIGhhcyBtb3JlIGNvbXBvbmVudHMgdGhhbiB0aGF0LgoJICBGaXhlcyAjNjA0MTA2LgoKMjAxMC0wNC0yMCAxNzoyMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIGRvYXA6IHVwZGF0ZSByZXBvc2l0b3J5IGluZm8gZnJvbSBjdnMtPmdpdCBhbmQgbWFpbnRhaW5lcnMKCjIwMTAtMDQtMjMgMTQ6NDA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYzg1ODY3IHRvIDRkNjdiZDYKCjIwMTAtMDQtMjIgMTM6MzA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IGJ5dGUgb3JkZXIgZm9yIE1NWCBBUkdCL0FZVVYgY29sb3IgZmlsbGluZwoJICBGaXhlcyBidWcgIzYxNjQwOS4KCjIwMTAtMDQtMjEgMTc6NTM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IEFZVVYgY2hlY2tlci9jb2xvciBmaWxsaW5nCgoyMDEwLTA0LTE5IDE2OjQzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBBZGQgaTM4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgbGlzdAoJICBUaGV5IGFyZSB0aGUgc2FtZSBhcyB0aGUgbW0wLW1tNyBNTVggcmVnaXN0ZXJzIGFuZCB3aWxsIGJlIG92ZXJ3cml0dGVuCgkgIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGlmIGdjYyBkb2Vzbid0IGtub3cgYWJvdXQgdGhlIE1NWCByZWdpc3RlcnMuCgkgIE5vdGU6IFRoZXkncmUgYWxsIGFkZGVkIHRvIHRoZSBsaXN0IG9mIGNsb2JiZXJlZCByZWdpc3RlcnMgaW4gYWxsIGNhc2VzCgkgIGFuZCBub3Qgb25seSB3aGVuIF9fTU1YX18gaXMgbm90IGRlZmluZWQganVzdCB0byBtYWtlIHN1cmUgdGhhdCBubyBvdGhlcgoJICBidWdzIGhhcHBlbiB3aXRoIHRoaXMgY29kZSBqdXN0IGJlY2F1c2Ugc29tZSBjb21waWxlciB2ZXJzaW9uIGdldHMgdGhpbmdzCgkgIHdyb25nLgoJICBGaXhlcyBidWcgIzYxNDQ2Ni4KCjIwMTAtMDQtMTkgMTQ6MDk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBVc2UgbGliZ3N0dmlkZW8gdG8gZ2V0IHRoZSBvcmRlciBvZiBSR0IKCjIwMTAtMDQtMTcgMTA6MDY6NDEgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIGdzdC9nb29tL3htbXguYzoKCSAgZ29vbTogYWRkIGVkeCB0byBjbG9iYmVyIGxpc3QgaW4gaW5saW5lIGFzc2VtYmx5IGNvZGUKCSAgbXVsbCBtb2RpZmllcyAlZWR4LCBzbyBzaG91bGQgYmUgbWVudGlvbmVkIGluIGNsb2JiZXIgbGlzdC4KCSAgRml4ZXMgY3Jhc2ggb24gU29sYXJpcyAoIzYxNTk5OCkuCgoyMDEwLTA0LTE1IDEzOjM5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgdXNlIEdTVF9QTFVHSU5fTERGTEFHUyB3aGVuIGJ1aWxkaW5nIHRlc3QgYmluYXJpZXMKCjIwMTAtMDQtMTYgMTU6Mjc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggSTQyMC0+STQyMCBjb3B5aW5nCgkgIEZpeGVzIGJ1ZyAjNjE1MTQzLgoKMjAxMC0wNC0xMyAxODoxNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGNvcHlpbmcKCjIwMTAtMDQtMTYgMTI6MTQ6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBwcm9maWxlLWxldmVsLWlkIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlcgoJICBTbywgaWYgbmVlZGVkLCBleHRyYWN0IHRoZSBjb3JyZXNwb25kaW5nIGluZm8gZnJvbQoJICBzcHJvcC1wYXJhbWV0ZXItc2V0cy4KCSAgQmFzZWQgb24gcGF0Y2ggcHJvdmlkZWQgYnkgPGR4c3N4IGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYxMjY1Ny4KCjIwMTAtMDQtMTUgMDc6MTM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERyb3AgLVdjYXN0LWFsaWduCgkgIENvbW1pdCBtZXNzYWdlIGNvcGllZCBmcm9tIGNvcmUncyBjb21taXQgZnJvbSBCZW5qYW1pbiBPdHRlOgoJICAyNDZmNWRiYTk2YTViNTBiYjc0NjIxYWY2N2IzMDk0MmNjYTcyYWY1CgkgIEFwcGFyZW50bHkgZ2NjIHdhcm5zIHRoYXQgR3N0TWluaU9iamVjdCBpcyBub3QgY2FzdGFibGUgdG8KCSAgR3N0RXZlbnQvTWVzc2FnZS9CdWZmZXIgZHVlIHRvIHRoZW0gY29udGFpbmluZyA2NGJpdCB2YXJpYWJsZXMsIGV2ZW4KCSAgdGhvdWdoIEFSTSBoYWNrZXJzIGNsYWltIHRoYXQgdGhvc2Ugb25seSBuZWVkIDRieXRlIGFsaWdubWVudC4gQW5kIGFzCgkgIGxvbmcgYXMgZ2NjIGJlaGF2ZXMgdGhhdCB3YXksIHRoaXMgd2FybmluZyBpcyBub3QgdmVyeSB1c2VmdWwuCgkgIFNvIHdlJ2xsIHJlbW92ZSB0aGUgd2FybmluZyB1bnRpbCB0aGlzIHByb2JsZW0gaXMgZml4ZWQuCgkgIEZpeGVzICM2MTU2OTgKCjIwMTAtMDQtMTQgMjM6NDY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICBmbGFjdGFnOiBmaXggYWRhcHRlciBhc3NlcnRpb24gd2hlbiB1c2VkIGRpcmVjdGx5IGFmdGVyIGZsYWNlbmMKCSAgVW5saWtlIGZpbGVzcmMsIGZsYWNlbmMgb3V0cHV0cyB0aGUgZmxhYyBibG9ja3MgbmVhdGx5IGFsaWduZWQgb25lIGluCgkgIGVhY2ggYnVmZmVyLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBtZXRhZGF0YSBtb2RlIHRvCgkgIGF1ZGlvIGRhdGEgcGFzc3Rocm91Z2ggbW9kZSwgdGhlcmUncyBubyBkYXRhIGxlZnQgaW4gdGhlIGFkYXB0ZXIgdG8KCSAgcHVzaCBvdXQgYXQgdGhpcyBwb2ludCwgc28gY2hlY2sgaWYgdGhlcmUncyBkYXRhIGluIHRoZSBhZGFwdGVyCgkgIGJlZm9yZSByZXF1ZXN0aW5nIGJ1ZmZlcnMgZnJvbSBpdCAoYWxzbyBuZWVkZWQgaW4gY2FzZSB3ZSBnZXQgaW5wdXQKCSAgYnVmZmVycyBvZiAwIHNpemUpLgoJICBGaXhlcyAjNjE1NzkzLgoKMjAxMC0wNC0xNCAyMzoxODoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS4yIHByZS1yZWxlYXNlCgoyMDEwLTA0LTE0IDIwOjMxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUKCjIwMTAtMDQtMTQgMjA6MDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHVzZSBMREFERCBmb3IgbGlicyB0byBsaW5rIHRvIGluc3RlYWQgb2YgTERGTEFHUwoJICBVc2UgZm9vX0xEQUREIGluc3RlYWQgb2YgZm9vX0xERkxBR1MgdG8gc3BlY2lmeSB0aGUgbGlicmFyaWVzIHRvIGxpbmsgdG8uCgkgIFRoaXMgc2hvdWxkIG1ha2Ugc3VyZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgbGlua2VyIGluIHRoZSByaWdodAoJICBvcmRlciwgYW5kIG1ha2VzIExERkxBR1MgdXNhYmxlIGFnYWluLgoJICBCYXNlZCBvbiBwYXRjaCBieSBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgkgIEZpeGVzICM2MTU2OTcuCgoyMDEwLTA0LTE0IDE4OjEzOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiB0cmFuc2Zvcm1fY2FwcyA6IFdlIGNhbiBvbmx5IGNvbnZlcnQgQVlVViB0byB4UkdCCgkgIFdlIHdlcmUgcHJldmlvdXNseSBzdGF0aW5nIHRoYXQgd2UgY291bGQgY29udmVydCBBWVVWL0k0MjAvWVYxMiB0byB4UkdCLgoKMjAxMC0wNC0xMyAwMDoxNDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyByZW1vdmUgLVdhZ2dyZWdhdGUtcmV0dXJuIGZyb20gd2FybmluZyBmbGFncwoJICBJdCBjYXVzZXMgcHJvYmxlbXMgd2l0aCBPYmplY3RpdmUtQyBjb2RlIGxpa2UgaW4gb3N4dmlkZW9zaW5rLgoJICBGaXhlcyAjNjEzNjYzLgoKMjAxMC0wNC0xMiAxODoyMjozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogSWdub3JlIG9zeCBhdWRpby92aWRlbyBzcmMvc2lua3MgaW4gc3RhdGUgY2hhbmdlIHRlc3RzCgkgIEFuZCBtYWtlIHRoZSBsaW5lIHJlYWRhYmxlIGZvciB0aG9zZSBtZXJlIG1vcnRhbHMgdGhhdCBkb24ndCBvd24gYSAzMCIgc2NyZWVuCgoyMDEwLTA0LTEyIDE4OjAzOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTA0LTEyIDE0OjUwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXgsIHF0ZGVtdXg6IG1pbm9yIGNvZGUgY2xlYW51cCBpbiBhdmNfbGV2ZWxfaWRjX3RvX3N0cmluZygpCgkgIERvIHRoZSBzYW1lIHdpdGggc2xpZ2h0bHkgZmV3ZXIgTE9DLgoKMjAxMC0wNC0xMiAxMjo0MDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgLVd1bmRlZiBmbGFnCgkgIEZpeGVzICM2MTUxNjEKCjIwMTAtMDQtMTIgMTE6NDM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggSTQyMC0+QVlVViBjb3B5aW5nCgoyMDEwLTA0LTEyIDExOjI1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQ29ycmVjdGx5IGNsYW1wIGZyYW1lL2JhY2tncm91bmQgYWxwaGFzIHRvIFswLDI1NV0gYmVmb3JlIHdyaXRpbmcgdGhlbQoKMjAxMC0wNC0xMiAxMToxNjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrOiBJZ25vcmUganBlZ2VuYyB0ZXN0CgoyMDEwLTA0LTExIDEzOjE0OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IE9ubHkgY2hlY2sgaW50ZXJsYWNlZCBmbGFnIGluIHNpbmsgY2FwcwoJICBGaXhlcyAjNjE1NDYwLgoKMjAxMC0wNC0wOSAxMToyMTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJhMzNkMWYgdG8gZmM4NTg2NwoKMjAxMC0wNC0wOCAxODowNTo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBkb2NzOiBkbyBwcm9wZXIgZXNjYXBpbmcgZm9yICIlIgoKMjAxMC0wNC0wOCAxNzo1MDo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIHJ0c3A6IHJlbW92ZSBvYnNvbGV0ZSBnb29nbGUgZXh0ZW5zaW9uCgkgIFRoaXMgd2FzIG5vdCBidWlsZCBmb3IgYSB3aGlsZSBhbmQgY2FuIGJlIHJlbW92ZWQuCgoyMDEwLTA0LTA4IDE3OjQyOjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbW92ZSB0d28gc3ltYm9scyB0byBwcml2YXRlIHNlY3Rpb24KCjIwMTAtMDQtMDggMTc6MzY6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZmx4ZGVjIGRvY3MKCjIwMTAtMDQtMDggMTc6MTc6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgZG9jczogZW5hYmxlIHRoZSAyIG9mIDY1IHJ0cCBlbGVtZW50cyBpbiB0aGUgZG9jcwoKMjAxMC0wNC0wOCAxMTo1NDoxOSArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBEb24ndCB3YWl0IGlmIHdlJ3JlIGxhdGUKCSAgSW4gZmFjdCwgZHVlIHRvIHNpZ25lZG5lc3MgaXNzdWVzLCBhIG5lZ2F0aXZlIGRlbGF5IHdvdWxkIGJlIGNoYW5nZWQgdG8KCSAgYW4gYWxtb3N0IGluZmluaXRlIHdhaXQgY2F1c2luZyBzaG91dDJzZW5kIHRvICJsb2NrIHVwIi4KCSAgUmVwb3J0ZWQgYnkgQ2hyaXN0b3BoZXIgTW9udGdvbWVyeS4KCjIwMTAtMDQtMDggMTY6NTY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGRvY3M6IHVwZCAtPiB1ZHAgYW5kIHZvaWxhIGl0IHNob3dzIHVwIGluIHRoZSBkb2NzCgoyMDEwLTA0LTA4IDE2OjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgZG9jczogZml4IGRvYyBibG9iIHN5bnRheAoKMjAxMC0wNC0wOCAxNjo1MTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCAoc3BhcnNlKSBkb2NzIGZvciBhdXBhcnNlIGVsZW1lbnQKCjIwMTAtMDQtMDggMTQ6NDA6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgdmlkZW9ib3ggc3ltYm9scwoKMjAxMC0wNC0wOCAxNDo0MDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgZHludWRwc2luayB1bnRpbCBzb21lb25lIGRvY3VtZW50cyBpdAoKMjAxMC0wNC0wOCAxNDozNDo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogbWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCjIwMTAtMDQtMDggMTQ6Mjk6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx4ZGVtdXg6IHJlbmFtZSBHc3RGTFZEZW11eCBmb3IgR3N0Rmx2RGVtdXgKCjIwMTAtMDQtMDggMTQ6MjM6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIGZsdmRlbXV4OiBtZXJnZSBmbHZwYXJzZSBpbnRvIHRoZSBkZW11eGVyIGFuZCBtYWtlIGZ1bmN0aW9uIHN0YXRpYwoJICBObyBuZWVkIHRvIGhpZGUgY2VydGFpbiBmdW5jdGlvbiBpbiB0aGUgZG9jcy4gQWxsb3dzIHRvIGRvIG1vcmUgY2xlYW51cHMuCgoyMDEwLTA0LTA4IDEzOjEzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogQWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDQtMDggMTQ6MDA6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiB2NGwyYnVmZmVyIHBvb2wgaXMgbm93IGEgc2VwYXJhdGUgb2JqZWN0LCByZW1vdmUgdGhlbSBmcm9tIHY0bDJzcmMgZG9jcwoKMjAxMC0wNC0wOCAxMzo1ODoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHJlbW92ZSBub24gZXhpc3RpbmcgZmxhZ3MgYW5kIGFkZCB0d28gaW50ZXJuYWwgbWV0aG9kcwoJICBJZiBzb21lb25lIGNhcmVzIGZsdnBhcnNlIGNvdWxkIGJlIG1lcmdlZCBpbnRvIGZsdmRlbXV4LgoKMjAxMC0wNC0wOCAxMzo1NzowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiByZW1vdmUgcHJvdG90eXBlIGZvciBub24gZXhpc3RpbmcgZnVuY3Rpb24KCSAgVGhlcmUgaXMgbm8gZnVuY3Rpb24gYnkgdGhhdCBuYW1lIGFueXdoZXJlLgoKMjAxMC0wNC0wOCAxMjo1Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0ZWQgcGx1Z2luIGluZm9ybWF0aW9uCgoyMDEwLTA0LTA4IDEyOjU2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEltcHJvdmUgZG9jcyBhIGJpdAoKMjAxMC0wNC0wOCAxMzo0Nzo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBlZmZlY3R0diBkZWZpbmVzIGFuZCByZW9yZGVyIGxpc3QKCjIwMTAtMDQtMDggMTM6NDE6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiByZW1vdmUgdGhyZWUgZW50cmllcyB0aGF0IGFyZSBub3QgZXhwb3J0ZWQgZnJvbSB0aGUgaGVhZGVycyBhbnltb3JlCgoyMDEwLTA0LTA4IDEzOjQwOjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogbW92ZSBtYWNybyB0byBjIHNvdXJjZQoJICBPbmUgbGVzcyBzZW1pIHB1YmxpYyBzeW1ib2wgd2l0aG91dCBuYW1lc3BhY2UgcHJlZml4IGluIHRoZSBoZWFkZXJzLgoKMjAxMC0wNC0wOCAxMzo0MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiByZW1vdmUgdW51c2VkIGRlZmluZXMKCjIwMTAtMDQtMDggMTM6MjM6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBmaXggbGFzdCBjb21taXQKCSAgVXNlIGEgbG9jYWwgZGVmaW5lIGZvciBXQVZFRk9STUFUX0VYIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBzdHJ1Y3QgKyAyIGJ5dGVzCgkgIGZvciB0aGUgZXh0ZW5zaW9uIHNpemUuCgoyMDEwLTA0LTA4IDEzOjE2OjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXg6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDEwLTA0LTA4IDEzOjAzOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSAgd2F2ZW5jOiByZW1vdmUgaW50ZXJuYWwgY29weSBvZiByaWZmLmggYW5kIHVzZSByaWZmLWxpYnJhcnkgaW5zdGVhZC4KCSAgV2UgZG9uJ3QgdXNlIGFueSBmdW5jdGlvbiB5ZXQsIGp1c3QgdGhlIHN0cnVjdHVyZXMgYW5kIGRlZmluZXMuCgoyMDEwLTA0LTA4IDEyOjU2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHVzZSByaWZmIGxpYiBtb3JlCgkgIFJlbW92ZSBCSVRNQVBJTkZPSEVBREVSIGFuZCB1c2UgdGhlIG9uZSBmcm9tIHJpZmYtbGliLiBBbHNvIHJlbW92ZSB0aGUKCSAgV0FWRUZPUk1BVEVYX1NJWkUgZGVmaW5lIGFuZCB1c2UgYSBzaXplb2YgdG9nZXRoZXIgd2l0aCB0aGUgcmVzcGVjdGl2ZSBzdHJ1Y3QuCgkgIEJlc2lkZXMgYmV0dGVyIGNvZGUgcmV1c2UgdGhpcyBsZXNzZW5zIHRoZSB1bnVuc2VkIHN5bWJvbHMgaW4gdGhlIGRvY3MuCgoyMDEwLTA0LTA4IDEyOjE0OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZG9jczogdHJpbSBzZWN0aW9ucyBmaWxlIG1vcmUKCSAgUmVuYW1lIHNvbWUgZGVmaW5lcyBhbmQgbW92ZSBzb21lIGl0ZXNtIHRvICouYyBmaWxlcy4gQWRkIG1vcmUgaXRlbXMgdG8gaW50ZXJuYWwKCSAgc3Vic2VjdGlvbi4KCjIwMTAtMDQtMDggMTE6MTk6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzdzogdHJpbSB0aGUgc2VjdGlvbiBmaWxlCgoyMDEwLTA0LTA4IDEwOjI2OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHY0bDJzaW5rIHRvIGRvY3MKCjIwMTAtMDQtMDggMTA6MTU6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgZG9jczogZml4IHhtbAoJICBUaGUgdGl0bGUgdGFnIGJlbG9uZ3MgaW50byB0aGUgcmVmc2VjdDIuCgoyMDEwLTA0LTA3IDE3OjQzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIGluY2x1ZGluZyBjb252ZXJzaW9uIHN1cHBvcnQgZm9yIEk0MjAvQVlVVgoKMjAxMC0wNC0wNyAxNzoyNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBncmF5c2NhbGUgaW5wdXQvb3V0cHV0CgkgIFRoaXMgZG9lc24ndCBkbyBhbnkgY29udmVyc2lvbiBhbmQgaXMgdGhlIG5leHQgc3RlcCB0bwoJICByZXBsYWNpbmcgdmlkZW9jcm9wIGJ5IHN1cHBvcnRpbmcgYWxsIHJlbWFpbmluZyBmb3JtYXRzCgkgIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEwLTA0LTA3IDE2OjI0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBmaWxsaW5nIHRoZSBiYWNrZ3JvdW5kIHdpdGggcmVkLCB5ZWxsb3cgYW5kIHdoaXRlCgoyMDEwLTA0LTA3IDE2OjExOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGRpcmVjdCBSR0I8LT5BWVVWIGNvbnZlcnNpb24KCjIwMTAtMDQtMDcgMTY6MTE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggUkdCMjQgZmlsbGluZwoKMjAxMC0wNC0wNyAxNjowNjo1NCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogaGFuZGxlIHByb3Blcmx5IFNUQVBzCgkgIGluIHJ0cGgyNjRkZXBheS5jLCBsaW5lcyA1NzctNTc2LCBOQUxVLXR5cGUgMjQgKFNpbmdsZS1UaW1lIEFnZ3JlZ2F0aW9uCgkgIFBhY2tldCkgaXMgaGFuZGxlZCBpbiBmYWxsLXRocm91Z2ggYXMgTkFMVS10eXBlIDI2ICh1bmhhbmRsZWQpLgoJICBUaGlzIGxlYWRzIGhpZ2ggcXVhbGl0eSBoMjY0IHN0cmVhbXMgc3VjaCBhczoKCSAgcnRzcDovL3N0cmVhbS55bGUubW9iaS95bGUvYXJlZW5hL01FRElBX0UwMzQyNjU3X3AzLm1wNAoJICB0byBmYWlsIHdpdGggIk5BTCB1bml0IHR5cGUgMjQgbm90IHN1cHBvcnRlZCB5ZXQiIChidXQgaXQncyBhY3R1YWxseQoJICBzdXBwb3J0ZWQpLCBhbmQgdGh1cyB0byBjbG9zZSBhbnkgc3RyZWFtIHdoaWNoIGNvbnRhaW5zIFNUQVBzLgoJICBUaGUgcHJvcG9zZWQgb25lLWxpbmVyIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZS4KCSAgRml4ZXMgIzYxNTA1MS4KCjIwMTAtMDQtMDcgMTM6NDc6MDIgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGJ1aWxkOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZml4IHdhcm5pbmdzIGZvciBhbGwgcGx1Z2lucyB0aGF0IHVzZTogc2V0bG9jYWxlIChMQ19BTEwuLi4KCjIwMTAtMDQtMDcgMTM6MzE6MTMgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJICBhdmk6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTMxIDE3OjU0OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZXN0cmljdCByZXN5bmNpbmcgdG8gc3VidGl0bGUgdHJhY2tzCgkgIFRoaXMgc2hvdWxkIHByZXZlbnQgc2tpcHBpbmcgYXVkaW8gb3IgdmlkZW8gaW4gbm90IHNvIHdlbGwgaW50ZXJsZWF2ZWQKCSAgY2FzZXMuCgkgIEZpeGVzICM2MTQ0NjAuCgoyMDEwLTA0LTA2IDEzOjIxOjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUG9zdCBhdmcuL21heC4gYml0cmF0ZSB0YWdzIGZvciBILjI2NAoJICBUaGlzIHJlYWRzIHRoZSBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGVzIGZyb20gdGhlICdidHJ0JyBhdG9tIGlmCgkgIGF2YWlsYWJsZSwgYW5kIHB1c2hlcyB0aGVzZSBhcyB0YWdzLAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTI3CgoyMDEwLTA0LTAzIDIzOjM5OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHJhY3kgc2h1dGRvd24KCSAgS2VlcCBhIHJlZiBvZiBwdWxzZXNpbmsgZm9yIGRlZmVycmVkIG1haW5sb29wIGludm9jYXRpb24uIEZpeGVzICM2MTQ3NjUKCjIwMTAtMDQtMDUgMTU6NDg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSAgdGVzdHM6IGpwZWdlbmM6IEFkZHMgc29tZSBnZXRjYXBzIHRlc3QKCSAgQWRkcyB0ZXN0cyBmb3IgdGhlIGpwZWdlbmMgZ2V0Y2FwcyBmdW5jdGlvbiwgdG8gYXZvaWQKCSAgaGF2aW5nIGl0IHJldHVybmluZyBub24tc3Vic2V0IGNhcHMKCjIwMTAtMDQtMDUgMTQ6NTE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBGaXggZ2V0Y2FwcyBmdW5jdGlvbgoJICBXaGVuIGNyZWF0aW5nIHRoZSBjYXBzIGFsbG93ZWQgdG8gdXBzdHJlYW0gdXNpbmcgZG93bnN0cmVhbQoJICByZXN0cmljdGlvbnMsIHVzZSBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMgYXMgdGhhdCBoYXMgdGhlCgkgIHVzYWJsZSBmb3JtYXRzIGFuZCBwdXRzIGludG8gaXQgdGhlIHdpZHRoLCBoZWlnaHQgYW5kIGZyYW1lcmF0ZQoJICBmaWVsZHMuIFRoaXMgYXZvaWRzIGdldHRpbmcgZXJyb3JzIGFib3V0IGdldGNhcHMgcmV0dXJuaW5nCgkgIG5vbiBzdWJzZXQgY2FwcyBvZiBpdHMgcGFkIHRlbXBsYXRlLgoJICBUaGlzIGVycm9yIHNob3dlZCB1cCBvbiB0aGUgbWV0YWRhdGEgcGx1Z2luIHVuaXQgdGVzdCBpbiAtYmFkLgoKMjAxMC0wNC0wNSAxNzozMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBjb252ZXJzaW9uIGZyb20gMyBieXRlIFJHQiB0byBBUkdCCgoyMDEwLTA0LTA1IDE3OjA4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIDMgYnl0ZSBSR0IgZm9ybWF0cyBhbmQgcmVmYWN0b3IgUkdCIGNvZGUgYSBiaXQKCjIwMTAtMDQtMDUgMTU6NTE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGFsbCAzMiBiaXQgUkdCIGZvcm1hdHMKCSAgLi4uaW5jbHVkaW5nIGNvbnZlcnNpb24gYmV0d2VlbiB0aGVtLgoKMjAxMC0wNC0wNSAxNToyNjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgYnVmZmVyaW5nIG1ldGhvZAoJICBBZGQgYSBwcm9wZXJ0eSB0byBjb250cm9sIGhvdyB0aGUgaml0dGVyYnVmZmVyIHBlcmZvcm1zIHRpbWVzdGFtcGluZyBhbmQKCSAgYnVmZmVyaW5nLgoKMjAxMC0wNC0wNCAxOTowMjo0MSAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBSZW1vdmluZyB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgYnVnICM2MTQ4NDMuCgoyMDEwLTA0LTA0IDIwOjMxOjM4IC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2hvdWxkIG5vdCByZXR1cm4gY2FwcyBBTlkgYmFzZWQgb24gZG93bnN0cmVhbQoJICBXaGVuIGRvd25zdHJlYW0gaGFzIGEgc2luayBwYWQgd2l0aCBBTlkgY2FwcywganBlZ2VuYyBzaG91bGQKCSAgdHJlYXQgaXQgdGhlIHNhbWUgYXMgTlVMTCBhbmQgcmV0dXJuIGl0cyB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlcyAjNjE0ODQyCgoyMDEwLTA0LTA0IDIyOjI4OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IGFkZCBmaXhtZSBjb21tZW50CgoyMDEwLTA0LTA0IDIyOjI2OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSAkKGJ1aWxkZGlyKSBmb3IgaW5zdGFsbGluZyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTAtMDQtMDQgMjI6MDc6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmU6IGZpeCBvdXQgb2Ygc291cmNlIGRpciBidWlsZHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2EwYmQzYThjZWEzMWY5ZWEwZGY3OThhODNkMzAwN2U2OTY5NThiYS4KCjIwMTAtMDQtMDQgMjE6MzY6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggb3V0IG9mIHNvdXJjZSBkaXIgYnVpbGRzCgkgIFJlbW92ZSBub24tZXhpc3RpbmcgZ3N0LWxpYnMgZnJvbSBpbmNsdWRlIGFuZCBsaWJyYXJ5LXBhdGhzJy4KCSAgRml4ZXMgIzYxNDM1NCBldmVuIG1vcmUuCgoyMDEwLTA0LTAxIDEwOjE5OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogUmVhZCByZXBsYXlnYWluIHBlYWsvZ2FpbiB0YWdzCgkgIE1ha2UgcXRkZW11eCByZWFkIHRhZ3MgcmVwbGF5Z2FpbiB0YWdzIHRoYXQgYXJlIHdpdGhpbiAnLS0tLScgYXRvbXMuCgkgIEZpeGVzICM2MTQ0NzEKCjIwMTAtMDQtMDEgMTg6NDg6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgbWF0cm9za2E6IEV4cG9ydCBoLjI2NCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgcmVwbGljYXRlcyB0aGUgY29kZSBpbiBxdGRlbXV4IHRvIGV4cG9ydCB0aGUgaC4yNjQgcHJvZmlsZSBhbmQKCSAgbGV2ZWwgaW4gdGhlIHN0cmVhbSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTA0LTAyIDE4OjUwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZi1ieS1vbmUgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAxMC0wNC0wMSAxODozODozOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIHJlZmFjdG9yIG9mIHRoZSBjb2RlCgkgIFRoaXMgd2lsbCBtYWtlIGl0IGVhc2llciB0byBjbHVtcCB0b2dldGhlciBjb21tb24gY29kZSB3aGVuIGNvcHlpbmcgdG8KCSAgbWFzdHJvc2thZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDEgMTg6MTc6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgaC4yNjQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIGguMjY0IGxldmVsIGluIHRoZSBzdHJlYW0gY2FwcyAoYXMgYSBzdHJpbmcpIHdoaWNoIGNhbgoJICBiZSB1c2VkIHRvIG1hdGNoIGEgZGVjb2Rlciwgb3IgYXMgbWV0YWRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDEgMTY6NTg6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgaC4yNjQgcHJvZmlsZSBpbiBjYXBzCgkgIFRoaXMgYWRkcyB0aGUgaC4yNjQgcHJvZmlsZSBmb3IgYSBnaXZlbiBzdHJlYW0gaW50byBjYXBzLiBUaGlzIGNhbgoJICAoZXZlbnR1YWxseSkgYmUgdXNlZCB0byBzZWxlY3QgYW4gYXBwcm9wcmlhdGUgZGVjb2RlciBhbmQgYXMgbWV0YWRhdGEKCSAgZm9yIGNlcnRhaW4gYXBwbGljYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NjUxCgoyMDEwLTAzLTMxIDE0OjQzOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSByZXZlcnNlIHBsYXliYWNrIGNvZGUgcGF0aAoKMjAxMC0wMy0zMSAxNDo0MDo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogc3VwcG9ydCAocHVsbCBtb2RlKSBuZWdhdGl2ZSBzZWVrIHJhdGUKCjIwMTAtMDMtMjkgMTU6Mjc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYWxzbyBjaGVjayBmb3Igc2VnbWVudCBzdG9wIGZvciBub24tc2VnbWVudC1zZWVrCgoyMDEwLTAzLTMwIDE2OjUwOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwdXNoIGNvcnJlY3RseSBzaXplZCBmbGFjIGhlYWRlciBidWZmZXJzCgkgIEZpeGVzICM2MTQzNTMuCgoyMDEwLTAzLTMwIDA3OjM0OjA3IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggY29tcGlsZXIgd2FybmluZyB3aGVuIHNyY2RpciAhPSBidWlsZGRpcgoJICBGaXhlcyAnLi4vLi4vZ3N0LWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknIHdhcm5pbmcvZXJyb3Igd2hlbgoJICB0aGUgYnVpbGQgZGlyZWN0b3J5IGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgc291cmNlIGRpcmVjdG9yeS4KCSAgRml4ZXMgIzYxNDM1NC4KCjIwMTAtMDMtMzAgMDE6NTA6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiB1bnN5bmNlZCBmcmFtZXMgd2l0aCBkYXRhIGxlbmd0aCBpbmRpY2F0b3IKCSAgRml4ZXMgYnVnICM2MTQxNTguCgoyMDEwLTAzLTI5IDExOjAwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBidWlsZCBwbHVnaW5zIGFuZCBleGFtcGxlcyBpbiBwYXJhbGxlbCB3aGVyZSBwb3NzaWJsZQoKMjAxMC0wMy0xOCAxODo0OToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IHJlZHVuZGFudCBmdW5jdGlvbiByZWRlY2xhcmF0aW9uIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFJlLWFwcGx5IHRoaXMgYWdhaW4gYXMgd2VsbCwgYXMgaXQgd2FzIHVuZG9uZSBieSB0aGUgcHJldmlvdXMgY29tbWl0Li4KCjIwMTAtMDMtMTggMTQ6MzE6MzUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgkgIEFwcGx5IHRoaXMgYWdhaW4sIGFzIGl0IHdhcyBvdmVyd3JpdHRlbiBieSB0aGUgcHJldmlvdXMgY29tbWl0LiBNZXJnaW5nCgkgIGlzIGhhcmQsIGFwcGFyZW50bHkuCgoyMDEwLTAzLTI2IDIzOjIwOjEwICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBJbXBsZW1lbnQgU1BESUYgc3VwcG9ydCBmb3IgQUMzLgoJICBEZXRlY3QgaWYgdGhlIHNvdW5kIGNhcmQgc3VwcG9ydHMgU1BESUYgcGFzc3RocnUgb2YgQUMzIGFuZCBhZGQKCSAgbmVjZXNzYXJ5IGNvZGUgdG8gc3VwcG9ydCB0aGF0IGxpa2UgYWxzYXNpbmsuCgoyMDEwLTAzLTI2IDE3OjA2OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIGNydWZ0IGFsZXJ0IGZvciBjb21tb24vc2hhdmUqCgoyMDEwLTAzLTI2IDE2OjUwOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuaDoKCSAgcXRkZW11eDogZXh0cmFjdCBzdHJlYW0gbGFuZ3VhZ2UgaW4gbW9yZSBjYXNlcwoJICBUaGUgMTYtYml0IGxhbmd1YWdlIGNvZGUgY2FuIGJlIGVpdGhlciBhIHBhY2tlZCBJU08tNjM5LTJUIGNvZGUKCSAgb3IgYSAnTWFjaW50b3NoIGxhbmd1YWdlIGNvZGUnLiBIYW5kbGUgdGhlIGxhdHRlciB0eXBlIG9mIGxhbmd1YWdlCgkgIGNvZGVzIGFzIHdlbGwsIGFuZCBtYXAgdG8gdGhlIG1hdGNoaW5nIElTTyBjb2RlLiBMYXN0bHksIGZpeAoJICBsYW5ndWFnZSBjb2RlIHBvc3RpbmcgZm9yIGxhbmd1YWdlICMwLCB3aGljaCBpcyB2YWxpZCBhbmQgc3RhbmRzCgkgIGZvciAnRW5nbGlzaCcuCgkgIEZpeGVzICM2MTQwMDEuCgoyMDEwLTAzLTI2IDE0OjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGFkZCBzb21lIEZJWE1FcwoKMjAxMC0wMy0yNiAxNDo0MjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IFNhbXBsZSByYXRlIG1hcmtlcnMgMHgwMSwgMHgwMiBhbmQgMHgwMyBhcmUgdmFsaWQKCSAgVGhleSBhcmUgZm9yIDg4LjJrSHosIDE3Ni40a0h6IGFuZCAxOTJrSHouCgoyMDEwLTAzLTI2IDE0OjE2OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogVGFrZSBzYW1wbGVyYXRlLCB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20gdGhlIFNUUkVBTUlORk8KCSAgLi4uYW5kIHVwZGF0ZSBpdCBmcm9tIHRoZSBmcmFtZSBoZWFkZXJzIGlmIGl0IHNob3VsZCBjaGFuZ2UgZm9yIHNvbWUgcmVhc29uLgoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBmaWxlcyB3aXRoIG9kZCBzYW1wbGUgcmF0ZXMuCgoyMDEwLTAzLTI2IDEzOjQ1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgZnJhbWUgY29weWluZwoKMjAxMC0wMy0yNiAxMzozNDoxNyArMDEwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IFNldCBjb3JyZWN0IGdldGNhcHMvc2V0Y2FwcyBmdW5jdGlvbnMgb24gc3JjcGFkcyBhbmQgc2ltcGxpZnkgdGhlbQoJICBUaGlzIGZpeGVzIGRvd25zdHJlYW0gbmVnb3RpYXRpb24sIHVwc3RyZWFtIG5lZ290aWF0aW9uIGlzbid0IHJlYWxseQoJICBzdXBwb3J0ZWQgYnkganBlZ2VuYyB5ZXQuCgkgIEZpeGVzIGJ1ZyAjNjEzNzg5LgoKMjAxMC0wMy0yNiAxMDozMToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBbHdheXMgZmlsbCB0aGUgY29tcGxldGUgZnJhbWUgaWYgYm9yZGVycyBzaG91bGQgYmUgYWRkZWQKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgZ2V0IGFueSBnYXBzIGJldHdlZW4gcmVjdGFuZ2xlcyBiZWNhdXNlCgkgIG9mIGNocm9tYSBzdWJzYW1wbGluZyBmb3IgZXhhbXBsZS4KCjIwMTAtMDMtMTggMjI6MTI6NDAgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBEb24ndCBjYWxsIGNvbmZpZ3VyZSB3aXRoIC0tZW5hYmxlLXBsdWdpbi1kb2NzCgkgIGNvbmZpZ3VyZSBnaXZlcyBhIG5pY2Ugd2FybmluZzoKCSAgY29uZmlndXJlOiBXQVJOSU5HOiB1bnJlY29nbml6ZWQgb3B0aW9uczogLS1lbmFibGUtcGx1Z2luLWRvY3MKCSAgYW5kIGluZGVlZCwgSSBjb3VsZCBub3QgZmluZCBhbnl0aGluZyBpbiB0aGUgY29uZmlndXJlLmFjIG9yIHRoZSBtNAoJICBtYWNyb3MgdGhhdCB3b3VsZCBhbGxvdyBlbmFibGluZyB0aGF0IG9wdGlvbi4gUmVtb3ZlIGl0IHRoZW4uCgoyMDEwLTAzLTIyIDE2OjU4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFJlZmFjdG9yIGJveGluZyB0byByZWR1Y2UgY29kZSBkdXBsaWNhdGlvbgoKMjAxMC0wMy0yMiAxMzoxMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFNpbXBsaWZ5IGNhcHMgdHJhbnNmb3JtYXRpb24KCjIwMTAtMDMtMjEgMjA6MTQ6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHRoZSBzb3VyY2UgZnJhbWUgZGF0YQoKMjAxMC0wMy0yMyAxNzo0Nzo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSBzZWVrIHdoZW4gaW4gcHJvcGVyIHN0YXRlCgkgIC4uLiBhbmQgZGF0YSBzdHJ1Y3R1cmVzIGNhbiBiZSB0aHJlYWQtc2FmZWx5IGFjY2Vzc2VkLgoJICBTZWUgIzYwMTYxNy4KCjIwMTAtMDMtMjMgMTc6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHN1cHBvcnQgKHB1bGwgbW9kZSkgbmVnYXRpdmUgc2VlayByYXRlCgoyMDEwLTAzLTE4IDE1OjI5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdHJhY2sgY2xpcCBkdXJhdGlvbiBpbiBzZWdtZW50CgoyMDEwLTAzLTE4IDEzOjM5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwcmVmZXIgaW5kZXggb2YgdmlkZW8gdHJhY2sgdG8gcGVyZm9ybSBzZWVraW5nCgoyMDEwLTAzLTI1IDIyOjU4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGlmIHdlIHRlbGwgdGhhdCB3ZSBoYW5kbGUgZ2FwIGZsYWdzLCB0aGVuIGRvIHNvCgoyMDEwLTAzLTI1IDIyOjU1OjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHVzZSBnbGliIHR5cGVzCgoyMDEwLTAzLTI1IDIyOjU0OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGZpeCBjbGFzc2lmaWNhdGlvbgoKMjAxMC0wMy0yNSAyMjo1MzoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiByZWZvcm1hdCBtZXNzYWdlIGRvY3MKCSAgVXNlIGEgbGlzdCBsaWtlIGluIG90aGVyIGVsZW1lbnQgZG9jcyBhcyBhbiB1bnR3ZWFrZWQgZG9jYm9vayB0YWJsZSBsb29rIHVnbHkuCgoyMDEwLTAzLTI0IDE2OjE5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIGhlYWRlciB2YWxpZGF0aW9uIGNoZWNrCgoyMDEwLTAzLTI0IDE4OjUzOjIwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1NWNkNTE0IHRvIGMxZDA3ZGQKCjIwMTAtMDMtMjQgMTE6Mjc6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmg6CgkqIGV4dC9sYW1lL3BsdWdpbi5jOgoJICBidWlsZDogQWRkIGFsbCBraW5kcyBvZiBjb21waWxlciB3YXJuaW5nIGZsYWdzIGFuZCBmaXggdGhlIHJlc3VsdGluZyB3YXJuaW5ncwoKMjAxMC0wMy0yMyAxOTo0Njo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgaWN5ZGVtdXg6IEhhbmRsZSB1cHN0cmVhbSBDb250ZW50LVR5cGUuCgkgIEFsbG93cyB1cyB0byBoYW5kbGUgU2hvdXRDYXN0IFRWIChOU1YpIHN0cmVhbXMuCgkgIElmIHRoZSB1cHN0cmVhbSBjYXBzIGhhdmUgdGhlICdjb250ZW50LXR5cGUnIGZpZWxkIHNldCB0byB2aWRlby9uc3YsIHRoZW4KCSAgd2Ugc2hvcnRjdXQgdGhlIHR5cGVmaW5kaW5nIGFuZCBzZXQgdmlkZW8veC1uc3YgZGlyZWN0bHkuCgoyMDEwLTAzLTIzIDE5OjMwOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFNldCB0aGUgQ29udGVudC1UeXBlIEhUVFAgaGVhZGVyIG9uIHRoZSBjYXBzLgoJICBGaXJzdCBzdGVwIHRvIGZpeGluZyBTaG91dENhc3QgKE5TVikgc3RyZWFtaW5nLgoKMjAxMC0wMy0yMyAwMjozODo0MyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgQWRkZWQgdm9pZCBwYXJhbWV0ZXIgdG8gYXZvaWQgb2xkLXN0eWxlIGRlZmluaXRpb24gd2FybmluZy4KCSAgQWRkZWQgLVduby1hZ2dyZWdhdGUtcmV0dXJuIGZsYWcgdG8gYXZvaWQgZXJyb25lb3VzIGFnZ3JlZ2F0ZSByZXR1cm4gd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzY2MwoKMjAxMC0wMy0yMyAwMDoxNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IHVzZSBsb29wIHRlc3QgZm9yIGxvbmctcnVubmluZyB2aWRlb2Nyb3AgY2hlY2sKCSAgVGhpcyBzaG91bGQgYXZvaWQgdGltZW91dHMgb24gc2xvdyBtYWNoaW5lcy4KCSAgRml4ZXMgIzU5NzczOS4KCjIwMTAtMDMtMjIgMTc6MjY6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBpMThuOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZiBmb3IgRU5BQkxFX05MUwoKMjAxMC0wMy0yMiAxNzoyNTowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBpMThuOiBmaXggdGhlIGJ1aWxkCgkgIERvbid0IGlubGN1ZGUgbG9jYWxlLmggd2hpY2ggd2UgaW5jbHVkZSBpbiBnZXR0ZXh0LmggaWYgbmVlZGVkLiBHdWFyZCB0aGUKCSAgaW5sY3VkZSBsaWtlIHdlIGRvIGluIHRoZSBzaW1pbGxhciBoZWFkZXJzIGluIGNvcmUuCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyBmbGFnCgkgIGFuZCBmaXggd2FybmluZ3MgZnJvbSBpdAoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAxNzo0NjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGlzIG5vdCB2YWxpZCBmb3IgQysrCgoyMDEwLTAzLTIxIDE3OjM2OjI4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEluY2x1ZGUgaGVhZGVycyBpbnN0ZWFkIGZvIGRlZmluaW5nIGZ1bmN0aW9ucwoKMjAxMC0wMy0yMSAxNzoyNDoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBsYXJnZSBzZXQgb2Ygd2FybmluZyBmbGFncy4KCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgd2FybmluZ3MgYW55bW9yZSwgc28gbm90aGluZyBuZWVkZWQgdG8gYmUgZml4ZWQuCgoyMDEwLTAzLTIxIDE3OjIzOjQzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9pZnMuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkgIE1ha2UgZ29vbSBub3QgdXNlIGFnZ3JlZ2F0ZSByZXR1cm5zCgoyMDEwLTAzLTIxIDE1OjE3OjQ2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGZsYWcKCSAgQW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjAgMDA6NTQ6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MgdG8gdGhlIGNvbmZpZ3VyZSBmbGFncwoJICAuLi4gYW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMTE6MTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBBUkdCIGZvcm1hdHMKCSAgQW5kIGhhbmRsZSBBWVVWIGxpa2UgQVJHQiwgd2UgbmVlZCBubyBZVVYgc3BlY2lmaWMgaGFuZGxpbmcuCgoyMDEwLTAzLTIwIDIxOjMwOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFJHQiBhbmQgeFJHQiBpbnB1dAoKMjAxMC0wMy0yMCAyMToxMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBBUkdCIGlucHV0CgoyMDEwLTAzLTIwIDIwOjQ2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgQVJHQiBvdXRwdXQKCjIwMTAtMDMtMjAgMTA6NDc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIEFCR1IgYW5kIFJHQkEKCSAgTm93IGFsbCA0IEFSR0IgdmFyaWFudHMgYXJlIHN1cHBvcnRlZCBieSB2aWRlb21peGVyLgoKMjAxMC0wMy0yMCAxMDoyNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IE1vdmUgY2hyb21hIGtleWluZyBwYXJhbWV0ZXJzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHByZXZlbnQgbXVsdGlwbGUgcG9pbnRlciBkZXJlZmVyZW5jZXMgcGVyIHBpeGVsCgoyMDEwLTAzLTIwIDEwOjIwOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogTW92ZSBjb2xvciBjb252ZXJzaW9uIG1hdHJpeGVzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHNwZWVkIHVwIHByb2Nlc3NpbmcKCjIwMTAtMDMtMjAgMTA6MTg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgY29ycmVjdCBtYXRyaXhlcyB0byBjb252ZXJ0IGNocm9tYSBrZXlpbmcgY29sb3IgdG8gWVVWCgoyMDEwLTAzLTE5IDE4OjUxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBjb2xvciBtYXRyaXhlcwoKMjAxMC0wMy0xOSAxODoyMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlbmFtZSBhbmQgbW92ZSBmdW5jdGlvbnMgYXMgZnVydGhlciBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDMtMTkgMTg6MTg6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHNvbWUgdW5uZWVkZWQgY2FsY3VsYXRpb25zIGFuZCBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzCgkgIEFuZCBkb2N1bWVudCB0aGUgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcyBhIGJpdCBiZXR0ZXIKCjIwMTAtMDMtMTkgMTg6MTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogU29tZSBwcmVwYXJhdGlvbnMgZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTAzLTE5IDE3OjA5OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IGZpeCBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIHRoZSBzYW1lIHVuaXRzIGZvciBjb21wYXJpbmcgdGhlIGVsYXBzZWQgdGltZSBhZ2FpbnN0IHRoZSBpbnRlcnZhbC4KCSAgRml4ZXMgIzYxMzAxMwoKMjAxMC0wMy0xOSAxNjo0NDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBJbXBsZW1lbnQgY29sb3ItbWF0cml4IHN1cHBvcnQgYW5kIHVzZSBpbnRlZ2VyIGFyaXRobWV0aWMgb25seQoJICBBbHBoYWNvbG9yIG5vdyB1c2VzIHRoZSBjb3JyZWN0IG1hdHJpeGVzIGZvciBTRFRWIGFuZCBIRFRWIGFuZCBjYW4KCSAgY29udmVydCBiZXR3ZWVuIHRoZW0uCgoyMDEwLTAzLTE5IDE1OjAzOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHVzZSBHVHlwZSBmcm9tIC1iYXNlIGFuZCBidW1wIHJlcXVpcmVkIHZlcnNpb24KCSAgVXNlIHRoZSB0cmFuc3BvcnQgZmxhZ3MgR1R5cGUgZnJvbSAtYmFzZSBhbmQgYnVtcCB0aGUgcmVxdWlyZWQgdmVyc2lvbiBvZiAtYmFzZQoJICBiZWNhdXNlIG9mIHRoaXMuCgoyMDEwLTAzLTE5IDAwOjA1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgIGFwZXRhZzogbWlub3IgTWFrZWZpbGUuYW0gc3VyZ2VyeQoJICAtSSQodG9wX3NyY2RpcikvZ3N0LWxpYnMvIGlzIGFscmVhZHkgaW4gJChHU1RfQ0ZMQUdTKQoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0wNCAyMjoxMjozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IEZpeCBpbnRlcm5hbCBjbG9jawoJICBGaXhlcyAjNTkzOTEwLgoKMjAxMC0wMy0xOCAyMToxNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlZmlsZS5hbSBjbGVhbnVwcwoJICBNb3N0bHkgYWRkICQoR1NUX0JBU0VfQ0ZMQUdTKSB3aGVyZSBpdCB3YXMgbWlzc2luZywgYnV0IGFsc28gZml4IHVwCgkgIG9yZGVyIG9mIGZsYWdzIGFuZCBsaWJzIGlmIG5lZWRlZCAoc2VlIGRvY3MvcmFuZG9tL21vdmluZy1wbHVnaW5zKS4KCjIwMTAtMDMtMTggMTg6NDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCByZWR1bmRhbnQgZnVuY3Rpb24gcmVkZWNsYXJhdGlvbiBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxOTowMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVtYWluaW5nIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgd2hlbiBwcm9jZXNzaW5nIGEgcGl4ZWwKCjIwMTAtMDMtMTggMTg6NTU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBjaHJvbWEga2V5aW5nIGludG8gYSBzaW5nbGUgZnVuY3Rpb24KCSAgVGhpcyByZWR1Y2VzIGNvZGUgZHVwbGljYXRpb24gb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3IgbW9yZSBjb2xvciBmb3JtYXRzLgoKMjAxMC0wMy0xOCAxNTo1MzoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTggMTQ6MzE6MzUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTE4IDE0OjAyOjMwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9vbGRjb3JlL2dzdGVsZW1lbnRzLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmg6CgkgIFJlbW92ZSBvbGRjb3JlIGRpcmVjdG9yeQoJICBUaGUgZWxlbWVudHMgaGF2ZSBiZWVuIHVudXNlZCBmb3IgYWdlcyBhbmQgYWxsIGltcG9ydGFudCBvbmVzIGhhdmUgYmVlbgoJICByZXBsYWNlZCBvciBjb3BpZWQgZWxzZXdoZXJlLgoKMjAxMC0wMy0xOCAxMzo0NTowOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZWNvZGVyLmM6CgkgIGF2aTogUmVtb3ZlIG9sZCBmaWxlCgkgIFNlZW1zIHRvIGJlIGxlZnRvdmVyIGZyb20gdGhlIDAuNCBkYXlzIG9yIHNvLgoKMjAxMC0wMy0xOCAxMjo0NDo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiB1c2UgI2lmZGVmIHJhdGhlciB0aGFuICNpZiBjb25kaXRpb25hbHMKCjIwMTAtMDMtMTggMTI6MjA6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBkbyBub3QgY2FsbCBfcHVzaF90cyB3aXRoIHVubmVlZGVkIChhbmQgd3JvbmcpIHRpbWUgcGFyYW1ldGVyCgkgIEZpeGVzICM2MTMyMDYuCgoyMDEwLTAzLTE4IDExOjMzOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIGhlYWRlciB2YWxpZGF0aW9uIGNoZWNrCgoyMDEwLTAzLTE4IDAxOjUxOjE5ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwdXQgbW9yZSBpbmZvcm1hdGlvbiBpbiB0aGUgbWV0YWRhdGEKCSAgQWRkaXRpb25hbCB0YWdzIGFyZTogYXVkaW9jb2RlY2lkLCB2aWRlb2NvZGVjaWQgZnJhbWVyYXRlIGFuZCAoaW4gdGhlCgkgIG5vbi1saXZlIGNhc2UpIGZpbGVzaXplLgoJICBXaGlsZSBhdCBpdCwgZml4IGluZGV4IHJld3JpdGluZyB0byB1cGRhdGUgZHVyYXRpb24gYW5kIGZpbGVzaXplCgkgIHZhbHVlcyBldmVuIGlmIHRoZSBpbmRleCBpcyBlbXB0eS4KCSAgRml4ZXMgIzYxMzA5NC4KCjIwMTAtMDMtMTcgMjE6MzM6MjggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSogZ3N0L2dvb20vbWF0aHRvb2xzLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFkZCAtV3VuZGVmIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBhbmQgZml4IHRoZSByZXN1bHRpbmcgd2FybmluZ3MKCjIwMTAtMDMtMTcgMjA6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgLVdtaXNzaW5nLXByb3RvdHlwZXMgaXMgbm90IHZhbGlkIGZvciBDKysKCjIwMTAtMDMtMTcgMTk6MzU6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyB3YXJuaW5nIGZsYWcKCSAgQWxzbyBmaXggY29tcGlsZSBpc3N1ZXMKCjIwMTAtMDMtMTcgMTg6NDk6MTEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIEZpeCB3YXJuaW5ncyBpbiBleHBlcmltZW50YWwgcGx1Z2lucywgdG9vCgoyMDEwLTAzLTE3IDE4OjIzOjAwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2dvb20vZ29vbV9meC5oOgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuaDoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2ZudjFoYXNoLmM6CgkqIGdzdC9ydHAvZm52MWhhc2guaDoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6CgkqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgd2FybmluZyBmbGFncwoJICBBbmQgZml4IGFsbCB0aGUgd2FybmluZ3MuCgoyMDEwLTAzLTE3IDE2OjIzOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiBpbXByb3ZlIGNvbnN0YW50RHVyYXRpb24gZ3Vlc3NpbmcKCSAgV2hlbiBubyBjb25zdGFudER1cmF0aW9uIGhhcyBiZWVuIGdpdmVuIGluIHRoZSBjYXBzLCB0cnkgdG8gZGVyaXZlIG9uZSBmcm9tIHRoZQoJICB0aW1lc3RhbXAgZGlmZmVyZW5jZSBiZXR3ZWVuIHBhY2tldHMuIEFsc28ga2VlcCBkb2luZyB0aGlzIGZvciBlYWNoIHBhY2tldAoJICBiZWNhdXNlIHNvbWUgYnJva2VuIHN0cmVhbXMgbWlnaHQgc2ltcGx5IHByb3ZpZGUgd3JvbmcgdGltZXN0YW1wcy4KCjIwMTAtMDMtMTYgMjM6NDM6MzkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFB1dCB3aWR0aCBhbmQgaGVpZ2h0IGluIHRoZSBtZXRhZGF0YQoJICBTb21lIHBsYXllcnMgdXNlIHRoYXQgaW5mbyB0byBzY2FsZSB0aGVpciBkaXNwbGF5LgoJICBTZWUgIzYxMzA5NC4KCjIwMTAtMDMtMTYgMjM6MzI6NDUgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHB1dCB0aW1lc3RhbXBzIGxhcmdlciB0aGFuIEdfTUFYSU5UMzIgaW4gdGhlIEZMViB0YWdzCgkgIEZvciBub24tbGl2ZSBpbnB1dCByZXNwb25kIGJ5IHB1c2hpbmcgRU9TLCBmb3IgbGl2ZSB3cmFwIHRoZQoJICB0aW1lc3RhbXBzIGV2ZXJ5IEdfTUFYSU5UMzIgbWlsaXNlY29uZHMuCgkgIEZpeGVzICM2MTMwMDMuCgoyMDEwLTAzLTE2IDIzOjQwOjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBhbHNvIHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgaGVyZSBmb3Igc3RhdGljIHN0cmluZ3MKCjIwMTAtMDMtMTYgMjE6MjM6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogRml4IFJHQkE8LT5BWVVWIGNvbnZlcnNpb24KCjIwMTAtMDMtMTYgMjE6MTY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHJlZHVuZGFudCBpbnN0YW5jZSBmaWVsZAoKMjAxMC0wMy0xNiAyMToxMDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFByb3RlY3QgcHJvcGVydHkgdmFsdWVzIGZyb20gY2hhbmdlcyBkdXJpbmcgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMC0wMy0xNSAyMzoyOTo1NSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdlbmM6IFVzZSBwbmdfZ2V0X2lvX3B0cigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIGlvX3B0ciBkaXJlY3RseQoJICBGaXhlcyAjNjEyNzAwIChmb3IgdGhlIGxhc3QgdGltZSEpCgoyMDEwLTAzLTE1IDIzOjI5OjA2ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5nOiBDaGVjayBmb3IgbGlicG5nID49IDEuMiBpbnN0ZWFkIG9mIGxpYnBuZzEyCgoyMDEwLTAzLTE2IDAxOjI5OjM2ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBbHdheXMgcHV0IGEgZHVyYXRpb24gdGFnIGluIHRoZSBtZXRhZGF0YQoJICBTb21lIEZsYXNoIHBsYXllcnMgKGZvciBpbnN0YW5jZSBKVyBQbGF5ZXIpIGFsd2F5cyBleHBlY3QgYSBkdXJhdGlvbgoJICB0YWcsIG90aGVyd2lzZSB0aGV5IGRvbid0IHN0YXJ0IHBsYXliYWNrLgoJICBJZiBkdXJhdGlvbiBjYW4gYmUgcXVlcmllZCBmcm9tIHRoZSBzaW5rIHBhZHMgb3IgaXMgcHJvdmlkZWQgYXMgYSB0YWcsCgkgIHVzZSBpdC4gT3RoZXJ3aXNlIHRyeSB0byBkZXRlcm1pbmUgaXQgZnJvbSB0aGUgbGFzdCBzZWVuIHRpbWVzdGFtcCBvZgoJICB0aGUgc2luayBwYWRzIGFmdGVyIEVPUyBhbmQgcmV3cml0ZSBpdCBpbiB0aGUgaGVhZGVyIGJlZm9yZSB3cml0aW5nCgkgIHRoZSBpbmRleC4KCjIwMTAtMDMtMTYgMDA6MzU6NDYgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFJlbW92ZSB0aGUgc2VuZF9jb2RlY19kYXRhIGZpZWxkIGZyb20gR3N0Rmx2UGFkCgkgIFRoYXQgZmllbGQgaXMgbm90IHVzZWQgYW55bW9yZSBhZnRlciB0aGUgY2hhbmdlcyBpbgoJICA5ZmRlY2JjMWMxMWY0ZTVhZjY1NzhiYmEzMmE5YjMyNzcxMDI5ZDMzLgoKMjAxMC0wMy0xNiAxMzo1MzoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZ2V0IGZhbWlseSBvZiBleHRlcm5hbCBzb2NrZXRzIHRvbwoJICBHZXQgdGhlIGZhbWlseSBvZiBleHRlcm5hbGx5IGNvbmZpZ3VyZWQgc29ja2V0cyBzbyB0aGF0IHdlIGNhbiBjb25maWd1cmUgaXQKCSAgY29ycmVjdGx5LgoKMjAxMC0wMy0xNSAyMDozNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBBUkdCIGZvcm1hdHMKCjIwMTAtMDMtMTUgMTk6MTY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogU2ltcGxpZnkgQVJHQjwtPkFZVVYgY29udmVyc2lvbnMgYnkgY29kZSBnZW5lcmF0aW9uIG1hY3JvcwoKMjAxMC0wMy0xNSAxOTowNzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogTWlub3IgY2xlYW51cHMgYW5kIG1vdmUgZGVjbGFyYXRpb25zIGludG8gYSBzZXBhcmF0ZSBoZWFkZXIgZmlsZQoKMjAxMC0wMy0xNSAxODo1ODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIGJhc2UgY2xhc3MgZm9yIGF1dG9tYXRpYyBRb1Mgc3VwcG9ydAoKMjAxMC0wMy0xNSAxODo1MDoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBBZGQgc3VwcG9ydCBmb3IgaW5wbGFjZSBjb252ZXJzaW9ucyBmcm9tIEFZVVYgdG8gQVJHQgoKMjAxMC0wMy0xNSAxODoxNDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGNhcHMgcGFyc2luZwoKMjAxMC0wMy0xNSAxODowOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGZvciBhdXRvbWF0aWMgUW9TIHN1cHBvcnQKCjIwMTAtMDMtMTUgMTg6MDc6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTAzLTE1IDE0OjE2OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IFVzZSBzcGVleF9zdGVyZW9fc3RhdGVfaW5pdCgpIGluc3RlYWQgb2YgdGhlIGRlcHJlY2F0ZWQgaW5pdGlhbGl6YXRpb24gbWFjcm8KCSAgRml4ZXMgYnVnICM2MTI3NzcuCgoyMDEwLTAzLTE1IDAxOjA5OjQ5ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBDb3JyZWN0bHkgbWFyayBidWZmZXJzIGFzIGRlbHRhIHVuaXRzCgkgIE1hcmsgdmlkZW8gaW50ZXJmcmFtZXMsIHZpZGVvIGNvZGVjIGRhdGEgYnVmZmVycyBhbmQgYXVkaW8gYnVmZmVycyAoaWYKCSAgaXQncyBub3QgYW4gYXVkaW8tb25seSBzdHJlYW0pIGFzIGRlbHRhIHVuaXRzLgoKMjAxMC0wMy0xNCAxOTozMjoyMCArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogU3VwcG9ydCBzdHJlYW1oZWFkZXJzCgkgIFB1dCB0aGUgRkxWIGhlYWRlciwgdGhlIG1ldGFkYXRhIHRhZyBhbmQgKGlmIHByZXNlbnQpIGNvZGVjCgkgIGluZm9ybWF0aW9uIGluIHRoZSBzdHJlYW1oZWFkZXIgdG8gYWxsb3cgdGhlIG11eGVyIHRvIGJlIHVzZWQgZm9yCgkgIHN0cmVhbWluZy4KCjIwMTAtMDMtMTQgMDE6Mzg6MjEgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFByZWFsbG9jYXRlIGluZGV4IHNwYWNlIGFuZCBmaWxsIGl0IGFmdGVyIGZpbmlzaGluZyBvdXRwdXQKCSAgTWFrZSB0aGUgaW5kZXggYXBwZWFyIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUsIHdoaWNoIGlzIHdoYXQgbW9zdAoJICBwbGF5ZXJzIGFyZSBleHBlY3RpbmcuCgkgIEZpeGVzICM2MDEyMzYuCgoyMDEwLTAzLTE1IDEzOjQ3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogTWlub3IgY29kaW5nIHN0eWxlIGZpeGVzIGFuZCBjbGVhbnVwCgoyMDEwLTAzLTE0IDAxOjM0OjAyICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBBZGQgYSBpcy1saXZlIHByb3BlcnR5CgkgIElmIGl0IGlzIHNldCwgdGhlIG11eGVyIHdpbGwgbm90IHdyaXRlIHRoZSBpbmRleC4gRGVmYXVsdHMgdG8gZmFsc2UuCgoyMDEwLTAzLTE0IDAxOjI1OjQyICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBPbmx5IHB1dCB2YWxpZCBzZWVrIHBvaW50cyBpbiB0aGUgaW5kZXgKCSAgRm9yIGZpbGVzIGNvbnRhaW5pbmcgdmlkZW8gb25seSB2aWRlbyBrZXlmcmFtZXMgYXJlIHZhbGlkIHBvaW50cyB0bwoJICB3aGljaCBhIHBsYXllciBjYW4gc2Vlay4gRm9yIGF1ZGlvLW9ubHkgZmlsZXMgYW55IHRhZyBzdGFydCBpcyBhIHZhbGlkCgkgIHNlZWsgcG9pbnQuCgkgIFNlZSAjNjAxMjM2LgoKMjAxMC0wMy0xNCAwMTowOTozNyArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IGluZGV4IGJ1aWxkaW5nIHRvIG1ha2UgZW50cmllcyBwb2ludCB0byB0YWcncyBzdGFydCBvZmZzZXQKCSAgUHJldmlvdXMgY29kaW5nIHdhcyB3cm9uZ2x5IGluY3JlbWVudGluZyB0aGUgdG90YWwgYnl0ZSBjb3VudCBiZWZvcmUKCSAgYWRkaW5nIGFuIGluZGV4IGVudHJ5LgoKMjAxMC0wMy0xNSAxMzo0MDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogRG9uJ3QgcmVuZGVyIHRleHQgb3V0c2lkZSB0aGUgZnJhbWUgYm91bmRhcmllcwoJICBGaXhlcyBidWcgIzYxMTk4Ni4KCjIwMTAtMDMtMTUgMTE6Mzg6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGZvcmdldCB0byBzZW5kIGtlZXBhbGl2ZSBtZXNzYWdlcwoJICBXaGVuIHdlIG9wZXJhdGUgaW4gVENQIG1vZGUsIHN0aWxsIHNlbmQga2VlcGFsaXZlIG1lc3NhZ2VzIHdoZW4gd2UKCSAgbmVlZCB0by4KCSAgRml4ZXMgIzYxMjY5NgoKMjAxMC0wMy0xMyAyMzoxOTozNSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IENhbGwgcG5nX2ptcGJ1ZigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIHBuZ19zdHJ1Y3RfcHRyIGRpcmVjdGx5CgkgIEZpeGVzICM2MTI3MDAgKGFnYWluKQoKMjAxMC0wMy0xMiAxNjo0NDozMCArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IENhbGwgcG5nX2Vycm9yKCkgaW5zdGVhZCBvZiB1c2luZyBsb25nam1wKCkgZGlyZWN0bHkuCgkgIEZpeGVzICM2MTI3MDAKCjIwMTAtMDMtMTIgMTM6NTc6MjggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGUyNzJmNzEgdG8gNTVjZDUxNAoKMjAxMC0wMy0wNSAxMTowNjo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBYTVAgcGFyc2luZyBzdXBwb3J0CgkgIFVzZSB4bXAgaGVscGVycyB0byBwYXJzZSBYTVAgbWV0YWRhdGEgaW4gdWR0YSBhdG9tLgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDEyOjMyOjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgb24gbm9uLXdpbmRvd3MuCgoyMDEwLTAzLTEwIDIyOjIzOjQzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIG11bHRpdWRwc2luazogYXZvaWQgZ2V0dGluZyB0aGUgc29ja2V0IGZhbWlseSB1c2luZyBnZXRzb2NrbmFtZSgpCgoyMDEwLTAzLTExIDE3OjI4OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9pbnRlciBkaWZmZXJlbmNlcy4KCSAgVGhpcyBmaXhlcyBpdCBmb3IgYm90aCAzMiBhbmQgNjQgYml0CgoyMDEwLTAzLTExIDE3OjI4OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTExIDE3OjAzOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHByaW50ZiBmb3JtYXR0aW5nIGZvciBtYWNvc3gKCjIwMTAtMDMtMTEgMTc6MDM6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTExIDE3OjAyOjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAxMC0wMi0xOSAxMzozOTowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IE1ha2Ugc2NyaXB0IHRhZyBwYXJzaW5nIG1vcmUgZmxleGlibGUuCgkgICogVGhlIG5iX2VsZW1lbnRzIGZvciBhcnJheXMgaXMganVzdCBhbiBpbmRpY2F0aW9uLCB3ZSBjYW4gdGhlcmVmb3JlIGlnbm9yZQoJICBpdCBhbmQgY2Fycnkgb24gcGFyc2luZyBtZXRhZGF0YSBpdGVtcyB1bnRpbCB3ZSByZWFjaCB0aGUgZW5kIG1hcmtlci4KCSAgKiBJZiB0eXBlID09IDMsIHRoZW4gdGhlIHNjcmlwdCB0YWcgY29udGFpbnMgYSBsaXN0IG9mIG9iamVjdCBmb2xsb3dlZAoJICBieSB0aGUgZW5kIG1hcmtlci4KCSAgUmVmYWN0b3IgY29kZSBzbGlnaHRseSB0byBoYW5kbGUgYm90aCBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNDQ3CgoyMDEwLTAzLTExIDE1OjUxOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBmaXggbWV0YWRhdGEgbm90IHdyaXRhYmxlIHdhcm5pbmdzIGluIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSB0ZXN0cwoKMjAxMC0wMy0xMSAxNTozODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICB0ZXN0czogZml4IG1ldGFkYXRhIG5vdCB3cml0YWJsZSB3YXJuaW5ncyB3aXRoIGFwZXYybXV4IGFuZCBpZDN2Mm11eCB0ZXN0cwoKMjAxMC0wMy0xMSAxNToyNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IG1ldGFkYXRhIHdyaXRhYmxlIHdhcm5pbmdzCgkgIFNldCBtZXRhZGF0YSBvbiBidWZmZXIgZmlyc3QsIHdoZW4gdGhlIHJlZmNvdW50IGlzIHN0aWxsIDEsIGFuZCBvbmx5CgkgIHJlZiBhZ2FpbiBhZnRlcndhcmRzLgoKMjAxMC0wMy0xMSAxNTowMjo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpZ25vcmUgc3RyZWFtIHdpdGggaW52YWxpZCBoZWFkZXIgdGltZSBtZXRhZGF0YQoKMjAxMC0wMy0wOCAxNDo1NzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNldCBzdHJlYW0tZm9ybWF0PXJhdyBvbiBBQUMgY2FwcwoJICBTZXQgc3RyZWFtLWZvcm1hdD1yYXcgZm9yIEFBQyBjYXBzLCBhcyB0aGF0IGlzIHRoZQoJICBleHBlY3RlZCBBQUMgZm9ybWF0IHRvIGJlIGluIHRoaXMgY29udGFpbmVyIGZhbWlseS4KCSAgRml4ZXMgIzU2NjI1MAoKMjAxMC0wMy0xMSAxMjo1NjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGRvaW5nIHN0cmNtcAoJICBDaGVjayB0aGUgY29ubmVjdGlvbiBhbmQgYWRkcmVzcyB0eXBlIGZvciBOVUxMIGJlZm9yZSBkb2luZyBzdHJjbXAgYW5kCgkgIGNyYXNoaW5nLgoJICBGaXhlcyAjNjEyNTUzCgoyMDEwLTAzLTExIDExOjIwOjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRmOGE3YzggdG8gZTI3MmY3MQoKMjAxMC0wMy0xMSAxMTowOTo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICBidWlsZDogaW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpCgoyMDEwLTAzLTExIDEwOjMzOjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IG1vdmUgaW52YXJpYW50IGNoZWNrIG91dCBvZiB0aGUgaW5uZXIgbG9vcAoJICBJbXByb3ZlcyBwZXJmb3JtYW5jZSBmb3Igc2ltcGxlIG1ldGhvZC4KCjIwMTAtMDMtMTAgMjI6MTU6MDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIENYWEZMQUdTLCB0b28sIGp1c3QgbGlrZSBDRkxBR1MKCjIwMTAtMDMtMTAgMjE6MDE6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgZm9yIHJlY2VudCBjaGFuZ2VzIHRvIGNvbW1vbiBzdWJtb2R1bGUKCSAgVGhpcyBqdXN0IHJlcGxhY2VzIGV2ZXJ5ICIkRVJST1JfQ0ZMQUdTIiB1c2FnZSB3aXRoIGEgdXNhZ2Ugb2YKCSAgIiRXQVJOSU5HX0NGTEFHUyAkRVJST1JfQ0ZMQUdTIiB0byBnZXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBhcwoJICBwcmV2aW91c2x5LgoJICBBY3R1YWxseSB1c2luZyB0aGF0IHNlcGFyYXRpb24gd2lsbCBoYXBwZW4gbGF0ZXIuCgoyMDEwLTAzLTEwIDIxOjUyOjA5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk3MjBhN2QgdG8gZGY4YTdjOAoKMjAxMC0wMy0xMCAyMDo0Mzo1NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwYjZlMDcyIHRvIDk3MjBhN2QKCjIwMTAtMDMtMTAgMTA6NTE6MjggLTA4MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogUmVzZXQgd2luZG93cyBlcnJvciBjb2RlIGFmdGVyIGdldHRpbmcgY29ycmVzcG9uZGluZyBlcnJvciBtZXNzYWdlLgoKMjAxMC0wMy0wOSAxNzozMjoyNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHB1dCB0aGUgY29kZWNfZGF0YSBibG9iIGludG8gdGhlIGFjdHVhbCBkYXRhIGZvciBNUEVHNCB2aWRlbywgdG8gbWF0Y2ggb3RoZXIgaW1wbGVtZW50YXRpb25zIGluIHRoZSB3aWxkLgoKMjAxMC0wMy0xMCAxNjowOTo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3Y2M1ZWI0IHRvIDBiNmUwNzIKCjIwMTAtMDItMjMgMjE6MDY6NTUgLTAzMDAgIFRoYWRldSBMaW1hIGRlIFNvdXphIENhc2NhcmRvIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogc2VuZCBuZXdfc2VnbWVudCB3aXRoIEdTVF9GT1JNQVRfVElNRSBmb3JtYXQKCSAgSW5zdGVhZCBvZiB1c2luZyBCYXNlU3JjIGRlZmF1bHQgZm9ybWF0IEdTVF9GT1JNQVRfQllURVMsIHNlbmQgaXQgaW4KCSAgR1NUX0ZPUk1BVF9USU1FLgoJICBTaWduZWQtb2ZmLWJ5OiBUaGFkZXUgTGltYSBkZSBTb3V6YSBDYXNjYXJkbyA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgkgIEZpeGVzICM2MTE2NTkKCjIwMTAtMDMtMTAgMTE6NDY6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBhbHNvIHJlcG9ydCBzZWVrYWJsZSB3aXRob3V0IGFuIGVsZW1lbnQgaW5kZXgKCSAgLi4uIHNpbmNlIHJlY2VudCBjb2RlIGFsc28gc2Vla3MgYXJvdW5kIHRvIG9idGFpbiByZXF1aXJlZCBkYXRhCgkgIGZyb20gYXZpIGluZGV4LgoKMjAxMC0wMy0wOSAxODowNjo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgc29tZSBjaGVjayBhbmQgc3RhbmRhcmRpemVkIHNlZWsgZXZlbnQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlCgoyMDEwLTAzLTA5IDE4OjA1OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBvZmZzZXQgaGFuZGxpbmcgaW4gcHVzaCBtb2RlIHNlZWtpbmcKCSAgUHVzaCBtb2RlIHNlZWtpbmcgdXNlcyBzYW1lIGluZGV4IGRhdGEgYXMgcHVsbCBtb2RlLCBhbmQgc3RvcmVzCgkgIG9mZnNldCB0byBkYXRhIGluIGNodW5rLCB3aGVyZWFzIHB1c2ggbW9kZSBvcGVyYXRlcyBpbiBjaHVua3MsCgkgIGFuZCBhcyBzdWNoIG5lZWRzIG9mZnNldCBjb25zaXN0ZW50bHkgY29ycmVzcG9uZGluZyB0byBjaHVuayBoZWFkZXJzLgoJICBBbHNvIGZpeCBkZXRlcm1pbmluZyBiZXN0IG1hdGNoaW5nIHN0cmVhbSBmb3IgaW5jb21pbmcgbmV3c2VnbWVudCBldmVudCwKCSAgYXMgd2VsbCBhcyBzZXR0aW5nIHNvbWUgc3RyZWFtIHN0YXRlIGFjY29yZGluZ2x5LgoKMjAxMC0wMi0yNiAyMToyOTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGNvbmR1Y3QgaW5kZXggc2NhbiBpbiB0YXNrIHRocmVhZAoJICAuLi4gcmF0aGVyIHRoYW4gaW4gc2Vla2luZyB0aHJlYWQsIHdoaWNoIG1pZ2h0IHRoZW4gb2NjdXB5IG1haW5sb29wCgkgIGZvciBzb21lIHRpbWUgd2l0aCBwb3NzaWJsZSB1bnJlc3BvbnNpdmUgc2lkZS1lZmZlY3RzLgoKMjAxMC0wMi0yNiAyMToyNzozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBhdm9pZCBpbmRlZmluaXRlIGluZGV4IGdyb3d0aAoJICBUaGF0IGlzLCBjaGVjayBmb3IgYW5kIGRvIG5vdCBhZGQgYW4gaW5kZXggZW50cnkgdGhhdCBoYXMgYWxyZWFkeQoJICBiZWVuIGFkZGVkLgoKMjAxMC0wMi0xOCAxNDo1NzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBhbHNvIGNvbGxlY3QgaW5kZXggaW5mbyBvbi10aGUtZmx5IGluIHB1bGwgbW9kZQoKMjAxMC0wMi0xOCAxMjo0MjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIGZsdmRlbXV4OiBpbmNyZW1lbnRhbGx5IGJ1aWxkIGluZGV4IGluIHB1bGwgbW9kZQoJICBTY2FuIGZvciBuZWVkZWQgcGFydCB1cG9uIGEgc2VlayBhcyBvcHBvc2VkIHRvIGRvaW5nIGEgY29tcGxldGUgc2NhbgoJICBhdCBzdGFydHVwLCB3aGljaCBtYXkgdGFrZSBzb21lIHRpbWUgZGVwZW5kaW5nIG9uIGZpbGUgYW5kL29yIHBsYXRmb3JtLgoJICBBbHNvIGFjY2VwdCBpbmRleCBtZXRhZGF0YSBpbiBwdWxsIG1vZGUgYW5kIHBlZWsgZm9yIHNvbWUgbWV0YWRhdGEKCSAgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aGVuIGRlZW1lZCBhcHByb3ByaWF0ZS4KCjIwMTAtMDItMTggMTI6MjY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc29tZSBtb3JlIHZhcmlhYmxlIGNsZWFudXAKCjIwMTAtMDMtMDkgMTg6MjU6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogcmVmYWN0b3IgYWRkaW5nIGluZGV4IGVudHJ5CgoyMDEwLTAyLTE3IDExOjM2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGZpeCBzZXR0aW5nIERFTFRBX1VOSVQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIC4uLiB3aGljaCBzaG91bGQgbm90IGRlcGVuZCBvbiBoYXZpbmcgaW5kZXggYXZhaWxhYmxlIG9yIG5vdC4KCSAgQWxzbyByZWZhY3RvciByZXN1bHRpbmcgY29sbGFwc2VkIGNvZGUuCgoyMDEwLTAyLTExIDE5OjQzOjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgZXJyb25lb3VzIGNvZGVjLWRhdGEgb3ZlcnJpZGluZyBvZiBzdHNkIGluZm9ybWF0aW9uCgoyMDEwLTAyLTAxIDIyOjM3OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogYWRhcHQgdG8gbmV3IG9nZ2RlbXV4CgkgIFJlbW92ZSBhbGwgZ3JhbnVsZXBvcyBoYWNrcyBhbmQgc2ltcGx5IHVzZSB1cHN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMC0wMi0wMSAyMjozNjowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiByZWZhY3RvciBncmFudWxlcG9zIGhhY2tzCgoyMDEwLTAzLTEwIDExOjE5OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXJzZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uCgkgIFBhcnNlIHRoZSBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZyb20gdGhlIFNEUCBhbmQgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaWYgd2UgYXJlCgkgIGRlYWxpbmcgd2l0aCBpcHY0IG9yIGlwdjYgY29ubmVjdGlvbnMuCgoyMDEwLTAzLTA5IDE3OjUzOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXF1aXJlIGEgZGVzdGluYXRpb24gZm9yIG11bHRpY2FzdAoJICBXaGVuIHNldHRpbmcgdXAgdGhlIG11bHRpY2FzdCBzb2NrZXRzLCB3ZSBuZWVkIGEgZGVzdGluYXRpb24gYWRkcmVzcyB0byBsaXN0ZW4KCSAgb24gb3IgZWxzZSB3ZSBlcnJvci4KCjIwMTAtMDMtMDkgMTc6NTI6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogaGFuZGxlIGlwdjYgbGlzdGVuaW5nIHBvcnRzIHdoZW4gbmVlZGVkCgkgIEFkZCBzb21lIGNvZGUgdG8gbWFrZSB1ZHBzcmMgbGlzdGVuIG9uIGFuIGlwdjYgYWRkcmVzcyB3aGVuIG5lZWRlZC4gVGhlCgkgIGRldGVjdGlvbiBvZiBJUFY2IGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQuCgoyMDEwLTAzLTA5IDE3OjE1OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHA6IHVzZSB1cmkgcGFyc2luZyBjb2RlCgkgIFVzZSB0aGUgdXJpIHBhcnNpbmcgaGVscGVyIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGhvc3QgYW5kIHBvcnQgcGFpcnMuIFRoaXMKCSAgYWRkcyBzdXBwb3J0IGZvciBJUFY2LgoKMjAxMC0wMy0wOSAxNzoxMzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHBuZXR1dGlsczogYWRkIGhlbHBlciBmdW5jdGlvbnMgZm9yIHVkcCB1cmkgaGFuZGxpbmcKCSAgQWRkIHNvbWUgaGVscGVycyB0byBwYXJzZSB1ZHAgdXJpcy4gTWFrZSBzdXJlIElQVjYgaXMgc3VwcG9ydGVkIHRvby4KCjIwMTAtMDMtMDUgMTY6MDg6NDUgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IE1ha2UgaXQgcG9zc2libGUgdG8gZmF2b3IgbmV3IHNvdXJjZXMgaW4gY2FzZSBvZiBTU1JDIGNvbmZsaWN0CgkgIEFkZCBhICJmYXZvci1uZXciIHByb3BlcnR5IHRoYXQgdGVsbHMgdGhlIHNlc3Npb24gdG8gZmF2b3IgbmV3IHNvdXJjZXMgd2hlbgoJICB0aGVyZSBpcyBhIFNTUkMgY29uZmxpY3QuIFRoaXMgaXMgdXNlZnVsIGZvciBTSVAgY2FsbHMgYW5kIG90aGVyIHN1Y2ggY2FzZXMKCSAgd2hlcmUgYSByZW1vdGUgbG9vcCBpcyBleHRyZW1lbHkgdW5saWtlbHkuCgkgIEZpeGVzICM2MDc2MTUKCjIwMTAtMDMtMDUgMTU6NDY6NDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNlc3Npb246IE1vdmUgU1NSQyBjb25mbGljdHMgbGlzdHMgaW50byBSVFBTb3VyY2UKCSAgV2Ugd2lsbCBhbHNvIG5lZWQgdG8gdHJhY2sgU1NSQyBjb25mbGljdHMgaW4gcmVtb3RlIHNvdXJjZXMuCgkgIFNlZSAjNjA3NjE1CgoyMDEwLTAyLTI2IDE3OjEzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZW5kIGtlZXAgYWxpdmUgd2hlbiBwYXVzZWQKCSAgV2hlbiB3ZSBhcmUgcGF1c2VkLCBzZW5kIGtlZXAgYWxpdmUgbWVzc2FnZXMgdG8gdGhlIHNlcnZlciBzbyB0aGF0IG91ciBzZXNzaW9uCgkgIGRvZXNuJ3QgdGltZSBvdXQgd2hlbiB3ZSBnbyBiYWNrIHRvIHBsYXlpbmcgbGF0ZXIuCgoyMDEwLTAzLTEwIDAxOjEwOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2FhNjViNSB0byA3Y2M1ZWI0CgoyMDEwLTAyLTIzIDE5OjQ4OjEwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogQWRkIGtleS1mcmFtZSBvcHRpb24gdG8gbmV4dC1maWxlCgkgIFRoaXMgYWxsb3dzIHNlZ21lbnRpbmcgb2YgTVBFRy1UUyBmaWxlcyBhdCBrZXkgZnJhbWVzLCB3aGljaCBpcwoJICBleGFjdGx5IHdoYXQgaXMgbmVlZGVkIGZvciBBcHBsZSdzIEhUVFAgc3RyZWFtaW5nLgoKMjAxMC0wMy0wOSAyMTozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ0ZWNjZTcgdG8gN2FhNjViNQoKMjAxMC0wMy0wOCAyMDoxNzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBhdXRvY3JvcHBpbmcgZm9yIG9kZCB3aWR0aC9oZWlnaHQgZGlmZmVyZW5jZXMKCjIwMTAtMDMtMDggMjA6MDI6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyBzdHVmZgoKMjAxMC0wMy0wOCAxOToyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb2Z4OiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIHN0cmVhbSB0aW1lCgoyMDEwLTAzLTA4IDE5OjIwOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgoyMDEwLTAzLTA4IDE5OjA5OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogU29tZSBjbGVhbnVwCgoyMDEwLTAyLTI4IDE1OjQ3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IFVzZSBjb250cm9sbGVyIHdoZXJlIHBvc3NpYmxlLCBvcHRpbWl6ZSBhIGJpdCBhbmQgbWFrZSBwcm9wZXJ0aWVzIHRocmVhZHNhZmUKCjIwMTAtMDItMjYgMTY6MzU6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBidWlsZDogTWFrZSBzb21lIG1vcmUgcnVsZXMgc2lsZW50IGlmIHJlcXVlc3RlZAoKMjAxMC0wMi0yNiAxNTo0MTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIGF1dG9tYWtlIDEuMTEgc2lsZW50IHJ1bGVzIGluc3RlYWQgb2Ygc2hhdmUgaWYgYXZhaWxhYmxlCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIHVzZSBzb21ldGhpbmcgdGhhdCBpcyBzdGlsbCBtYWludGFpbmVkIGFuZAoJICBhbHNvIGJyaW5ncyBiYWNrIGxpYnRvb2wgMS41IHN1cHBvcnQuCgoyMDEwLTAzLTA4IDIyOjU3OjM0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IGZyYWN0aW9ucyBkb24ndCBhbGxvdyBkb3VibGVzCgoyMDEwLTAzLTAxIDEyOjAzOjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHg6IGZpeCBkZXNjcmlwdGlvbgoJICBJdCdzIHZpZGVvLCBub3QgYXVkaW8KCjIwMTAtMDMtMDkgMTc6NDU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAxMC0wMy0wOSAwMDoyODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjEKCjIwMTAtMDMtMDkgMDA6MjQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wOSAwMDowOTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBSZXZlcnQgIkFkZCA0OjI6MiwgNDoxOjEsIGFuZCA0OjQ6NCBvdXRwdXQgc3VwcG9ydCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MzdjMjZmNjFhMmJkOGQ3YjAxZjhiNmQwODFkOTRkYTY1Zjc0NTU3LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMTAtMDMtMDggMjM6NDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIwCgoyMDEwLTAzLTA4IDIzOjQyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDggMTY6NDc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBkb24ndCBzZW5kIHNlY29uZCBuZXdzZWdtZW50IGV2ZW50IGluIGZyYW1lZCBtb2RlLCBmaXhlcyBsb25nIHBsYXliYWNrIGRlbGF5CgkgIERvbid0IHNlbmQgYW5vdGhlciBuZXdzZWdtZW50IGV2ZW50IGlmIHRoZSB1cHN0cmVhbSBtdXhlci9wYXJzZXIgaGFzIGFscmVhZHkKCSAgc2VudCBvbmUgKG90aGVyd2lzZSB0aGUgc2luayB3aWxsIHdhaXQgZm9yICRkdXJhdGlvbiBiZWZvcmUgc3RhcnRpbmcgcGxheWJhY2spLgoJICBGaXhlcyBsb25nIGRlbGF5IHVudGlsIHBsYXliYWNrIHN0YXJ0cyB3aXRoIGZsYWMtaW4tb2dnIGZpbGVzLgoJICBGaXhlcyAjNjEwOTU5LgoKMjAxMC0wMy0wNSAxMzo0OTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29uZmlndXJlIG11bHRpY2FzdCBjb3JyZWN0bHkKCSAgVGFrZSB0aGUgdHJhbnNwb3J0IGRlc3RpbmF0aW9uIGZvciBtdWx0aWNhc3QuCgkgIERpc2FibGUgbG9vcCBhbmQgYXV0b2pvaW4gZm9yIG11bHRpY2FzdCBvbiB0aGUgdWRwc2lua3MuCgoyMDEwLTAzLTA1IDEzOjQ3OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGljYXN0OiBhbHdheXMgY29uZmlndXJlIGxvb3AgYW5kIHR0bAoJICBBbHNvIGNvbmZpZ3VyZSBUVEwgYW5kIGxvb3AgcGFyYW1ldGVycyB3aGVuIHdlIGFkZCBhIGNsaWVudCBhZnRlciBpbml0aWFsaXppbmcKCSAgdGhlIHNlbmRlci4KCjIwMTAtMDMtMDggMTI6MTM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjNkZXBheTogYmFzZWNsYXNzIGhhbmRsZXMgdGltZXN0YW1wcyBmb3IgdXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTY0NTgxZTFiODhlY2Q1ZWM1ZGE4MmMzY2FmYjBlN2EyZDU4YjMwMi4KCSAgSWYgd2UgZG9uJ3QgY2FsbCBwdXNoX3RzLCB0aGVyZSB3aWxsIGJlIG5vIHRpbWVzdGFtcCBhdCBhbGwgb24gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzYxMjE1NAoKMjAxMC0wMi0yMyAyMjoxNjozOSAtMDUwMCAgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgQWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0CgoyMDEwLTAzLTAyIDEzOjIxOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHBheWxvYWQgc2l6ZSB0byBlc3RpbWF0ZSBiaXRyYXRlCgkgIFVzZSB0aGUgbGVuZ3RoIG9mIHRoZSBwYXlsb2FkIGZvciBlc3RpbWF0aW5nIHRoZSByZWNlaXZlciBiaXRyYXRlIHNvIHRoYXQgaXQKCSAgbWF0Y2hlcyB0aGUgY2FsY3VsYXRpb25zIGRvbmUgb24gdGhlIHNlbmRlciBzaWRlLiBUb2dldGhlciB3aXRoIHRoZSBudW1iZXIgb2YKCSAgcGFja2V0cyBvbmUgY2FuIHNjYWxlIHRoZSBiaXRyYXRlIHdpdGggdGhlIGhlYWRlciBvdmVyaGVhZCBvZiB0aGUgbG93ZXIKCSAgdHJhbnNwb3J0LgoKMjAxMC0wMy0wMiAxMjozOToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc291cmNlOiByZWZhY3RvciBiaXRyYXRlIGVzdGltYXRpb24KCSAgRG9uJ3QgcmV1c2UgdGhlIHNhbWUgdmFyaWFibGUgd2UgbmVlZCBmb3Igc3RhdHMgZm9yIHRoZSBiaXRyYXRlIGVzdGltYXRpb24KCSAgYmVjYXVzZSB3ZSdyZSB1cGRhdGluZyBpdC4KCSAgUmVmYWN0b3IgdGhlIGJpdHJhdGUgZXN0aW1hdGlvbiBjb2RlIHNvIHRoYXQgYm90aCBzZW5kZXIgYW5kIHJlY2VpdmVycyB1c2UgdGhlCgkgIHNhbWUgY29kZSBwYXRoLgoKMjAxMC0wMy0wMSAxNjo0MDoyNyAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgYWRkZWQgYml0cmF0ZSBlc3RpbWF0aW9uIHRvIHJlY2VpdmVyLXNpZGUgc3RhdHMsIGZpeGVzICM2MTEyMTMKCjIwMTAtMDMtMDEgMTY6MDE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogZml4IHR5cG8gaW4gZGVidWcKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDEwLTAzLTA2IDAwOjQzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOQoKMjAxMC0wMy0wNiAwMDo0MjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTAzIDIwOjI5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjE4LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDMtMDIgMTg6Mjk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IHNlbmQgaW52YWxpZCBuZXdzZWdtZW50cwoJICBGaXhlcyAjNjExNTAxCgoyMDEwLTAzLTAyIDE0OjA5OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogTWFyayBzdHJlYW1zIGFzIGJlaW5nIEVPUyBhdCB0aGUgcmlnaHQgdGltZS4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gc3RvcCBzdHJlYW1pbmcgb25seSB3aGVuIGFsbCBzdHJlYW1zIGhhdmUgZ29uZSBwYXN0IHRoZQoJICBzZWdtZW50LnN0b3AgYW5kIG5vdCBiZWZvcmUuCgkgIEZpeGVzICM2MTE1MDEKCjIwMTAtMDItMjYgMTg6MTA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkdmFuY2Ugc3BhcnNlIHN0cmVhbXMgb25seSBhcyBtdWNoIGFzIHJlcXVpcmVkIHRvIGtlZXAgdGhlIGdhcCBzbWFsbGVyIHRoYW4gNTAwbXMKCSAgQ2hhbmdpbmcgaXQgdG8gdGhlIG5ld2VzdCB0aW1lc3RhbXAgdGhhdCB3YXMgZXZlciBwdXNoZWQgd2lsbAoJICBpbmNyZWFzZSB0aGUgc2VnbWVudCBzdGFydCBpbiA1MDBtcyBqdW1wcywgd2hpY2ggY291bGQgYmUganVzdAoJICBhZnRlciB0aGUgbmV4dCBzcGFyc2Ugc3RyZWFtIGJ1ZmZlci4gRS5nLgoJICBWaWRlbyBhdCAxLjBzLCBzcGFyc2Ugc3RyZWFtIGF0IDAuNXMgd291bGQganVtcCB0aGUKCSAgc3BhcnNlIHN0cmVhbSB0byAxLjBzLiBOb3cgYSBuZXcgc3BhcnNlIHN0cmVhbSBidWZmZXIgY291bGQKCSAgYXBwZWFyIHRoYXQgaGFzIGEgdGltZXN0YW1wIG9mIDAuOXMgYW5kIHRoaXMgd291bGQgYmUKCSAgZHJvcHBlZCBmb3Igbm8gZ29vZCByZWFzb24gYmVjYXVzZSBvZiBiYWQgbHVjay4KCjIwMTAtMDItMjQgMDE6MzY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9lcy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjQgMDI6MDU6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgTWFrZSBzdXJlIEZMVVNIX1NUT1AgaXMgc2VudCBzbyBub3QgdG8gbGVhdmUgZG93bnN0cmVhbSBmbHVzaGluZy4KCjIwMTAtMDItMjMgMTc6MjU6NTQgKzAxMDAgIFZvbGtlciBHcmFic2NoIDxidWd6aWxsYS5nbm9tZS5vcmdAdi5ub3RqdXN0aG9zdGluZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlICRQS0dfQ09ORklHIGluc3RlYWQgb2YgcGtnLWNvbmZpZyB0byBmaXggY3Jvc3MgY29tcGlsYXRpb24KCSAgRml4ZXMgYnVnICM2MTA4MzkuCgoyMDEwLTAyLTIzIDE3OjI0OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJlc2V0IHNrZXcgZGV0ZWN0aW9uIGFmdGVyIGluc3RhbnRpYXRpbmcgdGhlIGppdHRlcmJ1ZmZlcgoJICAuLi5ub3Qgb25seSB3aGVuIGdvaW5nIHRvIFJFQURZLiBUaGlzIHNldHMgaGlnaF9sZXZlbCBhbmQgZnJpZW5kcyB0bwoJICBhIG1vcmUgdXNlZnVsIHZhbHVlLgoKMjAxMC0wMi0yMyAxNzoxOToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBSZXR1cm4gMTAwIGlmIGhpZ2gtbGV2ZWwgaXMgMCBpbnN0ZWFkIG9mIGRpdmlkaW5nIGJ5IHplcm8KCjIwMTAtMDItMjIgMTI6MjQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGF2b2lkIGRpdmlzaW9uIGJ5IDAKCSAgQXZvaWQgYSBkaXZpc2lvbiBieSAwIHdoZW4gbm8gY29uc3RhbnREdXJhdGlvbiB3YXMgc3BlY2lmaWVkIGFuZCB3aGVuIG91dCB0d28KCSAgdGltZXN0YW1wcyBhcmUgZXF1YWwuCgkgIEZpeGVzICM2MTAyNjUKCjIwMTAtMDItMjIgMTg6MjA6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgIGR2ZGVwYXk6IGRvbid0IG91dHB1dCBmcmFtZXMgdW50aWwgd2UgaGF2ZSBhIGhlYWRlcgoJICBXYWl0IGZvciB0aGUgY29tcGxldGUgZmlyc3QgNiBoZWFkZXIgRElGIHBhY2tldHMgYmVmb3JlIG91dHB1dHRpbmcgYSBmcmFtZS4KCSAgRGVjb2RlcnMgbmVlZCB0aGlzIGluZm8gdG8gY29ycmVjdGx5IGRlY29kZSB0aGUgZGF0YS4KCSAgRml4ZXMgIzYxMDU1NgoKMjAxMC0wMi0yMiAyMDo1NToyOSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYnkgZmlyc3QgY2hlY2tpbmcgYW5kIHRoZW4gcmVhZGluZwoJICBGaXhlcyBidWcgIzYxMDQ4My4KCjIwMTAtMDItMTggMDk6MDU6NTAgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGdzdF9wdWxzZXNpbmtfZ2V0X211dGU6IHNldCByZXN1bHQgZWFybGllci4KCSAgSW4gdGhlIGNhc2VzIHdoZXJlIG5vIGJ1ZmZlciB3YXMgcHJvY2VzcyB5ZXQgb3IgdGhlIGluZGV4IGlzIG5vdAoJICBhdmFpbGFibGUsIGdldF9wdWxzZXNpbmtfZ2V0X211dGUoKSB3b3VsZCB1bmNvbmRpdGlvbmFsbHkgcmV0dXJuCgkgIEZBTFNFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMzM3CgoyMDEwLTAyLTE5IDEyOjM1OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nb29kLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGZpeCBnc3RyZWFtZXItcGx1Z2lucy1nb29kIHVuaW5zdGFsbGVkIC5wYyBmaWxlCgkgIEZpeCBnc3QtcGx1Z2lucy1iYXNlIHJlZmVyZW5jZS9yZXF1aXJlbWVudC4gVGhpcyBjYXVzZWQgc3B1cmlvdXMKCSAgcHJvYmxlbXMgd2l0aCB1bmluc3RhbGxlZCAtdWdseS8tYmFkIG5vdCBmaW5kaW5nIC1nb29kIHBsdWdpbnMgaW4KCSAgdGhlaXIgdW5pdCB0ZXN0cyAod2hlbiBkaXN0Y2hlY2tpbmcpLgoKMjAxMC0wMi0xOSAwMTowMzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2x2LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMiBwcmUtcmVsZWFzZQoKMjAxMC0wMi0xOSAwMDo1NDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvLmdpdGlnbm9yZToKCSAgTWFrZSBnaXQgaWdub3JlIHNoYXBld2lwZSBleGFtcGxlcyBhbmQgdGVzdHMKCjIwMTAtMDItMTkgMDA6NDY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogbWlub3IgbWljcm8tb3B0aW1pc2F0aW9uCgkgIFdlIGtub3cgdGhlc2UgdmFsdWVzIGRvbid0IGNoYW5nZSBkdXJpbmcgdGhlIGxvb3AsIGJ1dCB0aGUgY29tcGlsZXIKCSAgZG9lc24ndCBhbmQgaGFzIHRvIHJlLWNoZWNrIHRoZW0gZm9yIGV2ZXJ5IGl0ZXJhdGlvbi4KCjIwMTAtMDItMTkgMDA6Mzk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogcmVtb3ZlIHN0YXRpYyBrZXl3b3JkIGZyb20gdmFyaWFibGVzIHRoYXQgc2hvdWxkbid0IGJlIHN0YXRpYwoJICBNdWx0aXBsZSBmbHZwYXJzZS9mbHZkZW11eCBpbnN0YW5jZXMgc2hvdWxkIGJlIGFibGUgdG8gb3BlcmF0ZSB3aXRob3V0CgkgIHRyYW1wbGluZyBvdmVyIGVhY2ggb3RoZXIgYnkgYWNjaWRlbnRhbGx5IHJlLXVzaW5nIHRoZSBzYW1lIChzdGF0aWMpCgkgIHZhcmlhYmxlcy4gKFNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cykKCjIwMTAtMDItMTYgMDI6MDc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGRvY3M6IGFkZCBTaW5jZTogbWFya2VycyBmb3IgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0aWVzCgoyMDEwLTAyLTE4IDE4OjIwOjI0ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBvZmYtYnktb25lIGxvZ2ljIGVycm9yIGluIGZyYW1lIHJhdGUgY2FwIHJlZ3Jlc3Npb24gY29tbWl0CgoyMDEwLTAyLTE3IDE2OjI3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHRoZSBjb3JyZWN0IGR1cmF0aW9uIHdoZW4gY29tcGFyaW5nIHNlZ21lbnRzCgkgIERvIG5vdCBjb25mdXNlIFF0RGVtdXhTZWdtZW50cyB3aXRoIEdzdFNlZ21lbnRzIHdoZW4KCSAgY29tcGFyaW5nIHRoZSB0b3RhbCBmaWxlIGR1cmF0aW9uIHdpdGggdGhlIHNlZ21lbnQgZHVyYXRpb24KCSAgRml4ZXMgIzYxMDI5NgoKMjAxMC0wMi0xNyAxODowNjoyOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgZHVyYXRpb25zIG1vZHVsbyAxPDwzMgoJICBGb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9ucyBvZiBlYWNoIHNhbXBsZSwgd2UgYXJlIHN1cHBvc2VkIHRvIGFkZCBlYWNoCgkgIGR1cmF0aW9uIG1vZHVsbyAxPDwzMiBzbyBtYWtlIHRoZSBlbGFwc2VkIHRpbWUgY291bnRlciBhIHVpbnQzMi4KCSAgRml4ZXMgIzYxMDI4MAoKMjAxMC0wMi0xNiAyMTowNToyNCArMDEwMCAgQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMuc2thcmdyZW4gYXQgYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBpbXByb3ZlIGhlYWRlciBtaW1lLXR5cGUgcGFyc2luZwoJICBNYWtlIHRoZSBoYW5kaW5nIG9mIHRoZSBtaW1lIHR5cGUgd2l0aGluIHRoZSAiYm91bmRhcnkiIGEgYml0IGxlc3MgbmFpdmUuCgkgIFRoZSBzdGFuZGFyZCBmb3IgTUlNRSBhbGxvd3MgcGFyYW1ldGVycyB0byBmb2xsb3cgdGhlICJ0eXBlIiAvICJzdWJ0eXBlIgoJICBjbGF1c2Ugc2VwYXJhdGVkIGZyb20gdGhlIG1pbWUgdHlwZSBieSAnOycuCgkgIE1vZGlmaWVzIHRoZSBtdWx0aXBhcnRkZW11eGVyJ3MgaGVhZGVyIHBhcnNpbmcgc28gaXQgZG9lc250IGFzc3VtZQoJICB0aGUgd2hvbGUgbGluZSBhZnRlciAiY29udGVudC10eXBlOiIgaXMgdGhlIG1pbWUgdHlwZSBhbmQgdGh1cyBtYWtlcyBpdCBhIGJpdAoJICBtb3JlIHJlc2lsaWVudCB0byBmaW5kaW5nIGFic3VyZCBtaW1lIHR5cGVzIGluIHRoZSBjYXNlIHdoZXJlIHBhcmFtZXRlcnMgYXJlCgkgIGFkZGVkLgoJICBGaXhlcyAjNjA0NzExCgoyMDEwLTAyLTE2IDE5OjUzOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBzdG9wcGluZyBOVUxMIHRhc2tzCgkgIENoZWNrIHRoZSB0YXNrIGZvciBOVUxMLCBpdCBjb3VsZCBiZSBwYXVzZWQgYW5kIHNldCB0byBOVUxMIGJlZm9yZS4KCjIwMTAtMDItMTYgMTY6MjI6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggQUxBQyBjb2RlYy1kYXRhIGhhbmRsaW5nCgkgIEFMQUMgY29kZWMtZGF0YSBhcHBhcmVudGx5IGNvbWVzIGluIChhdCBsZWFzdCkgdHdvIGZsYXZvdXJzIChtb3YsIG1wNCksCgkgIHNvIHVzZSBhdG9tIGJhc2VkIHBhcnNpbmcgdG8gcmV0cmlldmUgcmVxdWlyZWQgZGF0YSwgcmF0aGVyIHRoYW4KCSAgYWltaW5nIGZvciBhIHNwZWNpZmljIG9mZnNldC4KCSAgU2VlIGFsc28gIzU4MDczMS4KCjIwMTAtMDItMTYgMTU6NTA6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVidWcgbWVzc2FnZQoKMjAxMC0wMi0xMSAxOTozOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogaGFuZGxlIHNpZ25lZCB2YWx1ZXMgaW4gM0dQUCBsb2NhdGlvbiB0YWcKCjIwMTAtMDItMDggMjE6MzU6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAyLTE2IDE1OjAwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJlc2V0IHNvbWUgbW9yZSBzdHJlYW0gc3RhdGUgYWZ0ZXIgc2VlawoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBub24tZmx1c2hpbmcgc2Vlay4KCjIwMTAtMDItMTYgMTQ6NDQ6MTEgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGZyYW1lIHJhdGUgY2FwIHJlZ3Jlc3Npb24KCSAgTG9vayBmb3IgYSBub24temVybyBtaW5fZHVyYXRpb24gZHVyaW5nIGluaXRpYWxpc2F0aW9uIHRvIGF2b2lkCgkgIGluY29ycmVjdCBmcmFtZSByYXRlIGNhcHMuCgoyMDEwLTAyLTE2IDEwOjEzOjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBsb2cgbW9yZSBkZXRhaWxzIGluIGJ1ZmZlciBwb29sIGZpbmFsaXplCgkgIEhlbHBzIHRvIGFsaWduIHdpdGggdGhlIGxvZ2dpbiBmcm9tIGxpYnY0bC4KCjIwMTAtMDItMTYgMTA6MTE6NDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogaW5pdCBkYXRhc3RydWN0dXJlcyBhZnRlciBwcmUtY29uZGl0aW9ucyBjaGVja3MKCjIwMTAtMDItMTYgMTA6MTA6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogYWRkIGEgZml4bWUgZm9yIGhhbmRsaW5nIG90aGVyIFlVViB2YXJpYW50cwoKMjAxMC0wMi0xNiAwMTo0MDoxOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgRml4ZXMgIzYxMDA1My4KCjIwMTAtMDItMTYgMDA6NTA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1cCBHU1RfQ1hYRkxBR1MgcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBDIHNwZWNpZmljIGZsYWdzIGluIEdTVF9DWFhGTEFHUywgc28gYmFzZSBpdCBvbiB0aGUKCSAgR1NUX0NGTEFHUyB0aGF0IG9ubHkgY29udGFpbnMgdGhlIHBrZy1jb25maWcgQ0ZMQUdTIGJ1dCBub25lIG9mCgkgIHRoZSBHU1RfT1BUSU9OX0NGTEFHUy4gQWxzbywgd2Ugb25seSBuZWVkIHRoZSBsb2NhbCBpbmNsdWRlcyBvbmNlLgoJICBGaXggdHlwbyBhcyB3ZWxsIChHU1RfRkxBR1MgLT4gR1NUX0NGTEFHUykuCgoyMDEwLTAyLTE1IDIzOjEzOjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFzZSBHU1RfQ1hYRkxBR1Mgb24gLS1jZmxhZ3MgZnJvbSBwa2ctY29uZmlnCgkgIHBrZy1jb25maWcgc2V0cyBHU1RfQ0ZMQUdTIGFuZCBHU1RfTElCUy4gV2UgbmVlZCB0byB1c2UgQ0ZMQUdTIGFzIGEgc3RhcnRpbmcKCSAgcG9pbnQgZm9yIGZvciBib3RoIEMgYW5kIENYWCBzZXR0aW5ncy4KCjIwMTAtMDEtMjAgMTg6NTI6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IHJlbW92ZSB1c2Ugb2YgbnRwX25zX2Jhc2UKCjIwMTAtMDEtMjAgMTg6MjI6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IHJlbW92ZSBtb3JlIG50cG5zdGltZSBhbmQgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgY29kZSB3aGVyZSB3ZSBwYXNzIG50cG5zdGltZSBhcm91bmQsIHdlIGNhbiBkbyBtb3N0IHRoaW5ncyB3aXRoIHRoZQoJICBydW5uaW5nX3RpbWUganVzdCBmaW5lLgoJICBSZW5hbWUgYSB2YXJpYWJsZSBpbiB0aGUgQXJyaXZhbFN0YXRzIHN0cnVjdCBzbyB0aGF0IGl0J3MgY2xlYXIgdGhhdCB0aGlzIGlzIHRoZQoJICBjdXJyZW50IHN5c3RlbSB0aW1lLgoKMjAxMC0wMS0yMCAxODoxOTozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVzZSBydW5uaW5nX3RpbWUgZm9yIGppdHRlcgoJICBVc2UgdGhlIHJ1bm5pbmdfdGltZSB0byBjYWxjdWxhdGUgdGhlIGppdHRlciBpbnN0ZWFkIG9mIHRoZSBudHAgdGltZS4gUGFydCBvZgoJICB0aGUgcGxhbiB0byBnZXQgcmlkIG9mIG50cG5zYmFzZS4KCjIwMTAtMDEtMjAgMTc6MDQ6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogY2hhbmdlIGhvdyBOVFAgdGltZSBpcyBjYWxjdWxhdGVkIGluIFJUQ1AKCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBOVFAgdGltZSBiYXNlZCBvbiB0aGUgcnVubmluZ190aW1lIG9mIHRoZSBwaXBlbGluZSBidXQgZnJvbQoJICB0aGUgc3lzdGVtY2xvY2suIFRoaXMgYWxsb3dzIHVzIHRvIGdlbmVyYXRlIG1vcmUgYWNjdXJhdGUgTlRQIHRpbWVzdGFtcHMgaW4gY2FzZQoJICB0aGUgc3lzdGVtY2xvY2sgaXMgc3luY2hyb25pemVkIHdpdGggTlRQIG9yIHNpbWlsYXIuCgoyMDEwLTAyLTE1IDEyOjEyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogcHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4CgkgIFRoZSBjb21waWxlciB3YW50cyBhIGNhc3QgaGVyZSBldmVuIHRob3VnaCB0aGUgdHlwZSBpcyBhbHJlYWR5CgkgIHR5cGVkZWZlZCBhcyA2NC1iaXQgaW50ZWdlciAocHJlc3VtYWJseSBiZWNhdXNlIGdsaWIgaGFzIHR5cGVkZWZlZAoJICBndWludDY0IHRvIHVuc2lnbmVkIGxvbmcgaGVyZSkuCgoyMDEwLTAyLTE1IDEwOjMzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgc3RyaW5nCgoyMDEwLTAyLTE1IDAwOjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcmF3MTM5NCwgbWF0cm9za2EsIHJ0cG1hbmFnZXI6IHJlbW92ZSBwYWRkaW5nIGZyb20gc3RydWN0dXJlcwoJICBOb25lIG9mIHRoZXNlIGVsZW1lbnQgYW5kIGNsYXNzIHN0cnVjdHVyZXMgYXJlIGluIHB1YmxpYyBoZWFkZXJzLAoJICBzbyBkb24ndCBuZWVkIHBhZGRpbmcuCgoyMDEwLTAyLTE1IDAwOjQ3OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgZm9yIG5ldyB0cmFuc2xhdG9yIGNvbW1lbnQKCjIwMTAtMDItMTUgMDA6NDU6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycyBmb3IgJ3ggYnkgeScgbWVzc2FnZQoJICBGaXhlcyAjNjA5NzI0LgoKMjAxMC0wMi0xNSAwMToyODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBsZWFraW5nIG9mIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMDItMTUgMDA6NTA6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHVuaXQgdGVzdCBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgTm93IHRoZSBhbHBoYSBpcyBtdWx0aXBsaWVkIHdpdGggdGhlIGFscmVhZHkgZXhpc3RpbmcgYWxwaGEKCSAgdmFsdWUgaW5zdGVhZCBvZiBzaW1wbHkgaWdub3JpbmcgaXQgYW5kIHRoZSBsdW1hL2Nocm9tYSB2YWx1ZXMKCSAgYXJlIGtlcHQsIGV2ZW4gaWYgdGhlIG91dHB1dCBpcyAxMDAlIHRyYW5zcGFyZW50LgoKMjAxMC0wMi0xNSAwMDo0NzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlIHVuaXQgdGVzdCBvdXRwdXQgb24gZXJyb3JzCgoyMDEwLTAyLTE0IDIzOjE3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTZkYzc5MyB0byA0NGVjY2U3CgoyMDEwLTAyLTEzIDIzOjI4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIGdpdAoJICBGb3IgR1NUX1JJRkZfVEFHX0pVTlEuCgoyMDEwLTAyLTEyIDE2OjExOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMnNpbms6IGNoYW5nZSByYW5rIHRvIE5PTkUgc28gaXQgaXMgbmV2ZXIgYXV0b3BsdWdnZWQKCjIwMTAtMDItMTMgMTg6MTg6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBBdWRpbyB0YWdzIHdpdGhvdXQgYW55IGNvbnRlbnQgYXJlIHZhbGlkLgoJICBXZSBzaWxlbnRseSBpZ25vcmUgdGhlbSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dC4KCjIwMTAtMDItMTMgMTg6MDc6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBGaXggR1NUX0NMT0NLX0RJRkYgdXNhZ2UuCgkgIEl0IHdhcyBwcmV2aW91c2x5IGNoZWNraW5nIGZvciBESUZGKGEsIGIgPiA2ICogR1NUX1NFQ09ORCkgaW5zdGVhZCBvZgoJICB0aGUgcHJvcGVyIERJRkYoYSxiKSA+IDYgKiBHU1RfU0VDT05ECgoyMDEwLTAyLTEzIDE2OjI3OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgZm9yZ2V0IHRvIHJlc2V0IHRoZSBpbmRleGVkIHZhcmlhYmxlIHdoZW4gY2xlYW5pbmcgdXAKCjIwMTAtMDItMTMgMTE6MDE6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBTcGVlZHVwIEdzdEluZGV4IHVzYWdlCgkgIFVzZWQgdGhlIF9hZGRfYXNzb2NpYXRpb252IHZhcmlhbnQgb2YgR3N0SW5kZXggc2luY2Ugd2Uga25vdyBob3cgbWFueQoJICBhc3NvY2lhdGlvbnMgd2UncmUgYWRkaW5nLiBUcmltcyB1cCB0byA1MCUgZnJvbSBpbmRleCBnZW5lcmF0aW9uIHRpbWUuCgkgIE5vdGUgOiBJdCB3b3VsZCBiZSBncmVhdCBpZiB0aGUgaW5kZXggY291bGQgYmUgZ2VuZXJhdGVkIG9uIHRoZSBmbHkgb3IKCSAgb24gcmVxdWVzdCBhcyBvcHBvc2VkIHRvIGJlaW5nIGZ1bGx5IGNyZWF0ZWQgYXQgc3RhcnR1cC4KCjIwMTAtMDItMTIgMTk6MzI6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBkb24ndCByZXN5bmMgdG8gaW52YWxpZCB0aW1lc3RhbXBzCgkgIElmIHdlIGRldGVjdCBiYWNrd2FyZCB0aW1lc3RhbXBzIG9uIHRoZSBzZXJ2ZXIsIGRvbid0IHRyeSB0byByZXN5bmMgd2hlbiB3ZQoJICBkb24ndCBoYXZlIGFuIGlucHV0IHRpbWVzdGFtcCAoc3VjaCBhcyB3aGVuIHVzaW5nIFJUU1Agb3ZlciBUQ1ApIGluc3RlYWQsIGRvCgkgIG5vdGhpbmcgYnV0IGFzc3VtZSB0aGUgdGltZXN0YW1wIHdhcyBvaywgaXQgd2lsbCBjb3JyZWN0IGl0c2VsZiB3aGVuIHRpbWUgZ29lcwoJICBmb3J3YXJkcy4KCjIwMTAtMDItMTIgMTc6MjE6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbwoKMjAxMC0wMi0xMiAxNjo0NzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHN0YXJ0IG91dCBhY3RpdmUgYW5kIG5vdCBidWZmZXJpbmcKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBzZXQgdGhlIGxhdGVuY3kgaW4gdGhlIGppdHRlYnVmZmVyIGluIF9pbml0LCB3ZSB3aWxsIHNldAoJICB0aGF0IGxhdGVyIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBTZXQgdGhlIGppdHRlcmJ1ZmZlciBhY3RpdmUgYW5kIG5vdCBidWZmZXJpbmcgd2hlbiBzdGFydGluZy4KCjIwMTAtMDEtMjcgMTc6NTc6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBtb3JlIGJ1ZmZlcmluZyB3b3JrCgkgIFdoZW4gZGVhY3RpdmF0aW5nIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGUgYnVmZmVyaW5nIHN0YXJ0cywga2VlcCB0aGUgY3VycmVudAoJICBwZXJjZW50IG9mIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFsc28gc2V0IHRoZSBqaXR0ZXJidWZmZXIgaW4gdGhlIGJ1ZmZlcmluZyBzdGF0ZQoJICBzbyB0aGF0IHdlIGtub3cgd2hlbiBpdCdzIGZpbGxlZCBhZ2Fpbi4KCSAgQWRkIHByb3BlcnR5IHRvIGdldCB0aGUgYnVmZmVyaW5nIHBlcmNlbnRhZ2Ugb2YgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMDktMTAtMTQgMTY6Mjk6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGp1c3QgbGF0ZW5jeSBpbiBidWZmZXIgbW9kZQoJICBXaGVuIHdlIGFyZSBpbiBidWZmZXIgbW9kZSwgYWRqdXN0IHRoZSBidWZmZXJpbmcgbG93L2hpZ2ggdGhyZXNob2xkcyBiYXNlZCBvbgoJICB0aGUgdG90YWwgY29uZmlndXJlZCBsYXRlbmN5LiBJZiB3ZSBkb24ndCBhbmQgdGhlcmUgaXMgYSBodWdlIHF1ZXVlIG9yIGVsZW1lbnQKCSAgd2l0aCBhIGJpZyBsYXRlbmN5IGRvd25zdHJlYW0gd2UgbWlnaHQgZHJhaW4gdGhlIGNvbXBsZXRlIHF1ZXVlIGltbWVkaWF0ZWx5IGFuZAoJICBzdGFydCBidWZmZXJpbmcgYWdhaW4uCgoyMDA5LTEwLTEyIDExOjU0OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHRzLW9mZnNldCB0byB0aW1lc3RhbXAKCSAgQWRkIHRoZSB0cy1vZmZzZXQgdG8gdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gZ2V0IHRoZSBmaW5hbCBvdXRwdXQgdGltZXN0YW1wIG9mCgkgIHRoZSBidWZmZXIuCgoyMDA5LTEwLTA4IDE5OjIzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGJpbjogZG8gbW9yZSBhY2N1cmF0ZSBidWZmZXIgb2Zmc2V0cwoJICBSZXR1cm4gdGhlIG5leHQgdGltZXN0YW1wIGluIHRoZSBqaXR0ZXJidWZmZXIuCgkgIFVzZSB0aGUgbWluLXRpbWVzdGFtcCBvZiB0aGUgaml0dGVyYnVmZmVycyB0byBjYWxjdWxhdGUgYW4gb2Zmc2V0IHNvIHRoYXQgdGhlCgkgIG5leHQgdGltZXN0YW1wIGlzIHB1c2hlZCB3aXRoIGEgdGltZXN0YW1wIGVxdWFsIHRvIHJ1bm5pbmdfdGltZS4KCSAgU3RhcnQgcHJvZHVjaW5nIHRpbWVzdGFtcHMgZnJvbSAwIGluIHRoZSBidWZmZXJpbmcgY2FzZSB0b28uCgoyMDA5LTEwLTA4IDE4OjQyOjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogb25seSBzdGFydCBidWZmZXJpbmcgd2hlbiA8IDEwMCUKCSAgT25seSBzdGFydCBidWZmZXJpbmcgd2hlbiB0aGUgcGVyY2VudGFnZSBtZXNzYWdlIGlzIDwgMTAwICUuCgoyMDA5LTEwLTA2IDEzOjM0OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGtlZXAgdHJhY2sgb2YgZWxhcHNlZCBwYXVzZSB0aW1lCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHRpbWUgd2Ugc3BlbmQgcGF1c2luZyB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgd2VyZQoJICBidWZmZXJpbmcgYW5kIGRpc3RyaWJ1dGUgdGhpcyBlbGFwc2VkIHRpbWUgdG8gdGhlIGppdHRlcmJ1ZmZlcnMuCgkgIEFsc28ga2VlcCB0aGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kIHByZWNpc2lvbi4KCjIwMDktMTAtMDYgMTM6MzM6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjoga2VlcCB0cmFjayBvZiBvZmZzZXQKCSAgS2VlcCB0cmFjayBvZiBhbiBvdXRnb2luZyBvZmZzZXQgdGhhdCB3ZSBhZGQgdG8gZWFjaCBvdXRnb2luZyBidWZmZXIgdG8KCSAgY29tcGVuc2F0ZSBmb3IgUEFVU0Ugd2hlbiBidWZmZXJpbmcuCgkgIEFkanVzdCB0aGUgb2Zmc2V0IHdoZW4gYWN0aXZhdGluZy4KCjIwMDktMTAtMDYgMTM6MzA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXBvcnQgbGV2ZWwgdXNpbmcgaGlnaCB3YXRlcm1hcmsKCjIwMDktMTAtMDUgMjE6MzE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0cGJpbjogcGFzcyBydW5uaW5nX3RpbWUgdG8gaml0dGVyYnVmZmVyIHBhdXNlCgkgIFBhc3MgdGhlIGN1cnJlbnQgcnVubmluZyB0aW1lIHRvIHRoZSBqaXR0ZXJidWZmZXIgd2hlbiBwYXVzaW5nIG9yIHJlc3VtaW5nIHNvCgkgIHRoYXQgaXQgY2FsY3VsYXRlIHRoZSByaWdodCBvZmZzZXRzLgoJICBTbWFsbCBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIFNldCB0aGUgZGVmYXVsdCBydHNwc3JjIGxhdGVuY3kgdG8gMiBzZWNvbmRzLgoKMjAwOS0xMC0wNSAyMDowOTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBhZGQgc29tZSBjb21tZW50cwoKMjAwOS0xMC0wNSAxOTo0NTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogbW9yZSBidWZmZXJpbmcgdXBkYXRlcwoJICBBZGQgc2lnbmFsIHRvIHBhdXNlIHRoZSBqaXR0ZXJidWZmZXIuIFRoaXMgd2lsbCBiZSBlbWl0dGVkIGZyb20gZ3N0cnRwYmluIHdoZW4KCSAgb25lIG9mIHRoZSBqaXR0ZXJidWZmZXJzIGlzIGJ1ZmZlcmluZy4KCSAgTWFrZSBydHBiaW4gY29sbGVjdCB0aGUgYnVmZmVyaW5nIG1lc3NhZ2VzIGFuZCBwb3N0IGEgbmV3IGJ1ZmZlcmluZyBtZXNzYWdlIHdpdGgKCSAgdGhlIG1pbiB2YWx1ZS4KCSAgUmVtb3ZlIHRoZSBzdGF0cyBjYWxsYmFjayBmcm9tIGppdHRlcmJ1ZmZlciBidXQgcGFzcyBhIHBlcmNlbnQgaW50ZWdlciB0bwoJICBmdW5jdGlvbnMgdGhhdCBhZmZlY3QgdGhlIGJ1ZmZlcmluZyBzdGF0ZSBvZiB0aGUgaml0dGVyYnVmZmVyLiBUaGlzIGFsbG93cyB1cwoJICB0aGVuIHRvIHBvc3QgYnVmZmVyaW5nIG1lc3NhZ2VzIGZyb20gb3V0c2lkZSBvZiB0aGUgaml0dGVyYnVmZmVyIGxvY2suCgoyMDA5LTEwLTA1IDEzOjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IHByb3BhZ2F0ZSBidWZmZXItbW9kZSBwcm9wZXJ0eQoJICBQcm9wYWdhdGUgYnVmZmVyLW1vZGUgcHJvcGVydHkgdG8gdGhlIGppdHRlcmJ1ZmZlcnMuCgkgIEludGVyY2VwdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gcnRwYmluCgoyMDA5LTEwLTAxIDE3OjE0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBkbyBtb3JlIGJ1ZmZlcmluZyBpbXBsZW1lbnRhdGlvbgoJICBBZGQgY2FsbGJhY2sgZm9yIGJ1ZmZlcmluZyBzdGF0cy4KCSAgQ29uZmlndXJlIHRoZSBsYXRlbmN5IGluIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBwYXNzaW5nIGl0IHdpdGggX2luc2VydC4KCSAgQ2FsY3VsYXRlIGJ1ZmZlcmluZyBsZXZlbHMgd2hlbiBwdXNoaW5nIGFuZCBwb3BwaW5nCgkgIFBvc3QgYnVmZmVyaW5nIG1lc3NhZ2VzLgoKMjAwOS0xMC0wMSAxMjo0NjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogZmxlc2ggb3V0IGJ1ZmZlcmluZyBtb2RlIHNvbWUgbW9yZQoJICBBZGQgYSBidWZmZXJpbmcgc3RhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlciBhbmQgd2FpdCB1bnRpbCBidWZmZXJpbmcgZW5kcyBiZWZvcmUKCSAgcHVzaGluZyBvdXQgcGFja2V0cy4KCjIwMDktMTAtMDEgMTI6MDk6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaG9vayB1cCB0aGUgbW9kZSBwcm9wZXJ0eQoJICBFeHBvc2UgYSBtb2RlIHByb3BlcnR5IG9uIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aW1lc3RhbXBzIGFyZSAtMSBpbiB0aGUgY2hlY2sgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgoyMDA5LTEwLTAxIDExOjIwOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBidWZmZXJpbmcgbW9kZSBvcHRpb25zCgkgIEFkZCBnZXR0ZXJzIGFuZCBzZXR0ZXJzIGZvciBkaWZmZXJlbnQgYnVmZmVyaW5nIG1vZGVzIHRoYXQgdGhlIGppdHRlcmJ1ZmZlciB3aWxsCgkgIHN1cHBvcnQuIERlZmF1bHQgdG8gdGhlIGN1cnJlbnQgc2xhdmUgbW9kZS4KCjIwMTAtMDItMTIgMTU6NTQ6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGxzaW5rOiBsb3dlciByYW5rIHRvIE1BUkdJTkFMCgoyMDEwLTAyLTEyIDE2OjA2OjQ1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogT2J0YWluIHRoZSBpbmRleCBmcm9tIHRoZSBlbmQgb2YgYW4gZmx2IGZpbGUgaW4gcHVzaCBtb2RlCgkgIEFsbG93cyBmb3IgYmV0dGVyIHN1cHBvcnQgb2Ygc2Vla2luZyBpbiBmbHYgZmlsZXMgd2hlbiBpbiBwdXNoIG1vZGUKCjIwMTAtMDEtMjEgMTE6NTU6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogRHJvcCB2aWRlbyBmcmFtZXMgdXAgdG8gdGhlIGRlc2lyZWQga2V5ZnJhbWUgYWZ0ZXIgYSBzZWVrCgkgIFRoZSBhdWRpbyBwYWNrZXRzIGluIEFWSSBhcmUgZ2VuZXJhbGx5IG11eGVkIH4wLjVzIGJlZm9yZSB0aGUKCSAgY29ycmVzcG9uZGluZyB2aWRlbyBwYWNrZXQuIFRoaXMgY2hhbmdlcyBjYXVzZXMgZG93bnN0cmVhbSB0byBvbmx5CgkgIHJlY2VpdmUgcGFja2V0cyB3aXRoIHJvdWdobHkgY29ycmVzcG9uZGluZyB0aW1lc3RhbXBzLgoKMjAxMC0wMS0xOSAxODozNTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1vcmUgRElTQ09OVCBoYW5kbGluZwoJICBBZGQgc29tZSBkZWJ1ZyBpbiB0aGUgRElTQ09OVCBoYW5kbGluZyBjb2RlLgoJICBXaGVuIHdlIHJlY2VpdmUgYSBESVNDT05UIGluIHB1c2ggbW9kZSwgbWFyayBhbGwgc3RyZWFtcyBhcyBESVNDT05ULgoKMjAxMC0wMS0xOSAxMDo1MTowOCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IF9oYW5kbGVfc2Vla19wdXNoICgpIGFuZCBuZXcgc2VnZW1lbnQgYmVoYXZpb3VyCgoyMDEwLTAxLTE4IDE3OjEzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2xlYW51cHMKCSAgTWFrZSBzdXJlIHdlIHJlc2V0IHRoZSBkZW11eGVyIGNvcnJlY3RseSB3cnQgcGFyc2luZyB0aGUgaW5kZXguCgkgIERvbid0IGxlYWsgcGVuZGluZyBzZWVrIGV2ZW50cy4KCSAgUmVuYW1lIHNvbWUgbWV0aG9kcyB0byByZWZsZWN0IHdoYXQgdGhleSBkbyBhbmQgdG8gYXZvaWQgY29uZnVzaW9uIHdpdGggc2ltaWxhcgoJICBtZXRob2QgbmFtZXMuCgkgIFRyeSB0byBtYWtlIHRoZSBzZWVraW5nIHRocmVhZHNhZmUgYnkgcHJvdGVjdGluZyB0aGUgc2V0dXAgY29kZSB3aXRoIGEgbG9jay4KCSAgTWFrZSBzdXJlIHdlIHBvc3QgZXJyb3JzIHdoZW4gYSBzZWVrIGZhaWxzLgoKMjAxMC0wMS0xOCAxMTo0NTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcmVuYW1lIHNvbWUgdmFyaWFibGVzCgkgIHNlZWtfZXZlbnQgLT4gc2VnX2V2ZW50CgkgIGV2ZW50X3NlZWsgLT4gc2Vla19ldmVudAoKMjAxMC0wMS0xNSAxODowMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHRha2UgZmFsbGJhY2sgZHVyYXRpb24gZnJvbSBhdmloCgkgIFdoZW4gd2UgaGF2ZSBub3QgcGFyc2VkIGFueSBpbmRleGVzIHlldCwgd2UgZG9uJ3Qga25vdyB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJlYW1zCgkgIGFuZCB3ZSBtdXN0IHRha2UgdGhlIGxlbmd0aCBnaXZlbiBpbiB0aGUgYXZpaCBhcyBhIGZhbGxiYWNrLgoJICBBdm9pZCBzb21lIHR5cGVjaGVja2luZy4KCjIwMDktMTItMDQgMTU6MTM6MTIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogUHVzaCBtb2RlIHNlZWtpbmcgc3VwcG9ydAoKMjAxMC0wMi0wMSAxNjowNDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYW51cCBwcm9wZXJ0aWVzCgkgIFVzZSBtb3JlIGRlZmF1bHQgY29uc3RhbnRzLgoJICBVc2Ugc3RhdGljIHN0cmluZ3MgcGFyYW0gZmxhZy4KCSAgSW5pdCBwcm9wZXJ0aWVzIGV4cGxpY2l0bHkgaW5zdGVhZCBvZiBsZXR0aW5nIGdvYmplY3QgZG8gdGhpcy4KCjIwMTAtMDItMTIgMTU6MzQ6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleDogYWRkIG1pc3NpbmcgaW5jbHVkZQoKMjAxMC0wMi0wNSAxMzoyODo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogZml4IG11bHRpLXZhbHVlIHRhZyBleGFtcGxlCgkgIFdlIG5lZWQgdG8gdXNlIHt9IHRvIHNwZWNpZnkgYSBsaXN0LgoKMjAxMC0wMi0wMSAxNDo0MzowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYXZpLHdhdjogYWxzbyBoYW5kbGUgSlVOUSBjaHVuayBpbiBhZGRpdGlvbiB0byBKVU5LCgoyMDEwLTAyLTA0IDE1OjU5OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBwYXk6IGRvbid0IGlnbm9yZSByZXN1bHQgZnJvbSBzZXRfb3V0Y2FwcwoJICBzZXRfb3V0Y2FwcyBjYW4gZmFpbCBhbmQgd2UgbmVlZCB0byBwcm9wYWdhdGUgdGhlIHJlc3VsdCB1cHN0cmVhbS4KCjIwMTAtMDItMDQgMTU6MzY6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBmaXggY29uZnVzaW5nIGRlYnVnIG1lc3NhZ2VzCgoyMDEwLTAxLTI3IDEzOjI4OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvCgoyMDEwLTAxLTI3IDEzOjI2OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGF2b2lkIHNlZ2ZhdWx0IHdoZW4gc2h1dHRpbmcgZG93bgoJICB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLCB3ZSBtaWdodCBzdGlsbCByZWNlaXZlIHN0YXRlIHVwZGF0ZXMgZnJvbSBwdWxzZWF1ZGlvCgkgIGJ1dCBzaW5jZSB3ZSBhcmUgdW5wYXJlbnRlZCB3ZSBzaG91bGQgbm90IGRvIGFueXRoaW5nIHdpdGggdGhlIE5VTEwgcGFyZW50CgkgIGFueW1vcmUuCgoyMDEwLTAxLTI2IDE4OjMzOjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCB0aW1lc3RhbXAgcHJvYmxlbXMKCSAgV2hlbiB0aGUgcGFkIHdpdGggdGhlIGhpZ2hlc3QgZnJhbWVyYXRlIGdvZXMgRU9TLCBpbnN0ZWFkIG9mIG5vdCB0aW1lc3RhbXBpbmcKCSAgb3V0cHV0IGJ1ZmZlcnMsIGludGVwb2xsYXRlIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9ucyBmcm9tIHRoZSBsYXN0IHNlZW4gb25lcy4KCSAgRml4ZXMgIzYwODAyNgoKMjAxMC0wMi0xMiAxMTozMjo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTEyIDExOjE4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmVkICdzaGFwZXdpcGUnIGZyb20gLWJhZCB0byAtZ29vZAoJICBGaXhlcyBidWcgIzU4NDUzNi4KCjIwMTAtMDItMTAgMTA6NTI6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI5LzI5XSBzaGFwZXdpcGU6IFByZXNlcnZlIHRoZSBpbnB1dCBjb2xvciB2YWx1ZXMgaW4gYWxsIGNhc2VzCgoyMDEwLTAyLTEwIDEwOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC8yOV0gc2hhcGV3aXBlOiBTY2FsZSBtYXNrIGFscGhhIHZhbHVlcyBieSB0aGUgc291cmNlIGFscGhhIHZhbHVlcwoKMjAxMC0wMi0xMCAxMDo0MjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvMjldIHNoYXBld2lwZTogRml4IEFSR0IgcHJvY2Vzc2luZwoKMjAxMC0wMi0xMCAxMDozNDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI2LzI5XSBzaGFwZXdpcGU6IFByaW50IHNvbWUgbW9yZSBkZXRhaWxzIG9uIGVycm9yL3dhcm5pbmcgbWVzc2FnZXMKCjIwMTAtMDItMDggMDg6MjY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI1LzI5XSBzaGFwZXdpcGU6IEltcHJvdmUvYWRkIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoyMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvMjldIHNoYXBld2lwZTogQWx3YXlzIGhvbGQgdGhlIG1hc2sgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIEdDb25kCgoyMDEwLTAyLTA4IDA4OjE5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy8yOV0gc2hhcGV3aXBlOiBNb3ZlIGNoYWluIGZ1bmN0aW9uIGVycm9yIGNhc2VzIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIGFuZCBhZGQgdXNlZnVsIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoxMjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvMjldIHNoYXBld2lwZTogRml4IHJhY2UgY29uZGl0aW9uIGR1cmluZyBzaHV0ZG93biB0aGF0IGNhbiBsZWFkIHRvIGEgZGVhZGxvY2sKCjIwMTAtMDItMDggMDg6MTE6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDIxLzI5XSBzaGFwZXdpcGU6IERyb3AgbWFzayBidWZmZXIgb24gRkxVU0ggZXZlbnRzCgoyMDEwLTAyLTA4IDA4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC8yOV0gc2hhcGV3aXBlOiBVcGRhdGUgY29weXJpZ2h0IHllYXIKCjIwMTAtMDItMDggMDg6MDg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE5LzI5XSBzaGFwZXdpcGU6IERvbid0IHJlc2V0IHByb3BlcnRpZXMgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIEFsc28gdXNlIGRlZmluZXMgZm9yIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgcHJvcGVydGllcy4KCjIwMTAtMDEtMTYgMTY6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE4LzI5XSBzaGFwZXdpcGU6IFJlcGxhY2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wcyBieSBpbnRlZ2VyIGFyaXRobWV0aWMKCjIwMDktMTItMTAgMTA6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE3LzI5XSBzaGFwZXdpcGU6IERvbid0IGRvIHBvaW50ZXIgZGVyZWZlcmVuY2VzIGluIHRoZSBwcm9jZXNzaW5nIGxvb3AKCSAgTG93ZXJzIHRoZSB0aW1lIHRha2VuIHRoZXJlIGluIG15IHRlc3RjYXNlIGZyb20gNi45MSUgdG8gNi4yMCUKCSAgYXMgbWVhc3VyZWQgYnkgY2FsbGdyaW5kLgoKMjAwOS0wNy0wOCAxNzo1OToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTYvMjldIHNoYXBld2lwZTogQWRkIEJHUkEgc3VwcG9ydCBmb3IgdmlkZW8gaW4vb3V0cHV0CgoyMDA5LTA3LTAyIDExOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNS8yOV0gc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlbyBpbnB1dC9vdXRwdXQKCjIwMDktMDYtMjMgMTg6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDE0LzI5XSBzaGFwZXdpcGU6IENvcnJlY3RseSBoYW5kbGUgMC8xIGZwcwoKMjAwOS0wNi0wOSAxOToxNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMvMjldIHNoYXBld2lwZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE4OjQ1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMi8yOV0gc2hhcGV3aXBlOiBQcm94eSBxdWVyaWVzIG9uIHRoZSB2aWRlbyBwYWRzIHRvIHRoZSBjb3JyZWN0IHBlZXJzCgoyMDA5LTA2LTA5IDE4OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMS8yOV0gc2hhcGV3aXBlOiBQcm94eSBidWZmZXJhbGxvYyBvbiB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0wNi0wOSAxODoyNToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAvMjldIHNoYXBld2lwZTogVHJ5IHRvIHdvcmsgaW5wbGFjZSBpZiBwb3NzaWJsZQoJICBUaGlzIHNhdmVzIG9uZSBuZXcsIGxhcmdlIGFsbG9jYXRpb24gcGVyIGZyYW1lIGZvciB0aGUKCSAgbW9zdCBjYXNlcy4KCjIwMDktMDYtMDQgMDg6NTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS8yOV0gc2hhcGV3aXBlOiBJbmNyZWFzZSB0aW1lb3V0IG9mIHRoZSB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4LzI5XSBzaGFwZXdpcGU6IEZpeCBzb21lIGlzc3VlcyB0aGF0IHdlcmUgZXhwb3NlZCBieSB0aGUgbmV3IHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3LzI5XSBzaGFwZXdpcGU6IEFkZCB1bml0IHRlc3QgZm9yIHNoYXBld2lwZQoKMjAwOS0wNS0zMSAyMTozMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYvMjldIHNoYXBld2lwZTogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDUtMjkgMjE6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1LzI5XSBzaGFwZXdpcGU6IEFkanVzdCBib3JkZXIgdG8gc3RpbGwgaGF2ZSBldmVyeXRoaW5nIHRyYW5zcGFyZW50IGF0IDEuMCBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMDktMDUtMjkgMTY6NTU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC8yOV0gc2hhcGV3aXBlOiBEaXZpZGUgdGhlIGJvcmRlciB2YWx1ZSBieSB0d28sIG90aGVyd2lzZSB3ZSB1c2UgYSB0d2ljZSBhIHdpZGUgYm9yZGVyCgoyMDA5LTA1LTI5IDE2OjUxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvMjldIHNoYXBld2lwZTogQWRkIGJvcmRlciBwcm9wZXJ0eSB0byBhbGxvdyBzbW9vdGggYm9yZGVycwoJICAuLi5hbmQgdXNlIGEgYm9yZGVyIG9mIDAuMDEgaW4gdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgoyMDA5LTA1LTI5IDE2OjAwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDAyLzI5XSBzaGFwZXdpcGU6IEZpeCBNYWtlZmlsZSBvZiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOSAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvMjldIHNoYXBld2lwZTogQWRkIGEgc2ltcGxlIHNoYXBld2lwZSB0cmFuc2l0aW9uIGZpbHRlciAmIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMTAtMDItMDYgMTg6MTk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBPbmx5IGZsdXNoIHRoZSBGTEFDIGRlY29kZXIgaWYgaXQgd2Fzbid0IGNyZWF0ZWQgcmlnaHQgYmVmb3JlCgkgIElmIHRoZSBGTEFDIGRlY29kZXIgaXMgZmx1c2hlZCwgaXRzIHN0YXRlIHdpbGwgYmUgc2V0IHRvIGZyYW1lLXN5bmMgbW9kZSwKCSAgd2hpY2ggd2lsbCBzeW5jIHRvIHRoZSBuZXh0ICphdWRpbyogZnJhbWUgYW5kIG1ha2VzIGl0IGlnbm9yZSBhbGwgaGVhZGVycy4KCSAgVGhpcyBwcmV2ZW50ZWQgdGFncyBhbmQgZXZlcnl0aGluZyBlbHNlIHRvIHNob3cgdXAgd2hlbiB1c2luZyBmbGFjZGVjCgkgIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgYnVnICM2MDg4NDMuCgoyMDEwLTAyLTExIDAxOjEyOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBVcGRhdGUgTUFJTlRBSU5FUlMKCjIwMTAtMDItMTIgMDA6MDM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgU2x1c2h5IGZyZWV6ZSByZW1haW5zIGluIGVmZmVjdC4KCj09PSByZWxlYXNlIDAuMTAuMTggPT09CgoyMDEwLTAyLTEwIDIzOjE4OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTgKCjIwMTAtMDItMTAgMjM6MTc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMi0xMCAyMDozNjo1NiArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB0ZW1wb3Jhcnkgc2FmZXR5IGNoZWNrIHRvIGF2b2lkIGNyYXNoZXMgd2l0aCBhIGNlcnRhaW4gZmlsZQoJICBBZGQgdGVtcG9yYXJ5IGNoZWNrIHRvIGF2b2lkIGNyYXNoZXMgd2l0aCBhIGNlcnRhaW4gZmlsZSB3aGVuIHNlZWtpbmcKCSAgdW50aWwgdGhlIHJlYWwgY2F1c2Ugb2YgdGhpcyBpcyBmaWd1cmVkIG91dC4gU2VlICM2MDk0MDUuCgoyMDEwLTAyLTA1IDE4OjA1OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogc2tpcCB1bmtub3duIGF0b21zIHdoZW4gbG9va2luZyBmb3IgbW9vdgoJICBGaXhlcyBidWcgIzYwOTEwNwoKMjAxMC0wMi0wNSAwMjoxMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTA0IDE5OjEwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9odS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDItMDQgMTQ6NDY6NTYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBTZXQgdGhlIHNlZ21lbnQgc3RhcnQgdGltZSB0byB0aGUgcmVxdWVzdGVkIHNlZWsgdGltZSBmb3Igbm9uLWtleWZyYW1lIHNlZWtzCgoyMDEwLTAyLTA0IDEyOjAwOjAzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB0aW1lIHJldHVybmVkIGZvciBpbmRleCBhdCBhIGJ5dGUgb2Zmc2V0CgkgIFRoZSBsb2dpYyBmb3Igc2VhcmNoaW5nIGZvcndhcmRzL2JhY2t3YXJkcyB3YXMgc3dhcHBlZAoKMjAxMC0wMi0wMSAxOToyMjoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IGluaXRpYWxpemUgc3RlcmVvIGRlY29kaW5nIHN0YXRlCgoyMDEwLTAxLTI4IDE4OjU4OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbXByb3ZlIHN0cmVhbSBzeW5jaHJvbml6YXRpb24KCSAgSW4gcGFydGljdWxhciwgZG8gbm90IG1ha2UgaXQgc2VuZCBuZXdzZWdtZW50IHVwZGF0ZXMgdGhhdAoJICBzb3J0LW9mIGNvbnRyYWRpY3QgdGhlIGluZGVudGVkIHBsYXliYWNrIHNlZ21lbnQgKGUuZy4gc3RhcnQgdGltZSkuCgoyMDEwLTAxLTI4IDE4OjUzOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggYnJpZGdpbmcgKHRpbWUpIGdhcHMgaW4gc3RyZWFtcwoJICBBcyBhIHNpZGUgZWZmZWN0LCBhdm9pZCBzZW5kaW5nIG5ld3NlZ21lbnQgdXBkYXRlcyB3aXRoIHN0YXJ0IHRpbWVzCgkgIHRoYXQgZ28gYmFjayBhbmQgZm9ydGgsIHdoaWNoIGxlYWRzIHRvIGJvZ3VzIGRvd25zdHJlYW0gcnVubmluZ190aW1lLgoJICBBbHNvIGZpeGVzIHNlZWtpbmcgaW4gYnVnICM2MDY3NDQuCgoyMDEwLTAxLTI4IDE4OjQ5OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3RyZWFtIHN5bmNocm9uaXphdGlvbgoJICAuLiBieSBpbml0aWFsaXppbmcgc3RyZWFtcyBzdGFydGluZyBhdCAwLCBhcyB0aGF0IGlzIGJhc2ljYWxseQoJICB3aGVyZSB3ZSAnc2VlayB0bycgYXQgdGhlIHN0YXJ0IGFuZCBhc3N1bWUgc3RyZWFtcyB0byBzdGFydCBlbHNld2hlcmUuCgkgIEFsc28gZW5hYmxlcyBuZXdzZWdtZW50IHVwZGF0ZSBldmVudHMgZm9yIHN1YnRpdGxlIHN0cmVhbXMuCgoyMDEwLTAyLTAyIDEzOjQxOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWc6IGRvbid0IGRpcmVjdGx5IGFjY2VzcyBtZXNzYWdlLCBzb21lIG1lc3NhZ2UgaGF2ZSBhcmdzCgkgIFRoaXMgY2F1c2VkIGJvZ3VzIG1lc3NhZ2VzLCBzdWNoIGFzIHJlcG9ydGVkIGluIGJ1ZyAjNjA3NDcxLgoKMjAxMC0wMi0wMiAwMDowMjozNCArMDAwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmc6IGZpeCBjb21waWxhdGlvbiB3aXRoIGxpYnBuZyAxLjQKCSAgcG5nX3NldF9ncmF5XzFfMl80X3RvXzgoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBhIHdoaWxlIGFuZCB3YXMKCSAgZmluYWxseSByZW1vdmVkIGluIGxpYnBuZyAxLjQueC4gVXNlIHBuZ19zZXRfZXhwYW5kX2dyYXlfMV8yXzRfdG9fOCgpCgkgIGluc3RlYWQuCgkgIEZpeGVzICM2MDg2MjkuCgoyMDEwLTAyLTAxIDE2OjQ2OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmcmVlIHRyYW5zcG9ydHMgb24gZXJyb3JzCgkgIFNlZSAjNjA4NTY0CgoyMDEwLTAyLTAxIDA5OjE4OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IHVucG9ydGFibGUgcHJpbnRmIGZvcm1hdAoKMjAxMC0wMS0zMCAxNToxODo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE1ZDQ3YTYgdG8gOTZkYzc5MwoKMjAxMC0wMS0yNyAxNzo1MzowNyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBpbmRleCB0aW1lc3RhbXBzIHNob3VsZCBiZSBpbiBzZWNvbmRzLCBub3QgbWlsbGlzZWNvbmRzCgoyMDEwLTAxLTI3IDE1OjI0OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogZnJlZSBzb21lIG1vcmUgd2hlbiByZXNldHRpbmcKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTU6MjQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBydHBzcGVleHBheTogZml4IG9jY2FzaW9uYWwgYnVmZmVyIGxlYWsKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTU6MjI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBwcmV2ZW50IGludmFsaWQgYXJpdGhtZXRpYyBpZiBub3Qgc2V0dXAgeWV0CgkgIEZpeGVzICM2MDgyNTUuCgoyMDEwLTAxLTI3IDE2OjM0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBGaXggYXNzZW1ibHkgcmVnaXN0ZXIgY29uc3RyYWludHMKCSAgRml4ZXMgYnVnICM2MDgyMDkuCgoyMDEwLTAxLTI3IDAxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDEtMjcgMDE6NTI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDEtMjcgMDE6NDk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2tzOiBpZ25vcmUgZGVpbnRlcmxhY2UgY2hlY2sgYmluYXJ5CgoyMDEwLTAxLTI3IDAxOjE4OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBwdXJnZSBhbGwgbWVudGlvbiBvZiBDVlMKCjIwMTAtMDEtMjYgMTE6MTg6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpZ25vcmUgc3RyZWFtcyB0aGF0IGZpbmlzaGVkCgkgIFdoZW4gd2UgcmVjZWl2ZSBhbiBVTkVYUEVDVEVEIGZyb20gYSBzdHJlYW0sIG1vdmUgdG8gdGhlIG5leHQgc3RyZWFtIGFuZCBvbmx5IGdvCgkgIEVPUyB3aGVuIGFsbCBzdHJlYW1zIGFyZSBFT1MuIFdoZW4gc2VsZWN0aW5nIGEgc3RyZWFtIHRvIHB1c2gsIGlnbm9yZSBzdHJlYW1zCgkgIHRoYXQgd2VudCBFT1MuCgkgIEZpeGVzICM2MDc5NDkKCjIwMTAtMDEtMjUgMTc6MjM6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTAoJICBFcnJvciBvdXQgd2hlbiB0aGUgcG9vbCBnZXRzIHNodXRkb3duLgoKMjAxMC0wMS0yNSAxNzoyMToxMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZXZlcnQgInY0bDJzcmM6IGRvbid0IGRlcmVmIE5VTEwiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2Q5ZDM0YmQ2MGZhZWI5NDBiMzZkOTkyYTQ3MTY4ZmM4OTUwMzZiYS4KCjIwMTAtMDEtMjUgMTQ6MTY6MjIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTAoJICBFcnJvciBvdXQgd2hlbiB0aGUgcG9vbCBnZXRzIHNodXRkb3duLgoKMjAxMC0wMS0yMyAxNTozMjo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiB3aGVuIGNyZWF0aW5nIGFuIG92ZXJmbG93IGJ1ZmZlciwgY29weSB0aW1lc3RhbXBzLgoKMjAxMC0wMS0yMyAxNDo0Nzo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG1iMSBpcyBhIHZhbGlkIGZvdXJjYyBmb3IgTW90aW9uLUpQRUcKCjIwMTAtMDEtMjMgMTQ6MjA6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGV1eDogSVYzMiBpcyBhbHNvIHVzZWQgZm9yIEluZGVvIDMgdmlkZW8gc3RyZWFtcwoKMjAxMC0wMS0yMiAxNjo0ODowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgYnVpbGQ6IG5vIHVudXNlZCB2YXJpYWJsZXMgd2hlbiBkaXNhYmxpbmcgYXNzZXJ0cwoKMjAxMC0wMS0yMSAyMzoxNzo0MCAtMDMwMCAgUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgb24ga2V5ZnJhbWUgc2VhcmNoCgkgIERvIG5vdCBvdmVyZmxvdyBuZWdhdGl2ZWx5IHdoZW4gc2VhcmNoaW5nIGEgcHJldmlvdXMKCSAgImtleWZyYW1lIiBvbiBhdWRpbyBzdHJlYW1zLiBDb3VsZCBjYXVzZSBpbmZpbml0ZSBsb29wcwoJICBvbiBiYWNrd2FyZHMgcGxheWJhY2sKCSAgRml4ZXMgIzYwNzcxOAoKMjAxMC0wMS0yMSAxNzoyMjozOCAtMDgwMCAgUGV0ZXIgdmFuIEhhcmRlbmJlcmcgPHB2aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IGVubGFyZ2UgYnVmZmVyIGlmIGxpYmpwZWcgdGVsbHMgdXMgaXQncyBvdXQgb2Ygc3BhY2UuIEZpeGVzIGJ1ZmZlciBvdmVyZmxvdyBvbiBzb21lIGhpZ2gtcXVhbGl0eSwgbG93LXJlc29sdXRpb24ganBlZyBlbmNvZGVzLgoKMjAxMC0wMS0yMSAxOToyNDoyMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncyB1bmRlciBPUyBYLgoKMjAxMC0wMS0yMSAxNzo1NzozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHBhcnNlIE5VTEwgaW5kZXhlcwoJICBmb3Igc29tZSBzdHJlYW1zIHdlIG1pZ2h0IGZhaWwgdG8gZmV0Y2ggdGhlIGluZGV4IG9mZnNldHMuIERvbid0IHRyeSB0byBwYXJzZQoJICBOVUxMIGluZGV4ZXMgaW4gdGhvc2UgY2FzZXMuCgoyMDEwLTAxLTE4IDIxOjE1OjUxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogcHRpbWUgc2hvdWxkIGlzIGluIG5hbm9zZWNvbmRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDc0MDMKCjIwMTAtMDEtMjAgMTU6MTE6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBQb3N0IHdhcm5pbmcgaWYgZmlsZSBpc250IGZpbmlzaGVkIHByb3Blcmx5CgkgIFdoZW4gdGhlIHBpcGVsaW5lIGlzIHNodXQgZG93biBhbmQgdGhlIGZpbGUgaXNuJ3QKCSAgZmluaXNoZWQgcHJvcGVybHksIHdhdmVuYyBzaG91bGQgcG9zdCBhIHdhcm5pbmcuCgkgIEZpeGVzICM2MDc0NDAKCjIwMDktMDUtMjcgMTM6NTE6NDQgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogbWFrZSBpbmRleCBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgQWRkZWQgdGhlICdtaW4taW5kZXgtaW50ZXJ2YWwnIHByb3BlcnR5IHRvIG1hdHJvc2thbXV4LAoJICB3aGljaCBkZXRlcm1pbmVzIGhvdyBtdWNoIHRpbWUgKG5hbm9zZWNvbmRzKSBpcyBsZWZ0CgkgIGJldHdlZW4ga2V5ZnJhbWVzIHN0b3JlZCBpbiB0aGUgaW5kZXguCgkgIEZpeGVzICM1ODM5ODUuCgoyMDEwLTAxLTIwIDE2OjI4OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHNjYWxlIHNwc3Bwc19pbnRlcnZhbCB0byBtaWxsaXNlY29uZHMKCSAgVGhlIHNwc3Bwc19pbnRlcnZhbCBpcyBrZXB0IGluIHNlY29uZHMuIENvbnZlcnQgaXQgdG8gbWlsbGlzZWNvbmRzIGJlZm9yZQoJICBjb21wYXJpbmcgaXQgdG8gYW5vdGhlciB2YWx1ZSBpbiBtaWxsaXNlY29uZHMuCgoyMDEwLTAxLTIwIDE1OjE4OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWx3YXlzIGtlZXAgbWVkaWEgc2VnbWVudHMgd2l0aGluIHRvdGFsIGR1cmF0aW9uCgkgIC4uLiBhcyBvcHBvc2VkIHRvIG9ubHkgZG9pbmcgc28gZm9sbG93aW5nIGEgc2Vlay4KCjIwMTAtMDEtMjAgMTU6NDQ6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVuYW1lIHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eQoJICBSZW5hbWUgdGhlIHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBjb25maWctaW50ZXJ2YWwgYmVjYXVzZSBpdCBpcyBuaWNlci4KCjIwMTAtMDEtMTkgMTg6Mzc6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBza2lwIFJJRkYgYW5kIGluZGV4IGluIHB1c2ggbW9kZQoJICBXaGVuIHdlIGFyZSBpbiBwdXNoIG1vZGUsIHdlIGNhbiBlbmNvdW50ZXIgUklGRiBhbmQgaWR4IHRhZ3MgaW4gdGhlIGRhdGEgY2h1bmsKCSAgd2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIE9ETUwgZmlsZXMuIEluIHRoZXNlIGNhc2VzLCBzaW1wbHkgc2tpcCB0aGUgY2h1bmtzIGFuZAoJICBjb250aW51ZSBzdHJlYW1pbmcgaW5zdGVhZCBvZiBnb2luZyBFT1MuCgoyMDEwLTAxLTIwIDExOjI3OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbW9yZSBESVNDT05UIGhhbmRsaW5nCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBESVNDT05UIGhhbmRsaW5nIGNvZGUuCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIERJU0NPTlQgaW4gcHVzaCBtb2RlLCBtYXJrIGFsbCBzdHJlYW1zIGFzIERJU0NPTlQuCgoyMDEwLTAxLTIwIDExOjI2OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzZXQgb24gZmx1c2ggZXZlbnRzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoIGV2ZW50IG9uIHRoZSBzaW5rcGFkLCByZXNldCB0aGUgRU9TIHN0YXRlIGFuZCB0aGUKCSAgZmxvd3JldHVybiBvZiBhbGwgc3RyZWFtcy4gQWxzbyBtYXJrIHRoZSBzdHJlYW1zIHdpdGggYSBESVNDT05ULgoKMjAxMC0wMS0yMCAxMToyMjowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcmVuYW1lIHNvbWUgdmFyaWFibGUKCSAgUmVuYW1lIHRoZSBzZWVrX2V2ZW50IHZhcmlhYmxlIHRvIHNlZ19ldmVudCBiZWNhdXNlIGl0IHJlYWxseSBjb250YWlucyB0aGUKCSAgbmV3c2VnbWVudCBldmVudCB0aGF0IG5lZWRzIHRvIGJlIHB1c2hlZC4KCjIwMTAtMDEtMjAgMDA6NTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNGNlYzg5IHRvIDE1ZDQ3YTYKCjIwMTAtMDEtMTggMTQ6NDk6MjYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogRG9uJ3Qgc2V0IHByb2ZpbGUtbGV2ZWwtaWQgaW4gb3V0IGNhcHMKCSAgVGhlIHByb2ZpbGUtbGV2ZWwtaWQgcmVwcmVzZW50cyByZXN0cmljdGlvbnMgb24gd2hhdCBjYW4gYmUgc2VudCwgaXQgZG9lcyBub3QKCSAgZGVzY3JpYmUgdGhlIHN0cmVhbS4gU28gaXQgc2hvdWxkIGJlIHJlZmxlY3RlZCBpbiB0aGUgc2luayBjYXBzIG9mIHRoZQoJICBwYXlsb2FkZXIsIG5vdCB0aGUgc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDczNTMKCjIwMTAtMDEtMTggMTQ6NDE6MTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBmcm9tIHNldF9vdXRjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDczNTMKCjIwMTAtMDEtMTggMTc6NDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggbGljZW5zZSBhbmQgY29weXJpZ2h0IGhlYWRlcnMKCjIwMTAtMDEtMTggMTQ6NTc6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IG1vdmUgR19FTkRfREVDTFMgdG8gdGhlIGVuZAoKMjAxMC0wMS0xOCAxNDo1NTozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZml4IGJ1ZmZlcnBvb2wgZmlsZSBuYW1lcyBpbiBoZWFkZXIgY29tbWVudAoKMjAxMC0wMS0xNSAxODoxNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIHNvbWUgdHlwZWNhc3RpbmcKCjIwMTAtMDEtMTUgMTg6MTM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBzb21lIHR5cGUgY2hlY2tzCgoyMDEwLTAxLTE1IDE4OjA5OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBmYWxsYmFjayB0byBhdmloIGR1cmF0aW9uCgkgIHdoZW4gd2UgaGF2ZSBub3QgeWV0IHBhcnNlZCB0aGUgaW5kZXhlcyAoaW4gcHVzaCBtb2RlLCBmb3IgZXhhbXBsZSkgdXNlCgkgIHRoZSBkdXJhdGlvbiBhcyBnaXZlbiBpbiB0aGUgYXZpaCBoZWFkZXIgaW5zdGVhZCBvZiAtMS4KCjIwMTAtMDEtMTUgMTM6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTE1IDEzOjI3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIERFTVVYIGVycm9ycywgaW5zdGVhZCBvZiBERUNPREUKCSAgcXRkZW11eCBzaG91bGQgdXNlIERFTVVYIGVycm9ycywgYW5kIG5vdCBERUNPREUKCSAgQ29uZmxpY3RzOgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMKCjIwMTAtMDEtMTQgMTk6MTY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNaW5vciByZWZhY3RvcgoJICBSZXBsYWNlIHJlcGVhdGVkIGNvZGUgd2l0aCBhIGZ1bmN0aW9uIGNhbGwKCjIwMTAtMDEtMTQgMTc6MTE6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBIYW5kbGUgYW5vdGhlciBraW5kIG9mIHJlZGlyZWN0IHRyYWsKCSAgU29tZSB0cmFrcyBtaWdodCBjb250YWluIGEgcmVkaXJlY3QgcnRzcCB1cmkgaW5zaWRlCgkgIGhuZGwgYXRvbSAod2hpY2ggaXMgYSBkcmVmIGF0b20gZW50cnkpLiBUaGlzIGNvbW1pdCBtYWtlcyBxdGRlbXV4CgkgIHBvc3QgYSBtZXNzYWdlIHdoZW4gaXQgZmluZHMgb25lIG9mIHRoZXNlIHRyYWtzIGFuZCB0aGVyZSBhcmUKCSAgbm8gb3RoZXIgdHJha3MuCgkgIEZpeGVzICM1OTc0OTcKCjIwMTAtMDEtMTQgMTY6MTM6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFBvc3QgZXJyb3Igd2hlbiByZWFjaGluZyBFT1Mgd2l0aG91dCBwYWRzCgkgIFBvc3QgYW4gZXJyb3Igd2hlbiBFT1MgaXMgcmVhY2hlZCBhbmQgdGhlcmUgYXJlIG5vIHNyYyBwYWRzCgoyMDEwLTAxLTE0IDE0OjEzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG8gbm90IHBvc3QgZW1wdHkgcmVkaXJlY3QgbWVzc2FnZXMKCSAgU29tZSBtaXNpbnRlcnByZXRlZCBkYXRhIGNvdWxkIHJlc3VsdCBpbiBwb3N0aW5nIHJlZGlyZWN0IG1lc3NhZ2VzCgkgIHdpdGggZW1wdHkgcmVkaXJlY3Qgc3RyaW5ncy4gSXQgaXMgYmV0dGVyIG5vdCB0byBwb3N0IHRoZW0uCgkgIEFuIGV4YW1wbGUgaXMgdGhlIGZpbGUgb24gYnVnICM1OTc0OTcKCjIwMTAtMDEtMTQgMTg6MTk6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBvbGlzaCBsYXN0IGJ1ZmZlciBlbmQgdGltZSB1c2FnZQoJICBUaGF0IGlzLCByZXNldCBpdCB1cG9uIHNlZWssIGFuZCBub3RlIHRoYXQgKHJhcmVseSkgbGFzdCBwdXNoZWQgYnVmZmVyCgkgIHRpbWUgbWlnaHQgcHJlY2VkZSBzZWdtZW50IHN0YXJ0LgoKMjAxMC0wMS0xMyAxNjo0ODo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IHVzZSAncScgY29uc3RyYWludCBpbnN0ZWFkIG9mICdyJwoJICBUaGlzIGF2b2lkcyB0aGUgImJhZCByZWdpc3RlciBuYW1lIGAlZGlsJyIgY29tcGlsYXRpb24gZXJyb3JzIG9uIDMyYml0IHdoZXJlCgkgIGJlY2F1c2Ugb2YgJ3InIGdjYyBwdXRzIHRoZSB2YWx1ZSBpbiBhIGdlbmVyYWwgcHVycG9zZSByZWdpc3RlciBhbmQgdGhlbiB0cmllcwoJICB0byBhY2Nlc3MgdGhlIGxvd2VyIHBhcnQgYXMgJWRpbC8lc2lsIHdoaWNoIGlzIG5vdCBleGlzdGluZyBvbiAzMmJpdC4gJ3EnIHJlcXVlc3RzCgkgIGEtZCByZWdpc3RlcnMKCjIwMTAtMDEtMTMgMTY6NDQ6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBhZGQgbWlzc2luZyBpbmNsdWRlIGZvciBzc2NhbmYKCjIwMTAtMDEtMTMgMDk6MzY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIGVxdWFsaXplcjogRml4IHByb3BlcnR5IGRlc2NyaXB0aW9uIGZvciB0aGUgM3JkIGJhbmQgb2YgdGhlIDEwYmFuZCBlcXVhbGl6ZXIKCSAgVGhlIGZyZXF1ZW5jeSBpcyBhY3R1YWxseSAyMzcgSHosIG5vdCAyMjcgSHouCgkgIEZpeGVzIGJ1ZyAjNjA2NjkyLgoKMjAxMC0wMS0xMyAwOToyMjoyMCArMDEwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEFsbG93IG5lZ2F0aXZlIGFtcGxpZmljYXRpb25zCgkgIEZpeGVzIGJ1ZyAjNjA2ODA3LgoKMjAxMC0wMS0xMyAwOToxNzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICBhcGV2Mm11eDogRG9uJ3QgY2FsbCBjb25zdHJ1Y3RvcnMgZGlyZWN0bHksIHRoaXMgbGVhZHMgdG8gY29tcGlsZXIgZXJyb3JzIHdpdGggZ2NjIDQuNQoKMjAxMC0wMS0xMiAxNzozOTowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdfR1NJWkVfRk9STUFUIGZvciBwbGF0Zm9ybSBpbmRlcGVuZGVudCBnc2l6ZSBxdWFsaWZpZXIKCSAgRml4ZXMgYnVpbGQgb24gbWFjb3N4CgoyMDEwLTAxLTExIDE5OjAyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZWZhY3RvciBlb3Mgc2VuZGluZyB3aGVuIHBhdXNpbmcgbG9vcAoJICBBbHNvLCBwcmV2ZW50IGhhbmdpbmcgaWYgbm8gcGFkcyB5ZXQgb24gd2hpY2ggdG8gc2VuZCBlb3MgYnkKCSAgcG9zdGluZyBhIG1lc3NhZ2UgaW5zdGVhZC4KCjIwMTAtMDEtMTEgMTc6NTA6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHN0YW5kYXJkaXplIHNlZWsgaGFuZGxpbmcKCSAgLi4uIHdoaWNoIGltcGxpZXMgZml4aW5nIHNvbWUgY29ybmVyIGNhc2VzLgoKMjAxMC0wMS0xMSAxNToxNDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2UgbW9yZSBnZW5lcmljIHhpcGhOX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEgaGVscGVyCgoyMDEwLTAxLTExIDE3OjUwOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlZmxvdyBhdWRpbyBhbmQgdmlkZW8gc2V0Y2FwcyBhbmQgaW1wcm92ZSBsb2dnaW5nCgkgIEFsc28gZW5zdXJlIHdpZHRoIGFuZCBoZWlnaHQgYXJlIGF2YWlsYWJsZSBhcyB0aGV5IGFyZSBtYW5kYXRvcnkKCSAgaW4gbWF0cm9za2Egc3BlY3MuCgoyMDEwLTAxLTExIDExOjQyOjQzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG9mZnNldCBmb3IgdHlwZSAyIG1wNGEgc291bmQgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgQWxsb3dzIHVzIHRvIGNvcnJlY3RseSBmaW5kIHRoZSBlc2RzIChhbmQgdGh1cyB0aGUgY29kZWMgZGF0YSkgZm9yIHN1Y2gKCSAgbXA0YSBmaWxlcy4KCjIwMTAtMDEtMTEgMTU6NDU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgIHJ0cG1wNGcoZGUpcGF5OiBPbmx5IGhhbmRsZSByYXcgYWFjCgkgIHJ0cG1wNGcoZGUpcGF5IHNob3VsZCBvbmx5IGhhbmRsZSByYXcgQUFDIHN0cmVhbXMKCjIwMTAtMDEtMTEgMTg6NTk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBkcm9wcyBmcmFtZXMgaWYgdGhleSdyZSB0b28gbGF0ZSBhbnl3YXkgYmVmb3JlIGJsZW5kaW5nIGFuZCBhbGwKCSAgdGhhdCBzdGFydHMgYnV0IFFvUyBldmVudHMgYXJlIG5vdCBmb3J3YXJkZWQgdXBzdHJlYW0uIEluIHRoZSBmdXR1cmUKCSAgdGhlIFFvUyBldmVudHMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIHNvbWVob3cgYW5kIGZvcndhcmRlZCB1cHN0cmVhbS4KCjIwMTAtMDEtMTEgMTQ6NDg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGEoZGUpcGF5OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIHJ0cG1wNGEoZGUpcGF5IHNob3VsZCBvbmx5IGhhbmRsZSByYXcgYWFjIHRvIGNvbmZvcm0gdG8gdGhlIFJGQwoKMjAxMC0wMS0xMSAxODozNTo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogQWRkIE1NWCBpbXBsZW1lbnRhdGlvbnMgZm9yIEk0MjAgYW5kIGFsbCBub24tYWxwaGEgUkdCIGZvcm1hdHMKCjIwMTAtMDEtMDQgMTA6MjQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFJlZmFjdG9yIHByb2Nlc3NpbmcgZnVuY3Rpb25zCgkgIFRoaXMgYWxsb3dzIGVhc2llciBwbHVnZ2luZyBvZiBvcHRpbWl6ZWQgcHJvY2Vzc2luZyBmdW5jdGlvbnMKCSAgaW4gdGhlIGZ1dHVyZSwgbGlrZSBmb3IgU1NFIG9yIEFsdGlWZWMuCgoyMDEwLTAxLTExIDEzOjI2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgYXZpbXV4OiBtYXRyb3NrYW11eDogcmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgdG8gcmF3CgkgIEFBQydzIG5vbmUgc3RyZWFtLWZvcm1hdCBoYXMgYmVlbiByZW5hbWVkIHRvIHJhdywgcmVuYW1lCgkgIG9uIGF2aW11eCBhbmQgbWF0cm9za2FtdXggYXMgd2VsbAoKMjAxMC0wMS0xMSAxMjowNzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIG1ha2VzIG1hdHJvc2thbXV4IHJlamVjdCBhYWMgc3RyZWFtcyB0aGF0IGFyZSBub3QKCSAgaW4gcmF3IGZvcm1hdCAoc3RyZWFtLWZvcm1hdD1ub25lKQoJICBGaXhlcyAjNTk4MzUwCgoyMDEwLTAxLTExIDEyOjA4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogT25seSBhY2NlcHQgcmF3IGFhYwoJICBtYWtlcyBhdmltdXggcmVqZWN0IGFhYyBzdHJlYW1zIHRoYXQgYXJlIG5vdAoJICBpbiByYXcgZm9ybWF0IChzdHJlYW0tZm9ybWF0PW5vbmUpCgkgIEZpeGVzICM1OTgzNTAKCjIwMTAtMDEtMTEgMTA6Mzg6MTAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogT29wcy4gVGhlIGdwb2ludGVyIGNhc3QgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgdGhlIGNvbnN0IHF1YWxpZmllcnMgb24gdGhlIGRhdGEgZWxlbWVudHMKCjIwMTAtMDEtMTEgMTA6MTc6NTQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGVidWcgLT4gaW5mbyBsZXZlbCBmb3IgYSBtZXNzYWdlIGZvciBiZW5jaG1hcmtpbmcgaW5kZXggcGFyc2luZwoJICBUaGUgZXh0cmEgbWVzc2FnZSBvdXRwdXQgYXQgaGlnaGVyIGxldmVscyBhZmZlY3RzIHRoZSBhY2N1cmFjeSBvZiB0aGUKCSAgYmVuY2htYXJrLgoKMjAxMC0wMS0xMSAxMDowNToxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBjaGVjayBmb3IgTlVMTCBwb2ludGVycyBvciBjYXN0IHRvIGdwb2ludGVyIGFzIHRoaXMgaXMgbm90IG5lZWRlZAoKMjAxMC0wMS0wOCAxMzo1NTowNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZWZhY3RvciBzdGJsIHN1Yi1hdG9tIGZyZWVpbmcuIEZyZWUgd2hlbiBpbmRleCBoYXMgYmVlbiBjb21wbGV0ZWx5IHBhcnNlZC4KCjIwMTAtMDEtMDggMTQ6MzI6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQXZvaWQgd2hpdGVzcGFjZSBjb21taXRzIGR1ZSB0byBpbmNvbnNpc3RlbnQgR05VIGluZGVudCBiZWhhdmlvdXIKCjIwMTAtMDEtMTEgMDA6MTA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbmV3bGluZSBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50CgoyMDEwLTAxLTA4IDE5OjI2OjIxICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IENvbXBpbGVyIHdhcm5pbmcgZml4ZXMgZm9yIFdpbmRvd3MKCSAgSnVzdCBzaW1wbGUgbWlzc2luZyBjYXN0cwoJICBGaXhlcyBidWcgIzYwNjQzOC4KCjIwMTAtMDEtMDggMTg6MDQ6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggc2Vla3BvaW50cyBwcm9wZXJ0eSBjb3B5LWFuZC1wYXN0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAxLTA2IDE3OjA2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBvcHRpb25hbGx5IGFkZCBhIHNlZWsgdGFibGUKCSAgQVBJOiBHc3RGbGFjRW5jOnNlZWtwb2ludHMKCSAgRml4ZXMgIzM1MTU5NS4KCjIwMTAtMDEtMDggMTE6MzM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIG1vcmUgZ2xpYiBhbmQgYmUgc2FmZXIKCSAgQmUgc2FmZXIgb24gc3NjYW5mIGJ5IGxpbWl0aW5nIHN0cmluZyBmb3JtYXQgc2l6ZXMuCgkgIFJlbW92ZSB1c2VsZXNzIHBhcmFtZXRlciBhbmQgdXNlIGdfc3RybmR1cC4KCjIwMTAtMDEtMDggMTA6NDQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU2ltcGxpZnlpbmcgY29kZQoJICBHcmVhdGx5IHNpbXBsaWZ5IHRoZSBJRElUIGNodW5rIGhhbmRsaW5nIGJ5IHVzaW5nIHNzY2FuZgoJICBpbnN0ZWFkIG9mICdtYW51YWxseScgcGFyc2luZy4gQWxzbyByZXBsYWNlcyBzdHJuY2FzZWNtcCBhbmQKCSAgaXNfYWxwaGEvaXNfZGlnaXQgd2l0aCBnbGliIHZlcnNpb25zLgoKMjAxMC0wMS0wOCAxMDoxODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpdCdzIGZlYiBmb3IgZmVicnVhcnkKCSAgRml4IHR5cG8gaW4gbGFzdCBjb21taXQuCgoyMDEwLTAxLTA4IDA5OjE3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFBhcnNlIGFuZCBwb3N0IElESVQgZGF0ZXMKCSAgUGFyc2VzIGFuZCBwb3N0IGRhdGUgdGFncyBjb250YWluZWQgaW4gSURJVCBjaHVua3MuCgkgIEZpeGVzICM1MDM1ODIKCjIwMTAtMDEtMDcgMTc6MjU6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBwcm9wZXJ0eSBmb3Igbm90IGRyYWluaW5nIHRoZSBoaXN0b3J5IG9uIGtlcm5lbCBjaGFuZ2VzCgkgIEN1cnJlbnRseSB0aGlzIG9ubHkgd29ya3MgaWYgdGhlIGtlcm5lbCBzaXplIGRvZXNuJ3QgY2hhbmdlLCBpbiB0aGUgZnV0dXJlCgkgIGl0IHdpbGwgYmUgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBrZXJuZWwgc2l6ZSB0b28gd2l0aG91dCBkcmFpbmluZwoJICB0aGUgY29tcGxldGUgaGlzdG9yeSBhbmQgd2l0aG91dCBsb29zaW5nIGFueXRoaW5nLgoJICBQYXJ0aWFsbHkgYmFzZWQgb24gYSBwYXRjaCBieQoJICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCjIwMTAtMDEtMDcgMTY6NTg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogcmVtb3ZlIHdlaXJkIG1lbWNtcCBjb2RlCgkgIFVzZSBwbGFpbiBtZW1jbXAgZm9yIGNvbXBhcmluZyBtZW1vcnkgaW5zdGVhZCBvZiB0aGUgY3VzdG9tIGJ1Z2d5IG9uZS4KCSAgRml4ZXMgIzYwNjE5OAoKMjAxMC0wMS0wNyAxNTozODozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IHR5cG8gaW4gJ21lc3NhZ2UnIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTAxLTA2IDE0OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVhbGx5IHVzZSB1cHN0cmVhbSB0aW1lc3RhbXAgaWYgdGhlcmUgaXMgb25lCgkgIFNlZS9maXhlcyAjNjAzNDcxLgoKMjAxMC0wMS0wNiAxMzo0NTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI4cGF5OiByZW1vdmUgdW51c2VkIGFkYXB0ZXIgcGVlawoKMjAxMC0wMS0wNSAxOTowMDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBwYXNzdGhyb3VnaCB0ZXN0cwoJICBJbXByb3ZlIHBhc3N0aHJvdWdoIHRlc3RzIGJ5IGZvcmNpbmcgbW9yZSBzcGVjaWZpYwoJICBpbnRlcmxhY2VkL2RlaW50ZXJsYWNlZCBjYXBzIHRvIGJlIHRlc3RlZAoKMjAxMC0wMS0wNSAxODoyMjo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyBzb21lIGRvY3MgdG8gdGhlIG5ldyB0ZXN0cwoJICBBZGRzIHNvbWUgZG9jcyBleHBsYWluaW5nIHRoZSB1dGlsaXR5IGZ1bmN0aW9ucyBvZiB0aGUgY2hlY2sKCSAgdGVzdHMgb2YgZGVpbnRlcmxhY2UKCjIwMTAtMDEtMDUgMTg6MTQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgdGVzdHMgZm9yIHBhc3N0aHJvdWdoCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IHJlYWxseSBkb2VzCgkgIHBhc3N0aHJvdWdoIGluIGRpc2FibGVkIG1vZGUgYW5kIGluIGF1dG8gKGlmIHRoZSBpbnB1dCBpcwoJICBub3QgaW50ZXJsYWNlZCkKCjIwMTAtMDEtMDUgMDc6NTA6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHRlc3RzIGZvciBjYXBzIGFjY2VwdGFuY2UKCSAgQWRkcyBjaGVjayB1bml0IHRlc3RzIGZvciBkZWludGVybGFjZSBmb3IgdmFsaWRhdGluZwoJICBjYXBzIGFjY2VwdGluZyBhbmQgdGhlIGV4cGVjdGVkIGNhcHMgb3V0cHV0IG9uIHRoZQoJICBvdGhlciBwYWQKCjIwMTAtMDEtMDQgMTM6NDM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIGJhc2ljIGNoZWNrIHRlc3QKCSAgQWRkcyBhIGJhc2ljIGNoZWNrIHRlc3QgZm9yIGRlaW50ZXJsYWNlIGVsZW1lbnQKCjIwMTAtMDEtMDQgMTU6NDQ6MjggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIHdhdmUtc3R5bGUgYXVkaW8gaW4gcXQuCgkgIFVzZXMgZ3N0cmlmZiB0byBwYXJzZSB0aGUgd2F2ZSBoZWFkZXJzIGFwcHJvcHJpYXRlbHkuIFRlc3RlZCB3aXRoIE1TLUFEUENNCgkgIGNvbnRlbnQuCgoyMDA5LTEyLTMxIDE3OjA5OjAzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogQWRkIEcuNzI5IFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTMxIDE2OjUyOjMwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogU2ltcGxpZnkgYWRhcHRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTMxIDE2OjI3OjMwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogU3VwcG9ydCBwdGltZSBmcm9tIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAwOS0xMi0wMiAxOTozNToyMSArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIHJ0cDogQWRkIG1heHB0aW1lIHRvIHRoZSBSRUFETUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjA1MAoKMjAxMC0wMS0wNSAxOTowMzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5Lmg6CgkgIHJ0cGc3MjNkZXBheTogYWRkIEc3MjMgZGVwYXlsb2FkZXIKCjIwMTAtMDEtMDUgMTk6MDI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5oOgoJICBydHBnNzI5ZGVwYXk6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDEtMDUgMTg6MzM6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkgIHJ0cGc3MjNwYXk6IHJld3JpdGUgcGF5bG9hZGVyCgkgIEhhbmRsZSBhbGwgMyBwYWNrZXQgc2l6ZXMgYWNjb3JkaW5nIHRvIFJGQyAzNTUxLgoJICBUb3RhbGx5IHVudGVzdGVkLCB3ZSBkb24ndCBoYXZlIGEgRzcyMyBlbmNvZGVyLgoJICBGaXhlcyAjNjA1ODgyCgoyMDEwLTAxLTA1IDExOjQ3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY2h1bmsgY291bnRlcgoKMjAxMC0wMS0wNCAxOTo0NDo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW9yZSB3b3JrIGF0IHJlZHVjaW5nIGxvb3Agb3ZlcmhlYWQKCSAgVHJ5IHRvIGF2b2lkIGRlcmVmcyB3aGVuIHBhcnNpbmcgdGhlIGluZGV4LiBTYXZlIHRoZSBzdGF0ZSBpbnRvIHRoZSBzdHJ1Y3R1cmVzCgkgIHdoZW4gd2UgZXhpdCB0aGUgbG9vcCBpbnN0ZWFkIG9mIGZvciBlYWNoIGl0ZXJhdGlvbi4KCjIwMTAtMDEtMDQgMTY6MzM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNsZWFudXBzIGFuZCBtYWtlIGR1cmF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgTWFrZSB0aGUgUXREZW11eFNhbXBsZSBzdHJ1Y3Qgc21hbGxlciBieSBrZWVwaW5nIHRoZSBkdXJhdGlvbiBhbmQgdGhlIHB0c19vZmZzZXQKCSAgYXMgdGhlaXIgMzIgYml0IHZhbHVlcy4KCSAgTWFrZSBzb21lIG1hY3JvcyB0byBjYWxjdWxhdGUgUFRTLCBEVFMgYW5kIGR1cmF0aW9uIG9mIGEgc2FtcGxlLgoJICBEZXJlZiB0aGUgc2FtcGxlIGluZGV4IGxlc3Mgb2Z0ZW4gYnkga2VlcGluZyBhIHJlZiB0byB0aGUgc2FtcGxlIHdlJ3JlIGRlYWxpbmcKCSAgd2l0aC4KCjIwMTAtMDEtMDQgMTM6NDE6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IGxvZ2ljIHRvIGNhbGN1bGF0ZSBkdXJhdGlvbgoJICBTaW5jZSB3ZSBubyBsb25nZXIgc3RvcmUgdGhlIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gaW4gbmFub3NlY29uZHMsIHdlIGNhbiBub3cKCSAgc2ltcGx5IHN0b3JlIHRoZSBkdXJhdGlvbiBhcy1pcy4KCjIwMTAtMDEtMDEgMTY6NDI6NTcgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU3RvcmUgdGltZXN0YW1wcyBpbiBtb3YgZm9ybWF0IGluIHRoZSBpbmRleAoJICBUaGlzIGFsbG93cyBmYXN0ZXIgYnVpbGRpbmcgb2YgdGhlIGluZGV4IHVwb24gc2Vla3Mgc28gdGhhdCBzY2FsaW5nIG9mCgkgIHRpbWVzdGFtcHMgb25seSBvY2N1cnMgd2hlbiBhY3R1YWxseSBuZWVkZWQuCgoyMDA5LTEyLTE4IDEzOjU0OjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIHNlZWtpbmcgaW4gcHVzaCBtb2RlIHdvcmsKCSAgTW92ZSBzYW1wbGUgcG9zaXRpb24gY2hlY2tzIGludG8gcXRkZW11eF9wYXJzZV9zYW1wbGVzIHdoZXJlIHdlIGNhbiBwcm90ZWN0IGl0CgkgIHdpdGggYSBsb2NrLgoJICBSZWZhY3RvciBhbmQgbWFrZSBhbiBxdGRlbXV4X2Vuc3VyZV9pbmRleCBmdW5jdGlvbi4KCSAgUmVuYW1lIHF0ZGVtdXhfZG9fcHVzaF9zZWVrIHRvIHF0ZGVtdXhfc2Vla19vZmZzZXQgaW4gb3JkZXIgdG8gYXZvaWQgY29uZnVzaW9uCgkgIHdpdGggZ3N0X3F0ZGVtdXhfZG9fcHVzaF9zZWVrLgoKMjAwOS0xMi0xOCAxMjo0NDoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW92ZSBlcnJvciBjb2RlIG91dCBvZiBub3JtYWwgZmxvdwoKMjAwOS0xMS0yNCAxNjoyNzoyNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IEFkZCBwdXNoIG1vZGUgc2VlayBzdXBwb3J0IGZvciBzZWVraW5nIHRvIG9idGFpbiB0aGUgbW9vdiBhdG9tCgoyMDEwLTAxLTA1IDEyOjIyOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggb24tbnB0LXN0b3Agc2lnbmFsIHdhcm5pbmdzIGZvciBSRFQKCSAgVGhlIFJEVCBtYW5hZ2VyIGRvZXMgbm90IGltcGxlbWVudCB0aGlzIHNpZ25hbCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGZvciBpdCBiZWZvcmUKCSAgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gaXQuCgoyMDEwLTAxLTA1IDA5OjQ3OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogZml4IG1lbW9yeSBsZWFrIGluIG5ldyB1cmkgaGFuZGxlciBjb2RlCgkgIERvbid0IGxlYWsgYSBzdHJpbmcgZXZlcnl0aW1lIGdldF91cmkoKSBpcyBjYWxsZWQgYW5kIGEgZGV2aWNlCgkgIGhhcyBiZWVuIHNldC4gVGhlcmUncyBhIGxpbWl0ZWQgbnVtYmVyIG9mIGRldmljZXMsIHNvIGp1c3QKCSAgaW50ZXJuIHRoZSBzdHJpbmcgaW5zdGVhZCBvZiBkb2luZyBtb3JlIGVsYWJvcmF0ZSBob3VzZWtlZXBpbmcKCSAgYW5kIHN0b3JpbmcgaXQgaW4gdGhlIGluc3RhbmNlIHN0cnVjdCBvciBzby4KCjIwMTAtMDEtMDEgMTQ6MTA6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IHR5cG8gaW4gd2FybmluZyBtZXNzYWdlCgoyMDEwLTAxLTA0IDA5OjI4OjM2IC0wMzAwICBSb2JlcnQgV2VpZGxpY2ggPGdub21lYnVnemlsbGFAcm9iZXJ0LndlaWRsaWNoLmNjPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogQWRkICdwdWJsaWMnIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQgJ3B1YmxpYycgZmxhZyBvbiBsaWJzaG91dCwgbWFraW5nCgkgIHRoZSBzdHJlYW0gbGlzdGVkIG9uIHRoZSBzZXJ2ZXIncyBzdHJlYW0gZGlyZWN0b3J5LgoJICBGaXhlcyAjNjA1MjY5CgoyMDA5LTEyLTMwIDE0OjE0OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHRhZ3MgZm9yIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZQoJICBGaXhlcyAjNTk5MzAwLgoKMjAwOS0xMi0yNiAxNjo1OToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogZG8gbm90IHRyeSB0byBhbGxvYyByZWFsbHkgbGFyZ2UgYnVmZmVycwoJICBXaGVuIG5zYW1wbGVzX291dCBpcyBsYXJnZXIgdGhhbiBuc2FtcGxlc19pbiwgdXNpbmcgdW5zaWduZWQKCSAgaW50cyBsZWFkIHRvIGEgb3ZlcmZsb3cgYW5kIHRoZSByZXN1bHRpbmcgdmFsdWUgaXMgd3JvbmcgYW5kCgkgIHdheSB0b28gbGFyZ2UgZm9yIGFsbG9jYXRpbmcgYSBidWZmZXIuIFVzZSBzaWduZWQgaW50ZWdlcnMKCSAgYW5kIHJldHVybmluZyBpbW1lZGlhdGVsbHkgd2hlbiB0aGF0IGhhcHBlbnMuCgoyMDA5LTEyLTI1IDEyOjM4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJICB2aWRlb21peGVyOiBvcHRpbWl6ZSBibGVuZCBjb2RlIHNvbWUgbW9yZQoJICBVc2UgbW9yZSBlZmZpY2llbnQgZm9ybXVsYSB0aGF0IHVzZXMgbGVzcyBtdWx0aXBsaWVzLgoJICBSZWR1Y2UgdGhlIGFtb3VudCBvZiBzY2FsYXIgY29kZSwgdXNlIE1NWCB0byBjYWxjdWxhdGUgdGhlIGRlc2lyZWQKCSAgYWxwaGEgdmFsdWUuCgkgIFVucm9sbCBhbmQgaGFuZGxlIDIgcGl4ZWxzIGluIG9uZSBpdGVyYXRpb24gZm9yIGltcHJvdmVkIHBhaXJpbmcuCgoyMDA5LTEyLTI0IDIyOjU5OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkgIHZpZGVvbWl4ZXI6IHNjYWxlIGFuZCBjbGFtcAoJICBTY2FsZSBhbmQgY2xhbXAgdG8gdGhlIG1heCBhbHBoYSB2YWx1ZXMuCgoyMDA5LTEyLTI0IDIyOjUwOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBzY2FsZSBhbmQgY2xhbXAgYWxwaGEgdG8gaXRzIGZ1bGwgZXh0ZW5kCgkgIENvbnZlcnQgdGhlIGFscGhhIHZhbHVlIHRvIDAtPjI1NSB3aGVuIHNldHRpbmcgYW5kIHRvIDAtPjI1NiB3aGVuIHVzaW5nIGFzCgkgIGEgc2NhbGluZyBmYWN0b3IuIFRoaXMgbWFrZXMgc3VyZSB3ZSBjYW4gcmVhY2ggdGhlIGZ1bGwgb3BhY2l0eSB2YWx1ZSBvZiAweGZmIGluCgkgIGFsbCBjYXNlcy4KCjIwMDktMTItMjQgMjI6MjM6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzb21lIGNvbW1lbnRzLCByZW1vdmUgcHJvcGVydHkgY2hlY2sKCSAgRml4IHNvbWUgY29tbWVudHMsIGNsYXJpZnkgc29tZSBGSVhNRXMKCSAgUmVtb3ZlIHRoZSBvbi1udHAtc3RvcCBzaWduYWwgY2hlY2sgbm93IHRoYXQgdGhlIGppdHRlcmJ1ZmZlciBpcyBpbgoJICAtZ29vZCBhbmQgd2Uga25vdyB0aGF0IGl0IHN1cHBvcnRzIHRoaXMgc2lnbmFsLgoKMjAwOS0xMi0yNCAyMDoyNzo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogc29tZSB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTEyLTI0IDE3OjA0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUGFyc2UgYWxsIHJ0cGluZm8gZW50cmllcwoJICBEbyBub3QgZm9yZ2V0IHRvIHBhcnNlIGFsbCBydHAtaW5mbyBlbnRyaWVzLCBpbnN0ZWFkIG9mCgkgIHBhcnNpbmcgdGhlIGZpcnN0IG9uZSBvbmx5LgoJICBGaXhlcyAjNjA1MjIyCgoyMDA5LTEyLTIyIDEyOjQ0OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGVyZiB0YWcgc2hvdWxkIG1hcCB0byBHU1RfVEFHX0FSVElTVAoKMjAwOS0xMi0yNCAxNzowMzowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IHdlaXJkIGluZGVudGF0aW9uCgoyMDA5LTEyLTI0IDE3OjAxOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogdXNlIGZhc3RlciBfYWRhcHRlcl9jb3B5KCkgd2hlbSBwb3NzaWJsZQoKMjAwOS0xMi0yNCAxNzowMToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSAgdGVzdHM6IHVzZSByaWdodCB0eXBlIHdoZW4gcGFzc2luZyB2YXJhcmcgdmFsdWUKCjIwMDktMTItMjMgMTc6NTA6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IHVzZSBhIHNpbmdsZSBkZWNvZGVyIGZpZWxkIGZvciBib3RoIHB1c2ggYW5kIHB1bGwgbW9kZQoKMjAwOS0xMi0yMyAxNzowMzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBwb3NzaWJsZSBoYW5naW5nIGluIHB1bGwgbW9kZSBzZWVraW5nCgkgIEEgc2VlayBpbiBtdWx0aS1zaW5rIHBpcGVsaW5lIHR5cGljYWxseSBsZWFkcyB0byBzZXZlcmFsIHNlZWsgZXZlbnRzIGluIGEgcm93LAoJICB3aGljaCBjb3VsZCBsZWFkIHRvIHNlbmRpbmcgc2V2ZXJhbCBuZXdzZWdtZW50cyBpbiBhIHJvdyB3aXRob3V0IGludGVybWVkaWF0ZQoJICBmbHVzaGluZy4gIFRoZXNlIHdvdWxkIHRoZW4gYWNjdW11bGF0ZSwgZGlzdG9ydCByZW5kZXJpbmcgdGltZXMgYW5kIGFzIHN1Y2gKCSAgbGVhZCB0byAnaGFuZ2luZycuCgoyMDA5LTEyLTIzIDE5OjM5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAwOS0xMi0yMyAxMzowOTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cDogdXNlIGJvaWxlcnBsYXRlCgoyMDA5LTEyLTIzIDAwOjM4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgcnRwTDE2cGF5OiBjb252ZXJ0IHRvIGJhc2VhdWRpb3BheWxvYWQKCSAgVXNlIEdzdFJUUEJhc2VBdWRpb1BheWxvYWQgYXMgdGhlIGJhc2UgY2xhc3MuIFRoaXMgc2F2ZXMgYSBsb3Qgb2YgY29kZSBhbmQgZml4ZXMKCSAgYSBidW5jaCBvZiBwcm9ibGVtcyB0aGF0IHdlcmUgYWxyZWFkeSBzb2x2ZWQgaW4gdGhlIGJhc2UgY2xhc3MuCgkgIEZpeGVzICM4NTMzNjcKCjIwMDktMTItMjMgMDA6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgcnRwcGNtYXBheTogdGhlIGJvaWxlcnBsYXRlIG1hY3JvIHNldHMgcGFyZW50X2NsYXNzCgoyMDA5LTEyLTIyIDIyOjI3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYXZvaWQgc29tZSBzdHJ1Y3R1cmUgY29waWVzCgkgIERvbid0IG1ha2UgY29waWVkIGluIHRoZSBnZXR0ZXIgYW5kIHNldHRlciBmb3IgU0RFUyBpbiB0aGUgUlRQU291cmNlLiBUaGlzCgkgIGF2b2lkcyBhIGNvdXBsZSBvZiBjb3BpZXMgb2YgdGhlIFNERVMgc3RydWN0dXJlIHdoZW4gZ2VuZXJhdGluZyBSVENQCgkgIHBhY2tldHMuCgoyMDA5LTA4LTMxIDE4OjQyOjI1ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBtYW5hZ2VyOiBpbXByb3ZlIFNERVMgaGFuZGxpbmcKCSAgU3RvcmUgU0RFUyBpbnRlcm5hbGx5IGFzIGEgc3RydWN0IHRvIHN1cHBvcnQgbXVsdGlwbGUgUFJJViB2YWx1ZXMuCgkgIEluY2x1ZGUgYWxsIHZhbHVlcyBzZXQgaW4gU0RFUyBzdHJ1Y3Qgd2hlbiBzZW5kaW5nIFJUQ1AgU0RFUy4KCjIwMDktMTItMjIgMTQ6NDE6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGFkZCBzb21lIGZpeG1lcwoKMjAwOS0xMi0yMiAxNDozNToxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYmFzZWNsYXNzIGhhbmRsZXMgdGltZXN0YW1wcyBmb3IgdXMKCjIwMDktMTItMjIgMTQ6Mjc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IHJlc2V0IHN0YXJ0IHZhcmlhYmxlIHByb3Blcmx5CgoyMDA5LTA1LTI5IDE1OjQ5OjI3ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgRHJvcCB0aGUgd2hvbGUgZnJhbWUgaWYgYSBwYWNrZXQgaXMgbG9zdC4KCSAgRml4ZXMgIzU4MjU3NQoKMjAwOS0xMi0yMSAyMDozOTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogYWRkIG9wdGlvbiB0byBpbnNlcnQgUFBTL1NQUyBpbiBzdHJlYW1zCgkgIEFkZCBhIG5ldyBzcHNwcHMtaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgU1BTIGFuZCBQUFMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0uCgkgIFJld29yayB0aGUgU1BTL1BQUyBoYW5kbGluZyBzbyB0aGF0IGJ5dGVzdHJlYW0gYW5kIEFWQyBzYW1wbGUgY29kZSBib3RoIHVzZSB0aGUKCSAgc2FtZSBjb2RlIHBhdGhzIHRvIGhhbmRsZSBzcHJvcC1wYXJhbWV0ZXItc2V0cy4gVGhpcyBhbHNvIGFsbG93cyB0byBoYXZlIHRoZSBBVkMKCSAgY29kZSB0byBpbnNlcnQgU1BTL1BQUyBsaWtlIHRoZSBieXRlc3RyZWFtIGNvZGUuCgkgIEZpeGVzICM2MDQ5MTMKCjIwMDktMTItMjEgMTk6MTI6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0N2NiMjNhIHRvIDE0Y2VjODkKCjIwMDktMTItMjEgMTI6MDE6NTMgLTAzMDAgIEpvbmF0aGFuIENvbmRlciA8akBza3Vydnkubm8taXAub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZHMgbmV3IHRhZ3MKCSAgQWRkcyBzb21lIG5ldyB0YWdzIG1hcHBpbmcgdG8gcXRkZW11eC4KCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0yMSAxNTowNTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBwcm9wZXJ0eSB0byByZW1vdmUgcGFkcyBhdXRvbWF0aWNhbGx5CgkgIEFkZCBhIHByb3BlcnR5IGNhbGxlZCBhdXRvcmVtb3ZlIHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBwYWRzIG9mIHNvdXJjZXMKCSAgdGhhdCB0aW1lZCBvdXQuCgkgIEZpeGVzICM1NTQ4MzkKCjIwMDktMTItMjEgMTQ6NTU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBmaXggY29tcGFyaXNvbgoJICBBIE5VTEwgbWVhbnMgbm8gcGFkIHdhcyBmb3VuZC4KCjIwMDktMTEtMDggMTE6NDk6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEFkZCBHc3RVUklIYW5kbGVyIGludGVyZmFjZS4gRml4ZXMgIzYwMTE0MwoJICBUaGlzIGFsbG93cyB1c2luZyB2NGwyOi8vWzxkZXZpY2U+XQoKMjAwOS0xMi0yMCAxNzoyNDo0NyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBwYXNzIGxlbmd0aCBwYXJhbWV0ZXIgdG8gZ19jb252ZXJ0CgoyMDA5LTEyLTE4IDEyOjQ0OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIFllcywgaXQncyBzdHVwaWQsIGJ1dCBtYWNvc3ggY29tcGlsZXJzIGFyZSBldmVuIG1vcmUgc3R1cGlkLgoKMjAwOS0xMi0xNyAxNjowMToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhc3NlbWJseSBjb21waWxhdGlvbiBvbiB4ODYKCSAgRml4ZXMgYnVnICM2MDQ4MTQuCgoyMDA5LTEyLTE3IDE3OjM3OjAzICswMTAwICBCcmFua28gxIxpYmVqIDxicmFuZSBhdCB4YmMubnU+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IGZpeCB0aW1lc3RhbXAgcm91bmRpbmcKCSAgVXNlIHNjYWxpbmcgZnVuY3Rpb24gdG8gcm91bmQgYW5kIGF2b2lkIG92ZXJmbG93cy4KCSAgRml4ZXMgIzYwNDM1MgoKMjAwOS0xMi0xNyAxNzoyNzo0MiArMDEwMCAgVGlhZ28gS2F0Y2lwaXMgPHRpYWdvLmthdGNpcGlzQGRpZ2l0cm8uY29tLmJyPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJICBydHA6IGFkZCBHNzIzIHBheWxvYWRlcgoJICBGaXhlcyAjNTk3ODIzCgoyMDA5LTEyLTE3IDE2OjIyOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEZpeCBBTEFDIGNvZGVjX2RhdGEgcGFyc2luZwoJICBGaXhlcyAjNjA0NjExCgoyMDA5LTEyLTE2IDE3OjI4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIGNwcCBzdHlsZSBjb21lbnRzCgkgIFJlbW92ZXMgLy8gY29tbWVudHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIC8qICovIGNvbW1lbnRzCgoyMDA5LTEyLTE2IDEyOjQ4OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogYWxzbyBjb25zaWRlciBCbG9ja051bWJlciBpbmRpY2F0ZWQgaW4gaW5kZXggd2hlbiBzZWVraW5nCgoyMDA5LTEyLTE2IDEyOjQzOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHN1cHBvcnQgcHVzaCBiYXNlZCBtb2RlCgkgIEZpeGVzICM1OTg2MTAuCgoyMDA5LTEyLTE2IDEyOjQ0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGVibWwgcmVhZCBjYWNoZSB1c2FnZQoKMjAwOS0xMi0xNiAxMDo1MDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSBtb3Z6YmwgaW5zdGVhZCBvZiBtb3Z6eGIgZm9yIG1vdmluZyBvbmUgYnl0ZSB0byBhIGwgcmVnaXN0ZXIKCSAgRm9yIHNvbWUgcmVhc29uIGxhdGVzdCBnY2MvYmludXRpbHMgYWNjZXB0IG1vdnp4YiBoZXJlIHdoaWxlCgkgIG1vdnpibCB3b3VsZCBiZSBjb3JyZWN0IGFuZCBpcyB0aGUgb25seSB0aGluZyBhY2NlcHRlZCBieSBvbGRlcgoJICBnY2MvYmludXRpbHMuCgkgIEZpeGVzIGJ1ZyAjNjA0Njc5LgoKMjAwOS0xMi0xNiAwNjo1OTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IHNyYy9kZXN0IGFyZSBpbnB1dCBhbmQgb3V0cHV0IG9mIHRoZSBBWVVWIGJsZW5kaW5nIE1NWCBhc3NlbWJsZXIKCjIwMDktMTItMTUgMTg6MTg6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IFVzZSB0aGUgc2FtZSB1cHBlciBsZW5ndGggbGltaXQgYXMgYXVkaW93c2luY2xpbWl0CgoyMDA5LTEyLTEyIDE3OjAwOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5je2xpbWl0LGJhbmR9OiBBbGxvdyBtdWNoIGxhcmdlciBmaWx0ZXIgbGVuZ3RocyBub3cKCjIwMDktMTItMTEgMTI6Mjc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCBmcmVxdWVuY3kgcmVzcG9uc2UgY2FsY3VsYXRpb24KCjIwMDktMTItMDggMTQ6NTc6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDA5LTEyLTA2IDE2OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgc3BlY2lhbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBmb3IgTW9uby9TdGVyZW8KCSAgVGhpcyBwcm92aWRlcyBhbm90aGVyIDclIHNwZWVkdXAgZm9yIHRoZSB0aW1lIGRvbWFpbiBjb252b2x1dGlvbiBhbmQgMS41JQoJICBzcGVlZHVwIGZvciB0aGUgRkZUIGNvbnZvbHV0aW9uIG9uIE1vbm8gaW5wdXQuCgkgIFRoaXMgb3B0aW1pemF0aW9uIGFzc3VtZXMgdGhhdCB0aGUgY29tcGlsZXIgc2ltcGxpZmllcyBjYWxjdWxhdGlvbnMKCSAgYW5kIGNvbmRpdGlvbnMgb24gY29uc3RhbnQgbnVtYmVycyBhbmQgdW5yb2xscyBsb29wcyB3aXRoIGEgY29uc3RhbnQKCSAgbnVtYmVyIG9mIHJlcGVhdHMuCgoyMDA5LTEyLTA0IDA5OjI1OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgYSAibG93LWxhdGVuY3kiIG1vZGUKCSAgVGhpcyB3aWxsIGFsd2F5cyB1c2UgdGltZS1kb21haW4gY29udm9sdXRpb24sIHdoaWNoIGxvd2VycyB0aGUgbGF0ZW5jeS4KCSAgV2l0aCBGRlQgY29udm9sdXRpb24gaXQncyBhbHdheXMgYSBtdWx0aXBsZSBvZiB0aGUga2VybmVsIGxlbmd0aCwKCSAgd2l0aCB0aW1lIGRvbWFpbiBjb252b2x1dGlvbiBpdCdzIG9ubHkgdGhlIHByZS1sYXRlbmN5IG9mIHRoZSBmaWx0ZXIga2VybmVsLgoKMjAwOS0xMi0wNCAwOTowMDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVtb3ZlIG9ic29sZXRlIFRPRE8gY29tbWVudHMKCjIwMDktMTItMDMgMjA6MTI6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFVzZSBzYW1wbGVzIGV2ZXJ5d2hlcmUgaW5zdGVhZCBvZiBzYW1wbGVzKmNoYW5uZWxzIHNvbWV0aW1lcwoKMjAwOS0xMi0wMyAxNzoyNzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZGVCBjb252b2x1dGlvbiBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIHByb3ZpZGVzIGEgZ3JlYXQgc3BlZWR1cCwgZXNwZWNpYWxseSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4ga2VybmVsCgkgIGxlbmd0aCBhbmQgcHJvY2Vzc2luZyBzaXplIGlzIG5vdyBsb2dhcml0aG1pYyBpbnN0ZWFkIG9mIGxpbmVhci4gQmVsb3cgYQoJICBrZXJuZWwgc2l6ZSBvZiAzMiBpdCdzIGEgYml0IHNsb3dlciwgYWZ0ZXJ3YXJkcyBpdCdzIG11Y2ggZmFzdGVyOgoJICAxNyAgICAgMC43ODgwMDAgLT4gMC45NTAwMDAKCSAgMzMgICAgIDEuMjA4MDAwIC0+IDEuMTQ2MDAwCgkgIDY1ICAgICAyLjE2NjAwMCAtPiAxLjE0NjAwMAoJICAuLi4KCSAgNDA5NyAxMDcuNDQ0MDAwIC0+IDEuNTA4MDAwCgkgIEZvciBzaXplcyBzbWFsbGVyIDMyIHRoZSBub3JtYWwgdGltZS1kb21haW4gY29udm9sdXRpb24gaXMgY2hvc2VuLAoJICBmb3IgbGFyZ2VyIHNpemVzIHRoZSBGRlQgY29udm9sdXRpb24gaXMgYXV0b21hdGljYWxseSB1c2VkLgoJICBGaXhlcyBidWcgIzU5NDM4MS4KCjIwMDktMTEtMjcgMjA6MzM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IE1ha2UgbW9zdCBjb2RlIHBhcnRzIGluZGVwZW5kZW50IG9mIHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhbmQgdXNlZCBjb252b2x1dGlvbiBhbGdvcml0aG0KCSAgT25seSByZW1haW5pbmcgcGFydCBpcyB0aGUgcmVzaWR1ZSBwdXNoaW5nLCB3aGljaCB3aWxsIGJlIGZpeGVkIGxhdGVyLgoKMjAwOS0xMS0yNiAxNToxNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogT3B0aW1pemUgdGltZS1kb21haW4gY29udm9sdXRpb24KCSAgUmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNhbGN1bGF0aW9ucywgbW92ZSBjb21wYXJpc2lvbnMgb3V0IG9mCgkgIGlubmVyIGxvb3BzLCBldGMuCgkgIFRoaXMgbWFrZXMgdGhlIGNvbnZvbHV0aW9uIGFib3V0IDMgKCEpIHRpbWVzIGZhc3RlciBidXQKCSAgcHJvY2Vzc2luZyB0aW1lIGlzIG9mIGNvdXJzZSBzdGlsbCBwcm9wb3J0aW9uYWwgdG8gdGhlCgkgIGZpbHRlciBzaXplLgoKMjAwOS0xMS0yNiAxMDo0NTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogVXNlIF9DQVNUIG1hY3JvcyBpbiBzb21lIHBsYWNlcyBhbmQgZG8gc29tZSBjYWxjdWxhdGlvbnMgb25seSBvbmNlCgoyMDA5LTExLTI1IDE4OjEyOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZwoJICBJdCdzIG11Y2ggc2ltcGxlciBub3cgYW5kIGRvZXNuJ3QgaW50cm9kdWNlIGFjY3VtdWxhdGluZyByb3VuZGluZwoJICBlcnJvcnMuCgoyMDA5LTExLTI1IDE3OjM5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgYW5kIGNoYW5nZSBjb21tZW50cwoKMjAwOS0xMS0yNCAyMDowNjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIGNvbnN0IHF1YWxpZmllciB0byB0aGUgc291cmNlIGRhdGEgYXJyYXkKCjIwMDktMTItMTQgMjA6MDg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgTU1YIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgQVlVViBibGVuZGluZyBhbmQgY29sb3IgZmlsbGluZyBmdW5jdGlvbnMKCSAgVGhpcyBwcm92aWRlcyBhIDIwJSBzcGVlZHVwIGZvciBibGVuZGluZyBhbmQgMTAwJSBmb3IgY29sb3IgZmlsbGluZy4KCSAgVGhlIGJsZW5kaW5nIGNhbiBwcm9iYWJseSBiZSBvcHRpbWl6ZWQgZXZlbiBtb3JlLgoKMjAwOS0xMi0xMyAxMzoxOTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHByZWZlciB0d28gbGV0dGVyIElTTyA2MzktMSBjb2RlIGZvciBleHRlbmRlZCBjb21tZW50CgoyMDA5LTEyLTEzIDEzOjEwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHVwIGxhbmd1YWdlIGNvZGUgZXh0cmFjdGlvbiBzb21lIG1vcmUKCSAgUXVpY2t0aW1lIHVzZXMgSVNPIDYzOS0yIGZvciBsYW5ndWFnZSBjb2RlcywgYnV0IEdTVF9UQUdfTEFOR1VBR0UKCSAgaXMgc3VwcG9zZWQgdG8gaG9sZCBhIElTTyA2MzktMSBjb2RlLCBzbyBjb252ZXJ0IGFzIG5lZWRlZCB1c2luZwoJICB0aGUgbmV3IEFQSSBmcm9tIC1iYXNlLgoJICBTZWUgIzYwMjEyNi4KCjIwMDktMTItMTMgMTI6NDU6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGZpeCBsYW5ndWFnZSBjb2RlIHdyaXRpbmcgYW5kIGV4dHJhY3Rpb24KCSAgTWF0cm9za2EgdXNlcyB0aHJlZS1sZXR0ZXIgSVNPIDYzOS0yQiBjb2RlcywgYnV0IEdTVF9UQUdfTEFOR1VBR0UgaXMKCSAgc3VwcG9zZWQgdG8gY29udGFpbiB0d28tbGV0dGVyIElTTyA2MzktMSBjb2Rlcywgc28gdXNlIG5ldyBsYW5ndWFnZQoJICBjb2RlIG1hcHBpbmcgZnVuY3Rpb25zIGluIC1iYXNlIHRvIGNvbnZlcnQgYmV0d2VlbiB0aG9zZSB0d28gYXMKCSAgbmVlZGVkLgoJICBGaXhlcyAjNTA1ODIzLgoKMjAwOS0xMi0wNyAyMDo1NDowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtaW5vciBkZWJ1ZyBtZXNzYWdlIGNoYW5nZXMKCSAgRml4IHVwIGEgZmV3IGRlYnVnIG1lc3NhZ2VzIHNvIHRoYXQgaXQncyBjbGVhcmVyIHdoYXQgdGhleSBtZWFuLgoKMjAwOS0xMi0xMiAxNzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogQ29ycmVjdGx5IHBhcnNlIGNsYXNzaWZpY2F0aW9uIHRhZ3MiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2Q4ODNhYTYwYzExMzMxOTZhNmFlMDUyODg0ZDE1YzI5NWMzN2RkZS4KCSAgUHJldmlvdXMgY29kZSB3YXMgY29ycmVjdCwgNCBpcyBkdWUgdG8gdGFibGUgYW5kIGxhbmd1YWdlIGNvZGUsCgkgIG5vdCBvbmx5IGxhbmd1YWdlIGNvZGUKCjIwMDktMTItMTIgMTY6Mjg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgY2xhc3NpZmljYXRpb24gdGFncwoJICBJbiBjbHNmIGF0b21zLCB0aGUgbGFuZ3VhZ2UgY29kZSBpcyAyIGJ5dGVzIGxvbmcsIG5vdCA0LgoKMjAwOS0xMi0xMiAxNjo1NToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERlcXVldWUgY3VycmVudCBidWZmZXIgb24gRkxVU0hfU1RPUCBhbmQgZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXJzCgkgIC4uLiBOVUxMIGJ1ZmZlcnMgc2hvdWxkbid0IHJlYWxseSBoYXBwZW4gYW55bW9yZSB3aGVuIHBvcHBpbmcgdGhlCgkgIGJ1ZmZlciBmcm9tIEdzdENvbGxlY3RQYWRzIGJ1dCBiZXR0ZXIgY2hlY2sgZm9yIHRoaXMgYW5kIHByaW50IGEgd2FybmluZy4KCjIwMDktMTItMTEgMTM6MTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBGaXggc3R1cGlkIG1pc3Rha2UgaW4gbGFzdCBjb21taXQKCjIwMDktMTItMTEgMTI6MzU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBEb24ndCBkbyBmbG9hdGluZyBwb2ludCBtYXRoIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3AgZm9yIEk0MjAgYmxlbmRpbmcKCjIwMDktMTItMTAgMTg6NDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBOVUxMIGFuZCBlbXB0eSB0cmFuc3BvcnQgc3RyaW5ncwoJICBXaGVuIGFuIFJUU1AgZXh0ZW5zaW9uIHJldHVybnMgTlVMTCBvciBhbiBlbXB0eSB0cmFuc3BvcnQgc3RyaW5nLCBqdXN0IGlnbm9yZSBpdAoJICBhbmQgdHJ5IHRvIGdldCB0aGUgbmV4dCBwb3NzaWJsZSB0cmFuc3BvcnQuIEZpeGVzIHBsYXliYWNrIG9mIFJlYWxNZWRpYSBzdHJlYW1zLgoKMjAwOS0xMi0xMCAxODo0Mjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5zdGFsbCBldmVudCBmdW5jdGlvbiBvbiBpbnRlcm5hbCBSVENQIHBhZAoJICBJbnN0YWxsIGEgY3VzdG9tIGV2ZW50IGZ1bmN0aW9uIG9uIHRoZSBpbnRlcm5hbCBSVENQIHBhZCBzbyB0aGF0IHdlIGNhbiByZXBseQoJICBUUlVFIHRvIGEgbGF0ZW5jeSBldmVudC4KCjIwMDktMTItMTAgMTA6NDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJICB2aWRlb21peGVyOiBSZW1vdmUgd3JvbmcgY29tbWVudHMsIGNvcGllZCBmcm9tIHRoZSBJNDIwIGJsZW5kIGZ1bmN0aW9uCgoyMDA5LTEyLTA5IDIxOjE1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogVGhlIHF1ZXVlZCBkdXJhdGlvbiBpcyBhIHNpZ25lZCBpbnRlZ2VyCgkgIC4uLmFuZCBpdCB3aWxsIHJlYWxseSBiZSBuZWdhdGl2ZSBzb21ldGltZXMuCgoyMDA5LTEyLTA5IDIxOjAzOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT25seSBwb3AgYnVmZmVycyBmcm9tIGNvbGxlY3RwYWRzIGFmdGVyIHRoZXkncmUgZnVsbHkgY29uc3VtZWQKCSAgVGhpcyBkZWNyZWFzZXMgbGF0ZW5jeSBhbmQgbWVtb3J5IHVzYWdlIGJlY2F1c2UgbmV3IGJ1ZmZlcnMgYXJlIG9ubHkKCSAgYWNjZXB0ZWQgYnkgY29sbGVjdHBhZHMgaWYgdGhlcmUncyBubyBxdWV1ZWQgYnVmZmVyLgoKMjAwOS0xMi0wOSAyMDo0Mjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IENsZWFuIHVwIHBvc2l0aW9uL2R1cmF0aW9uIGhhbmRsaW5nCgkgIEFsc28gdXNlIHRoZSBsYXN0IGVuZCB0aW1lIGZvciBjbG9zaW5nIHRoZSBzZWdtZW50LCBub3QgdGhlCgkgIHN0YXJ0IHRpbWUgb2YgdGhlIGxhc3QgYnVmZmVyLgoKMjAwOS0xMi0wOSAxNjo1MDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ2xvc2UgdGhlIHNlZ21lbnQgb24gRU9TIGlmIHRoZSByZWFsIGR1cmF0aW9uIGlzIGtub3duCgoyMDA5LTEyLTA5IDE2OjQ2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVcGRhdGUgZHVyYXRpb24gaWYgY3VycmVudCBidWZmZXIgaXMgYWxyZWFkeSBhZnRlciB0aGUgb2xkIGR1cmF0aW9uCgoyMDA5LTEyLTA5IDE2OjQzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEcm9wIGJ1ZmZlcnMgdGhhdCBhcmUgYWZ0ZXIgc2VnbWVudCBzdG9wCgkgIC4uLmFuZCBpZiB0aGlzIGhhcHBlbmVkIGZvciBhbGwgc3RyZWFtcyBnbyBFT1MuCgoyMDA5LTEyLTA5IDE2OjQxOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggcG9zaXRpb24gdHJhY2tpbmcgYW5kIHNlbmRpbmcgb2YgZmlsbGVyIHNlZ21lbnRzCgoyMDA5LTEyLTA5IDE2OjE1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogVXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnQoKSBmb3IgZnBzIHRvIHNlY29uZHMgcGVyIGZyYW1lIGNhbGN1bGF0aW9ucwoKMjAwOS0xMi0wOCAxNzozNDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogS2VlcCB0aGUgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGZvciB1cGRhdGUgbmV3c2VnbWVudCBldmVudHMKCjIwMDktMTItMDQgMTQ6NDI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvbG9hZC5jOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkgIGxhZHNwYTogUmVtb3ZlIHRoZSBzb3VyY2VzIGZyb20gZ3N0LXBsdWdpbnMtZ29vZAoJICBJdCdzIGRpc2FibGVkIGFueXdheSBhbmQgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIGl0IGlzIGluCgkgIGdzdC1wbHVnaW5zLWJhZC4gRml4ZXMgYnVnICM2MDM3NzkuCgoyMDA5LTEyLTA0IDEzOjUwOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW5pdCBjdXJyZW50X2VudHJ5IGluIHB1c2ggbW9kZQoJICBTZXQgdGhlIGN1cnJlbnRfZW50cnkgdG8gMCAoaW5zdGVhZCBvZiAtMSkgaW4gcHVzaCBtb2RlIHNvIHRoYXQgd2UgY29ycmVjdGx5CgkgIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBmcmFtZSBudW1iZXIgYW5kIHRpbWVzdGFtcC4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBmaWMgdGhlIGR1cmF0aW9uIGRlYnVnLgoKMjAwOS0xMi0wNCAxMToxNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtYWpvciBtZW1vcnkgbGVhayB3aGVuIHBsYXlpbmcgYmFjayBydHNwIHZpZGVvIHN0cmVhbXMKCSAgRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIFFvUywgbmF2aWdhdGlvbiBhbmQgbGF0ZW5jeSBldmVudHMgd2hlbgoJICBkcm9wcGluZyB0aGVtLgoKMjAwOS0xMi0wMyAwODo1ODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSBzZW5kIHBlbmRpbmcgdGFncyB3aXRoIG5ld3NlZ21lbnQgZXZlbnRzCgkgIFNlbmQgcGVuZGluZyB0YWdzIG9ubHkgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCwganVzdCBhZnRlciB3ZSd2ZSBzZW50CgkgIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBub3Qgd2l0aCBlLmcuIGZsdXNoLXN0YXJ0LiBUaGlzIG5vdCBvbmx5IGRvZXMgdGhlCgkgIHJpZ2h0IHRoaW5nLCBidXQgYWxzbyBtYWtlcyBzdXJlIHdlJ3JlIG5vdCB0cmFtcGxpbmcgb3ZlciB2YXJpYWJsZXMgc2V0CgkgIHVwIGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkIGluIGNhc2Ugc29tZW9uZSB0cmllcwoJICB0byBpc3N1ZSBhIHNlZWsganVzdCBhcyB0aGUgZGVtdXhlciBpcyBwYXJzaW5nIHRoZSBoZWFkZXJzLgoJICBGaXhlcyAjNjAxNjE3LiBTcG90dGVkIGJ5IE9nbnlhbiBUb25jaGV2LgoKMjAwOS0xMi0wMyAxNzo0OTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWJ1ZyBtZXNzYWdlIHByaW50ZiBhcmdzCgkgIEZpeGVzIGRlYnVnIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdCB0byBtYWtlIGl0IGJ1aWxkIGluIG1hYydzIGdjYwoKMjAwOS0xMi0wMiAxMzozMzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IENvbnZlcnQgZGVsYXkgY29ycmVjdGx5CgkgIFVzZSBHU1RfTVNFQ09ORCB0byBjb252ZXJ0IGRlbGF5IGluIG1zZWNzIHRvIG5hbm9zZWNzCgkgIEZpeGVzICM2MDM1NDcKCjIwMDktMTItMDIgMTE6MjE6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWU6IEF2b2lkIGNyYXNoIHdoZW4gc2Vla2luZyBiZWZvcmUgbmVnb3RpYXRpbmcKCSAgbGFtZSdzICdsZ3YnIHZhcmlhYmxlIGlzIG9ubHkgaW5pdGlhbGl6ZWQgd2hlbiB0aGUgY2FwcwoJICBpcyBuZWdvdGlhdGVkLCB3aGVuZXZlciBhIHNlZWsgaGFwcGVucyBiZWZvcmUgdGhhdCwgaXQgd291bGQKCSAgYXR0ZW1wdCB0byBjYWxsIGEgZnVuY3Rpb24gb24gYW4gZW1wdHkgcG9pbnRlciwgY2F1c2luZyB0aGUgY3Jhc2guCgkgIEZpeGVzICM2MDM1MTUKCjIwMDktMTItMDEgMTk6MjQ6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHJlc2V0IHNlZ21lbnQgaW5mbyBhZnRlciBmbHVzaAoJICBSZXNldCB0aGUgc2VnbWVudCBpbmZvIGFmdGVyIGEgZmx1c2guIFdlIHVzZSB0aGUgc2VnbWVudCBmb3IgaGFuZGxpbmcgUW9TIGFuZCBpZgoJICB3ZSBkb24ndCByZXNldCB0aGUgc2VnbWVudCwgUW9TIGlzIGJhc2ljYWxseSBkaXNhYmxlZCBhZnRlciBhIGZsdXNoaW5nIHNlZWsuCgoyMDA5LTEyLTAxIDE1OjA3OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODdiZjQyOCB0byA0N2NiMjNhCgoyMDA5LTEyLTAxIDE0OjE1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGE0Yzc1YyB0byA4N2JmNDI4CgoyMDA5LTExLTMwIDE1OjU5OjUwICswMTAwICBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgYnVmZmVyIHJlZi91bnJlZiBwYWlycyBmb3IgQ1NSQ3MKCSAgV2UgcmVmIHRoZSBidWZmZXIgYmVmb3JlIHB1c2hpbmcgaXQgZG93bnN0cmVhbSBpbiBvcmRlciB0byBnZXQgdGhlIENTUkNzIG9mIGl0CgkgIGFmdGVyIHB1c2hpbmcuIFRoaXMgY2F1c2VzIHBlcmZvcm1hbmNlIHByb2JsZW1zIHdoZW4gZG93bnN0cmVhbSBlbGVtZW50cyB3YW50IHRvCgkgIGNoYW5nZSB0aGUgbWV0YWRhdGEgYmVjYXVzZSB0aGUgYnVmZmVyIG5lZWRzIHRvIGJlIHN1YmJ1ZmZlcmVkLgoJICBJbnN0ZWFkLCByZWFkIGFuZCBzdG9yZSB0aGUgQ1NSQ3Mgb2YgdGhlIGJ1ZmZlciBpbiBhbiBhcnJheSBiZWZvcmUgcHVzaGluZyBpdAoJICBhbmQgcHJvY2VzcyB0aGUgYXJyYXkgYWZ0ZXIgcHVzaGluZyB0aGUgYnVmZmVyLiBUaGlzIGFsbG93cyB1cyB0byByZW1vdmUgdGhlCgkgIHJlZi91bnJlZiBwYWlyLgoJICBGaXhlcyAjNjAzMzc2CgoyMDA5LTExLTI4IDE5OjIzOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyOiB1c2UgZ3N0cG9sbCBmb3IgdGltZW91dHMKCSAgVXNlIG91ciBvd24gR3N0UG9sbCBiYXNlZCB0aW1lb3V0IGluc3RlYWQgb2YgdGhlIHNob3V0IHNsZWVwIHNvIHRoYXQgd2UgY2FuCgkgIGludGVycnVwdCB3aGVuIGRvaW5nIGEgc3RhdGUgY2hhbmdlIGFuZCBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNjAyODg3CgoyMDA5LTExLTI4IDEyOjI1OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBmaXggaml0dGVyYnVmZmVyIGNoZWNrCgkgIE1ha2Ugc3VyZSB3ZSBzZXQgYSBiYXNlX3RpbWUgb24gdGhlIGVsZW1lbnQuCgkgIEZpeCB0aGUgdGltZW91dCB0byBhdCBsZWFzdCB0d2ljZSB0aGUgaml0dGVyYnVmZmVyIGxhdGVuY3kuCgkgIEVuYWJsZSBwcmV2aW91c2x5IGZhaWxpbmcgdGVzdHMuCgkgIFJlbW92ZSBpbXBvc3NpYmxlIGNoZWNrcy4KCjIwMDktMTEtMjcgMTg6NTU6MjAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDUzYTI0ODUgdG8gZGE0Yzc1YwoKMjAwOS0xMS0yNiAxNjoxNDozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IG9wdGlvbmFsbHkgbWVyZ2UgTkFMVXMgaW50byBBY2Nlc3MgVW5pdHMKCSAgLi4uIHdoaWNoIG1heSBiZSBleHBlY3RlZC9kZXNpcmVkIGJ5IHNvbWUgZG93bnN0cmVhbSBkZWNvZGVycwoJICAoYW5kIHNwZWMtd2lzZSBoaWdobHkgcmVjb21tZW5kZWQgZm9yIGF0IGxlYXN0IG5vbi1ieXRlc3RyZWFtIG1vZGUpLgoKMjAwOS0xMS0yNiAxNzoyOTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0aW1lc3RhbXAgZGF0YXR5cGUKCjIwMDktMTEtMjUgMTA6Mzg6MjMgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhdm9pZCB1c2luZyB3cm9uZyBjbG9jay1yYXRlCgkgIENoZWNrIGZvciBhIHZhbGlkIGNsb2NrLXJhdGUgYmVmb3JlIGF0dGVtcHRpbmcgdG8gZXN0aW1hdGUgdGhlIG5wdAoJICBzdG9wIHRpbWUuCgoyMDA5LTExLTI1IDEwOjM3OjMwIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IHR5cG8gaW4gY29tbWVudHMKCjIwMDktMTEtMjUgMTY6MDU6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXJ0ZXN0OiBhZGQgb25lIG1vcmUgdGVzdCBhbmQgZmlsZSBhIGJ1ZyBub3cKCSAgQ0hhbmdlIHRoZSBiYWNrd2FyZHMgdGVzdCB0byBhbHdheXMgc2VuZCBmaXJzdCBidWZmZXIgZmlyc3QgdG8gaGF2ZSBhIGRlZmluZQoJICBiYXNldGltZS4gQWRkIGFub3RoZXIgdGVzdCB0aGF0IHNlbmRzIGJ1ZmZlcnMgYmFja3dhcmRzIHRvIGFzc2VydCB0aGF0IG9ubHkKCSAgZmlyc3Qgc2VudCBidWZmZXIgaXMga2VlcCBhbmQgdXNlZCBhcyBiYXNldGltZS4gRGlzYWJsZWQgdGhvc2UgdGVzdHMgc3RpbGwsCgkgIGFzIGl0cyBub3QgcGFzc2luZy9mYWlsaW5nIGNvbnNpdGVudGx5IGFuZCBmaWxlIGEgYnVnIGZvciBqaXR0ZXJidWZmZXIuCgoyMDA5LTExLTI1IDEwOjE3OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVydGVzdDogaW1wcm92ZSB0aGUgdGVzdAoJICB0aGUgdGVzdHMgYXJlIGEgYml0IG1vcmUgc29saWQgbm93IGJ1dCBzdGlsbCBub3QgcHJvZHVjZSByZWxpYWJsZSByZXN1bHRzLgoJICBXb25kZXIgaWYgdGhleSBhcmUgc3RpbGwgZmxhd2t5IG9yIGlmIGl0cyBhIGJ1ZyBpbiBqaXR0ZXJidWZmZXIuCgoyMDA5LTExLTI0IDExOjEzOjA2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcmV0dXJuIGVycm9yIG1lc3NhZ2Ugb24gd2luZG93cyB0b28uCgoyMDA5LTExLTI0IDEwOjU4OjQ5IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZmlyc3QgcGhhc2Ugb2YgZml4aW5nIHVwIGVycm9yIHJlcG9ydGluZyBmb3Igd2luZG93cy4KCjIwMDktMTAtMzAgMDM6MTM6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhbHNvIHNldCB0aGUgc3VnZ2VzdGVkIGJ1ZiBzaXplIGZvciBhdWRpbwoJICBXZSB3ZXJlIG9ubHkgc2V0dGluZyB0aGUgc3VnZ2VzdGVkIGJ1ZiBzaXplIGZvciB2aWRlbywKCSAgd2UgY2FuIHNldCBpdCBmb3IgYXVkaW8gYXMgd2VsbC4KCSAgVGhpcyBhbmQgMTk1ZTE0NTI5ZDgwZWYzMThjZTNhNzc4YzE5OTVlZmIxMWYyNjZjZAoJICBmaXggYW4gaXNzdWUgdGhhdCBwcmV2ZW50ZWQgc2Vla2luZyBvbiBsYXJnZSBhdmkgZmlsZXMKCSAgb24gV01QIChub24tcmVjZW50IHZlcnNpb25zKS4KCjIwMDktMTEtMDQgMTY6MTA6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiBmaXggaW5keCBkdXJhdGlvbiBmb3IgUENNIGF1ZGlvCgkgIEdzdEJ1ZmZlcnMgZm9yIFBDTSBhdWRpbyB1c3VhbGx5IGNvbnRhaW5zIG1vcmUgdGhhbgoJICAxIHNhbXBsZSwgd2UgbmVlZCB0byBnZXQgdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzIHRvIHNldAoJICB0aGUgaW5keCBkdXJhdGlvbi4KCjIwMDktMTEtMDQgMTY6MDQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBdWRpbyBidWZmZXJzIHNob3VsZCBiZSBwaWNrZWQgZWFybGllcgoJICBBZGRzIGEgMC41cyBhZHZhbnRhZ2UgZm9yIGF1ZGlvIGJ1ZmZlcnMgdG8gYmVpbmcKCSAgcGlja2VkIGVhcmxpZXIgZm9yIG11eGluZy4KCjIwMDktMTEtMjQgMTY6NDA6MTkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHB1c2ggbW9kZSBieSBtYWtpbmcgc3VyZSBzdGJsIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBpbiBuZXh0X2VudHJ5X3NpemUgKCkKCjIwMDktMTEtMjQgMTY6MzU6MjAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9yZGVyIG9mIGFyZ3VtZW50cyBpbiBsb2cgbWVzc2FnZQoKMjAwOS0xMS0yNCAxNTo1MToyMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBmaXggc3BlbGxpbmcgaW4gY29tbWVudAoKMjAwOS0xMS0yMyAxNzo1ODoxNyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBidWlsZCBzeXN0ZW06IEZpeCB3cm9uZ2x5IGNvbW1pdHRlZCBjaGFuZ2UgdG8gY29tbW9uLwoKMjAwOS0xMS0xMCAxMDoyNjowNyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFYXNlIGRlYnVnZ2luZyBieSByZW1vdmluZyBhIGdvdG8gZm9yIGFuIGVycm9yIG1lc3NhZ2UKCjIwMDktMTEtMTQgMTU6NTI6MDkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBwZXIgc2FtcGxlIHJhdGhlciB0aGFuIGFsbCBhdCBvbmNlIGJ1dCBidWlsZCBjb21wbGV0ZSBpbmRleCB3aGVuIHNlZWtpbmcKCjIwMDktMTEtMDQgMTc6MzE6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2F2ZSBhdG9tIGRhdGEgZm9yIGxhdGVyIHVzZSBzbyBpdCBkb2Vzbid0IGdldCBmcmVlZCBhZnRlciBpbml0aWFsIHBhcnNpbmcKCjIwMDktMTEtMDYgMTE6MDA6MDQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUGFyc2UgZnJvbSB0aGUgcHJldmlvdXNseSBwYXJzZWQgc2FtcGxlIHVwIHRvIHNhbXBsZSBuCgoyMDA5LTExLTA0IDE3OjA0OjIyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1ha2UgcXRkZW11eF9wYXJzZV9zYW1wbGVzICgpIHBhcnNlIHVwIHRvIG4gc2FtcGxlcwoKMjAwOS0xMC0yOCAxNzo0OTowMiArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTZXBhcmF0ZSBvZmYgc3RibCBzdWItYXRvbSBpbml0aWFsaXNhdGlvbgoKMjAwOS0xMC0yNiAyMjo0MjozNiArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIHZhcmlhYmxlcyBpbnRvIGNvbnRleHQgaW4gcHJlcGFyYXRpb24gZm9yIHJlZmFjdG9yaXNhdGlvbgoKMjAwOS0xMC0yNiAyMDozNjowOCArMDAwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggYnVnIHdoZXJlIHN0cHMgaXMgbmV2ZXIgcGFyc2VkIGR1ZSB0byBsb2dpYyBlcnJvcgoKMjAwOS0xMS0wNCAxNzozMToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQb3J0IGN0dHMgZnJvbSBHbm9kZSAqIHRvIEdzdEJ5dGVSZWFkZXIKCjIwMDktMTAtMjMgMTM6MDY6NDQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBTd2l0Y2ggZnJvbSBRdEF0b21QYXJzZXIgdG8gR3N0Qnl0ZVJlYWRlcgoKMjAwOS0xMS0yMyAxMjo1Mzo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHR5cG8gYW5kIGdyYW1tYXIKCjIwMDktMTEtMjIgMTk6MzA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIENsZWFuIHVwIExERkxBR1MsIExJQlMsIENGTEFHUwoJICBGaXggb3JkZXIsIGZpeCB2YXJpYWJsZXMgdGhhdCBkb24ndCBleGlzdCwgbGlrZSBHU1RfTElCU19MSUJTLAoJICB1c2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbSwgYW5kIG1vdmUgX0xJQlMgZnJvbSBMREZMQUdTIHRvIExJQkFERC4KCSAgU3BvdHRlZCBieSBIYXZhcmQgR3JhZmYuCgoyMDA5LTExLTIwIDEwOjMxOjQ3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVzZSBfc3RkaW50LmggZnJvbSBjb25maWd1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0yMCAxMDozMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCB0eXBvIGluIG1vZGUgZW51bSBkZXNjcmlwdGlvbgoKMjAwOS0xMS0yMCAxMToyNTo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IG1vcmUgbGlua3MgYW5kIGJldHRlciBzaG9ydCBkZXNjcmlwdGlvbgoJICBGaXggc3BlbGxpbmcgb2YgR3N0UnRwU3NyY0RlbXV4IHRvIGdldCBpdCBsaW5rZWQuIEFkZCBtb3JlIGxpbmtzLiBDaGFuZ2UKCSAgdGhlIHNob3J0IGRlc2NyaXB0aW9uIHRvIGJlIG1vcmUgbWVhbmluZ2Z1bC4KCjIwMDktMTEtMjAgMDk6NTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRml4IHVuaXQgdGVzdCBmb3IgcmVjZW50IHBvc2l0aW9uIHJlcG9ydGluZyBjaGFuZ2VzCgoyMDA5LTExLTE5IDIwOjMzOjA3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVcGRhdGUgZHRtZmRldGVjdCB0byBtYWtlIGl0IE1TVkMgZnJpZW5kbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjQ2NQoKMjAwOS0xMS0xOSAxNjowOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBBZnRlciBwdXNoaW5nIGEgZnJhbWUsIHVwZGF0ZSBsYXN0X3N0b3AgdG8gdGhlIGVuZCBvZiB0aGUgZnJhbWUKCSAgVGhpcyBpbXByb3ZlcyBwb3NpdGlvbiByZXBvcnRpbmcsIGVzcGVjaWFsbHkgYmVjYXVzZSBvZiB0aGUgZmFjdCB0aGF0CgkgIFdhdlBhY2sgZnJhbWVzIGFyZSB1c3VhbGx5IDAuNS0xLjAgc2Vjb25kcyBsb25nLgoKMjAwOS0xMS0xOSAxNjowODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBBbGxvdyBwdWxsaW5nIHRoZSBsYXN0IFdhdlBhY2sgZnJhbWUgb2YgYSBmaWxlCgkgIEJlY2F1c2Ugb2YgYSA+PSBpbnN0ZWFkIG9mIGEgPiwgdGhhdCBsYXN0IGZyYW1lIG9mIGEgV2F2UGFjayBmaWxlCgkgIHdvdWxkIG5ldmVyIGJlIHBhcnNlZCBpbiBwdWxsIG1vZGUuCgoyMDA5LTExLTE5IDEwOjMwOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDcwMmZlMSB0byA1M2EyNDg1CgoyMDA5LTEwLTI5IDA4OjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWRkIG1vcmUgZmllbGRzIHRvIFNWUTMgY2FwcwoJICBxdGRlbXV4IG9ubHkgYWRkZWQgdGhlIHdob2xlIHN0c2QgYXRvbSBhcyAnY29kZWNfZGF0YScKCSAgaW4gaXRzIG91dHB1dCBjYXBzIGZvciBTVlEzLiBUaGlzIHBhdGNoIG1ha2VzIGl0IGFkZAoJICB0aGUgU0VRSCAoaW5zaWRlIGEgU01JIGF0b20pIGFuZCBhIGdhbW1hIGZpZWxkICh0YWtlbgoJICBmcm9tIHRoZSBnYW1hIGF0b20pIGlmIGF2YWlsYWJsZS4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xOCAxNzo1NTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU0OjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1NDowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogUmFpc2UgcmFuayBvZiBlbmNvZGVycyB0byBQUklNQVJZCgoyMDA5LTExLTEyIDE5OjExOjE4ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIHVzZXItaWQgYW5kIHVzZXItcHcgcHJvcGVydGllcwoJICBTbyB0aGF0IG9uZSBkb2Vzbid0IG5lZWQgdG8gbW9kaWZ5IHRoZSBVUkwgdG8gaGF2ZSBhY2Nlc3MKCSAgdG8gYXV0aGVudGljYXRlZCBSVFNQIHN0cmVhbXMuCgkgIGZpeGVzICM2MDE3MjgKCjIwMDktMTEtMTggMTI6MjI6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIGFjcXVpcmVkIGZsYWcgd2hlbiBjaGVja2luZyB2YWxpZCBzdGF0ZQoJICBVc2UgdGhlIGFjcXVpcmVkIGZpZWxkIG9mIHRoZSByaW5nYnVmZmVyIGluIGdldF90aW1lIHRvIGtub3cgd2hlbiB3ZSBhcmUgaW4gYW4KCSAgaW52YWxpZCBzdGF0ZS4gV2UgZG9uJ3QgY2xlYXIgdGhlIHJhdGUgZmxhZyB3aGVuIHJlbGVhc2luZyB0aGUgcmluZ2J1ZmZlciBzbwoJICB0aGlzIHZhbHVlcyBpcyBub3QgdXNhYmxlLgoJICBBdm9pZHMgc29tZSBlcnJvciBtZXNzYWdlcyBiZWluZyBwb3N0ZWQgYmVjYXVzZSB0aGUgcHVsc2VhdWRpbyBjb25uZWN0aW9uIGlzCgkgIGRvd24uCgoyMDA5LTExLTE4IDEwOjE3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gMC4xMC4yNS4xIGFzIHdlbGwKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDktMTEtMTggMTI6NTM6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYm9ndXMgbWVtb3J5IGNodW5rIHNpemUgY2hlY2sKCjIwMDktMTEtMTggMTI6MDE6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW1wbGVtZW50IHNvbWUgbW9yZSBjYWxsYmFja3MKCSAgSW1wbGVtZW50IHNvbWUgbW9yZSBjYWxsYmFja3MgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KCjIwMDktMTEtMTEgMTU6NTA6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXRpbmcgc2lnbmFscwoJICBSZWxlYXNlIHRoZSBqYnVmIGxvY2sgYmVmb3JlIGVtaXRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbCB0byBhdm9pZAoJICBkZWFkbG9ja3MuIFdlIGFsc28gbmVlZCB0byBjYXRjaCB0aGUgc2h1dGRvd24gY2FzZSB3aGVuIGxvY2tpbmcgYWdhaW4uCgkgIEZpeGVzICM1OTMzNTQKCjIwMDktMTEtMTEgMTE6NTk6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkgIHJ0cDogYWRkIEJyb2FkY29tVm9pY2UgZGVwYXlsb2FkZXIKCjIwMDktMTEtMTEgMTE6Mzg6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkgIHJ0cGJ2cGF5OiBhZGQgcmZjIHJlZmVyZW5jZQoKMjAwOS0xMS0xMSAxMTozNzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJICBydHA6IGFkZCBCcm9hZGNvbVZvaWNlIHBheWxvYWRlcgoKMjAwOS0xMS0wOSAxMjoxNzozNCArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcHJvcGVybHkgZmluaXNoIHRoZSBFQ01BIGFycmF5CgkgIFRoZSBFQ01BIGFycmF5IHdpdGggdGhlIGZpbGUgaW5kZXggd2FzIG1pc3NpbmcgYSBtYW5kYXRvcnkgZW5kIG1hcmtlci4KCSAgRml4ZXMgYnVnICM2MDEyNDIuCgoyMDA5LTExLTE4IDAyOjE1OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgVXNlIG5ldyBzdGlsbC1mcmFtZSBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgoyMDA5LTExLTE4IDAyOjE0OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgZ3N0LXBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEKCjIwMDktMTEtMTcgMTc6NTk6MTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpZGVudGlmeSBJTUEgYWRwY20gaW4gcXQgcHJvcGVybHkuCgoyMDA5LTExLTE4IDAxOjI3OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE3LjEKCjIwMDktMTEtMTcgMDE6NTM6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIHJlbGVhc2UgMC4xMC4xNyB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwOS0xMS0xNyAwMToyNTozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWxlYXNlIDAuMTAuMTcKCjIwMDktMTEtMTcgMDA6MTg6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMS0xMyAwMjowNzoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4zIHByZS1yZWxlYXNlCgoyMDA5LTExLTEwIDExOjUyOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogTWFrZSBzdXJlIHRvIGluaXRpYWxpemUgdmFyaWFibGVzIGJlZm9yZSB1c2luZyB0aGVtCgoyMDA5LTExLTA5IDIwOjA2OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMS0wOSAxNToyMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZyZWUgdGVtcG9yYXJ5IGJ1ZmZlciB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIE5VTEwKCSAgRnJlZSB0ZW1wb3JhcnkgYWxsb2NhdGlvbnMgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgbm90CgkgIG9ubHkgd2hlbiB0aGUgb2JqZWN0IGlzIGZpbmFsaXNlZC4KCjIwMDktMTEtMDkgMTE6NDA6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IG9ubHkgYWxsb2NhdGUgYXMgbXVjaCB0ZW1wb3JhcnkgbWVtb3J5IGFzIG5lZWRlZCBmb3IgaW5kaXJlY3QgZGVjb2RpbmcKCSAgV2hlbiB3ZSBjYW4ndCBkZWNvZGUgZGlyZWN0bHkgaW50byB0aGUgb3V0cHV0IGJ1ZmZlciwgbWFrZSBvdXIgdGVtcCBidWZmZXJzCgkgIG9ubHkgYXMgYmlnIGFzIG5lZWRlZCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgZm9yIHRoZSB3b3JzdCBjYXNlIHNjZW5hcmlvICh3ZWxsLAoJICB3ZSBzdGlsbCBhbGxvYyBtb3JlIHRoYW4gc3RyaWN0bHkgbmVlZGVkIGZvciBzb21lIGNhc2VzLCBidXQgc2lnbmlmaWNhbnRseQoJICBsZXNzIHRoYW4gYmVmb3JlKS4KCjIwMDktMTEtMDUgMjM6NDY6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHByaW50ZiBmb3JtYXQgZml4CgoyMDA5LTExLTA1IDIzOjQ0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjM6NDA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBwcmludGYgZm9ybWF0IGZpeAoKMjAwOS0xMS0wNCAyMjoxOTo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IEFkZCBEVE1GIHRvbmUgZGV0ZWN0b3IKCSAgSXQgbG9va3MgYXQgcmF3IGF1ZGlvIGRhdGEgYW5kIGVtaXRzIG1lc3NhZ2VzIHdoZW4gRFRNRiBpcyBkZXRlY3RlZC4KCSAgVGhlIGR0bWYgZGV0ZWN0b3IgaXMgdGhlIHNhbWUgR29lcnR6ZWwgaW1wbGVtZW50YXRpb24gdXNlZCBpbiBGcmVlU3dpdGNoCgkgIGFuZCBBc3Rlcmlzay4gSXQgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCgoyMDA5LTExLTA1IDEyOjEzOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG8gbm90IHdyaXRlIGVtcHR5IElORk8gbGlzdAoJICBhdm9pZCB3cml0aW5nIGFuIGVtcHR5IElORk8gbGlzdCBjaHVuaywgYm90aCBiZWNhdXNlCgkgIGl0IGlzIHVzZWxlc3MgYW5kIGJlY2F1c2UgdmxjIHJlZnVzZXMgdG8gcGxheSB0aGUKCSAgcmVzdWx0aW5nIGZpbGUuCgoyMDA5LTExLTA1IDEwOjU0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogTm90aWZ5IGFib3V0IGJhbmQgcHJvcGVydHkgY2hhbmdlcyBjYXVzZWQgYnkgY2hhbmdpbmcgbnVtYmVyIG9mIGJhbmRzCgoyMDA5LTExLTA1IDEwOjQ1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIGVxdWFsaXplcjogTWFrZSBjaGFuZ2VzIHRvIGJhbmQgcHJvcGVydGllcyBhbmQgdGhlIG51bWJlciBvZiBiYW5kcyB0aHJlYWRzYWZlCgoyMDA5LTExLTA1IDEwOjMwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogRml4IHN0dXBpZCBvZmYgYnkgdHdvIGJ1ZwoKMjAwOS0xMS0wNSAwODoxODowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEFkZCBiYW5kIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgYmFuZCBmaWx0ZXIgdHlwZQoJICBUaGlzIGFsbG93cyBwZXIgYmFuZCBjb25maWd1cmF0aW9uIG9mIGEgcGVhaywgbG93IHNoZWxmIG9yCgkgIGhpZ2ggc2hlbGYgZmlsdGVyLCB3aGljaCBjYW4gYmUgdmVyeSB1c2VmdWwgaWYgdGhlIGJhbmQgZnJlcXVlbmNpZXMKCSAgYW5kIHdpZHRocyBhcmUgbWFudWFsbHkgY29uZmlndXJlZC4KCjIwMDktMTEtMDUgMDg6MTc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBGaXggY29kZSBzdHlsZQoKMjAwOS0xMS0wNSAwODowMzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBTb21lIGNsZWFudXAKCjIwMDktMTEtMDQgMjI6MjE6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogUmVqZWN0IGVtcHR5IGNhcHMKCjIwMDktMTEtMDQgMjI6MjE6MjIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogVXNlIGxvZyBsZXZlbCBmb3IgcmVwZWF0ZWQgZGVidWcgbWVzc2FnZXMKCjIwMDktMTEtMDQgMjA6MDU6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogQWxsb3cgZm9yIGFueSBzYW1wbGVyYXRlCgoyMDA5LTEwLTA3IDA5OjMxOjE5IC0wNDAwICBHYWJyaWVsIE1pbGxhaXJlIDxnYWJyaWVsLm1pbGxhaXJlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBjZWx0cGF5L2RlcGF5IDogY2hhbmdlIEdTVF9ERUJVR19PQkpFQ1QgdG8gR1NUX0xPR19PQkpFQ1QgaW4gcGF5X2hhbmRsZV9idWZmZXIgYW5kIGRlcGF5X3Byb2Nlc3MKCjIwMDktMTAtMDIgMTc6MDQ6NDMgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXkvZGVwYXk6IE5lZ290aWF0ZSBwYXJhbWV0ZXJzIHRocm91Z2ggY2FwcwoJICBjZWx0ZGVwYXkgOiBhZGRlZCBkZWZhdWx0IGZyYW1lc2l6ZSg0ODApIGNoYW5uZWxzKDEpIGFuZCBjbG9ja3JhdGUoMzIwMDApCgkgIGRlcGF5X3NldGNhcHMgOiBub3cgZ2V0cyBjaGFubmVscyBhbmQgZnJhbWVzaXplIGZyb20gc3RyaW5nIHdpdGggZGVmYXVsdCB2YWx1ZQoJICBkZXBheV9wcm9jZXNzIDogbm93IGFkZHMgdGltZXN0YW1wIHRvIG91dGJ1ZgoJICBBZGRlZCBmcmFtZV9zaXplIHRvIEdzdFJ0cENlbHREZXBheQoJICBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHIHRvIEdTVF9ERUJVR19PQkpFQ1Qgb3IgR1NUX0xPR19PQkpFQ1QKCSAgY2VsdHBheSA6IGdldGNhcHMgOiBnZXRzIGNoYW5uZWwgYW5kIGZyYW1lc2l6ZSBhbmQgc2V0cyBjYXBzCgkgIEFkZGVkIGZyYW1lLXNpemUgdG8gc3RhdGljIGNhcHMgZm9yIGF1ZGlvL3gtY2VsdAoKMjAwOS0xMS0wNCAxNTo1ODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICBkZWludGVybGFjZTogUHVsbCBpbiBDRkxBR1MgYW5kIExJQlMgZmxhZ3MgZnJvbSAtYmFzZSBiZWZvcmUgY29yZSBiZWZvcmUgc3lzdGVtLgoKMjAwOS0xMC0xNSAxNjozMzoyNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBEb24ndCBjcmVhdGUgYmFja3VwIC5wbyBmaWxlcwoJICBBcyB3ZWxsIGFzIHByZXZlbnRpbmcgY3JlYXRpb24gb2YgdXNlbGVzcyBiYWNrdXAgZmlsZXMsIGl0IHdvcmtzCgkgIGFyb3VuZCBhIGJ1ZyBpbiBnZXR0ZXh0IDAuMTcgb24gT1MvWAoKMjAwOS0xMS0wNCAxNjo0Nzo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBpaGF0ZXN0ZXZlLmxvY2FsPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGluaXQgdmFyaWFibGVzIHRvIG1ha2UgY29tcGlsZXIgb24gb3N4IGJ1aWxkIGJvdCBoYXBweQoKMjAwOS0xMS0wMyAxNjowNDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogaW5pdCB2YXJpYWJsZXMgdG8gbWFrZSBjb21waWxlciBvbiBvc3ggYnVpbGQgYm90IGhhcHB5CgoyMDA5LTExLTAzIDE3OjM1OjE1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogZG9uJ3QgYWxsb2NhdGUgYmlnIGFycmF5cyBvbiB0aGUgc3RhY2sKCSAgQWRkIHRoZSBhcnJheXMgdG8gdGhlIGluc3RhbmNlIGRhdGEgYW5kIGFsbG9jYXRlIG9uIGZpcnN0IHVzZS4KCjIwMDktMTEtMDEgMTU6NTc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgcG9pbnRsZXNzIGNhbGwgdG8gZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkKCjIwMDktMTEtMDEgMDA6Mjk6NTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZml4IGRlY2F5IHRvIGJlIHNtb290aAoJICBUaGUgbGVuZ3RoIG5vdCBoYXZpbmcgYW55IGZyYWN0aW9uYWwgcGFydCBhcyBpdCB3YXMgcHJvbW90ZWQgdG8gZ2RvdWJsZSBhZnRlcgoJICBkaXZpZGluZyB0d28gZ3VpbnQ2NC4KCjIwMDktMTEtMDEgMDA6Mjk6MjQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgbGV2ZWw6IGNhbGN1bGF0ZSB0aGUgbWVzc2FnZS1pbnRlcnZhbGwgd2hlbiBpdCBjaGFuZ2VzCgoyMDA5LTExLTAxIDAwOjE0OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGNsb2NrdGltZSBpcyBhIGd1aW50NjQsIHVzZSByaWdodCBtYWNybyB0byBpbml0IGZpZWxkcwoKMjAwOS0xMS0wMSAwMDoxMDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiB1c2UgbW9yZSBnLXN0eWxlIHR5cGVzCgoyMDA5LTEwLTMwIDA5OjI3OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE9ubHkgc2V0IHRoZSB2b2x1bWUgb24gc3RyZWFtIGNvbm5lY3Rpb24gaWYgcHVsc2UgPj0gMC45LjIwIGlzIGF2YWlsYWJsZQoJICBJbiBvbGRlciB2ZXJzaW9ucyB0aGUgdm9sdW1lIHNldCBkdXJpbmcgc3RyZWFtIGNvbm5lY3Rpb24gaGFkCgkgIG5vIGRlZmluZWQgc2VtYXRpYyBhbmQgdXN1YWxseSBpdCB3YXMgYSByZWxhdGl2ZSB2b2x1bWUuIFdoYXQKCSAgd2FzIG5lZWRlZCBmb3Igb3VyIHVzZSBjYXNlIGlzIGFuIGFic29sdXRlIHZvbHVtZSB0aG91Z2gsIG90aGVyd2lzZQoJICB0aGUgdm9sdW1lIHdpbGwgYmUgYWx3YXlzIGRlY3JlYXNlZCBvbiBzdHJlYW0gY29ubmVjdGlvbiBpZiBpdCdzCgkgIGxlc3MgdGhhbiAxMDAlLgoJICBTaW5jZSBwdWxzZSAwLjkuMjAgdGhhdCB2b2x1bWUgaXMgYWx3YXlzIGFuIGFic29sdXRlIHZvbHVtZSBpZgoJICBmbGF0IHZvbHVtZXMgYXJlIHVzZWQgYW5kIHJlbGF0aXZlIG90aGVyd2lzZSwgd2hpY2ggaXMgdGhlIHNhbWUKCSAgYXMgZm9yIHBhX2NvbnRleHRfc2V0X3NpbmtfaW5wdXRfdm9sdW1lKCkuCgkgIFJlbGV2YW50IHB1bHNlIGNoYW5nZXNldHM6CgkgIGh0dHA6Ly9naXQuMHBvaW50ZXIuZGUvP3A9cHVsc2VhdWRpby5naXQ7YT1jb21taXQ7aD1mMjdhNTA2OTFjOGZlNDViYWM3ZGQ2YjIxZmFjOTFhMzU5ZGVmM2ExCgkgIGh0dHA6Ly9naXQuMHBvaW50ZXIuZGUvP3A9cHVsc2VhdWRpby5naXQ7YT1jb21taXQ7aD0yNTAxNjg3NTc5ZTM1OWQ1MDMyYTRkMTY1YjJmZmM4ZjViMWI4YmE2CgoyMDA5LTEwLTI3IDE4OjA3OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIHNlZ21lbnRfZnVsbCB3aGVuIHdlIGNhbgoJICBVc2Ugc2VnbWVudF9mdWxsIHNvIHRoYXQgd2UgY2FuIHBhc3MgdGhlIGFwcGxpZWQgcmF0ZSB0byB0aGUgc2VnbWVudCB2YWx1ZXMuIFdlCgkgIHdpbGwgY2hhbmdlIHRoZSBhcHBsaWVkIHJhdGUgd2hlbiB3ZSBpbXBsZW1lbnQgc2tpcCBtb2RlLgoKMjAwOS0xMC0xOCAwMDoxNjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBGaXggYnVmZmVyIG9mZnNldCBieSBtb3ZpbmcgbGVuZ3RoIGluY3JlbWVudGF0aW9uCgoyMDA5LTEwLTIzIDE4OjMxOjE0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBDcmVhdGUgdGhlIHZpZGVvIE5TVmlldyBpbiBSRUFEWS0+UEFVU0VEIHJhdGhlciB0aGFuIE5VTEwtPlJFQURZCgoyMDA5LTEwLTIzIDE4OjI4OjIyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW86IGV4cGxpY2l0bHkgbGluayB0byBHU1RfTElCUwoKMjAwOS0xMC0yMyAxODowOTo0MyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIGRlcGVuZGVuY2llcyBvZiBnc3RyaWZmIHRvIHRoaW5ncyB0aGF0IGxpbmsgdG8gZ3N0cmlmZiwgbmVlZGVkIG9uIFdpbjMyLgoKMjAwOS0xMC0yMyAxNzoyNToxNyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSAgcnRwIGV4YW1wbGVzOiByZW1vdmUgZXhlY3V0YWJsZSBiaXRzIGZyb20gQyBmaWxlcy4KCjIwMDktMTAtMjMgMTE6MjE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGFsbCBqaXR0ZXJidWZmZXIgdGVzdHMgZm9yIG5vdwoJICBTaW5jZSBldmVuIHRoZSBvbmUgZW5hYmxlZCBzZWVtcyB0byBmYWlsLgoKMjAwOS0xMC0yMiAxMzozOTo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBhbHNvIGluY2x1ZGUgdGhlIG5ldyB0ZXN0IGZvciBwcmV2IGNvbW1pdAoKMjAwOS0xMC0yMiAxMzoxOTowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIGEgaml0dGVyYnVmZmVyIHRlc3QKCSAgVGVzdHMgcHVzaGluZyBhIGZldyBidWZmZXJzIGluIHZhcmlvdXMgb3JkZXIgYW5kIGFzc2VydGluZyB0aGUgb3JkZXIgc2VudCBieSB0aGUKCSAgaml0dGVyYnVmZmVyLiBDb250YWlucyB0d28gZGlzYWJsZWQgdGVzdHMgdGhhdCBuZWVkIG1vcmUgd29yay4KCjIwMDktMTAtMjIgMTI6MzA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRGlyYWMgIm11eGluZyIgdW5pdHMgZW5kIG9uIEVPUyB0b28KCSAgQSBEaXJhYyBtdXhpbmcgdW5pdCBhcmUgYWxsIG5vbi1waWN0dXJlLCBub24tZW5kLW9mLXNlcXVlbmNlCgkgIHBhY2tldHMgdXAgdG8gYW5kIGluY2x1ZGluZyB0aGUgZmlyc3QgcGljdHVyZSBvciBlb3MgcGFja2V0LgoJICBTZWUgaHR0cDovL3d3dy5kaXJhY3ZpZGVvLm9yZy93aWtpL2luZGV4LnBocC9Db250YWluZXJGb3JtYXRNYXBwaW5nR3VpZGVsaW5lcwoKMjAwOS0xMC0yMiAwMjowOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCSAgdG90YWxfaWR4IGlzIGFsd2F5cyBldmFsdWF0ZWQuCgoyMDA5LTEwLTE5IDIxOjU5OjQ2ICswMzAwICBQcmlpdCBMYWVzIDxwbGFlc0BwbGFlcy5vcmc+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBjYWNhc2luazogbWlub3IgY2xlYW51cHMgZm9yIGhlYWRlci4KCSAgVXNlIEdfQkVHSU5fREVDTFMgbWFjcm9zLCByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBhbmQgZml4IHR5cG8uCgkgIFNlZSAjNTk5MDE4LgoKMjAwOS0xMC0xOSAyMTo1OToyMyArMDMwMCAgUHJpaXQgTGFlcyA8cGxhZXNAcGxhZXMub3JnPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgY2FjYXNpbms6IGV4aXQgcHJvcGVybHkgd2hlbiBpbnZhbGlkIGRyaXZlciBoYXMgYmVlbiBzZWxlY3RlZC4KCSAgU2VlICM1OTkwMTguCgoyMDA5LTEwLTIwIDE4OjIzOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3RvcCBzY2FubmluZyBhdCB0aGUgbGFzdCBlbnRyeS4uLiBhbmQgbm90IHRoZSBvbmUgYmVmb3JlIDopCgkgIFRoaXMgZW5zdXJlcyB3ZSBhY3R1YWxseSBwdXNoIG91dCBldmVyeXRoaW5nCgoyMDA5LTEwLTIwIDE3OjIwOjU1ICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgcXRkZW11eDogdW5wYWNrIG1vcmUgaW5mb3JtYXRpb24gaW50byBpbWFnZS94LWoyYyBjYXBzCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDogQWRkIG5ldyBmb3VyY2NzIGZvciB1c2UgYnkgdGhlIG1qMgoJICB1bnBhY2tlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKHF0ZGVtdXhfcGFyc2VfdHJhayk6IFVucGFjayBKUEVHMjAwMCBjb21wb25lbnQKCSAgbWFwcGluZyBhbmQgY2hhbm5lbCBkZWZpbml0aW9ucyBmcm9tIHRoZSBqcDJoIGhlYWRlci4gV2lsbCBhZGQKCSAgY29tcG9uZW50LW1hcCBhbmQgY2hhbm5lbC1kZWZpbml0aW9ucyBlbGVtZW50cyB0byB0aGUgY2FwcyBpZiB0aGUKCSAgY29tcG9uZW50IG1hcHMgb3IgY2hhbm5lbCBkZWZpbml0aW9ucyBhcmUgbm9uc3RhbmRhcmQsIHdoZXJlIHN0YW5kYXJkCgkgIG9yZGVyIG1lYW5zIFJHQiwgNDQ0IHBhY2tlZCBZVVYsIG9yIGdyZXlzY2FsZSwgd2l0aCBubyBhbHBoYSBjaGFubmVsLgoJICBGaXhlcyAjNTk4OTE1LgoKMjAwOS0xMC0yMCAxNzozMzo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBpbmNsdWRlIHN0ZGlvLmggZm9yIHNzY2FuZgoKMjAwOS0xMC0xOSAxNToyMTo1NyArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggdGhlIFN0cmVhbVZvbHVtZSBpbnRlcmZhY2Ugbm90IGJlaW5nIGFkdmVydGlzZWQKCSAgZ3N0X3B1bHNlc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKCkgd2FzIG1pc3NpbmcgYSBjaGVjayBmb3IgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTg5MzMKCjIwMDktMTAtMTYgMjE6MTQ6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogY29kZSBjbGVhbnVwCgkgIFVzZSBnZG91YmxlIGluc3RlYWQgb2YgZG91YmxlLiBDYWxjdWxhdGUgZmFsbG9mZl90aW1lIG9uY2UgaW5zdGVhZCBvZiB0d2ljZS4KCjIwMDktMTAtMTggMTU6NTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBNRU1EVU1QIHRoZSBqdW5rIGJsb2JzCgkgIEl0IHdpbGwgb25seSBhY3R1YWxseSBwdWxsIHRoZSBqdW5rIGJsb2JzIGZyb20gdXBzdHJlYW0gaWYgdGhlIG1lbWR1bXAKCSAgbGV2ZWwgaXMgYWN0aXZhdGVkCgoyMDA5LTEwLTE4IDE1OjUxOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU29tZSBhdmkgZmlsZXMgaGF2ZSBJTkZPIGxpc3RzIGluIHRoZSBoZWFkZXJzLgoKMjAwOS0xMC0xOCAxNjowMjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IERvbid0IHNlZWsgb24gZW1wdHkgc3RyZWFtcwoKMjAwOS0xMC0xOCAxNTo1MDozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEVuc3VyZSBfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4IG9ubHkgdXNlcyB2YWxpZCBzdHJlYW1zCgoyMDA5LTEwLTE4IDE1OjQ5OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogT25seSBjYWxsIGNvbnZlcnQgZnVuY3Rpb24gaWYgd2UgaGF2ZSBzdHJmLmF1ZHMKCjIwMDktMTAtMTggMTU6NDg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IFVzZSBmaXJzdCBpbmRleGVkIHN0cmVhbSBmb3Igc2Vla2luZy4KCSAgSW4gdGhlIGZ1dHVyZSwgbWFpbl9zdHJlYW0gY2FuIGJlIGFkanVzdGVkIHRvIGNvbnRhaW4gdGhlIG9wdGltYWwgc3RyZWFtCgkgIGFzIG1lbnRpb25uZWQgaW4gdGhlIEZJWE1FIGxpbmUgMzQ0MAoKMjAwOS0xMC0xOCAxNTo0Njo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogT25seSBleHBvc2Ugc3RyZWFtcyB0aGF0IGFjdHVhbGx5IGhhdmUgc29tZXRoaW5nIGluIGl0LgoJICBUaGlzIGd1YXJhbnRlZXMgdGhhdCBpbiBwdWxsLW1vZGUsIGFsbCBzdHJlYW1zIGhhdmUgYSB2YWxpZCBpbmRleCB0bwoJICB3b3JrIHdpdGguCgoyMDA5LTEwLTE4IDE1OjQwOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUHJvcGVybHkgbWFyayBwcmVzZW5jZSBvZiBpbmRleC4KCSAgSW5zdGVhZCBvZiBibGluZGx5IHNheWluZyB3ZSBoYXZlIGFuIGluZGV4LCBvbmx5IGRvIHNvIGlmIHdlIGhhdmUgYQoJICBub24tZW1wdHkgaW5kZXguCgoyMDA5LTEwLTE3IDAyOjE4OjUzICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBuZXZlciBhcHBseSB2b2x1bWUgbW9yZSB0aGFuIG9uY2UKCSAgR2VuZXJhbGx5IGRlY2lzaW9ucyBvbiB0aGUgdm9sdW1lIG9mIHRoZSBzdHJlYW0gc2hvdWxkIGJlIGRvbmUgaW5zaWRlIG9mCgkgIFBBLCBub3QgaW5zaWRlIG9mIEdzdC4gT25seSBQQSBrbm93cyBob3cgdm9sdW1lcyB0cmFuc2xhdGUgYmV0d2VlbgoJICBkZXZpY2VzIGFuZCBzIG9uLgoJICBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCBhbGwgdm9sdW1lcyBzZXQgdmlhIHRoZSB2b2x1bWUgcHJvcGVydHkgYXJlCgkgIG9ubHkgYXBwbGllZCAqb25jZSogdG8gdGhlIHVuZGVybHlpbmcgc3RyZWFtLiBBZnRlciBhcHBseWluZyB0aGVtIHRoZQoJICBjbGllbnQgc2lkZSB3aWxsIG5vdCBzdG9yZSB0aGVtIGFueW1vcmUuIFRoaXMgc2hvdWxkIG1ha2Ugc3VyZSB0aGF0CgkgIHJlYWxseSBvbmx5IHVzZXItdHJpZ2dlcmVkIHZvbHVtZSBjaGFuZ2VzIGFyZSBmb3J3YXJkZWQgdG8gc2VydmVyLCBidXQKCSAgdGhlIGNsaWVudCBuZXZlciB0cmllcyB0byBzYXZlL3Jlc3RvcmUgdGhlIHZvbHVtZSBpbnRlcm5hbGx5LgoJICBGaXhlcyBidWcgIzU5NTIzMS4KCjIwMDktMTAtMTcgMDg6NTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICBwdWxzZXNpbms6IEluaXRpYWxpemUgZ2V0dGV4dCBmb3IgdGhlIHRyYW5zbGF0ZWQgc3RyaW5ncyBpbiBwbHVnaW5faW5pdCgpCgoyMDA5LTEwLTE3IDAwOjEwOjMwICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiB1c2UgJ3BlcmZvcm1lcicgYXMgYSBmYWxsYmFjayBmb3IgJ2FydGlzdCcgdGFnCgoyMDA5LTEwLTE3IDAwOjA5OjM2ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBwdWxzZTogd2hlbiBjb25zdHJ1Y3RpbmcgYSBzdHJlYW0gdGl0bGUgZnJvbSB0YWcgZGF0YSBtYWtlIHN1cmUgaXQgaXMgdHJhbnNsYXRhYmxlCgoyMDA5LTEwLTE3IDAwOjA2OjE1ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2U6IGxvb3Agd2hpbGUgY29ubmVjdGluZyB0byBzZXJ2ZXIKCSAgcHRocmVhZCBkb2VzIG5vdCBndWFyYW50ZWUgdGhhdCB0aGVyZSBhcmUgbm8gc3B1cmlvdXMgY29uZGl0aW9uIHZhcmlhYmxlCgkgIHdha2V1cHMsIG5laXRoZXIgZG9lcyBwYV90aHJlYWRlZF9tYWlubG9vcF94eHgoKSB3aGljaCBpcyBhIHdyYXBwZXIKCSAgYXJvdW5kIGl0LiBTbyB3ZSBuZWVkIHRvIGxvb3AgYXJvdW5kIHRoZSBfd2FpdCgpIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZQoJICB3ZSBnZXQgdGhlIHJpZ2h0IHdha2V1cC4KCSAgQWxzbywgdW5pZnkgdGhlIG9yZGVyIG9mIHRoZSB3YWl0IGxvb3BzIGFjcm9zcyB0aGUgZmlsZS4KCjIwMDktMTAtMTcgMDA6MDU6MTAgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJICBwdWxzZTogbWFpbmxvb3AgY3JlYXRpb24gY2FuIGZhaWwgdG9vLCBzbyBoYW5kbGUgdGhhdAoKMjAwOS0xMC0xNyAwMDowMzowNiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlOiBhZGp1c3QgQ0hFQ0tfREVBRF9HT1RPIG1hY3JvIHRvIGdsaWIgc3R5bGUKCjIwMDktMTAtMTYgMTc6Mjg6NDIgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZTogbWFrZSBhIGZldyB0aGluZ3Mgc21hbGxlciBieSBtYWtpbmcgdGhlbSBiaXRmaWVsZHMKCjIwMDktMTAtMTYgMTc6MjY6NDEgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHVsc2U6IGJ1bXAgbWluaW11bSBsaWJwdWxzZSB2ZXJzaW9uIHRvIDAuOS4xMAoJICBPbGRlciB2ZXJzaW9ucyB0aGFuIDAuOS4xMCBhcmUgcmVhbGx5IHJlYWxseSBvbGQgYW5kIGJ1Z2d5LiBEcm9wCgkgIGNvbXBhdGliaWxpdHkgd2l0aCB0aGVtLiBOb2JvZHkgc2hvdWxkIHJ1biBhbnl0aGluZyB0aGF0IG9sZC4KCSAgQWxzbyBzZWU6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTUwMjkKCjIwMDktMTAtMTYgMTg6MTg6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgZGVidWd1dGlsczogcmVnaXN0ZXIgcHVzaGZpbGVzcmMgZWxlbWVudAoKMjAwOS0xMC0xNiAxNzoyODowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHN1cHBvcnQgKHNvbWUpIFZCUiBhdWRpbyBtdXhpbmcKCSAgQVZJIGZvcm1hdCBjYW4gaGFuZGxlIFZCUiBhdWRpbyBwcm92aWRlZCBhdWRpbyBjaHVua3MgYXJlIG9mIGZpeGVkIGR1cmF0aW9uCgkgIChjZnIgZml4ZWQgZHVyYXRpb24gdmlkZW8gZnJhbWVzKS4gIEFwcGx5IHRoaXMgYXBwcm9hY2ggdG8gKGFsd2F5cykgcGFyc2VkCgkgIHJhdyBBQUMgYW5kIChpZiBwYXJzZWQpIHRvIE1QRUctMS8yIGF1ZGlvLgoJICBTZWUgIzM2ODY4MS4KCjIwMDktMTAtMTYgMTM6NDE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggYnJhbmNoIGhpbnRzCgkgIFJlbW92ZSBpbmFwcHJvcHJpYXRlIGJyYW5jaGluZyBoaW50cyBhbmQgYWRkIHNvbWUgbmV3IG9uZXMuCgoyMDA5LTEwLTE2IDEyOjMzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHJlZ3Jlc3Npb24gaW4gaW5kaXJlY3QgZGVjb2RlIHBhdGgKCSAgUmV2ZXJ0IHZhcmlhYmxlIG5hbWUgYmFjayB0byB3aGF0IGl0IHdhcyBiZWZvcmUgdGhlIEdfTElLRUxZIHdhcwoJICBhZGRlZCAoaW4gY29tbWl0IDY5YzI0ZmI5KS4gVGhlIGNvZGUgd29ya3MgYmV0dGVyIHRoYXQgd2F5LgoKMjAwOS0xMC0xNiAwMjo0NzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCByZWdyZXNzaW9uIHdpdGggY2VydGFpbiBmb3JtYXRzCgkgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgcHJldmlvdXMgY29tbWl0ICgjNTk4NTE3KS4KCjIwMDktMTAtMTUgMTk6NDk6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCB1c2UgZGVjb21wcmVzcyBzdHJ1Y3R1cmUgbWVtYmVycyB3ZSBzaG91bGRuJ3QgYmUgdXNpbmcKCjIwMDktMTAtMTQgMTc6NTM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiByZW1vdmUgc29tZSB1bnVzZWQgbWVtYmVycyBmcm9tIGpwZWdkZWMgaW5zdGFuY2Ugc3RydWN0dXJlCgoyMDA5LTEwLTE2IDExOjUzOjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSBnc3QtZ2xpYi1nZW4ubWFrIHRvIGZpeCB0aGUgZ2xpYiBidWlsZCBydWxlcy4KCSAgVGhlIGJ1aWxkIHJ1bGVzIGluIGdsaWItZ2VuLm1hayB3ZXJlIHVzaW5nIHBhdHRlcm4gcnVsZXMgaW4gYSBub24gc2F2ZSB3YXkuCgoyMDA5LTEwLTE2IDEwOjE1OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg1ZDE1MzAgdG8gMDcwMmZlMQoKMjAwOS0xMC0xNSAyMTowNDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGp1c3QgZmxvdyByZXR1cm4gYWdncmVnYXRpb24gdG8gdXBkYXRlZCBsb29wX2RhdGEKCSAgSW4gcGFydGljdWxhciwgZWFjaCBzdHJlYW0gaXMgbm93IHRyZWF0ZWQgc2VwYXJhdGVseSwgYW5kIG9uZSBzdHJlYW0ncwoJICBFT1Mgc2hvdWxkIG5vdCBsZWFkIHRvIG92ZXJhbGwgRU9TLgoKMjAwOS0xMC0xNSAxMTo1MjozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIHNvbWUgbW9yZSBhdG9tIHNpemVzIHByaW9yIHRvIHBhcnNpbmcKCjIwMDktMTAtMTUgMTM6MTk6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGhhbmRsZSBldmVudHMgaW4gVENQIG1vZGUKCSAgV2UgbmVlZCB0byBoYW5kbGUgZXZlbnRzIGluIFRDUCBtb2RlIHNvIHRoYXQgd2UgY2FuIHJlcGx5IHRvIHRoZSBMQVRFTkNZIGV2ZW50CgkgIHdpdGggVFJVRS4KCjIwMDktMTAtMTUgMTE6MjQ6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIG1pc3NpbmcgYXJndW1lbnQgaW4gZGVidWcgbWVzc2FnZQoKMjAwOS0xMC0xNCAxODo1ODowNiArMDIwMCAgTWFydmluIFNjaG1pZHQgPG1hcnZAZXhoZXJiby5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBVc2UgbG9vcCB0ZXN0IHRvIHByZXZlbnQgdGltZW91dCBvbiBzbG93IG1hY2hpbmVzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU5NzczOS4KCjIwMDktMTAtMTQgMTY6MTU6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZvcndhcmQgZXZlbnRzIGludG8gdGhlIHJ0cGJpbgoJICBPbmx5IGNhdGNoIHRoZSBTRUVLIGV2ZW50IG9uIHRoZSBzcmNwYWQgYW5kIGxldCBvdGhlciBldmVudHMgZW50ZXIgdGhlIHJ0cGJpbi4KCjIwMDktMTAtMTQgMTE6MzM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBsYXRlIHRhZ3MgZmluZGluZwoJICBVc2UgdGhlIGNvcnJlY3QgdGFnbGlzdCB2YXJpYWJsZSB3aGVuIG5vdGlmeWluZyBvZiBsYXRlIHRhZ3MuCgoyMDA5LTEwLTE0IDEzOjA5OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogdXNlIEdzdEluZGV4IGZvciAobGltaXRlZCkgc2Vla2luZyBpbiBwdXNoIG1vZGUKCSAgLi4uIGJ1dCBkaXNhYmxlIHRoaXMgZm9yIG5vdy4gIEFsdGhvdWdoIGl0IGJhc2ljYWxseSB3b3JrcyBmaW5lLAoJICB1c2VyIGV4cGVyaWVuY2UgbWlnaHQgYmUgc2hha3kgKGRlcGVuZGluZyBvbiB0YXN0ZSksIHNpbmNlIHRoZXJlCgkgIGlzIG5vIGtleWZyYW1lIGluZm8gaW4gcHVzaCBtb2RlLgoKMjAwOS0xMC0xNCAxMzowODo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFkZCBHc3RJbmRleCBzdXBwb3J0CgoyMDA5LTEwLTE0IDExOjU1OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFsc28gZGV0ZXJtaW5lIGR1cmF0aW9uIGluIHB1c2ggbW9kZQoKMjAwOS0xMC0xNCAxMTo1NDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogYWRkIEdzdEluZGV4IHN1cHBvcnQKCjIwMDktMTAtMTQgMDc6Mzg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBTZXQgZHVyYXRpb24gb24gYnVmZmVycwoJICBVc2UgZnJhbWVyYXRlIHRvIGVzdGltYXRlIGR1cmF0aW9uIG9mIGJ1ZmZlcnMuCgkgIEZpeGVzICM1OTAzNjIKCjIwMDktMTAtMTQgMTI6Mjg6NTUgKzAyMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZiBhdCB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IG9ubHkgZm9yd2FyZCB0aGUgbG9zdC1ldmVudCB0byB0aGUgbGFzdCBzZWVuIHB0LW51bWJlcgoJICBmb3J3YXJkIGFsbCBldmVudHMgb24gYWxsIHBhZHMgZXhjZXB0IGZvciB0aGUgUGFja2V0TG9zdCBldmVudCwgd2hpY2ggd2Ugd2FudCB0bwoJICBmb3J3YXJkIHRvIHRoZSBsYXN0IHNlZW4gcHQgcGFkLgoJICBGaXhlcyAjNTk4Mzc3CgoyMDA5LTEwLTA2IDIyOjI4OjUwICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNldCBkZXNpcmVkIG1pbnJlcSB2YWx1ZSB0byBzZWdzaXplL2xhdGVuY3ktdGltZQoJICBJZiB3ZSBsZXQgdGhlIGRhZW1vbiBkZWNpZGUgZnJlZWx5IGJ5IHBhc3NpbmcgLTEsIHdlIGVuZCB1cCBhbHdheXMgZ2V0dGluZyAyMG1zLgoJICBXZSB3YW50IHRvIHNldCB0aGlzIHZhbHVlIGJlY2F1c2UgaW4gc29tZSBjYXNlcyB3ZSB3YW50IHRvIHNlbGVjdCBhIGhpZ2hlcgoJICBsYXRlbmN5LXRpbWUgaW4gb3JkZXIgdG8gc2F2ZSBwb3dlci4KCSAgRml4ZXMgIzU5NzYwMQoKMjAwOS0xMC0xNCAxMDo0MToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTNlM2NlNCB0byA4NWQxNTMwCgoyMDA5LTEwLTEzIDE4OjMzOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHMvcGlwZWxpbmUvZmxhYzogRml4IGJ1aWxkIG9uIG1hY29zeCAxMC41CgoyMDA5LTEwLTEzIDE4OjE5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZGVtb3RlIHNvbWUgd2FybmluZ3MgdG8gZGVidWcKCjIwMDktMTAtMTMgMTc6NDc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSAgYXZpOiBhZGQgbmV3IGF2aSBmbGFnIHdlIG1pZ2h0IHdhbnQgdG8gdXNlCgoyMDA5LTEwLTEzIDE3OjQ2OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjYWxjdWxhdGUgc3VnZ2VzdGVkIGJ1ZmZlciBzaXplCgkgIENhbGN1bGF0ZSB0aGUgc3VnZ2VzdGVkIGJ1ZmZlciBzaXplIGJhc2VkIG9uIHRoZSBsYXJnZXN0IGNodW5rIGluIHRoZSBmaWxlLgoJICBTZWUgIzU5Nzg0NwoKMjAwOS0xMC0xMyAxNzo0NToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkIGpwZWcyMDAwIHRvIGFsbG93ZWQgY2FwcwoKMjAwOS0xMC0xMyAxNzo0MToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBkZWJ1ZyBmb3IgdGhlIHN1cGVyaW5kZXggb2Zmc2V0cwoKMjAwOS0xMC0xMyAxNjowMjozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIEZpeCBhbm90aGVyIGJvZ3VzIG1heS1iZS11c2VkLXVuaW5pdGlhbGl6ZWQgd2FybmluZyBpbiBxdGRlbXV4CgoyMDA5LTEwLTEzIDEzOjA4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpOiBsb3dlciBtYXggZmlsZSBzaXplCgkgIE1ha2UgYSBjb25zdGFudCBvZiB0aGUgbWF4IGZpbGUgc2l6ZSBhbmQgbG93ZXIgdGhlIHZhbHVlIHRvIHdoYXQgZmZtcGVnIGRvZXMsCgkgIGhvcGVmdWxseSBpbXByb3ZpbmcgY29tcGF0aWJpbGl0eSB3aXRoIHdpbmRvd3MgbWVkaWEgcGxheWVyLgoJICBTZWUgIzU5Nzg0NwoKMjAwOS0xMC0xMyAwMTowMjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBib2d1cyB3YXJuaW5nIGFib3V0IGRpc2NvbnQgZmxhZyBvbiBmaXJzdCBidWZmZXIKCSAgVGhlIHZlcnkgZmlyc3QgYnVmZmVyIHNob3VsZCBhbHdheXMgaGF2ZSB0aGUgRElTQ09OVCBmbGFnIHNldCwgbm8KCSAgbmVlZCB0byB3YXJuIGFib3V0IHRoYXQuIE9ubHkgd2FybiBpZiB3ZSBnZXQgYSBESVNDT05UIGJ1ZmZlciBpbgoJICBub24tcGFja2V0aXNlZCBtb2RlIGFuZCB3ZSBhbHJlYWR5IGhhdmUgc29tZSBkYXRhLgoKMjAwOS0xMC0xMyAwMDo0MTo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBjcmFzaCBmb3IgdW51c3VhbCB2ZXJ0aWNhbCBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9ycwoJICBGaXhlcyAjNTk3MzUxLgoKMjAwOS0xMC0xMyAwMDoxMjo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5ncwoJICBUaGUgZ2NjIG9uIHRoZSBPUy9YIGJ1aWxkYm90IGNvbXBsYWlucyBhYm91dCB0aGVzZSB2YXJpYWJsZXMgbm90IGJlaW5nCgkgIGluaXRpYWxpemVkLCBldmVuIHRob3VnaCB0aGV5IGNhbid0IHBvc3NpYmx5IGFjdHVhbGx5IGJlIHVzZWQKCSAgdW5pbml0aWFsaXplZC4KCjIwMDktMTAtMTEgMTE6MzU6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMCAwMDozNzowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXhlcyB3YXJuaW5nIGJ1aWxkaW5nIGluIHNub3cgbGVvcGFyZAoKMjAwOS0xMC0wOSAxNzoxMjo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gY29uc2lkZXIgUXVpY2t0aW1lIHRleHQgc3VidGl0bGVzCgoyMDA5LTEwLTA5IDE3OjAyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvdmlkZSBsYW5ndWFnZSB0YWcgZm9yIHN0cmVhbQoKMjAwOS0xMC0wOSAxNjozMDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGNvbW1vbiBwYXJ0cyBpbiB0cmFjayBwYXJzaW5nCgoyMDA5LTEwLTA5IDE2OjIxOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiByZWZhY3RvciBidWZmZXIgcHJvY2Vzc2luZyBhbmQgc2VuZGluZwoJICAuLi4gc28gaXQgY2FuIGJlIHVzZWQgaW4gYm90aCBwdWxsIGFuZCBwdXNoIGJhc2VkIG1vZGUuCgoyMDA5LTEwLTA4IDEzOjM5OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMKCSAgLi4uIGFuZCBzZW5kIGl0IGRvd25zdHJlYW0gdXNpbmcgY3VzdG9tIGR2ZCBldmVudAoKMjAwOS0xMC0wNyAxNDowMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogc3VwcG9ydCAzR1BQIHRpbWVkIHRleHQgc3VidGl0bGVzCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gbWFrZSBzdWJ0aXRsZSBzdXBwb3J0IGxlc3Mgc3VicChpY3R1cmUpLWNlbnRyaWMuCgoyMDA5LTEwLTA3IDE2OjE1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTlVMTCBpcyBub3QgYSB2YWxpZCB0YWdsaXN0CgoyMDA5LTA5LTIzIDE3OjIwOjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcmVjb2duaXplIHNvbWUgbW9yZSBlbmN5cHRlZCB0cmFjayBjYXNlcwoKMjAwOS0xMC0wOSAxNTo1OToyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzOiBmaXhlcyB3YXJuaW5ncyBidWlsZGluZyBvbiBtYWNvc3gKCSAgQW5vdGhlciByb3VuZCBvbiB0aGUgZm9ybWF0aW5nIG9mIHRoYXQgZGVidWcgbGluZS4KCjIwMDktMTAtMDkgMTQ6NDQ6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkMzogY2FzdCBwb2ludGVyIG1hdGggcmVzdWx0cyB0byBnbG9uZwoKMjAwOS0xMC0wOSAxNDozNzozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjOiBhcHBhcmVudGx5IG9uIHNvbWUgcGxhdGZvcm1zIGEgRkxBQ19fdWludDY0IT1ndWludDY0CgoyMDA5LTEwLTA5IDE0OjIxOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIGJ1aWtkOiBleHBsaWNpdGVseSBjYXN0LCB0byB0ZWxsIHNvbWUgY29tcGlsZXJzIHRoYXQgdGhpcyBpcyBub3QgbG9uZyBpbnQKCjIwMDktMTAtMDkgMTM6Mzg6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBidWlsZDogZG9uJ3QgY2FzdCwgYnV0IHVzZSB0aGUgcmlnaHQgZm9ybWF0IHNwZWNpZmllZCBpbnN0ZWFkCgkgIFRoaXMgY29ycmVjdCBzb21lIG9mIHRoZSBwcmV2aW91cyBtYWNvcyBmaXhlcy4KCjIwMDktMTAtMDkgMTI6NDA6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2OiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjI1OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogZml4IHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoxOTozNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MTQ6MjIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlbzogZml4IGEgd2FybmluZyBkb2luZyBhIGNhc3QKCjIwMDktMTAtMDkgMTI6MTE6MTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjAxOjEwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogZml4IHdhcm5pbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjU3OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IHdhcm5pbmcgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjU0OjAzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB3YXJuaW5ncyBidWlsZGluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NDI6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIGlkM2RlbXV4OiBmaXggcHJpbnRmIHdhcm5pbmdzIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTozMDowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHdhcm5pbmcgaW4gbWFjb3N4IG1ha2luZyB0aGUgZm9ybWF0IHBvcnRhYmxlCgoyMDA5LTEwLTA5IDEwOjUxOjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiB1c2UgR19HVUlOVDY0X0ZPUk1BVCB0byBmaXggd2FybmluZ3Mgb24gT1NYCgoyMDA5LTEwLTA5IDEwOjExOjM4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbzogRml4ZXMgYnVpbGQgb24gbWFjb3N4IHNub3cgbGVvcGFyZC4KCjIwMDktMTAtMDkgMTE6MzQ6MTYgKzAyMDAgIFBhdSBHYXJjaWEgaSBRdWlsZXMgPHBncXVpbGVzQGVscGF1ZXIub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBJbmNsdWRlIHN5cy9pb2N0bC5oIGZvciB0aGUgVjRMIGlvY3RsIHJlcXVlc3RzCgkgIE9sZCB2aWRlb2RldmljZTIuaCBrZXJuZWwgaGVhZGVycyB1c2VkIGlvY3RsIHN0dWZmIHdpdGhvdXQKCSAgaW5jbHVkaW5nIGlvY3RsLmgsIG1ha2luZyBjb21waWxhdGlvbiBmYWlsIG9uIG9sZGVyIHN5c3RlbXMuCgkgIE5vdGU6IEluY2x1ZGluZyBpb2N0bC5oIGhlcmUgaXMgb25seSBhIHdvcmthcm91bmQgZm9yIG9sZCBrZXJuZWwKCSAgaGVhZGVycywgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSBldmVyeWJvZHkgaGFzIG5ldyBlbm91Z2ggaGVhZGVycy4KCSAgRml4ZXMgYnVnICM1OTc4NjcuCgoyMDA5LTEwLTA5IDAwOjE0OjA3ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY2hlY2s6IE1ha2UgdGhlIGxldmVsIHVuaXQgdGVzdCBzdWNjZWVkIG9uIFNvbGFyaXMgMTAKCSAgQWRkIGEgY29uZmlndXJlIGNoZWNrIGZvciBmdW5jdGlvbmFsIGlzaW5mKCkgYW5kIGZwY2xhc3MoKSwgYW5kCgkgIHVzZSBmcGNsYXNzKCkgd2hlcmUgcG9zc2libGUgd2hlbiBpc2luZigpIGlzIG5vdCBhdmFpbGFibGUuCgoyMDA5LTA1LTE2IDEzOjUyOjUwICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHJzdHIoKSB1c2FnZSBvbiBwb3NzaWJseSB1bnRlcm1pbmF0ZWQgc3RyaW5nCgoyMDA5LTEwLTA4IDE2OjE2OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY2hlY2s6IExpbmsgYWdhaW5zdCBMSUJNIGFuZCBpbmNsdWRlIG1hdGguaCBmb3IgaXNpbmYoKQoKMjAwOS0xMC0wNyAyMTo1MTozOCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkgIG9zczogRG93bmdyYWRlIHRoZSByYW5rIG9mIG9zc3NyYyB0byBTRUNPTkRBUlkKCSAgd2hpY2ggaXMgdGhlIHNhbWUgcmFuayBhcyBvc3NzaW5rIGhhcy4KCSAgRml4ZXMgYnVnICM1OTc3MzAuCgoyMDA5LTEwLTA4IDEwOjU5OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5ZmE0ZjMgdG8gYTNlM2NlNAoKMjAwOS0xMC0wOCAxMDoyMDowOSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmkvd2F2OiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyBhYm91dCBpbmNvbXBhdGlibGUgcG9pbnRlcnMuCgoyMDA5LTEwLTA1IDE3OjM2OjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEZpeCBwbHVnaW4gZGVzY3JpcHRpb24KCjIwMDktMTAtMDcgMTQ6MDM6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgYnVpbGQ6IGZwcmludGYsIHNwcmludGYsIHNzY2FuZiBuZWVkIHN0ZGlvLmgKCjIwMDktMTAtMDcgMDA6MzM6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogdXNlIHNoZWxmaW5nIGZpbHRlcnMgZm9yIGZpcnN0IGFuZCBsYXN0IGJhbmQKCSAgUmVmYWN0b3IgdGhlIGZpbHRlciBzZXR1cC4gQWRkIHR3byBuZXcgZmlsdGVycyB3aXRoIHNoZWxmIGNoYXJhY3RlcmlzdGljcyBmb3IKCSAgZmlyc3QgYW5kIGxhc3QgYmFuZC4gQ2hhbmdlIGdhaW4gY2FsY3VsYXRpb24gYXMgcmVjb21tZW5kZWQgaW4gdGhlIHF1b3RlZAoJICBkb2N1bWVudCAobm8gcXJ0IG5lZWRlZCkuIFJlbmFtZSB2YXJpYWJsZXMgdG8gbWF0Y2ggdGhlIGZvcm11bGFzIGluIHRoZQoJICBkb2N1bWVudC4KCjIwMDktMTAtMDIgMjM6NTE6MjkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGd1YXJkIGZyYWdtZW50IHNpemUgd2l0aCBhIGxvd2VyIGxpbWl0IGJhc2VkIG9uIGxhdGVuY3ktdGltZQoJICBJbiBjYXNlIHRoYXQgdGhlIHB1bHNlIGRhZW1vbiBydW5zIHRoZSBzb3VyY2UgZGV2aWNlIGF0IGEgcmVsYXRpdmVseSBsb3cgZml4ZWQKCSAgZnJhZ21lbnQgc2l6ZSBjb21wYXJlZCB0byB0aGUgcmVxdWVzdGVkIGxhdGVuY3ktdGltZSwgY29uZmlndXJlIHRoZSByaW5nIGJ1ZmZlcgoJICBzZWdzaXplIHRvIHRoZSBsYXJnZXN0IGludGVnZXIgbXVsdGlwbGUgb2YgdGhlIGZyYWdtZW50IHNpemUgdGhhdCBpcyBzdGlsbAoJICBzbWFsbGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHJlcXVlc3RlZCBsYXRlbmN5LXRpbWUuCgkgIEZpeGVzIGJ1ZyAjNTk3NDYzLgoKMjAwOS0xMC0wNiAxNzo0MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBjb21tZW50L2xvZ2dpbmcgY2xlYW51cHMgYW5kIG1vcmUgYnJhbmNoIGd1aWRlcwoKMjAwOS0xMC0wNSAyMjo0MzoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggZmlsdGVyIGhpc3RvcnkgdXNhZ2UuIEZpeGVzICM1OTczOTcKCSAgVGhlIHByb2Nlc3MgZnVuY3Rpb25zIHdoZXJlIG92ZXJ3cml0aW5nIHRoZSBoaXN0b3J5IGZvciBlYWNoIGNoYW5uZWwuIEFsc28gcHVsbAoJICBzb21lIHN0YXRpYyB0aGluZ3Mgb3V0IG9mIHRoZSBpbm5lciBsb29wLgoKMjAwOS0xMC0wNSAxNjowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBsb2NraW5nIGFyb3VuZCB0aGUgc2Vzc2lvbnMKCjIwMDktMTAtMDUgMTE6NDY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYWtlIHN1cmUgY29tcGF0aWJsZSBicmFuZHMgYnVmZmVyIGV4aXN0cyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdAoKMjAwOS0xMC0wNCAyMTo1OToyNCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHJpbnRmIHdhcm5pbmdzIG9uIE9TWAoJICBDYXN0IHZhcmlhYmxlcyBwYXNzZWQgdG8gcHJpbnRmIHRvIGF2b2lkIHdhcm5pbmdzIGFib3V0IGluY29ycmVjdAoJICBmb3JtYXRzIChtb3N0IGxpa2VseSBjYXVzZWQgYnkgc2l6ZW9mIHJldHVybmluZyBhIHNpemVfdCkuCgkgIEZpeGVzICM1OTczNDguCgoyMDA5LTEwLTAyIDAwOjIzOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGludGVybmFsIGdlbnJlIHRhYmxlCgkgIE5vIG5lZWQgdG8gbWFpbnRhaW4gb3VyIG93biBnZW5yZSB0YWJsZSBpbiBxdGRlbXV4LiBUaGUgZ2VucmVzIGFyZQoJICBpZGVudGljYWwgdG8gdGhlIElEMyBnZW5yZXMsIHNvIHdlIGNhbiBqdXN0IHVzZSBsaWJnc3R0YWcncwoJICBnc3RfdGFnX2lkM19nZW5yZV9nZXQoKSB0byBsb29rIHRoZW0gdXAuCgoyMDA5LTEwLTAzIDE3OjE4OjI4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCBwcmludGYgZm9ybWF0cyB0byBhdm9pZCB3YXJuaW5ncyBpbiBhdmlkZW11eC4gRml4ZXMgIzU5NzIxNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3MjE0CgoyMDA5LTEwLTAzIDA5OjUyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDaGFuZ2Ugb25lIEdTVF9XQVJOSU5HIHRvIGEgR1NUX0RFQlVHCgoyMDA5LTEwLTAyIDE0OjM3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBJZiB0aGVyZSdzIG5vIGF1ZGlvIHN0cmVhbSBhZnRlciA2IHNlY29uZHMgb2YgdmlkZW8gc2lnbmFsIG5vLW1vcmUtcGFkcwoJICAuLi5hbmQgdGhlIG90aGVyIHdheSBhcm91bmQuIEFsc28gaWdub3JlIGFueSBhdWRpby92aWRlbyBzdHJlYW1zIHRoYXQgYXBwZWFyCgkgIGFmdGVyIG5vLW1vcmUtcGFkcy4KCSAgRml4ZXMgYnVnICM1OTcwOTEuCgoyMDA5LTEwLTAyIDE0OjM3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBNYWtlIHN1cmUgdG8gb25seSBzaWduYWwgbm8tbW9yZS1wYWRzIGEgc2luZ2xlIHRpbWUKCjIwMDktMTAtMDIgMjI6NTU6NDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVuYW1lIHBhX2J1ZmZlcl9hdHRyIHZhcmlhYmxlcwoJICBNYWtlcyBpdCBtdWNoIGVhc2llciB0byBzZWUgd2hhdCBpcyBnb2luZyBvbiBhbmQgaXMgYSBsb3QgbGVzcyBlcnJvciBwcm9uZS4KCjIwMDktMTAtMDIgMTg6MjU6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cDogYWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTEwLTAyIDEzOjE1OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2ZpbHRlcjogYWRkIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRCB0byBwcm9wZXJ0eSBzZXR0ZXIKCjIwMDktMTAtMDIgMTM6MTA6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogZG9uJ3QgZ2l2ZSB3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIHRoZSBtZXNzYWdlIGRvY3MKCjIwMDktMTAtMDEgMTI6NTI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBjYWNoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzCgkgIENhY2hlIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzIHVuaXRzIHRvIGF2b2lkIGhhdmluZyB0byBjb252ZXJ0IHRoZQoJICBtaWxsaXNlY29uZHMgdmFsdWUgdG8gbmFub3NlY29uZHMgYWxsIHRoZSB0aW1lLgoKMjAwOS0xMC0wMSAxMjoxMjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSAtMSBpbnB1dCB0aW1lc3RhbXBzCgkgIERvbid0IHRyeSB0byBjaGVjayBhIC0xIHRpbWVzdGFtcCBhZ2FpbnN0IHRoZSBtYXggZGVsYXkuCgoyMDA5LTEwLTAxIDEwOjU0OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZG9uJ3QgbWlzdWVzIHBlcmYtY2F0ZWdvcnkgYW5kIHJlbW92ZSB1bnVzZWQgZXh0IGNhdGVnb3J5CgkgIFRoZSBwZXJmb3JtYW5jZSBjYXRlZ29yeSBpcyBtZWFudCB0byBiZSB1c2VkIHRvIGF1ZGl0IGNvZGVwYXRocyB0aGF0IGxlYWQgdG8gYmFkCgkgIHBlcmZvcm1hbmNlIChlLmcuIGNvcGllcywgY29udmVyc2lvbiB0aGF0IGNhbiBiZSBhdm9pZGVkKS4KCSAgUmVtb3ZlIHRoZSBldmVudCBjYXRlZ29yeSB3aGljaCBpcyBub3QgdXNlZC4KCjIwMDktMDktMTYgMTQ6MjM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5L2RlcGF5OiBEZW1vdGUgcGVyLWJ1ZmZlciBkZWJ1ZyBtZXNzYWdlcyB0byBsb2cgbGV2ZWwKCjIwMDktMDktMTYgMTQ6MTY6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBEb24ndCBsZWFrIGluY29taW5nIGJ1ZmZlcnMgYWZ0ZXIgc3ViYnVmZmVyaW5nIHRoZW0KCjIwMDktMDktMTYgMTM6NTc6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5L2RlcGF5OiBBZGQgZGVidWcgY2F0ZWdvcmllcwoKMjAwOS0wOS0xNiAxMzo1NToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IFJlbW92ZSBsb25nIHVubmVlZGVkIGRlZmluZSByZXBsYWNlbWVudAoKMjAwOS0wOS0zMCAxODowNjowNyArMDEwMCAgQ2hyaXN0aWFuIEYuSy4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBtYWtlZmlsZSB3aXRoIG1pc3NpbmcgaGVhZGVyIGZpbGUKCjIwMDktMDktMzAgMTg6NDU6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBydHA6IFVzZSBhdXRvYXVkaW97c2luayxzcmN9IGluc3RlYWQgb2YgYWxzYSBpbiB0aGUgZXhhbXBsZXMKCjIwMDktMDktMjkgMTc6NTE6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgbGVhayBvdXRwdXQgYnVmZmVycyBvbiBkZWNvZGluZyBlcnJvcnMKCSAgVGhlIHNldGptcCBoYW5kbGVzIGxpYmpwZWcgZXJyb3IuIEZyZWUgdGhlIG91dHB1dGJmZmVyIGlmIHdlIGRvbid0IG5lZWQgaXQuCgoyMDA5LTA5LTI5IDAwOjAxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcKCjIwMDktMDktMjMgMTQ6MjU6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogc21hbGwgY2xlYW51cHMKCjIwMDktMDktMjMgMTM6NTc6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHRpbWVzdGFtcGluZyBpbiBzb21lIGF1ZGlvIHN0cmVhbXMKCSAgRm9yIHZiciBhdWRpbyBzdHJlYW1zIHdlIG5lZWQgdG8gdXNlIHRoZSBudW1iZXIgb2YgYmxvY2tzIHRvIGNhbGN1bGF0ZSB0aGUKCSAgdGltZXN0YW1wcy4KCSAgV2hlbiB0aGUgYWxsb2NhdGlvbiBvZiBhZGRpdGlvbmFsIGluZGV4IG1lbW9yeSBmYWlscywgZG9uJ3QgdGhyb3cgYXdheSB3aGF0CgkgIHdlIGhhZCBiZWZvcmUuCgkgIFZhcmlvdXMgY2xlYW51cHMuCgoyMDA5LTA5LTIzIDEyOjU2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBzdXBwb3J0IGZvciBPRE1MIGluZGV4ZXMgYWdhaW4KCjIwMDktMDktMjIgMjI6MTI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiBpbXBsZW1lbnQgaW5kZXggc2Nhbm5pbmcKCSAgSW1wbGVtZW50IHNjYW5uaW5nIG9mIHRoZSBmaWxlIHdoZW4gd2UgY2FuIHBhcnNlIHRoZSBpbmRleC4KCSAgU29tZSByZWZhY3RvcmluZyBvZiBjb21tb24gY29kZS4KCSAgQ2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBSZW1vdmUgc29tZSByZWltcGxlbWVudGVkIGNvZGUuCgkgIFJlbW92ZSBpbmRleCBtYXNzYWdlIGNvZGUgYW5kIHB1dCBhIEZJWE1FIHdoZXJlIHdlIHNob3VsZCBkbyBzb21ldGhpbmcKCSAgZXF1aXZhbGVudCBsYXRlci4KCjIwMDktMDktMjIgMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHJldmVyc2UgcGxheWJhY2sKCjIwMDktMDktMjIgMTc6NDI6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHByZXYga2V5ZnJhbWUgc2VhcmNoIGFuZCBjbGVhbnVwcwoKMjAwOS0wOS0yMiAxNDo1MTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiByZW1vdmUgY29kZSB0aGF0IGdvdCBjb252ZXJ0ZWQKCjIwMDktMDktMjIgMTQ6NDQ6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiBtb3JlIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBjb3VudGVycy4KCSAgQmUgc21hcnRlciB3aGVuIHVwZGF0ZWluZyB0aGUgY3VycmVudCB0aGUgdGltZXN0YW1wIGFuZCBvZmZzZXQgaW4gdGhlIHN0cmVhbQoJICBiZWNhdXNlIHdlIGNhbiByZXVzZSBwcmV2aW91c2x5IGNhbGN1bGF0ZWQgdmFsdWVzIHdoZW4gc2ltcGx5IGdvIGZvcndhcmQgb25lCgkgIHN0ZXAuCgkgIENvcnJlY3RseSBzZXQgbWV0YWRhdGEgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDktMDktMjIgMTI6MzU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA5LTIyIDAxOjI4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCByZWFkIG9mZnNldCBhbmQgY2xlYW51cHMKCjIwMDktMDktMjEgMTg6MDQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpOiByZXdyaXRlIGluZGV4IHBsYXliYWNrCgkgIGRpc2FibGUgY29kZSwgc3RhcnQgb24gcmVpbXBsZW1lbnRpbmcgbG9vcCBiYXNlZCBvcGVyYXRpb24uCgkgIFJld3JpdGUgdGhlIGluZGV4IGhhbmRsaW5nIHNvIHRoYXQgYWxsIHN0cmVhbXMgdXNlIHRoZWlyIG93biBpbmRleCBmb3IgZGVjb2RpbmcKCSAgbWVkaWEuCgoyMDA5LTA5LTIxIDE1OjM1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhZGQgbmV3IGluZGV4IHBhcnNpbmcgY29kZQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gYW5kIGRhdGFzdHJ1Y3R1cmUgdG8gcGFyc2UgYW5kIGhvbGQgdGhlIGluZGV4IGVudHJpZXMgb24gYQoJICBwZXIgc3RyZWFtIGJhc2UuIEFsc28gYXZvaWQgZG9pbmcgdG9vIG11Y2ggd29yayB0cnlpbmcgdG8gZmlndXJlIG91dCB0aGUKCSAgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGFzIHdlIGNhbiB0cml2aWFsbHkgZG8gdGhhdCBsYXRlci4KCSAgTGVzcyBpbmZvcm1hdGlvbiBpbiB0aGUgZW50cmllcyBtYWtlcyB0aGVtIDIgdGltZXMgc21hbGxlciBhbmQgbm90IGRvaW5nIHRvbwoJICBtdWNoIHdvcmsgbWFrZXMgdGhpcyBjb2RlIGFib3V0IDEyIHRpbWVzIGZhc3RlciB0aGFuIHRoZSByZWd1bGFyIGNhc2UuCgkgIEhvb2sgaW4gdGhlIG5ldyBmdW5jdGlvbiBhbG9uZ3NpZGUgdGhlIGV4aXN0aW5nIGZ1bmN0aW9uIGZvciBjb21wYXJpc29uIHVudGlsCgkgIHRoZSByZXN0IG9mIHRoZSBjb2RlIGlzIHVwZGF0ZWQgdG8gaGFuZGxlIHRoZSBuZXcgaW5kZXggZGF0YXN0cnVjdHVyZS4KCjIwMDktMDktMjggMTY6Mjk6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogaGFuZGxlIG1vcmUgbGlianBlZyByZXR1cm4gdmFsdWVzLCBhZGQgc29tZSBtb3JlIGJyYW5jaCBoaW50cwoJICBBbHNvIHJlbW92ZSB1bnVzZWQgc2l6ZSB2YXJpYWJsZSBpbiBfY2hhaW4oKS4KCjIwMDktMDktMjUgMTk6MjE6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzb21lIG9wdGlvbmFsIFFUIHNwZWNpZmllZCBzdHNkIE1QRUctNCBhdG9tcyBhbHNvIGFwcGx5IHRvIEgyNjQKCSAgRml4ZXMgIzU5NjMxOS4KCjIwMDktMDktMjUgMTY6NDA6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNlbmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtIGFmdGVyIG5ld3NlZ21lbnQKCjIwMDktMDktMjUgMTQ6MTQ6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpZiB0cmFuc3BvcnQgcHJvdG9jb2wgdW5zdXBwb3J0ZWQsIHRyeSBhbm90aGVyIG9uZQoJICBBbHNvIGNoYW5nZSBlcnJvciBtZXNzYWdlIHRvIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IGNhc2VzIGluIHdoaWNoCgkgIGl0IGNhbiBvY2N1ci4KCjIwMDktMDktMjUgMTE6NTQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBkdXJhdGlvbnMgbW9kdWxvIDE8PDMyCgkgIEZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb25zIG9mIGVhY2ggc2FtcGxlLCB3ZSBhcmUgc3VwcG9zZWQgdG8gYWRkIGVhY2gKCSAgZHVyYXRpb24gbW9kdWxvIDE8PDMyIHNvIG1ha2UgdGhlIGVsYXBzZWQgdGltZSBjb3VudGVyIGEgdWludDMyLgoJICBGaXhlcyAjNTk1OTQyCgoyMDA5LTA5LTI0IDIwOjM4OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA5LTI0IDE5OjMzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgY29yZSBBUEkgdGhhdCBkb2Vzbid0IGV4aXN0IHlldAoJICBUaGVyZSdzIG5vIGdzdF9ieXRlX3JlYWRlcl9oYXNfcmVtYWluaW5nKCkgeWV0LiBGaXhlcyBidWlsZC4KCjIwMDktMDktMjQgMTM6MjA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IG1hcCBzb21lIGF0b21wYXJzZXIgZnVuY3Rpb25zIHRvIHRoZWlyIG5ldyBieXRlcmVhZGVyIGVxdWl2YWxlbnRzCgkgIE5vdyB0aGF0IEdzdEJ5dGVSZWFkZXIgaGFzIHVuY2hlY2tlZCBhbmQgaW5saW5lZCB2YXJpYW50cyBhcyB3ZWxsLCBtYXAKCSAgYXRvbXBhcnNlciBmdW5jdGlvbnMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBieXRlcmVhZGVyIGVxdWl2YWxlbnRzLgoKMjAwOS0wOC0yNSAxMjoxMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VyX2hhc19jaHVua3MoKSBhbmQgZml4IGluZGVudGF0aW9uCgoyMDA5LTA4LTIwIDE4OjIxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYmFpbCBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gYWxsb2Mgc2lsbHkgaW5kZXggc2l6ZXMKCSAgSWYgaXQgbG9va3MgbGlrZSB3ZSB3b3VsZCBiZSBhbGxvY2F0aW5nIGEgc2lsbHkgc2l6ZSBmb3Igb3VyIHNhbXBsZQoJICBpbmRleCwganVzdCBiYWlsIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBhbGxvY2F0ZSBpdC4gSGVscHMgd2l0aAoJICBicm9rZW4gb3IgZnV6emVkIGZpbGVzIHdoZXJlIHdlIG1pZ2h0IGVuZCB1cCB0cnlpbmcgdG8gbWFsbG9jIGEKCSAgY291cGxlIG9mIGh1bmRyZWQgTUJzIG90aGVyd2lzZS4KCjIwMDktMDgtMjAgMTY6NDc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlcnJvciBvdXQgY29ycmVjdGx5IGlmIHdlIGRvbid0IGV2ZW4gaGF2ZSBlbm91Z2ggYnl0ZXMgZm9yIGFuIGF0b20gaGVhZGVyCgoyMDA5LTA4LTIwIDE1OjM5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdCBmb3VyY2MgdG8gMCBhcyB3ZWxsIHRvIGF2b2lkIGludmFsaWQgcmVhZHMgd2hlbiBwcmludGYnaW5nIGVycm9yIG1lc3NhZ2UKCjIwMDktMDgtMjAgMDE6Mzk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlX2hhc19yZW1haW5pbmcoKSB0byBhdm9pZCBvdmVyZmxvd3Mgd2l0aCBfZ2V0X3JlbWFpbmluZygpCgoyMDA5LTA4LTIwIDAxOjIxOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdzdEJ5dGVSZWFkZXIgd2hlbiBwYXJzaW5nIHRraGQgYXRvbQoKMjAwOS0wOC0xOSAxOToxMzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSB1bnNpZ25lZCBpbnRzIGZvciBub2RlIGxlbmd0aCBhbmQgZG8gbW9yZSBzYW5pdHkgY2hlY2tpbmcgb2YgdGhlIGF0b20gbGVuZ3RoCgoyMDA5LTA4LTE5IDAxOjM2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogdXNlIEdzdEJ5dGVSZWFkZXIgZm9yIGF0b20gZHVtcGluZyBhbmQgZml4IGEgZmV3IGJ1Z3MKCjIwMDktMDgtMjEgMTQ6MjE6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIHN0Y28sIHN0dHMsIHN0c3MgYW5kIHN0cHMgYXRvbSBwYXJzaW5nIG92ZXIgdG8gR3N0Qnl0ZVJlYWRlcgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGF0b20gYm91bmRhcnkuIE5vdGUgdGhhdCB0aGUgY29kZQoJICBiZWhhdmVzIHNsaWdodGx5IGRpZmZlcmVudGx5IGluIHRoZSBjb3JuZXIgY2FzZSB3aGVyZSB0aGVyZSBpcyBub3QKCSAgZW5vdWdoIGF0b20gZGF0YSBmb3IgdGhlIHNwZWNpZmllZCBudW1iZXIgb2Ygc2FtcGxlcyAobl9zYW1wbGVzX3RpbWUpCgkgIGluIHRoZSBhdG9tLCBidXQgc3RpbGwgZW5vdWdoIGRhdGEgdG8gZmlsbCB0aGUgcHJlLWFsbG9jYXRlZCBpbmRleCBvZgoJICBuX3NhbXBsZXMgZW50cmllczogYmVmb3JlIHdlIHdvdWxkIGp1c3Qgc3RvcCBwYXJzaW5nIHRoZSBzdHRzIGRhdGEKCSAgYW5kIGNvbnRpbnVlLCB3aGVyZWFzIG5vdyB3ZSB3aWxsIGxpa2VseSBlcnJvciBvdXQuIFRoaXMgc2hvdWxkIG5vdAoJICBiZSBhIHByb2JsZW0gaW4gcHJhY3RpY2UgdGhvdWdoLiBXZSBjb3VsZCBtYWludGFpbiB0aGUgb2xkIGJlaGF2aW91cgoJICBieSBkb2luZyByZWFkcyB3aXRoIGEgc2l6ZSBjaGVjayBpbnNpZGUgdGhlIGxvb3AgaWYgbmVlZGVkLgoKMjAwOS0wNi0zMCAxOTo1MToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBieXRlcmVhZGVyIHRvIHBhcnNlIHN0c3ogYW5kIHN0c2MgYXRvbXMKCSAgVXNlIEdzdEJ5dGVSZWFkZXIgdG8gcGFyc2Ugc3RzeiBhbmQgc3RzYyBjaHVua3MsIGFuZCBjaGVjayBzaXplIG9mCgkgIGF2YWlsYWJsZSBkYXRhIGJlZm9yZSBwYXJzaW5nIGl0LCBpbnN0ZWFkIG9mIGJsaW5kbHkgYXNzdW1pbmcgdGhlcmUKCSAgd2lsbCBiZSBlbm91Z2ggZGF0YS4gRml4ZXMgY3Jhc2hlcyB3aXRoIHNvbWUgZnV6emVkL2Jyb2tlbiBmaWxlcy4KCjIwMDktMDgtMTUgMjA6Mzg6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IGFkZCBxdF9hdG9tX3BhcnNlcl9nZXRfb2Zmc2V0KCkgYW5kIG9wdGltaXNlIF9wZWVrX3N1YigpCgoyMDA5LTA3LTAxIDEzOjQ5OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgUXRBdG9tUGFyc2VyLCBhbiBpbmxpbmVkIEdzdEJ5dGVSZWFkZXIgdmFyaWFudAoKMjAwOS0wOS0yMyAxNzoxOTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBwcm9wZXIgb3JkZXIgZm9yIG5vLW1vcmUtcGFkcyBhbmQgbmV3c2VnbWVudCBhbmQgdGFnIHNlbmRpbmcKCjIwMDktMDktMjMgMDk6NTA6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNwcmlua2xlIGEgZmV3IGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0yMiAxNTowMzoyMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgRml4IGNvbXBpbGUgd2FybmluZ3Mgd2l0aCBnY2MgNC4wLjEuCgoyMDA5LTA5LTIyIDExOjQ4OjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBEb24ndCBnZXQgc3R1Y2sgaW4gYW4gaW5maW5pdGUgbG9vcCB3aXRoIERpcmFjCgkgIEF0IHRoZSBlbmQsIERpcmFjIHN0cmVhbXMgaGF2ZSBhbiBFT1MgcGFja2V0IHdpdGggMCBsZW5ndGguCgkgIERvbid0IGV2ZXIgc2l0IGluIGFuIGluZmluaXRlIGxvb3Agd2hlbiBwcm9jZXNzaW5nIG9uZS4gQWxsb3dzCgkgIG11eGluZyBEaXJhYyBpbnRvIG1rdiB0byBjb21wbGV0ZSBzdWNjZXNzZnVsbHkuCgoyMDA5LTA5LTIyIDExOjAzOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDA5LTA5LTIyIDExOjAyOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICB2aWRlb21peGVyOiBmaXggdXAgTWFrZWZpbGUgc29tZSBtb3JlCgkgIFJlbW92ZSBDRkxBR1MgZnJvbSBMSUJBREQgYW5kIG1ha2Ugb3JkZXIgb2YgdGhlIHZhcmlvdXMgQ0ZMQUdTIGFuZAoJICBMSUJTIGF0IGxlYXN0IGNvbnNpc3RlbnQgd2l0aCBlYWNoIG90aGVyLgoKMjAwOS0wOS0yMiAwODowMjo0OCArMDIwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gTERGTEFHUyBmb3IgbGlua2luZyBsaWJnc3R2aWRlbwoJICBGaXhlcyBidWcgIzU5NTg5Ny4KCjIwMDktMDktMjEgMTg6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHRpbWVzdGFtcHMgaW4gcHVzaCBtb2RlCgoyMDA5LTA5LTE4IDE3OjI2OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGFkZCBhIEdfVU5MSUtFTFkgYW5kIHB1dCBwZXJmLWNhdCBsb2cgdG8gY29kZSBwYXRoIHRoYXQgY29waWVzCgoyMDA5LTA5LTIxIDEyOjMyOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBzb21lIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50cwoJICBNZWFzdXJlIHRoZSBwZXJmb3JtYW5jZSBvZiB2YXJpb3VzIGluZGV4IGFuZCBoZWFkZXIgcGFyc2luZyBzdGVwcyB0byB0aGUKCSAgUEVSRk9STUFOQ0UgZGVidWcgY2F0ZWdvcnkuCgoyMDA5LTA5LTE4IDExOjUzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogYWxsb3cgZm9yIHVua25vd24gdmFyeWluZyBudW1iZXIgb2YgZnJhbWVzIHBlciBidWZmZXIKCSAgSW4gcGFydGljdWxhciwgdGhpcyBjYXRlcnMgZm9yIFJUUCBwYXlsb2FkcyB3aXRoIG11bHRpcGxlIGZyYW1lcwoJICBwZXIgcGFja2V0LgoKMjAwOS0wOS0xOCAxMTo0NTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHVzZSBjb3JyZWN0IHNhbXBsZSBzaXplIGluIGNvbnZlcnNpb25zCgoyMDA5LTA5LTE4IDExOjQzOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZml4IGJ1ZmZlciB0aW1lIGFuZCBkdXJhdGlvbiBmb3IgbXVsdGlwbGUgZnJhbWVzIHBlciBwYWNrZXQKCjIwMDktMDktMTggMTQ6MjI6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNvbWUgbG9nZ2luZyBjbGVhbnVwIHRvIGhlbHAgdW5kZXJzdGFuZGluZyB0aGUgaW5kZXggcGFyc2luZyBvdmVyaGVhZAoKMjAwOS0wOS0xNiAxMzoyODoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvOiBsaW5rIGFnYWluc3QgR1NUX0JBU0VfTElCUwoKMjAwOS0wOS0xNSAxNzoyNDoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IEZpeCBhZGFwdGVyIGxlYWsKCSAgVGhlIGFkYXB0ZXIgd291bGQgYmUgbGVha2VkIGlmIGl0IHdhcyBlbXB0eSBhbmQgdGhlIGRhdGEgY291bGQgYmUgcHVzaGVkIG91dCBkaXJlY3RseS4KCjIwMDktMDktMTUgMTA6MDQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzCgkgIHBhX3N0cmVhbV9nZXRfdGltaW5nX2luZm8oKSBjYW4gcmV0dXJuIE5VTEwuCgkgIEZpeGVzIGJ1ZyAjNTk1MjIwLgoKMjAwOS0wOS0xNSAxMDowMTo1NCArMDIwMCAgRGF2aWQgSGVubmluZ3Nzb24gPGdub21lLndlYkBlcG9zdC5kaXdpYy5zZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXJzCgkgIHBhX3N0cmVhbV9nZXRfdGltaW5nX2luZm8oKSBjYW4gcmV0dXJuIE5VTEwuCgkgIEZpeGVzIGJ1ZyAjNTk1MjIwLgoKMjAwOS0wOS0xNCAxNjowNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgc3RyZWFtIGV2ZW50cwoJICBIYW5kbGUgc3RyZWFtIGV2ZW50cyBhbmQgcmVxdWVzdCBhIFBBVVNFL1BMQVkgc3RhdGUgY2hhbmdlIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHdoZW4gd2UgcmVjZWl2ZSBhIENPUksvVU5DT1JLIGV2ZW50LgoKMjAwOS0wOS0xMyAxMjozMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBuZXh0LWZpbGUgcHJvcGVydHkKCSAgQWRkIGEgcHJvcGVydHkgdG8gYWxsb3cgY29udHJvbCBvdmVyIHdoYXQgZXZlbnQgY2F1c2VzIGEgZmlsZQoJICB0byBmaW5pc2ggYmVpbmcgd3JpdHRlbiBhbmQgYSBuZXcgZmlsZSBzdGFydC4gIFRoZSBkZWZhdWx0IGlzCgkgIHRoZSBzYW1lIGFzIGJlZm9yZSAtLSBlYWNoIGJ1ZmZlciBjYXVzZXMgYSBuZXcgZmlsZSB0byBiZQoJICB3cml0dGVuLiAgQWRkZWQgaXMgYSBjYXNlIHdoZXJlIGJ1ZmZlcnMgYXJlIHdyaXR0ZW4gdG8gdGhlCgkgIHNhbWUgZmlsZSB1bnRpbCBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHN0cmVhbS4KCjIwMDktMDktMTMgMTU6NTU6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgZHZkZW11eDogVXNlIHZhbHVlcyBmcm9tIGRlY29kZXIgc3RydWN0dXJlIGRpcmVjdGx5CgkgIERvbid0IHN0b3JlIHRoZSBzYW1lIHZhbHVlcyBpbiB0aGUgR3N0RHZEZW11eC4gIFRoaXMKCSAgZml4ZXMgYSBidWcgd2hlcmUgZHZkZW11eCB3b3VsZCBkZXRlY3QgYSBzdHJlYW0gYXMgUEFMCgkgIGluc3RlYWQgb2YgTlRTQywgYW5kIHNpbGVudGx5IHBhcnNlIGl0IHdyb25nLgoKMjAwOS0wOS0xMyAxMjoyMDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkqIGV4dC9kdi9zbXB0ZV90ZXN0LmM6CgkgIGR2ZGVtdXg6IEFkZCBjb2RlIHRvIHBhcnNlIFNNUFRFIHRpbWUgY29kZXMKCSAgQ29kZSB0byBjb252ZXJ0IHRpbWUgY29kZXMgdG8vZnJvbSB0aW1lc3RhbXBzIGFuZCBmcmFtZSBudW1iZXJzLgoKMjAwOS0wOS0xMyAxMjowMToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBGaXggZGV0ZWN0aW9uIG9mIG5ldyBtZWRpYQoJICBUaGVyZSBhcmUgNSBvciA2IEFBVVggc291cmNlIGNvbnRyb2wgcGFja3MgaW4gYSBmcmFtZSwgYW5kIGFueQoJICBvZiB0aGVtIGNvdWxkIGhhdmUgUkVDX1NUIGNsZWFyZWQsIGluZGljYXRpbmcgYSByZWNvcmRpbmcgc3RhcnQKCSAgcG9pbnQuICBsaWJkdiBvbmx5IGNoZWNrcyB0aGUgZmlyc3QuCgoyMDA5LTA5LTEyIDE5OjI1OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogU2V0IERJU0NPTlQgZmxhZyBvbiBidWZmZXJzIHdoZW4gUkVDX1NUIGZsYWcgaXMgc2V0LgoJICBBbHNvIGFkZCBhIGZldyBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTIgMDA6MTM6MDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBjaGVjazogRml4IGEgY291cGxlIG9mIHRlc3RzLgoJICBUaGUgc291cGh0dHBzcmMgdGVzdCB3YXNuJ3QgY29tcGlsaW5nLiBUaGUgc291cC1taXNjLmggaGVhZGVyIGlzIG5lZWRlZCBmb3IKCSAgc291cF9zc2xfc3VwcG9ydGVkLgoJICBGaXggdGhlIHk0bWVuYyB0ZXN0IHRvIHVzZSBhICdwcm9ncmVzc2l2ZScgaGVhZGVyIGZvciB0aGUgdGVzdCBkYXRhIG5vdyB0aGF0CgkgIHRoZSBlbGVtZW50IG91dHB1dHMgY29ycmVjdCBpbnRlcmxhY2luZyBpbmZvLgoKMjAwOS0wOS0xMSAxMzozMjozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHRyZWF0IGEgemVyby1zaXplZCBkYXRhIGNodW5rIGFzIGV4dGVuZGluZyB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMgdGhhdCBkb24ndCBoYXZlIGEgdmFsaWQgZGF0YSBjaHVuayBsZW5ndGgsCgkgIGFwcGFyZW50bHkgc29tZSBwcm9ncmFtIGNyZWF0ZXMgdGhlc2UuCgoyMDA5LTA5LTExIDIyOjI0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGEgZnVuY3Rpb24gcG9pbnRlciBmb3IgZ2V0X2ZyYW1lIGZ1bmN0aW9uIGFuZCBvcHRpbWl6ZSBhIGJpdAoJICBVc2UgYSBmdW5jdGlvbi1wb2ludGVyIGZvciBtbWFwL3JlYWQsIGFzIHRoaXMgY2FuJ3QgY2hhbmdlIGR1cmluZyBjYXB0dXJlLiBBbHNvCgkgIHNwcmlua2xlIGEgZmV3IEdfTElLRUxZL1VOTElLRUxZIHRvIGltcHJvdmUgdGhlIGVycm9yLWxlc3MgY29kZSBwYXRoLgoKMjAwOS0wOS0xMSAyMjoxNTowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IGxvZyBidWZmZXIgY29waWVzIG9uIHF1ZXVlIHVuZGVycnVuIGluIHBlcmYgY2F0ZWdvcnkKCSAgdjRsMnNyYyBoYXMgYSBzbG93IHBhdGggd2hlcmUgaXQgZG9lcyBidWZmZXItY29waWVzIHdoZW4gaXQgcnVucyBvdXQgb2YgcXVldWVkCgkgIGJ1ZmZlcnMuIExvZyB0aGlzIHRvIHBlcmZvcm1hbmNlIGNhdGVnb3J5IHRvIGhlbHAgbW9uaXRvcmluZyBpdC4KCjIwMDktMDktMTEgMTU6MTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlCgoyMDA5LTA5LTExIDE2OjA5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEltcGxlbWVudCBtdXRlIHByb3BlcnR5CgoyMDA5LTA5LTExIDEzOjMzOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBmaXggZG9jcyByZWZlcmluZyB0byBzZW5kLW1lc3NhZ2VzCgoyMDA5LTA5LTExIDEzOjI4OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogYWRkIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkKCSAgQWRkIGEgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlIHRoZSBsZXNzIGRlc2NyaXB0aXZlIG1lc3NhZ2UKCSAgcHJvcGVydHkuCgoyMDA5LTA5LTExIDEzOjIwOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIHBpeGJ1ZnNpbms6IGFkZCBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5CgkgIEFkZCBwb3N0LW1lc3NhZ2VzIGFuZCBkZXByZWNhdGUgc2VuZC1tZXNzYWdlcyBhcyB0aGUgZm9ybWVyIGlzIG1vcmUKCSAgZGVzY3JpcHRpdmUgb2Ygd2hhdCBhY3R1YWxseSBoYXBwZW5zLgoKMjAwOS0wOS0xMSAxMzoxMjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogcmVuYW1lIHNpbGVudCB0byBwb3N0LW1lc3NhZ2VzCgkgIFVzZSB0aGUgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eSBuYW1lIGluc3RlYWQgb2Ygc2lsZW50IGFzIGl0IGlzIG1vcmUKCSAgZGVzY3JpcHRpdmUuCgoyMDA5LTA5LTExIDEyOjE2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IG1lc3NhZ2VzIGZvciBlYWNoIGJ1ZmZlcgoJICBBZGQgYSBzaWxlbnQgcHJvcGVydHkgdGhhdCBjYW4gYmUgc2V0IHRvIEZBTFNFIHRvIHBvc3QgbWVzc2FnZXMgb24gdGhlIGJ1cyBmb3IKCSAgZWFjaCB3cml0dGVuIGZpbGUuCgkgIERvIHNvbWUgbW9yZSBjbGVhbnVwcy4KCSAgQWRkIHNvbWUgZG9jcy4KCSAgRml4ZXMgIzU5NDY2MwoKMjAwOS0wOS0wOSAxODoxMzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEFsbG9jYXRlIEJvdW5kcnkgc3RydWN0cyBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB0aGUgaGVhcCB0byBhdm9pZCBsZWFrcwoJICBGaXhlcyBidWcgIzU5NDY5MS4KCjIwMDktMDktMTAgMTA6Mjg6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIGRvY3M6IGZpeCBndGstZG9jIHdhcm5pbmdzCgoyMDA5LTA5LTEwIDEwOjI2OjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIGRvY3M6IGZpeCBndGstZG9jIHdhcm5pbmdzCgoyMDA5LTA5LTA5IDE3OjUxOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgZHYxMzk0c3JjOiBBZGQgYSBjbG9jayBiYXNlZCBvbiBpc29jaHJvbm91cyBjeWNsZSBjb3VudGVyCgkgIFBhcnRpYWwgZml4IGZvciAjMTY5MzgzLgoKMjAwOS0wOS0wOSAxNjowMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBBWVVWLT5JNDIwIGNvbnZlcnNpb24KCSAgRm9yIHRoaXMgZml4IHRoZSBhdmVyYWdpbmcgb2YgdGhlIGNocm9tYSB2YWx1ZXMuIEl0IHNob3VsZCd0IGJlIChhLzIgKyBiKS8yCgkgIGJ1dCBqdXN0IChhICsgYikvMi4KCSAgRml4ZXMgYnVnICM1OTQ1OTkuCgoyMDA5LTA5LTA5IDE2OjI1OjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVtb3ZlIHJpbmdidWZmZXIgcmVzZXQgY29tcGVuc2F0aW9uCgkgIFJlbW92ZSB0aGUgY29kZSB0byBkZWFsIHdpdGggYSByaW5nYnVmZmVyIHJlc2V0IGFzIHRoaXMgY29kZSBpcyBub3cgaW4gdGhlIGJhc2UKCSAgY2xhc3MuCgkgIEJ1bXAgdGhlIC1iYXNlIHJlcXVpcmVtZW50IGFzIHdlIG5lZWQgdGhlIG5ldyBiYXNlYXVkaW9zaW5rIGNvZGUgdG8gZnVuY3Rpb24KCSAgcHJvcGVybHkuCgoyMDA5LTA5LTA5IDE2OjI0OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDkgMTA6Mjc6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgIHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDggMTk6MzQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSAgcHVsc2U6IHNtYWxsIGNsZWFudXBzCgkgIEFkZCBzb21lIGRlYnVnIGluZm8KCSAgRml4IHRoZSBzdGF0ZSBjaGFuZ2VzCgoyMDA5LTA5LTA4IDE4OjI5OjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIG11bHRpcGFydG11eDogbWFyayBkYXRhIGJ1ZmZlciBhcyBkZWx0YS11bml0CgkgIFNvIHRoYXQgbXVsdGlmZHNpbmsgYWx3YXlzIHN0YXJ0IHNlbmRpbmcgaGVhZGVyIGJ1ZmZlciBmaXJzdAoJICBGaXhlcyAjNTk0NTIwCgoyMDA5LTA5LTA4IDE3OjM3OjE1ICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBpZ25vcmUtcHQgcGFyYW1ldGVyCgkgIEFkZCBhIHBhcmFtZXRlciAnaWdub3JlLXB0JyB0aGF0IGRpc2FibGVzIGNyZWF0aW5nIGEgZ3N0cnRwcHRkZW11eCBtb2R1bGUgYW5kCgkgIGdob3N0cyB0aGUgcGFkcyBvZiBnc3RydHBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiB0aGUgb25lcyBvZiBnc3RydHBwdGRlbXV4LgoJICBGaXhlcyAjNTk0NDkwCgoyMDA5LTA5LTA0IDEzOjUxOjM3ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydmluX3NjaG1pZHRAZ214Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIGNoZWNrczogb25seSBydW4gSFRUUFMgdGVzdCBpZiBsaWJzb3VwIGhhcyBTU0wgc3VwcG9ydAoKMjAwOS0wOS0wOCAxMzo1OTo1NiArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBwcm9wYWdhdGUgcGF5bG9hZC10eXBlLWNoYW5nZSBzaWduYWwgZnJvbSBkZW11eGVyCgkgIGZpeGVzICM1OTQyNTQKCjIwMDktMDgtMzEgMTg6NDY6MjUgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNoYW5nZSBzZXZlcml0eSBvZiBjbG9jay1yYXRlIGNoYW5nZSBkZWJ1ZwoJICBNYWtlIGxvZyBHU1RfREVCVUcgdW5kZXIgbm9ybWFsIGNpcmN1bXN0YW5jZXMsIEdTVF9XQVJOSU5HIG90aGVyd2lzZS4KCSAgRml4ZXMgIzU5NDI1MwoKMjAwOS0wOS0wOCAxMzozOTozMSArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHRocm93aW5nIHJlb3JkZXJlZCBidWZmZXJzIHdpdGggc2FtZSB0aW1lc3RhbXBzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIHJlb3JkZXJlZCBwYWNrZXQgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgdGhlIHByZXZpb3VzIG9uZQoJICAod2hpY2ggY2FuIGhhcHBlbiBmb3IgZnJhZ21lbnRlZCBwYWNrZXRzKSBkb24ndCBjb25zaWRlciB0aGUgcGFja2V0IGFzIGxvc3QgYnV0CgkgIGluc3RlYWQgd2FpdCBmb3IgdGhlIHJlb3JkZXJlZCBwYWNrZXQgdG8gYXJyaXZlLgoJICBTd2l0Y2ggdGhlIHdhcm5pbmctbGV2ZWwsIHNvIHRoYXQgYSByZW9yZGVyaW5nIGRvZXMgbm90IGdldCBhIHdhcm5pbmcsIG9ubHkKCSAgYW4gYWN0dWFsIHByb2R1Y2VkIGxvc3QtcGFja2V0LgoJICBGaXhlcyAjNTk0MjUxCgoyMDA5LTA4LTMxIDIxOjE2OjU0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJICBydHBqcGVnZGVwYXk6IGFkZCBtaXNzaW5nIG1hdGguaCBpbmNsdWRlCgkgIEZpeGVzICM1OTQyNDcKCjIwMDktMDktMDggMTM6MzA6MjkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UoKSwgcnRzcHNyYyBkb2VzIGEgZ19zdHJuZHVwIG9mIHRoZSBhdXRoCgkgIGhlYWRlciBpdGVtcyBhbmQgdGhlbiBwYXNzZXMgdGhlbSB0byBnc3RfcnRzcF9jb25uZWN0aW9uX3NldF9hdXRoX3BhcmFtKCkKCSAgd2l0aG91dCBmcmVlaW5nLgoJICBGaXhlcyAjNTk0MTMzCgoyMDA5LTA5LTA4IDEzOjE4OjI5ICswMjAwICBTdGlnIFNhbmRuZXMgPHN0aWcuc2FuZG5lc0B0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBtYWtlIGZyZWVfc2Vzc2lvbigpIHJlbW92ZSBzdHJlYW0gcmVmZXJlbmNlcwoJICBXaGVuIHJlY2VpdmluZyBhIHN5bmMtcGFja2V0LCBhbGwgc2Vzc2lvbnMgd2l0aCB0aGUgc2FtZSBjbmFtZSB3aWxsIGJlIGNvbXBhcmVkCgkgIGFuZCBzeW5jZWQgdG9nZXRoZXIuIEluIHRoaXMgcHJvY2VzcywgdGhlcmUgY291bGQgc3RpbGwgYmUgcmVmZXJlbmNlcyB0byBhCgkgIHNlc3Npb24gdGhhdCBoYXMgYmVlbiBzaHV0IGRvd24gaW4gdGhlIG1lYW53aGlsZS4KCSAgVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgdGhlc2UgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZCB3aGVuIHNodXR0aW5nIGRvd24gYQoJICBzZXNzaW9uLCBzbyB0aGF0IHRoZSBzeW5jaW5nIGNhbiBiZSBkb25lIHNhZmVseS4KCSAgRml4ZXMgIzU5NDI4MwoKMjAwOS0wOC0zMSAxODo0Njo1MSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIGxvY2tlZCBzdGF0ZSBvbiBpbnRlcm5hbCBiaW5zCgkgIFNldCB0aGUgbG9ja2VkIHN0YXRlIG9uIGludGVybmFsIGVsZW1lbnRzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgZG9uJ3QgY2hhbmdlCgkgIGJhY2sgdG8gYW5vdGhlciBzdGF0ZSB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM1OTQyNDgKCjIwMDktMDktMDcgMTg6Mjg6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBhZGQgc3VwcG9ydCBmb3IgbXBlZyBmb3JtYXRzCgoyMDA5LTA5LTA1IDIwOjUxOjE0IC0wNzAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgeTRtZW5jOiBBZGQgaW50ZXJsYWNlZCBzdXBwb3J0CgkgIEZpeGVzICM1OTE3MTMKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTA4LTI0IDEzOjQyOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmVtb3ZlIFJvbmFsZCBCdWx0amUgZnJvbSBBdXRob3JzIGZpZWxkCgkgIFJlcGxhY2VkIHdpdGggIkdTdHJlYW1lciBtYWludGFpbmVycwoJICA8Z3N0cmVhbWVyLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iIG9yIGp1c3QgcmVtb3ZlZCwKCSAgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygb3RoZXIgYXV0aG9ycy4KCjIwMDktMDktMDUgMTA6MjE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMGE4NTllIHRvIDE5ZmE0ZjMKCjIwMDktMDktMDQgMTM6NDI6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IGEgc3B1cmlvdXMgZGVidWcgd2FybmluZwoKMjAwOS0wOS0wNCAwOTozMjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IERlZmluZSBWNEwyX0ZNVF9GTEFHX0VNVUxBVEVEIGlmIGl0J3Mgbm90IGRlZmluZWQgeWV0CgkgIGxpYnY0bDIgYWxyZWFkeSB1c2VzIHRoaXMgZmxhZywgZXZlbiBvbiBMaW51eCBrZXJuZWwgdmVyc2lvbnMKCSAgYmVmb3JlIDIuNi4zMi4KCjIwMDktMDktMDQgMDc6MTA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENvcnJlY3RseSBoYW5kbGUgTlVMTCBHc3RJbmRleAoKMjAwOS0wOS0wMyAyMDo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEZpeCBzdHVwaWQgdHlwbyBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wOS0wMyAyMDozODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFB1dCBlbXVsYXRlZCBmb3JtYXRzIGJlaGluZCBuYXRpdmUgZm9ybWF0cwoJICBGaXhlcyBidWcgIzU5Mzc2NC4KCjIwMDktMDktMDMgMTk6Mzc6MTAgKzAyMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvby5mcj4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGZpeCBtZW1sZWFrCgkgIERvbid0IGxlYWsgdGhlIGlucHV0IGJ1ZmZlciB3aGVuIHRoZSByZWNlaXZlZCBhbmQgZXhwZWN0ZWQgc2VxbnVtIGFyZSBkaWZmZXJlbnQgd2hlbgoJICBpbiBwcm9iYXRpb24uCgkgIGZpeGVzICM1OTQwMzkKCjIwMDktMDktMDIgMTU6MjE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IExvY2sgY2xvY2tfcmF0ZSB2YXJpYWJsZQoJICBUaGUgcHJpdi0+Y2xvY2tfcmF0ZSB2YXJpYWJsZSBjb3VsZCBiZWNvbWUgLTEgYmV0d2VlbiB3aGVuIGl0cyBjaGVja2VkIHRvIG5vdAoJICBiZSAtMSBhbmQgd2hlbiBpdHMgdXNlZCwgY2F1c2luZyBhbiBhc3NlcnRpb24uIEZpeGVkIGJ5IHRha2luZyB0aGUgbXV0ZXgKCSAgZWFybGllciBpbiB0aGUgY2hhaW4oKSBmdW5jdGlvbi4KCSAgRml4ZXMgIzU5Mzk1NQoKMjAwOS0wOS0wMyAxOToxMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTk6MDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHBtcGFwYXk6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTk6MDg6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDktMDMgMTc6MzM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEF2b2lkIHVubmVjZXNzYXJ5IHByb2Nlc3NpbmcgdW50aWwgd2UgaGF2ZSBhIGZ1bGwgcGljdHVyZS4KCSAgVGhpcyBpcyBmb3Igbm9uLXBhY2tldGl6ZWQgbW9kZSwgd2hlbiB3ZSBrbm93IHRoZSB1cHN0cmVhbSBzaXplIGluIGJ5dGVzLgoKMjAwOS0wOS0wMyAxNDo0MDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmdWxseSB1c2UgdGFnc2V0dGVyIHRvIG1hbmFnZSB0aGUgdGFncy4gRml4ZXMgIzU2MzIyMQoJICBUaGVyZSBpcyBubyBuZWVkIHRvIG1hbmFnZSBhIHNlcGFyYXRlIHRhZ2xpc3QuCgoyMDA5LTA5LTAzIDE0OjEzOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHNtYWxsIHRhZ2xpc3QgaGFuZGxpbmcgY2xlYW51cAoJICBEb24ndCBldmVudHVhbHkgbGVhayB0aGUgbGlzdCBhbmQgaW5zdGVhZCBhc3NlcnQgKGxpa2UgaW4gb3RoZXIgZWxlbWVudHMpLgoKMjAwOS0wOS0wMiAyMzoxMjo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFsc28gZ3VhcmQgcmVzZXRpbmcgc3Vic2NyaWJlIGNhbGxiYWNrIHdpdGggaWZkZWZzCgkgIEl0IGlzIGNvbmRpdGlvbmFseSBzZXQsIHNvIGRvIHRoZSBzYW1lIHdoZW4gdW5zZXR0aW5nLgoKMjAwOS0wOS0wMSAxNTowNjo0NiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEZpeGVkIGEgY29weSAmIHBhc3RlIGVycm9yCgoyMDA5LTA5LTAxIDEzOjIxOjIzICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgcHJpdgoJICBUaGUgdmFyaWFibGUgcHJpdiB3YXMgaW5pdGlhbGl6ZWQgaW4gYSBsb3Qgb2YgZnVuY3Rpb25zIGJ1dCB0aGVuIG5ldmVyCgkgIHVzZWQgZm9yIGFueXRoaW5nLgoKMjAwOS0wOS0wMSAxMzowMzo1NyArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEEgbGl0dGxlIGNsZWFuIHVwCgkgIE1ha2UgdGhlIGNvZGUgZmxvdyBvZiBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgYW5kCgkgIGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AoKSBpZGVudGljYWwuCgoyMDA5LTA5LTAxIDEyOjQ3OjUxICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogTWFrZSBzdXJlIHRoYXQgdXNlZCBjYXBzIGFyZSBub3QgZnJlZWQgYWxyZWFkeSAodGFrZSAyKQoJICBUaGlzIHJlaW50cm9kdWNlcyB0aGUgZml4IGZvciBidWcgIzU5MzM5MS4gSXQgYWxzbyBhcHBsaWVzIGl0IGluCgkgIGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3AoKSB3aGljaCBoYXMgdmVyeSBzaW1pbGFyIGNvZGUgdG8KCSAgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpLgoKMjAwOS0wOS0wMSAxMjo0MTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogbWFrZSBzdXJlIHRpbWUgZG9lcyBub3QgZ28gYmFja3dhcmRzCgkgIFdoZW4gd2UgY29uc3RydWN0IGEgdGltZXN0YW1wIHRoYXQgd291bGQgcmVzdWx0IGluIGEgdGltZXN0YW1wIHRoYXQgaXMgZWFybGllcgoJICB0aGFuIHdoZW4gdGhlIHBhY2tldCB3YXMgcmVjZWl2ZWQsIHJlc2V0IHRoZSBza2V3IGNhbGN1bGF0aW9uIGFzIHRoaXMgaXMKCSAgcHJvYmFibHkgYSBzaWduIHRoYXQgdGhlIHNlbmRlciByZXN0YXJ0ZWQgb3IgcGF1c2VkLgoJICBGaXhlcyAjNTkzMzU0CgoyMDA5LTA5LTAxIDExOjMyOjQxICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogU2V0IGNhcHMgaW4gZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGNvcnJlY3RseSBhZ2FpbgoJICBUaGUgdGVzdCBmb3Igd2hlbiB0byBzZXQgYW4gUlRDUCBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkIGluCgkgIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBhY2NpZGVudGFsbHkgZ290IGludmVydGVkIGluIHRoZSBsYXN0IGNvbW1pdC4KCjIwMDktMDktMDEgMTA6MjY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgUUNFTFAgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTM3NTcuCgoyMDA5LTA4LTMxIDE4OjEwOjExICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIGVmZmVjdHY6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyAzCgkgIFJlY2VudCBjaGFuZ2VzIGluIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L2VmZmVjdHYgcHJldmVudHMgaXQgZnJvbSBiZWluZyBjb21waWxlZAoJICB3aXRoIGdjYyAzLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBuZXcgY29kZSB1c2VzIHByZXByb2Nlc3NvciBjb25kaXRpb25hbHMKCSAgd2l0aGluIGEgbWFjcm8gY2FsbCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgZ2NjLgoJICBGaXhlcyBidWcgIzU5MzY4OC4KCjIwMDktMDgtMzEgMTY6MjA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHNtYWxsIGNsZWFuLXVwcyBpbiAtc2VjdGlvbnMudHh0CgkgIFJlbW92ZSBkdXBsaWNhdGUgZW50cnkgZm9yIHdhcnB0djsgdGhlcmUgaXMgbm8gdGFnbGlibXV4IGVsZW1lbnQuCgoyMDA5LTA4LTI3IDE1OjQ2OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogY29uc2lkZXIgKG9wdGlvbmFsKSBhdXhpbGlhcnkgZGF0YSB3aGVuIHBhcnNpbmcKCjIwMDktMDgtMjcgMTU6NDY6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgcnRwbXA0Z2RlcGF5OiBoYW5kbGUgYnJva2VuIEFVLUluZGV4IGluIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW1zCgkgIEluIGNhc2Ugb2Ygbm9uLWludGVybGVhdmVkICg9IHNlcXVlbnRpYWxseSBwYXlsb2FkZWQpIHN0cmVhbXMsCgkgIHRoZSBBVS1JbmRleCBzZXJ2ZXMgbGl0dGxlIHB1cnBvc2UgKHRoYXQgaXMgbm90IGFscmVhZHkgY292ZXJlZCBieQoJICBSVFAgZmllbGRzKS4gIChCcm9rZW4pIFBheWxvYWRlcnMgbWlnaHQgY29uc2lkZXIgdGhpcyBmaWVsZCB0aGVuCgkgIHRvIGJlIGRpc3JlZ2FyZGVkIGFuZCBoYXZlIG5vbiBzcGVjIGNvbXBsaWFudCB2YWx1ZXMsIGUuZy4gZWFjaAoJICBSVFAgcGFja2V0IGhhdmluZyBBVS1JbmRleCAyIChyYXRoZXIgdGhhbiAwKS4gIEFzIHN1Y2gsIGVuc3VyZS9mb3JjZQoJICBzaW1wbGUgc2VxdWVudGlhbCBzZW5kaW5nIG9mIG5vbi1pbnRlcmxlYXZlZCBzdHJlYW1zLgoKMjAwOS0wOC0xOCAxNzoxNzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFsc28gZXh0cmFjdCBmdHlwIGluZm8gaW4gcHVzaCBtb2RlCgoyMDA5LTA4LTEzIDE2OjExOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBjb25zaWRlciAzZ3BwIHN0eWxlIHRhZyBwYXJzaW5nIGluIHNvbWUgbW9yZSBjYXNlcwoJICAzR1BQIHNwZWNzIGRlZmluZSBhIG51bWJlciBvZiB0YWdzIGFsb25nIHdpdGggcHJlY2lzZSBsYXlvdXQuIFdoaWxlIHRoZXNlCgkgIGFyZSBub3JtYWxseSBleHBlY3RlZCB0byBiZSBmb3VuZCBpbiBhIGNvbnRhaW5lciB3aG9zZSBtYWpvciBicmFuZCBpcyBhCgkgIDNHUFAgYnJhbmQsIHRoaXMgbWF5IGFsc28gaGFwcGVuIHdoZW4gYSAzR1BQIGJyYW5kIGlzIG9ubHkgbWVudGlvbmVkIGFzIGEKCSAgY29tcGF0aWJsZSBicmFuZC4gIEFwcGx5IHNvbWUgY2hlY2tzLCBoZXVyaXN0aWMgYW5kIGZhbGxiYWNrcyB0byBleHRyYWN0CgkgIHN1Y2ggdGFncyBhcyB3ZWxsLgoKMjAwOS0wOC0xMSAxMzo1Njo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlZmxvdyBleGl0LCBhbmQgZml4IHNvbWUgbGVha3MKCjIwMDktMDgtMTEgMTM6NTQ6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBwdXNoIG1vZGU7IGFkZCBwYWQgaWYgbmVlZGVkIHNvIGRvd25zdHJlYW0gZ2V0cyBFT1MKCjIwMDktMDgtMTAgMTY6MTk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogcHVzaCBtb2RlOyBmaXgvaW1wcm92ZSBjaHVuayBoYW5kbGluZwoJICBIYW5kbGUgbGFyZ2UsIGludmFsaWQgb3Igb3RoZXJ3aXNlIHVudXN1YWwgY2h1bmsgc2l6ZXMuCgkgIFZlcmlmeSBzb21lIGNodW5rIHNpemVzIHRvIGJlIGF0IGxlYXN0IHRoZSBzaXplIHRoZXkgYXJlCgkgIGV4cGVjdGVkIHRvIGJlIGFuZCByb3VuZCB1cCBzb21lIHNpemVzIHRvIGV2ZW4gbnVtYmVyIGZvcgoJICBlLmcuIG9mZnNldCBhZG1pbmlzdHJhdGlvbiwgd2hpY2ggbXVzdCBhbHNvIGJlIHByb3Blcmx5CgkgIHRyYWNrZWQgaW4gcHVzaCBtb2RlLgoKMjAwOS0wOC0wOCAyMTo1NDowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgY2F0ZXIgZm9yIHVudXN1YWwgY2h1bmsgc2l6ZXMKCjIwMDktMDgtMzEgMTY6MzQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBwcm9wZXIgbG9ja2luZyBmb3IgcGFkcyBhbmQgY2FwcwoJICBVc2UgdGhlIHNlc2lvbiBsb2NrIGFuZCBzaG90ZG93biB2YXJpYWJsZSB0byBwcm90ZWN0IGFuZCByZWYgdGhlIHBhZHMgd2UgYXJlCgkgIGdvaW5nIHRvIHB1c2ggb24uCgkgIGZpeGVzICM1NjE4MjUKCjIwMDktMDgtMzEgMTY6MzM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA4LTMxIDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xlYW4gdXAgYWRhcHRlciBwcm9wZXJseQoJICBSZWZsb3cgY29kZSBzbyB3ZSBkb24ndCB0cnkgdG8gY2xlYXIgb3IgcmUtdXNlIGFuIGFscmVhZHktZnJlZWQgYWRhcHRlci4KCjIwMDktMDgtMzEgMTM6MDc6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZmxhY3RhZywgd2F2cGFyc2U6IEdzdEFkYXB0ZXIgaXMgbm90IGEgR3N0T2JqZWN0CgoyMDA5LTA4LTMxIDEyOjI4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MgdG8gZ2l0IHZlcnNpb24KCjIwMDktMDgtMzEgMTE6MzI6MzkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB0ZXN0cyB3YXJuaW5nIGZyb20gc2V0dGluZyBhIE5VTEwgaW5kZXgKCSAgU2V0dGluZyBhIG51bGwgaW5kZXggaW4gdGhlIHRlc3RzIHdhcyBjYXVzaW5nIHdhcm5pbmdzIGJ5IHVucmVmZmluZwoJICBOVUxMIHBvaW50ZXJzLiBUaGlzIGlzIGEgYnVnIGV4cG9zZWQgYnkgYSByZWNlbnQgY2hhbmdlIGluIGNvcmUsIGl0CgkgIHNlZW1zLgoKMjAwOS0wOC0zMSAxMzowMjoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBzbG9wZSBlc3RpbWF0aW9uIGNvZGUgYW5kIGRlYnVnCgkgIEFkZCBzb21lIGNvZGUgdG8gbWVhc3VyZSB0aGUgc2VuZGVyIHNwZWVkIHZzIHRoZSByZWNlaXZlciBzcGVlZC4gVGhpcyBjYW4gYmUKCSAgdXNlZCB0byBkZXRlY3QgYnVyc3RzLgoKMjAwOS0wOC0zMSAxMjo1NzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlc2V0IHNrZXcgd2hlbiB0aW1lc3RhbXBzIGNoYW5nZQoJICBSZWZhY3RvciB0aGUgaml0dGVyYnVmZmVyIHJlc3luYyBjb2RlLgoJICBSZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgYmlnIHRpbWVzdGFtcCBkaXNjb250LgoJICBTZWUgIzU5MzM1NAoKMjAwOS0wOC0zMSAxMjo0NzoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1ha2Ugc3VyZSB0aW1lIG5ldmVyIGdvZXMgaW52YWxpZAoJICBTaW5jZSB0aGUgc2tldyBjYW4gYmUgbmVnYXRpdmUsIHdlIG1pZ2h0IGVuZCB1cCB3aXRoIGludmFsaWQgdGltZXN0YW1wcy4gQ2hlY2sKCSAgZm9yIG5lZ2F0aXZlIHJlc3VsdHMgYW5kIGNsYW1wIHRvIDAuCgkgIFNlZSAjNTkzMzU0CgoyMDA5LTA4LTMxIDEyOjE2OjAxICswMjAwICBKYXJra28gUGFsdmlhaW5lbiA8amFya2tvLnBhbHZpYWluZW4gYXQgc2VzY2EuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzaW5rOiBBZGQgdHRsIG11bHRpY2FzdCBwcm9wZXJ0eQoJICBBZGQgYSBuZXcgdHRsLW1jIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIFRUTCBvbiBtdWx0aWNhc3QgYWRkcmVzc2VzLgoJICBGaXhlcyAjNTg4MjQ1CgoyMDA5LTA4LTMxIDEyOjEzOjA3ICswMjAwICBKYXJra28gUGFsdmlhaW5lbiA8amFya2tvLnBhbHZpYWluZW4gYXQgc2VzY2EuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogc3BsaXQgb3V0IFRUTCBhbmQgbG9vcCBvcHRpb25zCgkgIFNwbGl0IHNldHRpbmcgdGhlIFRUTCBhbmQgbG9vcCBwYXJhbWV0ZXJzIGluIDIgbWV0aG9kcyBhcyB0aGV5IGFyZSBub3QgcmVsYXRlZC4KCSAgRml4IHNldHRpbmcgdGhlIFRUTCBjb3JyZWN0bHkgZm9yIG11bHRpY2FzdCBzdHJlYW1zLgoJICBTZWUgIzU4ODI0NQoKMjAwOS0wOC0yNyAxMjozNjozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwOiB3aGl0ZXNwYWNlIGZpeGVzCgoyMDA5LTA4LTE0IDEzOjQ1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICB2aWRlb2JveDogQ29ycmVjdGx5IGFkZCB0byB0aGUgZG9jcwoKMjAwOS0wOC0xNCAxMzo0MDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFNwbGl0IGRlY2xhcmF0aW9ucyBpbnRvIGEgaGVhZGVyIGZpbGUgYW5kIGFkZCBhdXRvY3JvcCBzdHVmZiB0byB0aGUgZG9jcwoKMjAwOS0wOC0xNCAxMzoyNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFJlY29uZmlndXJlIGJhc2V0cmFuc2Zvcm0gaWYgc29tZXRoaW5nIGNoYW5nZXMgYWdhaW4KCSAgRm9yIHRoaXMgaW52ZW50IGEgbmV3IGxvY2sgYW5kIGRvbid0IGFidXNlIHRoZSBiYXNldHJhbnNmb3JtIGxvY2ssCgkgIG90aGVyd2lzZSB3ZSdsbCBlbmQgdXAgaW4gZGVhZGxvY2tzLgoKMjAwOS0wOC0xNCAxMzoxNTo1NyArMDIwMCAgU3RlcGhlbiBKdW5nZWxzIDxzdGVwaGVuQGp1bmdlbHMubmV0PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgYXV0b2Nyb3BwaW5nIGFjY29yZGluZyB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzU4MjIzOC4KCjIwMDktMDgtMzAgMjE6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBNYWtlIHN1cmUgdGhhdCB1c2VkIGNhcHMgYXJlIG5vdCBmcmVlZCBhbHJlYWR5CgkgIEZpeGVzIGJ1ZyAjNTkzMzkxLgoKMjAwOS0wOC0yNiAxNzowMjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHA6IFVzZSBuZXcgZ3N0X2l0ZXJhdG9yX25ld19zaW5nbGUoKSBmb3IgdGhlIGludGVybmFsIGxpbmtlZCBwYWRzIGl0ZXJhdGlvbgoKMjAwOS0wOC0xOSAxNjo1NzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTY6NDg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNjozNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTMwIDIzOjI3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbgoKMjAwOS0wOC0zMCAyMzoyNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE2LjEKCj09PSByZWxlYXNlIDAuMTAuMTYgPT09CgoyMDA5LTA4LTI5IDEyOjA1OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgUmVsZWFzZSAwLjEwLjE2CgoyMDA5LTA4LTI2IDAwOjU4OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xNS41IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI1IDE2OjUzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHVzZSByZWxhdGl2ZSBzZWVrcwoJICBEb24ndCB1c2UgcmVsYXRpdmUgc2Vla3MsIGl0J3MgdG9vIGhhcmQgdG8gdHJhY2sgd2hlcmUgd2UgYXJlIGFmdGVyIGEgZmx1c2gKCSAgZXRjLgoJICBmaXhlcyAjNTkzMDE1CgoyMDA5LTA4LTI0IDE3OjUwOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjQgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjQgMTY6MjI6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGRvbid0IGRpc2NhcmQgdGhlIHJlc3VsdCBvZiBfc2V0X2NhcHMoKQoJICBVc2UgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBhc3N1bWluZyBzdWNjZXNzLgoJICBTZWUgIzU5MDY3OAoKMjAwOS0wOC0yMSAxMTo0NDo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIGFnc20KCSAgRml4ZXMgIzU5MjUzMAoKMjAwOS0wOC0xOCAxNzoxNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBxdCBzdHlsZSBzdHJpbmcgdGFnIGV4dHJhY3Rpb24KCSAgUVQgc3R5bGUgdGFncyBhcmUgdGVzdGVkIG9uIHN0YXJ0aW5nIHdpdGggKEMpIHN5bWJvbCB1c2luZyA+PiwKCSAgYW5kICh1bnNpZ25lZCkgaW50IChtYXkpIGhhdmUgZGlmZmVyZW50ID4+IGJlaGF2aW91ci4KCSAgRml4ZXMgIzU5MjIzMi4KCjIwMDktMDgtMTcgMTU6NDg6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBzbW9rZWVuYzogZG9uJ3QgY3Jhc2ggd2hlbiBjb21waWxlZCBhZ2FpbnN0IGxpYmpwZWc3CgkgIFNldCBwYXJhbWV0ZXJzIHNvIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2l0aCBsaWJqcGVnNy4gQmFzZWQgb24KCSAgU3RlZmFuIEtvc3QncyBmaXggZm9yIGpwZWdlbmMuIEZpeGVzICM1OTE5NTEuCgoyMDA5LTA4LTE0IDIwOjE4OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuMyBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xNCAxMzo0NTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgY2hlY2tzOiBhZGQgdGVzdCBmb3IgbGVhayB0byBydHBiaW4gdW5pdCB0ZXN0CgkgIFNlZSAjNTkxNDc2LgoKMjAwOS0wOC0xMSAxNDo0NzoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRml4IHJlZmVyZW5jZSBsZWFrCgkgIEZpeGVzICM1OTE0NzYuCgoyMDA5LTA4LTE0IDEzOjM0OjUzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBzZXQgYm90dG9tIGZpZWxkIGZpcnN0IG9uIFBBTCBpbnRlcmxhY2VkIGNvbnRlbnQsIG5vdCB0b3AgZmllbGQgZmlyc3QKCSAgRFYgaW50ZXJsYWNlZCBjb250ZW50IGlzIGFsd2F5cyBib3R0b20gZmllbGQgZmlyc3QuIEZpeGVzICM1OTE3MTIuCgoyMDA5LTA4LTE0IDEyOjQ0OjA2ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggJ2hhbmcnIHdpdGggc29tZSBjYW1lcmFzIGNhdXNlZCBieSBiYWQgdGltZXN0YW1waW5nIGlmIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUKCSAgRm9yIGNhbWVyYXMvZHJpdmVycyB0aGF0IGRvbid0IHN1cHBvcnQgZS5nLiBWSURJT0NfR19QQVJNIHdlJ2QgZW5kIHVwIHdpdGhvdXQKCSAgYSBmcmFtZXJhdGUgYW5kIHdvdWxkIHRyeSB0byBkaXZpZGUgYnkgMCwgY2F1c2luZyBydW4tdGltZSB3YXJuaW5ncyBhbmQgYWxsCgkgIGZyYW1lcyB0byBiZSB0aW1lc3RhbXBlZCB3aXRoIDAsIHdoaWNoIG1ha2VzIHNpbmtzIHRoYXQgc3luYyBhZ2FpbnN0IHRoZSBjbG9jawoJICBkcm9wIHRoZW0sIGNhdXNpbmcgJ2hhbmdzJyAob2JzZXJ2ZWQgd2l0aCB0aGUgcHdjIGRyaXZlciBhbmQgYSBMb2dpdGVjaCBRdWlja0NhbQoJICBQcm8gNDAwMCkuIFNvIGlmIHdlIGRvIG5vdCBrbm93IHRoZSBmcmFtZXJhdGUsIHNpbXBseSBkb24ndCBhZGp1c3QgdGhlCgkgIHRpbWVzdGFtcHMuIEZpeGVzICM1OTE0NTEuCgoyMDA5LTA4LTE0IDEwOjExOjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBjbGVhciBmb3JtYXQgbGlzdCBpbiBSRUFEWS0+TlVMTAoJICBDbGVhciBmb3JtYXQgbGlzdCBhbmQgcHJvYmVkIGNhcHMgd2hlbiBnb2luZyB0byBOVUxMIHNvIGlmIGEgbmV3IGRldmljZQoJICBpcyBzZXQgd2UnbGwgcHJvYmUgdGhlIGZvcm1hdHMgYWdhaW4gaW5zdGVhZCBvZiB1c2luZyBwcmV2aW91c2x5CgkgIGRldGVjdGVkIG9uZXMuIEZpeGVzIGJ1ZyAjNTkxNzQ3LgoKMjAwOS0wOC0xMSAxNjo0Mjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBFbXB0eSBldmVudCBxdWV1ZSBvbiBmaW5hbGl6ZQoKMjAwOS0wOC0xMSAxNjozOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFVzZSBHU2xpY2UgZm9yIGludGVybmFsIGV2ZW50IHN0cnVjdHVyZXMKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNzozMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjE1LjIgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTEgMTU6MjU6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIEFkZCBteXNlbGYgdG8gTUFJTlRBSU5FUlMgZmlsZSBhbmQgdXBkYXRlIFdpbSdzIGUtbWFpbC4KCjIwMDktMDgtMTEgMDM6MDg6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIHY0bDI6IGZpeCBtYWtlIGRpc3RjaGVjayBieSBkaXN0aW5nIHNvbWUgbW9yZSBoZWFkZXJzCgoyMDA5LTA4LTExIDAyOjQyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDA5LTA4LTExIDAyOjMxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIE1vdmUgcnRwbWFuYWdlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIEhvb2sgdXAgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUgKGF1dG90b29scywgZG9jcywgdW5pdCB0ZXN0KS4KCjIwMDktMDgtMDYgMTk6MjY6MjEgKzAyMDAgIHJpYyA8Y3N4bmp1IGF0IHNvZ291LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGF2b2lkIGJ1ZmZlciBsZWFrIG9uIGJhZCBzZXFudW0KCSAgRml4ZXMgIzU5MDc5NwoKMjAwOS0wNy0yOCAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFsbG93IGZvciBOVUxMIGNhcHMgb24gYnVmZmVycwoJICBBZGQgdGhlIE5VTEwgY2FwcyBjaGVjayB3aGVyZSBpdCBtYXR0ZXJzIGFuZCBhbHNvIGNvdmVyIGFub3RoZXIgY2FzZSBvZgoJICBwb3RlbnRpYWwgTlVMTCBjYXBzLgoJICBGaXhlcyAjNTkwMDMwCgoyMDA5LTA3LTI4IDExOjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBJbmNvbWluZyBidWZmZXJzIGRvIG5vdCBhbHdheXMgaGF2ZSBjYXBzCgoyMDA5LTA3LTI3IDE1OjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBkb2luZyBsaXAtc3luYyBpbiBCWUUKCSAgV2hlbiB3ZSBnZXQgYSBCWUUgcGFja2V0LCBkb24ndCBkbyBsaXAtc3luYyB3aXRoIHRoZSBTUiBpbnNpZGUgYmVjYXVzZSBzb21lCgkgIHNlbmRlcnMgaGF2ZSB0cm91YmxlIGNvbnN0cnVjdGluZyB2YWxpZCBTUiBwYWNrZXRzIGFmdGVyIEJZRS4KCjIwMDktMDctMjcgMTM6MTc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgZG8gbGlwLXN5bmMgYWZ0ZXIgYSBCWUUKCSAgQWZ0ZXIgYSBCWUUgcGFja2V0IGZyb20gYSBzb3VyY2UsIHN0b3AgZm9yd2FyZGluZyB0aGUgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMKCSAgdG8gcnRwYmluLiBTb21lIHNlbmRlcnMgZG9uJ3QgdXBkYXRlIHRoZWlyIFNSIHBhY2tldHMgY29ycmVjdGx5IGFmdGVyIHNlbmRpbmcgYQoJICBCWUUgYW5kIHRoZW4gd2UgYnJlYWsgbGlwLXN5bmMuIFdlIHByZWZlciB0byBsZXQgdGhlIGppdHRlcmJ1ZmZlcnMgZHJhaW4gd2l0aAoJICB0aGUgY3VycmVudCBsaXAtc3luYyBpbnN0ZWFkLgoKMjAwOS0wNy0yNyAxMjo0MzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBvbmx5IHJlY29uc2lkZXIgb25jZSBmb3IgQllFCgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBzb3VyY2VzIG9mIGEgQllFIHBhY2tldCwgZG9uJ3Qgc2lnbmFsIGEgcmVjb25zaWRlcmF0aW9uIGZvcgoJICBlYWNoIG9mIHRoZW0gYnV0IHNpZ25hbCBhZnRlciB3ZSBoYW5kbGVkIGFsbCBzb3VyY2VzLgoKMjAwOS0wNy0yMSAxNTozMzo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGcmVlIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBvbiBmaW5hbGl6ZQoKMjAwOS0wNy0wMSAxMjo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBiaW46IHVzZSBuZXcgbWV0aG9kIGZvciBuZXRhZGRyZXNzIHRvIHN0cmluZwoKMjAwOS0wNi0yOSAxODo0ODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBiZXR0ZXIgY2xlYW51cCBvZiB0aGUgc3JjIGdob3N0cGFkcwoJICBDb25uZWN0IHRvIHRoZSBwYWQtcmVtb3ZlZCBzaWduYWwgb2YgdGhlIHB0ZGVtdXggZWxlbWVudHMgc28gdGhhdCB3ZSByZW1vdmUgdGhlCgkgIGdob3N0cGFkcyBmb3IgdGhlbS4gRml4ZXMgY2xlYW51cCB3aGVuIGdvaW5nIHRvIE5VTEwgYXMgd2VsbCBhcyB3aGVuIHJlbGVhc2luZwoJICB0aGUgc2lua3BhZHMuCgkgIEZpeGVzICM1NjE3NTIKCjIwMDktMDUtMjggMTk6MDg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBhIGNvbW1lbnQKCjIwMDktMDYtMjkgMTY6Mzc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0yOSAxNjoyMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkgdGhhdCB0YWtlcyBHc3RTdHJ1Y3R1cmUKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMDIgMTc6NDY6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cGJpbjogcmVtb3ZlZCBvbGQgZ3N0cnRwY2xpZW50CgoyMDA5LTA2LTE5IDE5OjA5OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvLnN1YmFzaWMgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBBZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBidWZmZXItbGlzdHMuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRlc3RpbmcgdGhhdCB0aGUgYnVmZmVyLWxpc3QgcGFzc2VkIHRocm91Z2ggcnRwYmluLgoJICBmaXhlcyAjNTg1ODM5CgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDktMDUtMjggMTc6Mzc6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFRyYW5zZm9ybSB0aGUgcmlnaHQgc2Vzc2lvbiBzZGVzIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NDE2NQoKMjAwOS0wNS0yOCAxNzozMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEFkZCBzc3JjIHRvIGFwcGxpY2F0aW9uL3gtcnRwLXNvdXJjZS1zZGVzIHN0cnVjdHVyZQoKMjAwOS0wNS0yNyAxMTowMzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogdGhlIG5ldHdvcmsgYWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyCgkgIEJyaW5nIHRoZSBuZXR3b3JrIGFkZHJlc3MgaW4gbmV0b3drciBieXRlIG9yZGVyIHRvIHRoZSBob3N0IG9yZGVyLgoKMjAwOS0wNS0yNiAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGJ5dGVzd2FwIHRoZSBwb3J0IGZyb20gR3N0TmV0QWRkcmVzcwoJICBTaW5jZSB0aGUgcG9ydCBpbiBHc3ROZXRBZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIgd2UgbWlnaHQgbmVlZCB0byBieXRlc3dhcCBpdAoJICBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBzb3VyY2Ugc3RhdGlzdGljcy4KCjIwMDktMDUtMjUgMTM6NDY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgcHRkZW11eCBnaG9zdHBhZHMKCjIwMDktMDUtMjUgMTM6MzM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCByZWNlaXZlIHJ0cGJpbiB1bml0IHRlc3QKCjIwMDktMDUtMjIgMTY6NDE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgdG8gbmV3IHNpZ25hbCB0byByZW1vdmUgU1NSQyBwYWRzCgoyMDA5LTA1LTIyIDE2OjM1OjIwICswMjAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHNzcmNkZW11eDogZW1pdCBzaWduYWwgd2hlbiBwYWRzIGFyZSByZW1vdmVkCgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIGNsZWFyIGFuIFNTUkMgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgcmVtb3ZlZCBzc3JjLgoJICBTZWUgIzU1NDgzOQoKMjAwOS0wNS0yMiAxNTo0NToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBvdXIgZ2hvc3RwYWRzIGluc3RlYWQgb2YgaXRzIHRhcmdldAoJICBTaW5jZSB3ZSBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBnaG9zdHBhZHMsIHdlIGNhbiB1c2UgdGhlbSB0byB0cmFjayBzZXNzaW9ucy4KCSAgVGhpcyBhdm9pZCB1cyBoYXZpbmcgdG8gbWVzcyB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIGdob3N0cGFkLgoKMjAwOS0wNS0yMiAxNTozNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogbW9yZSBydHBiaW4gY2hlY2tzCgoyMDA5LTA1LTIyIDE1OjM2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG9uJ3Qgd2FybiB3aGVuIGdldHRpbmcgcmVxdWVzdCBwYWRzIHR3aWNlCgkgIEFsbG93IGdldHRpbmcgdGhlIHJlcXVlc3QgcGFkcyBtdWx0aXBsZSB0aW1lcywganVzdCByZXR1cm4gdGhlIHByZXZpb3VzbHkKCSAgY3JlYXRlZCBwYWRzLgoKMjAwOS0wNS0yMiAxMzo0NzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFkZCBSVFAgYW5kIFJUQ1Agc291cmNlIGFkZHJlc3MKCSAgQWRkIHRoZSBSVFAgYW5kIFJUQ1Agc2VuZGVyIGFkZHJlc3NlcyBpbiB0aGUgc3RhdHMgc3RydWN0dXJlLgoKMjAwOS0wNS0yMiAxMzo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmV1c2Ugc291cmNlIGNvZGUgZm9yIFNERVMKCSAgUmV1c2UgdGhlIFJUUFNvdXJjZSBvYmplY3QgcHJvcGVydHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAwOS0wNS0yMiAxMzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIG1vcmUgcnRwYmluIHRlc3RzCgoyMDA5LTA1LTIyIDEyOjIzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYW4gcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgc29tZSBtb3JlIHN0dWZmIHRvIC5naXRpZ25vcmUKCjIwMDktMDUtMjIgMTI6MjA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdGFyZ2V0IHN0YXRlIG9uIG5ldyBlbGVtZW50cwoJICBTZXQgdGhlIHN0YXRlIG9uIG5ld2x5IGFkZGVkIGVsZW1lbnRzIHRvIHRoZSBzdGF0ZSBvZiB0aGUgcGFyZW50LgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvIGFuZCBkbyBzb21lIGNsZWFudXBzCgoyMDA5LTA1LTIyIDExOjU5OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdW5yZWYgcmVxdWVzdHMgcGFkcyBhZnRlciByZWxlYXNpbmcKCjIwMDktMDUtMjIgMDE6NDM6NTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgdGhlIHN0cmVhbXMKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTY6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEtlZXAgamIgc2lnbmFscyBoYW5kbGVyCgkgIEtlZXAgdGhlIHNpZ25hbCBoYW5kbGVycyBzbyB0aGV5IGNhbiBiZSBkaXNjb25uZWN0ZWQgYXQgcmVsZWFzZSB0aW1lCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjEyOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIHRoZSByaWdodCBsb2NrIGZvciB0aGUgc2Vzc2lvbnMKCSAgVXNlIHRoZSByaWdodCBsb2NrIHdoZW4gaXRlcmF0aW5nIHRoZSBzZXNzaW9ucy4KCjIwMDktMDUtMjIgMDE6MDM6NTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZyZWUgc2Vzc2lvbiBpZiByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkCgkgIEZyZWUgdGhlIHNlc3Npb24gd2hlbiBhbGwgdGhlIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vzc2lvbiBsaXN0IGluIGZyZWVfc2Vzc2lvbiBhcyBpdCBpcyBjYWxsZWQgZnJvbSBhIGZvcmVhY2gKCSAgb24gdGhhdCBsaXN0LgoJICBTZXQgdGhlIHN0YXRlIG9mIHRoZSB1cHN0cmVhbSBlbGVtZW50IHRvIE5VTEwgZmlyc3QuCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjUxOjUzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsYXNpbmcgb2YgdGhlIHJ0cCByZWN2IHBhZAoKMjAwOS0wNS0yMiAwMDo0NDo1MSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydHAgc2VuZCBwYWRzCgoyMDA5LTA1LTIyIDAwOjM0OjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzZSBvZiB0aGUgcmVjdiBydGNwIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDoxNjoxOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydGNwIHNyYyBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMDUgMTY6NDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkcm9wIHVuZXhwZWN0ZWQgUlRDUCBwYWNrZXRzCgkgIFdlIHVzdWFsbHkgb25seSBnZXQgU1IgcGFja2V0cyBpbiBvdXIgY2hhaW4gZnVuY3Rpb24gYnV0IGlmIGFuIGludmFsaWQgcGFja2V0CgkgIGNvbnRhaW5zIHRoZSBTUiBwYWNrZXQgYWZ0ZXIgdGhlIFJSIHBhY2tldCwgd2UgbXVzdCBub3QgZmFpbCBidXQgc2ltcGx5IGlnbm9yZQoJICB0aGUgbWFsZm9ybWVkIHBhY2tldC4KCSAgRml4ZXMgIzU4MTM3NQoKMjAwOS0wNC0yNyAxMTowOTowOCArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IG1ha2UgV0FSTklORyBpbnRvIExPRwoJICBTaW5jZSBuZWl0aGVyIHJ0cG1hbmFnZXIgbm9yIGFueSBvZiB0aGUgcGF5bG9hZGVycyBwcm9wZXJseSBpbXBsZW1lbnQKCSAgcGFkIGFsbG9jYXRpb24sIHRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIHJ0cG1hbmFnZXIgdG8gaW5mb3JtIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgb2YgdGhlIG5ldyBTU1JDIGlmIHRoZXJlIGlzIGFuIFNTUkMgY29sbGlzaW9uLiBTbyB0aGUgd2FybmluZyBpcyBlbWl0dGVkIGFsbCB0aGUKCSAgdGltZSBhbmQgaXQgaXMgY29uZnVzaW5nLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDExOjA2OjAxICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbm90aWZ5IHdoZW4gU1NSQyBjaGFuZ2VzCgkgIEVtaXQgYSBnX29iamVjdF9ub3RpZnkgd2hlbiB0aGUgU1NSYyBjaGFuZ2VzIGJlY2F1c2Ugb2YgYSBjb2xsaXNpb24uCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMTcgMTY6MTY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGpvaW4gdGhlIFJUQ1AgdGhyZWFkCgkgIEF2b2lkIGEgY2FzZSB3aGVyZSBhIGpvaW5hYmxlIHRocmVhZCB3b3VsZCBiZSBsZWZ0IHVuam9pbmVkLCB3aGljaCBsZWFrZWQgdGhlCgkgIHRocmVhZCBzdHJ1Y3R1cmUuCgkgIEZpeGVzICM1NzczMTguCgoyMDA5LTA0LTE1IDE4OjE0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJldmVudCBvdmVyZmxvdyBpbiBFT1MgZXN0aW1hdGlvbgoJICBVc2UgYSBndWludDY0IGluc3RlYWQgb2YgYSBndWludCB0byBob2xkIGEgNjRiaXQgdmFsdWUgdG8gcHJldmVudCBjb21wbGV0ZWx5CgkgIGJvZ3VlcyBFT1MgZXN0aW1hdGlvbiB2YWx1ZXMgZHVlIHRvIG92ZXJmbG93cy4KCjIwMDktMDQtMTUgMTc6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogd2Ugc2hvdWxkIG5vdCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlIGEgY2xvY2suCgoyMDA5LTA0LTE1IDE3OjI4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW9yZSBlc3RpbWF0ZWQgRU9TIGZpeGVzCgkgIERvIG1vcmUgYWNjdXJhdGUgRU9TIGVzdGltYXRlIGFuZCBndWFyZCBhZ2FpbnN0IGJhY2t3YXJkIHRpbWVzdGFtcHMuCgoyMDA5LTA0LTE1IDE3OjI1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBNYWtlIHN1cmUgd2UgcmVsZWFzZSB0aGUgaml0dGVyYnVmZmVyIGxvY2sgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEKCSAgYmVjYXVzZSBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAwOS0wMy0yNyAxNzo0NDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IGFkZCBvbl9ucHRfc3RvcCBzaWduYWwKCSAgQWRkIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gcnRwYmluIGFuZCBydHBqaXR0ZXJidWZmZXIgdG8gbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiB0aGF0IHRoZSBOUFQgc3RvcCBwb3NpdGlvbiBoYXMgYmVlbiByZWFjaGVkLgoKMjAwOS0wMy0xMyAxNTo1OTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCByZXR1cm4gRkFMU0Ugb24gc2VlayBldmVudHMKCSAgU2lsZW50bHkgaWdub3JlIHRoZSBzZWVrIGV2ZW50IGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFLgoKMjAwOS0wMi0yNiAxMzoxMDoyOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBiaW46IERvbid0IGZvcndhcmQgcmV2YyBldmVudHMgdG8gc2VuZGVyCgkgIERvbid0IHNlbmQgZXZlbnRzIGZyb20gdGhlIHJlY2VpdmVyIHRvIHRoZSBzZW5kZXIgc2lkZS4KCSAgRml4ZXMgIzU3MjkwMC4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDEtMjMgMTI6MTM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBTZW5kIEJZRSBwYWNrZXRzIGltbWVkaWF0bHkgZm9yIHNtYWxsIHNlc3Npb25zCgkgIFdoZW4gdGhlIG51bWJlciBvZiBwYXJ0aWNpcGFudHMgaXMgbGVzcyB0aGFuIDUwLCB0aGUgUkZDIGFsbG93cyBmb3Igc2VuZGluZyB0aGUKCSAgQllFIHBhY2tldCBpbW1lZGlhdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlZ3VsYXIgQllFIHRpbWVvdXQuCgkgIEZpeGVzICM1Njc4MjguCgoyMDA5LTAxLTIyIDEzOjMzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFVubG9jayB0aGUgaml0dGVyYnVmZmVyIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgcGFja2V0LWxvc3QgZXZlbnRzLiBNb3ZlIHNvbWUgY29kZSBiZWZvcmUgd2UgZG8gdGhlIHVubG9jayB0byBtYWtlIHRoZSBqaXR0ZXJidWZmZXIgc3RhdGUgY29uc2lzdGVudCB3aGlsZSB3ZSBhcmUgdW5sb2NrZWQuCgoyMDA5LTAxLTAyIDE3OjQwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZSBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRjYXBzX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlCgkgIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgoyMDA5LTAxLTAyIDE2OjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCjIwMDgtMTItMjkgMTU6NDk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgIFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25naXVyZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgRml4ZXMgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTU6MjE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gdGhlIFNTUkMgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuCgkgIHRoZSBTU1JDIGFjdHVhbGx5IGNoYW5nZWQuIFNlZSAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNDoyMTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS4qOiBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwgYXNzdW1lIHRoZSBjbG9jay1yYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsCgkgIGFzc3VtZSB0aGUgY2xvY2stcmF0ZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3QgcGF5bG9hZCB0eXBlIGZvdW5kIGluIHRoZQoJICBSVFAgcGFja2V0cy4gRml4ZXMgIzU2NTUwOS4KCjIwMDgtMTItMjMgMTE6Mzk6NTkgKzAwMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUgdGltZS4gIFRpbWVzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlCgkgIHRpbWUuICBUaW1lc3RhbXBzIGNhbiBvbmx5IGdvIGZvcndhcmQgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyCgkgIHNpZGUsIGNhbiBvbmx5IGdvIGJhY2sgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyIHNpZGUsIGFuZCByZW1haW4gdGhlCgkgIHNhbWUgaWYgdGhleSByZW1haW4gdGhlIHNhbWUgYXQgdGhlIHNlbmRlciBzaWRlLiBGaXhlcyAjNTY1MzE5LgoKMjAwOC0xMS0yNiAxMjo0MDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmIHRvIGl0IHdoZW4gYSBzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSk6CgkgIE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZgoJICB0byBpdCB3aGVuIGEgc2Vzc2lvbiBjbGVhbnVwIG9jY3VycyB3aGVuIHdlIGFyZSBlbWl0aW5nIGEgc2lnbmFsLgoJICBFbWl0IHRoZSBvbl9uZXdfc3NyYyBzaWduYWwgZm9yIHRoZSBDU1JDLCBub3QgdGhlIFNTUkMuCgkgIEZpeGVzICM1NjIzMTkuCgoyMDA4LTExLTI2IDEyOjAyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBGaXhlcyAjNTYyMzEyLgoKMjAwOC0xMS0yNiAxMTo0NDozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4gdGhlIG1ldGhvZCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbgoJICB0aGUgbWV0aG9kIGNhbGwuCgkgIEFkZCBzaWduYWwgdG8gcmVzZXQgc3luYyBwYXJhbWV0ZXJzLgoJICBBdm9pZCBwYXJzaW5nIHRoZSBjYXBzIHRvIGdldCBhIGNsb2NrX2Jhc2UsIHdlIGdldCB0aGlzIGZyb20gdGhlIHN5bmMKCSAgc2lnbmFsIG5vdy4KCjIwMDgtMTEtMjUgMTU6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBldmVudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBldmVudCBsZWFrLgoKMjAwOC0xMS0yMiAxNTozMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgoyMDA4LTExLTIyIDE1OjI0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjb3B5X3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgQWRkIHByb3BlcnR5IHRvIHJldHVybiBhIEdWYWx1ZUFycmF5IG9mIGFsbCBrbm93biBSVFBTb3VyY2VzIGluIHRoZQoJICBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfY3JlYXRlX3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBSZW1vdmUgcHJvcGVydGllcyB0byBzZXQgdGhlIHZhcmlvdXMgU0RFUyBpdGVtcywgYW4gYXBwbGljYXRpb24gaXMgbmV2ZXIKCSAgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBSVFBTb3VyY2UgZGF0YS4KCSAgQ2hhbmdlIHRoZSBTREVTIGdldHRlciBwcm9wZXJ0aWVzIHRvIG9uZSBTREVTIHByb3BlcnR5IHRoYXQgcmV0dXJucyBhbGwKCSAgU0RFUyBpdGVtcyBpbiBhIEdzdFN0cnVjdHVyZS4KCjIwMDgtMTEtMjIgMTM6MTc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoKMjAwOC0xMS0yMSAxNjoxNzoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgoyMDA4LTExLTIwIDE4OjQxOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnZXRfY3VycmVudF90aW1lcyksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApOgoJICBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBJbXByb3ZlIHRoZSB0aW1lIGZ1bmN0aW9uIHRvIHByb3ZpZGUgbW9yZSBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1hcmsgdGhlIGludGVybmFsIHNvdXJjZSB3aXRoIGEgZmxhZy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIHRoZSBtb3JlIHVzZWxlc3MgdGltZXN0YW1wLgoJICBWYWxpZGF0ZSBhIHNvdXJjZSB3aGVuIGEgdmFsaWQgU0RFUyBoYXMgYmVlbiByZWNlaXZlZC4KCSAgUGFzcyB0aGUgY3VycmVudCBzeXN0ZW0gdGltZSB3aGVuIHByb2Nlc3NpbmcgU1IgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9jcmVhdGVfc3RhdHMpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHNvdXJjZSBzdGF0cy4KCSAgTWFyayBwYXJhbXMgYXMgU1RBVElDX1NUUklOR1MuCgkgIENhbGN1bGF0ZSB0aGUgYml0cmF0ZSBhdCB0aGUgc2VuZGVyIFNTUkMuCgkgIEF2b2lkIG5lZ2F0aXZlIHZhbHVlcyBpbiB0aGUgcm91bmQgdHJpcCB0aW1lIGNhbGN1bGF0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVcGRhdGUgc29tZSBkb2NzIGFuZCBjaGFuZ2Ugc29tZSB2YXJpYWJsZSBuYW1lIHRvIG1vcmUgY2xvc2VseSByZWZsZWN0CgkgIHdoYXQgaXQgY29udGFpbnMuCgoyMDA4LTExLTIwIDA4OjE5OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCk6CgkgIEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQKCSAgdmFyaWFibGUuCgoyMDA4LTExLTE5IDE2OjQ4OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoKMjAwOC0xMS0xOSAwOTowNjoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jIG5vdGlmaWNhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLCAoZnJlZV9zdHJlYW0pLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYwoJICBub3RpZmljYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW50ZXJuYWxfbGlua3MpLCAoY3JlYXRlX3J0Y3Bfc2luayksCgkgIChyZW1vdmVfcnRjcF9zaW5rKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX3J0Y3BfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VuZCBTUiBwYWNrZXRzIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIENoZWNrIGlmIHRoZSBTUiB0aW1lc3RhbXBzIGFyZSB2YWxpZCBieSBjb21wYXJpbmcgdGhlbSB0byB0aGUgUlRQCgkgIHRpbWVzdGFtcHMuCgkgIFNpZ25hbCB0aGUgU1IgcGFja2V0IGFuZCB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHRvIGxpc3RlbmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgc2VlbiBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIGZpbHRlciBvdXQKCSAgaW52YWxpZCBTUiBwYWNrZXRzLgoKMjAwOC0xMS0xNyAxOTo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkCgkgIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcyBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTE3IDE1OjE3OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIGppLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZQoJICB2YWx1ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIFBhc3MgdGhlIGNsb2NrLXJhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQWxzbyBwYXNzIHRoZSBjbG9jay1yYXRlIGFsb25nIHdpdGggdGhlIHJ0cCB0aW1lc3RhbXAgd2hlbiBnZXR0aW5nIHRoZQoJICBzeW5jIHBhcmFtZXRlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgY2xvY2stcmF0ZSBjaGFuZ2VzIGFuZCByZXR1cm4gdGhlIGNsb2NrLXJhdGUgdG9nZXRoZXIgd2l0aAoJICB0aGUgcnRwIHRpbWVzdGFtcHMgdXNlZCBmb3Igc3luYy4KCSAgRG9uJ3QgdHJ5IHRvIGNvbnN0cnVjdCB0aW1lc3RhbXBzIHdoZW4gd2UgaGF2ZSBubyBiYXNlX3RpbWUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIFJlcXVlc3QgYSBuZXcgY2xvY2stcmF0ZSB3aGVuIHRoZSBwYXlsb2FkIHR5cGUgY2hhbmdlcy4KCSAgUmVzZXQgdGhlIGppdHRlciBjYWxjdWxhdGlvbiB3aGVuIHRoZSBjbG9jay1yYXRlIGNoYW5nZXMuCgoyMDA4LTExLTEzIDE1OjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0xMS0xMCAxNToyNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2Ugb24gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2UKCSAgb24gdGhlIGNhcHMuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0xNiAxMzowNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0IHNlcW51bSBkaXNjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dAoJICBzZXFudW0gZGlzY29udGludWl0aWVzLgoJICBJbXByb3ZlIGdhcCBkZXRlY3Rpb24gYW5kIHJlY292ZXJ5LCByZXNldCBhbmQgZmx1c2ggdGhlIGppdHRlcmJ1ZmZlciBvbgoJICBzZXFudW0gcmVzdGFydC4gRml4ZXMgIzU1NjUyMC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIEZpeCB3cm9uZyBHX0xJS0VMWS4KCjIwMDgtMTAtMTYgMDk6NTE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgVFJVRS4KCjIwMDgtMTAtMDcgMTg6NTQ6NDEgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBBZGQgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNoZWNrX2NvbGxpc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSBhbiBSVFBTb3VyY2Ugb2JqZWN0IGJ5IFNTUkMuCgkgIFNlZSAjNTU1Mzk2LgoKMjAwOC0xMC0wNyAxMTozMzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfcGFkKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwgKHJlbW92ZV9yZWN2X3J0cCksCgkgIChyZW1vdmVfcmVjdl9ydGNwKSwgKHJlbW92ZV9zZW5kX3J0cCksIChyZW1vdmVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBTdGFydCBpbXBsZW1lbnRpbmcgcmVsZWFzaW5nIHBhZHMgb2YgZ3N0cnRwYmluLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJlbW92ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3Bfc2luayksIChyZW1vdmVfc2VuZF9ydHBfc2luayksCgkgIChyZW1vdmVfc2VuZF9ydGNwX3NyYyksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgaW4gZ3N0cnRwc2Vzc2lvbi4KCjIwMDgtMTAtMDcgMTA6MDI6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2Fwcyk6CgkgIE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUKCSAgc3RyZWFtcy4KCjIwMDgtMDktMzAgMTU6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdCB0aGUgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fc3NyY19hY3RpdmUpLCAob25fc3NyY19zZGVzKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAob25fc2VuZGVyX3RpbWVvdXQpOgoJICBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQKCSAgdGhlIHNpZ25hbHMuCgoyMDA4LTA5LTIzIDE4OjEzOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgRml4IHNvbWUgZG9jcy4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDktMTMgMDE6Mzc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiBhbiBTUiBwYWNrZXQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgIERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0CgkgIHNlZW4gYW4gU1IgcGFja2V0LiBBdm9pZHMgbGFyZ2UgdHMtb2Zmc2V0cyBpbiBzb21lIGNhc2VzLgoKMjAwOC0wOS0wNSAxMzo1MjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIFR3ZWFrIGxpcC1zeW5jIGNvZGUsIGRvbid0IHN0b3JlIG91ciBvd24gY29weSBvZiB0aGUgdHMtb2Zmc2V0IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIGRvbid0IGFkanVzdCBzeW5jIGlmIHRoZSBjaGFuZ2UgaXMgbGVzcyB0aGFuIDRtc2VjLgoJICBHZXQgdGhlIFJUUCB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZGlyZWN0bHkgZnJvbQoJICB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2Ygb3VyIGluYWNjdXJhdGUgdmVyc2lvbiBmcm9tIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIEdfTElLRUxZIG1hY3JvcywgdXNlIGdsb2JhbCBkZWZpbmVzIGZvciBtYXggcGFja2V0IHJlb3JkZXIgYW5kCgkgIGRyb3BvdXRzLgoJICBSZXNldCB0aGUgaml0dGVyYnVmZmVyIGNsb2NrIHNrZXcgZGV0ZWN0aW9uIHdoZW4gcGFja2V0cyBzZXFudW1zIGFyZQoJICBjaGFuZ2VkIHVuZXhwZWN0ZWRseS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBHX0xJS0VMWSBtYWNyb3MuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGV4dGVuZGVkIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcmVwb3J0IHRoZSBSVFAKCSAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGZvciBsaXAtc3luYy4KCSAgUmVtb3ZlIHNlcnZlciB0aW1lc3RhbXAgZ2FwIGRldGVjdGlvbiBjb2RlLCB0aGUgc2VydmVyIGNhbiBzb21ldGltZXMKCSAgbWFrZSBhIGh1Z2UgZ2FwIGluIHRpbWVzdGFtcHMgKHRhbGsgc3B1cnRzLC4uLikgc2VlICM1NDk3NzQuCgkgIERldGVjdCB0aW1ldGFtcCB3ZWlyZG5lc3MgaW5zdGVhZCBieSBvYnNlcnZpbmcgdGhlIHNlbmRlci9yZWNlaXZlcgoJICB0aW1lc3RhbXAgcmVsYXRpb24gYW5kIHJlc3luYyBpZiBpdCBjaGFuZ2VzIG1vcmUgdGhhbiAxIHNlY29uZC4KCSAgQWRkIG1ldGhvZCB0byByZXBvcnQgYWJvdXQgdGhlIGN1cnJlbnQgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uCgkgIHdoaWNoIGlzIG5lZWRlZCBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zZW5kZXJfdGltZW91dCksIChjaGVja19jb2xsaXNpb24pLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUsIHRoZQoJICBqaXR0ZXJidWZmZXIgY2FuIG5vdyBkbyBhbiBhY2N1cmF0ZSByZXBvcnRpbmcgYWJvdXQgdGhpcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIERlZmluZSBnbG9iYWwgbWF4LXJlb3JkZXIgYW5kIG1heC1kcm9wb3V0IGNvbnN0YW50cyBmb3IgdXNlIGluIHZhcmlvdXMKCSAgc3Vic3lzdGVtcy4KCjIwMDgtMDgtMjggMTU6MjE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gaW5zdHJ1Y3QgdXMgdG8gc2VuZCBFT1MuIFdlCgkgIGN1cnJlbnRseSB3aWxsIEVPUyB3aGVuIHRoZSBzZXNzaW9uIGlzIGEgc2VuZGVyIGFuZCB3aGVuIHRoZSBzZW5kZXIgcGFydAoJICBnb2VzIEVPUy4gVGhpcyBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBiZWhhdmlvdXIgYmVjYXVzZSB0aGUgc2Vzc2lvbgoJICBjb3VsZCBzdGlsbCBwYXJ0aWNpcGF0ZSBhcyBhIHJlY2VpdmVyLgoJICBGaXhlcyAjNTQ5NDA5LgoKMjAwOC0wOC0xMyAxNDozMTowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlCgkgIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgRG9uJ3QgdHJ5IHRvIGFkanVzdCB0aGUgdHMtb2Zmc2V0IHdoZW4gaXQncyB0b28gYmlnICg+IDNzZWNvbmRzKQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZXRfc3NyYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kIHRvIHNldCBzZXNzaW9uIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKSwgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkZWQgZGVidWdnaW5nIGZvciB0aGUgY29sbGlzaW9uIGNoZWNrcy4KCSAgQWRkIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgUmVzZXQgdGhlIGNsb2NrIGJhc2Ugd2hlbiB3ZSBkZXRlY3QgbGFyZ2UganVtcHMgaW4gdGhlIHNlcW51bXMuCgoyMDA4LTA4LTExIDA3OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgIFVzZSAiLSIgaW5zdGVhZCBvZiAiXyIgaW4gcHJvcGVydHkgbmFtZXMuIENhbiB3ZSBjYWxsIHRoZW0ganVzdAoJICAiZGV2aWNlIiBsaWtlIGV2ZXJ5d2hlcmUgZWxzZT8KCjIwMDgtMDgtMDUgMDk6NDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZQoJICBqaXR0ZXJidWZmZXIgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbW9kaWZ5IHRoZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgbWV0aG9kIGNvbW1lbnQgYWJvdXQgcmVxdWlyaW5nIHdyaXRhYmxlIG1ldGFkYXRhIG9uIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApOgoJICBNYWtlIHRoZSBSVENQIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWNhdXNlIHdlIHdhbnQgdG8gbW9kaWZ5IHRoZQoJICBtZXRhZGF0YS4KCSAgRml4ZXMgIzU0NjMxMi4KCjIwMDgtMDgtMDUgMDk6MDA6NTAgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoKMjAwOC0wOC0wNSAwODo1ODoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKToKCSAgUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBGaXhlcyAjNTQzNDgwLgoKMjAwOC0wNy0wMyAxNDo0NDo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgoyMDA4LTA3LTAzIDE0OjMxOjEwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHB1c2hfcGFja2V0KSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgoyMDA4LTA3LTAzIDEzOjQ3OjE5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTYgMDc6MDM6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0wNiAxMzowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5IHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKToKCSAgRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseQoJICBzaHV0ZG93bi4KCjIwMDgtMDUtMjcgMTY6NDg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgTWFrZSBzdXJlIG5vIHN0YXRlIGNoYW5nZXMgY2FuIGhhcHBlbiB3aGVuIHdlIHJlY29uZmlndXJlLgoKMjAwOC0wNS0yNiAxMDowOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLCB3ZSBuZWVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsCgkgIHdlIG5lZWQgdG8gZG8gdGhpcyBzbyB0aGF0IHdlIGNhbiBiZXR0ZXIgaGFuZGxlIGEgcmVzdGFydGVkIHNvdXJjZS4KCSAgRml4IHNvbWUgY29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBUd2VhayB0aGUgc2tldyByZXN5bmMgZGlmZi4KCSAgVXNlIG91ciB3b3JraW5nIHNlcW51bSBjb21wYXJlIGZ1bmN0aW9uIGluIC1iYXNlLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBpbnNlcnQgY29kZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUKCSAgcGVyZm9ybWFudCBieSBvbmx5IHJldHJpZXZpbmcgdGhlIHNlcW51bSBvZiB0aGUgaW5wdXQgYnVmZmVyIG9uY2UgYW5kIGJ5CgkgIGFkZGluZyBzb21lIEdfTElLRUxZIGNvbXBpbGVyIGhpbnRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBmb3IgZHVwbGljYXRlIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgRml4IGEgY29tbWVudCwgd2UgZG9uJ3QgZG8gc2tldyBjb3JyZWN0aW9uIGhlcmUuLgoKMjAwOC0wNS0yNiAxMDowMDoyNCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KToKCSAgUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbgoJICB0aGV5IGFyZSBjaGFuZ2VkIG9uIHJ0cGJpbi4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTE2IDE5OjU2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBsaWJnc3R2aWRlbyB0byB0aGUgbGluay4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgRml4IGxpbmsgb3JkZXIsIGFuZCBtb3ZlIExJQlMgdGhpbmdzIHRvIF9MSUJTCgoyMDA4LTA1LTE0IDIxOjAyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBlcnJvciBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuCgkgIGVycm9yIGFuZCBzdG9wcGluZy4gVGhpcyBpcyBhIHBlcmZlY3RseSByZWNvdmVyYWJsZSBldmVudCBhbmQgd2UgZG9uJ3QKCSAgZm9yY2UgcGVvcGxlIHRvIHVzZSBhbiBydHBiaW4gdG8gZmlsdGVyIG91dCBiYWQgcGFja2V0cyBmaXJzdC4KCjIwMDgtMDUtMTMgMDk6MDY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoKMjAwOC0wNS0xMiAxODo0Mzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYSBsb3dlciB0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEKCSAgbG93ZXIgdGltZXN0YW1wIHRoYW4gdGhlIGN1cnJlbnQgcGFja2V0LgoKMjAwOC0wNS0xMiAxNDoyODowOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0byBwcmV2ZW50IGEgbWVtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8KCSAgcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0xMiAxNDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA1LTA5IDA3OjQxOjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0wOCAwOTo0MzozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9jbG9ja19yYXRlKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCk6CgkgIFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUzMjAxMS4KCjIwMDgtMDUtMDggMDY6MjM6MzkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCjIwMDgtMDQtMjUgMTE6MzI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgoyMDA4LTA0LTI1IDExOjIyOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEgcHJvcGVydHkgdG8gZW5hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYQoJICBwcm9wZXJ0eSB0byBlbmFiZSBpdC4gV2Ugd2lsbCBsaWtlbHkgZW5hYmxlIGl0IGJ5IGRlZmF1bHQgd2hlbiB0aGUgYmFzZQoJICBkZXBheWxvYWRlcnMgaGF2ZSBhIGRlZmF1bHQgaGFuZGxlciBmb3IgdGhlbSBzbyB0aGF0IHdlIGRvbid0IHNlbmQgdGhlc2UKCSAgZXZlbnRzIGFsbCB0aHJvdWdoIHRoZSBwaXBlbGluZSBmb3Igbm93LgoKMjAwOC0wNC0yNSAwOTozNTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIEFkZCBzcmMgZXZlbnQgaGFuZGxlci4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgcHVzaGluZyBsb29wIHNvIHRoYXQgaXQgY2FuIHF1aWNrbHkgcmVhY3QgdG8KCSAgbG9zdCBwYWNrZXRzIGFuZCBpbnN0cnVjdCB0aGUgZGVwYXlsb2FkZXIgb2YgdGhlbS4gVGhpcyBjYW4gdGhlbiBiZSB1c2VkCgkgIHRvIGltcGxlbWVudCBlcnJvciBjb25jZWFsbWVudCBkYXRhLgoKMjAwOC0wNC0yNSAwODoyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UgdGhlIGRlZmF1bHRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZQoJICB0aGUgZGVmYXVsdHMgYXJlIHJlYWxseSBub3QgY29ycmVjdC4KCSAgSW1wbGVtZW50IGEgcXVlcnkgaGFuZGxlciBmb3IgdGhlIFJUQ1Agc3JjIHBhZCwgbW9zdGx5IHRvIGNvcnJlY3RseQoJICByZXBvcnQgYWJvdXQgdGhlIGxhdGVuY3kuCgoyMDA4LTA0LTI1IDA4OjE1OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgUlRQIHRpbWVzdGFtcCBhcyB0aGV5IGJvdGggYXJlIG5lZWRlZCB0byBjb25zdHJ1Y3QgdGhlIHRpbWluZyBvZgoJICBvdXRnb2luZyBwYWNrZXRzIGluIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFyZSB0aGVyZWZvcmUgYWxzbyBuZWVkZWQgdG8KCSAgbWFuYWdlIGxpcC1zeW5jLiBUaGlzIGZpeGVzIGxpcC1zeW5jIGlmIHRoZSBmaXJzdCBSVFAgcGFja2V0cyBhcnJpdmUKCSAgd2l0aCBhIHdpbGRseSBkaWZmZXJlbnQgZ2FwLgoKMjAwOC0wNC0yMSAwODoyNjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIERvbid0IGxlYWsgcGFkcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBdm9pZCBhIGNhcHMgbGVhay4KCSAgRG9uJ3QgbGVhayByZWZjb3VudCBpbiBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBBdm9pZCBjYXBzIGxlYWtzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAocmV0dXJuX3RydWUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBGaXggc29tZSBtb3JlIGNhcHMgbGVha3MuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE3IDA3OjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLCAoZnJlZV9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX2dldF9mcmVlX3BhZF9uYW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2Fwcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBEb24ndCBsZWFrIGEgcGFkbmFtZS4KCSAgRG9uJ3QgbGVhayBjbGllbnQgc3RyZWFtcyBsaXN0LgoJICBMb2NrIHJ0cGJpbiB3aGVuIGFzc29jaWF0aW5nIHN0cmVhbXMuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTA5IDIyOjI3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgoyMDA4LTAzLTExIDEyOjQwOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi4qOiBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGZpbmRfYWRkX2NvbmZsaWN0aW5nX2FkZHJlc3NlcyksCgkgIChjaGVja19jb2xsaXNpb24pLCAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfbmV3X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIEZpeGVzICM1MjA2MjYuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Jlc2V0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZXRob2QgdG8gcmVzZXQgc3RhdHMuCgoyMDA4LTAzLTExIDExOjM2OjAzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQgYmUgYmxvY2tlZCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChqb2luX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpOgoJICBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQKCSAgYmUgYmxvY2tlZCBkb3duc3RyZWFtLiBBbHNvIGF2b2lkIHNwYXduaW5nIG11bHRpcGxlIHJ0Y3AgdGhyZWFkcy4KCSAgRml4ZXMgIzUyMDg5NC4KCjIwMDgtMDMtMTEgMTA6NDM6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIEZpeGVzICM1MTkwMDUuCgoyMDA4LTAyLTIwIDA5OjMzOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCjIwMDgtMDItMTQgMTY6MjU6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZwoJICBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgoyMDA4LTAxLTI5IDE4OjU3OjI3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYXlsb2FkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciAgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3CgkgIHBheWxvYWQgdHlwZSBpbnN0ZWFkIG9mIGFsd2F5cyBmaXJpbmcgdGhlIHNpZ25hbC4gRml4ZXMgIzUxMjc3NC4KCjIwMDgtMDEtMjUgMTY6NTg6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dCB3aXRoIGEgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoY3JlYXRlX3N0cmVhbSksIChwYXlsb2FkX3R5cGVfY2hhbmdlKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQKCSAgd2l0aCBhIHNpZ25hbC4KCjIwMDgtMDEtMjUgMTY6MDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0IGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdAoJICBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkIHdpdGggZWFjaCBidWZmZXIgaW5zdGVhZC4gRml4ZXMgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTU6NDk6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIFRyYWNrIHB0IG9uIGlucHV0IGJ1ZmZlcnMgYW5kIGdldCB0aGUgY2xvY2stcmF0ZSB3aGVuIGl0IGNoYW5nZXMuCgkgIElnbm9yZSBwYWNrZXRzIHdpdGggdW5rbm93biBjbG9jay1yYXRlLiBTZWUgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMDE6NDQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUKCSAgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgoyMDA4LTAxLTExIDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQgb2YgcmV0dXJuaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkCgkgIG9mIHJldHVybmluZyBhbiBlcnJvci4gRml4ZXMgYSBUT0RPIGFzIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpLgoKMjAwOC0wMS0xMSAxNjo0NTo1NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzIGRvdCBhbGFvdWkgYXQgY29sbGFib3JhIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb2Nlc3NfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zeW5jX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X2Nsb2NrX3JhdGVfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3JlY29uc2lkZXJfY2FsbGJhY2spLCAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHNvdXJjZV9jbG9ja19yYXRlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUwODU4Ny4KCjIwMDgtMDEtMTAgMjA6NTc6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoKMjAwOC0wMS0xMCAxNDozNDozMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCjIwMDgtMDEtMDkgMTQ6Mzk6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlciBwYWQgY2FuIHJlbmVnb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIKCSAgcGFkIGNhbiByZW5lZ290aWF0ZSB0by4gRml4ZXMgIzUwNzk0MC4KCjIwMDgtMDEtMDQgMTg6NDc6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIEZpeGVzICM1MDcwMjAuCgoyMDA3LTEyLTMxIDEzOjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgoyMDA3LTEyLTEyIDE2OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZ3N0X3J0cF9zc3JjX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDctMTItMTIgMTI6MTE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBGaXggc29tZSBsZWFrcy4KCjIwMDctMTItMTAgMTg6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChvbl9zc3JjX3NkZXMpOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgVXBkYXRlIHNvbWUgY29tbWVudHMuCgoyMDA3LTEyLTEwIDE1OjM0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX3NkZXMpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19zZGVzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgRml4IG9iamVjdCB0eXBlIGluIHRoZSBzaWduYWwgY2FsbGJhY2tzLgoKMjAwNy0xMi0xMCAxNDowMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aCB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksIChzZGVzX3R5cGVfdG9fbmFtZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aAoJICB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KToKCSAgRml4IFNTUkMgcHJvcGVydHkuCgoyMDA3LTEyLTEwIDExOjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIERlZmluZSBzb21lIEdPYmplY3QgcHJvcGVydGllcyB0byBzZXQgU0RFUyBhbmQgb3RoZXIgY29uZmlndXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2ZyYWN0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ZyYWN0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc2Rlc19zdHJpbmcpLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKGlzX3J0Y3BfdGltZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2lnbmFsIHdoZW4gbmV3IFNERVMgaW5mb3IgaGFzIGJlZW4gZm91bmQgZm9yIGEgc291cmNlLgoJICBDcmVhdGUgcHJvcGVydGllcyBmb3IgU0RFUyBhbmQgb3RoZXIgaW5mby4KCSAgU2ltcGxpZnkgdGhlIFNERVMgQVBJLgoJICBBZGQgbWV0aG9kIGZvciBnZXR0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0IG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NzcmMpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX2lzX2FzX2NzcmMpLCAocnRwX3NvdXJjZV9pc19hY3RpdmUpLAoJICAocnRwX3NvdXJjZV9pc192YWxpZGF0ZWQpLCAocnRwX3NvdXJjZV9pc19zZW5kZXIpLAoJICAocnRwX3NvdXJjZV9yZWNlaXZlZF9ieWUpLCAocnRwX3NvdXJjZV9nZXRfYnllX3JlYXNvbiksCgkgIChydHBfc291cmNlX3NldF9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NkZXMpLCAocnRwX3NvdXJjZV9nZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBHT2JqZWN0IHByb3BlcnRpZXMgZm9yIHZhcmlvdXMgdGhpbmdzLgoJICBEb24ndCBsZWFrIHRoZSBieWUgcmVhc29uLgoKMjAwNy0xMS0yMiAwOTowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vIG1heF9sYXRlbmN5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8KCSAgbWF4X2xhdGVuY3kgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMS0wMiAyMTo0NTozOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgoyMDA3LTEwLTA5IDEwOjAxOjM5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoKMjAwNy0xMC0wOCAxNzo0Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6IChyZmJfYnVmZmVyX25ld19hbmRfYWxsb2MpOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfc29ja2V0X2dldF9idWZmZXIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKToKCSAgKiBnc3QvbnNmL25lczY1MDIuYzogKG5lczY1MDJfZXhlY3V0ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCjIwMDctMTAtMDggMTA6Mzk6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgV2hlbiBjbGVhcmluZyBwYXlsb2FkIG1hcHMsIGFsc28gY2xlYXIgc2Vzc2lvbnMgYW5kIHN0cmVhbXMgcGF5bG9hZAoJICBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChmaW5kX3BhZF9mb3JfcHQpOgoJICBJbXBsZW1lbnQgY2xlYXJpbmcgdGhlIHBheWxvYWQgbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgRm9yd2FyZCBmbHVzaCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KToKCSAgQ29ycmVjdGx5IHJlZmNvdW50IGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGVtLgoKMjAwNy0xMC0wNSAxNzoyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QgcmVwb3J0IHRpbWUgaW5zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLAoJICBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdAoJICByZXBvcnQgdGltZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGNsb2NrIHRpbWUgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAKCSAgcmVjb25zaWRlcmluZyBmb3JldmVyLgoKMjAwNy0xMC0wNSAxMjowNzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MgdXMgdG8gZ3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cwoJICB1cyB0byBncmVhdGx5IHNpbXBsaWZ5IHRoaW5ncyB3aGVuIHRoZSB0YWlsIGVsZW1lbnQgY2hhbmdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCk6CgkgIEZvcndhcmQgRkxVU0ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIHRhaWwtY2hhbmdlZCBjYWxsYmFjayBpbiBmYXZvdXIgb2YgYSBzaW1wbGUgYm9vbGVhbiB3aGVuIHdlCgkgIGluc2VydCBhIGJ1ZmZlciBpbiB0aGUgcXVldWUuCgkgIEFkZCBtZXRob2QgdG8gcGVlayB0aGUgdGFpbCBvZiB0aGUgYnVmZmVyLgoKMjAwNy0xMC0wMiAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChhcHBseV9vZmZzZXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHRvIHRoZSBza2V3IGNvcnJlY3RlZCB0aW1lc3RhbXAsIGxhdGVuY3kgaXMgb25seQoJICB1c2VkIHRvIHN5bmMgYWdhaW5zdCB0aGUgY2xvY2suCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgc2VydmVyIHRpbWVzdGFtcCBnb2VzIGJhY2t3YXJkcyBvciB3aWxkbHkganVtcHMgYnkKCSAgdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc2tldyBjb3JyZWN0aW9uLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMDktMjggMTQ6NTE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX2NsaWVudCk6CgkgIEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEhhbmRsZSBjYXNlcyB3aGVyZSBpbnB1dCBidWZmZXJzIGhhdmUgbm8gdGltZXN0YW1wcyBzbyB0aGF0IG5vIGNsb2NrCgkgIHNrZXcgY2FuIGJlIGNhbGN1bGF0ZWQsIGluIHRoaXMgY2FzZSBpbnRlcnBvbGxhdGUgdGltZXN0YW1wcyBiYXNlZCBvbgoJICBydHAgdGltZXN0YW1wIGFuZCBhc3N1bWUgYSAwIGNsb2NrIHNrZXcuCgoyMDA3LTA5LTI4IDExOjE3OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGFwcGx5X2xhdGVuY3kpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIFVzZSBuZXcgLWNvcmUgbWV0aG9kIGZvciBkb2luZyBhIHBlZXIgcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1vdmUgaml0dGVyIGNvcnJlY3Rpb24gdG8gdGhlIGxvd2xldmVsIGppdHRlcmJ1ZmZlci4KCSAgSW5jcmVhc2UgdGhlIG1heCB3aW5kb3cgc2l6ZS4KCSAgV2hlbiBmaWxsaW5nIHRoZSB3aW5kb3csIGFscmVhZHkgc3RhcnQgZXN0aW1hdGluZyB0aGUgc2tldyB1c2luZyBhCgkgIHBhcmFib2xpYyB3ZWlnaHRpbmcgZmFjdG9yIHNvIHRoYXQgd2UgaGF2ZSBhIG11Y2ggYmV0dGVyIHN0YXJ0dXAKCSAgYmVoYXZpb3VyIHRoYXQgZ2V0cyBtb3JlIGFjY3VyYXRlIHdpdGggdGhlIG1vcmUgc2FtcGxlcyB3ZSBoYXZlLgoJICBJbmNyZWFzZSB0aGUgZGVmYXVsdCB3ZWlnaHRpbmcgZmFjdG9yIGZvciB0aGUgc3RlYWR5IHN0YXRlIHRvIGdldAoJICBzbW9vdGhlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0yNiAyMDowODoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2xlYW51cCBjcmFzaGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICBGaXggY2xlYW51cCBjcmFzaGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIER5bmFtaWNhbGx5IGFkanVzdCB0aGUgc2tldyBjYWxjdWxhdGlvbiB3aW5kb3cgc28gdGhhdCB3ZSBjYWxjdWxhdGUgaXQKCSAgb3ZlciBhIHBlcmlvZCBvZiBhcm91bmQgMiBzZWNvbmRzLgoKMjAwNy0wOS0yMCAxNDozNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19hY3RpdmUpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19hY3RpdmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfYWN0aXZlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgoyMDA3LTA5LTE3IDAyOjAxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZQoJICBzc3JjIGRlbXV4ZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEZpeCByYWNlIGluIGNyZWF0aW5nIHRoZSBSVFAgYW5kIFJUQ1AgcGFkcyB3aGVuIGEgbmV3IFNTUkMgaXMgZGV0ZWN0ZWQuCgoyMDA3LTA5LTE2IDE5OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGNvbnZlcnRfcnRwdGltZV90b19nc3R0aW1lKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVjb25zdHJ1Y3QgR1NUIHRpbWVzdGFtcCBmcm9tIFJUUCB0aW1lc3RhbXBzIGJhc2VkIG9uIG1lYXN1cmVkIGNsb2NrCgkgIHNrZXcgYW5kIHN5bmMgb2Zmc2V0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfdGFpbF9jaGFuZ2VkKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF9jbG9ja19yYXRlKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wZWVrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWVhc3VyZSBjbG9jayBza2V3LgoJICBBZGQgY2FsbGJhY2sgdG8gYmUgbm90ZmllZCB3aGVuIGEgbmV3IHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIHRhaWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGNsb2NrIHNrZXcgZGV0ZWN0aW9uLCBpdCdzIG1vdmUgdG8gdGhlIGppdHRlcmJ1ZmZlciBub3cuCgoyMDA3LTA5LTE1IDE4OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIHRoZSByaWdodCBsb2NrIHRvIHByb3RlY3Qgb3VyIHZhcmlhYmxlcy4KCSAgRml4IHNvbWUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBvbiB0aGUgc2VuZGVyIHNpbmtwYWQgc28gdGhhdCBwYXlsb2FkZXJzIGNhbiBuZWdvdGlhdGUKCSAgdGhlIHJpZ2h0IFNTUkMuCgoyMDA3LTA5LTEyIDIxOjIzOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBWYXJpb3VzIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZnJlZV9zZXNzaW9uKSwKCSAgKGdldF9jbGllbnQpLCAoZnJlZV9jbGllbnQpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVmFyaW91cyBsZWFrIGZpeGVzLgoKMjAwNy0wOS0xMiAxODowNDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjYWxjX250cF9uc19iYXNlKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksIChjcmVhdGVfc2VuZF9ydHApOgoJICBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgTlRQIHRpbWVzIGluIFNSIHBhY2tldHMuCgkgIFNldCBjYXBzIG9uIG5ldyBnaG9zdHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQ2xlYW4gZGVidWcgc3RhdGVtZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25faW50ZXJuYWxfbGlua3MpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbnRwLW5zLWJhc2UgcHJvcGVydHkgdG8gY29udmVydCBydW5uaW5nX3RpbWUgdG8gTlRQIHRpbWUuCgkgIEhhbmRsZSBORVdTRUdNRU5UIGV2ZW50cyBvbiBzZW5kIGFuZCByZWN2IFJUUCBwYWRzIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGFuZCB0aHVzIE5UUCB0aW1lIG9mIHRoZSBwYWNrZXRzLgoJICBTaW1wbGlmeSBnZXR0aW5nIHRoZSBjdXJyZW50IE5UUCB0aW1lIHVzaW5nIHRoZSBwaXBlbGluZSBjbG9jay4KCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucy4KCSAgVXNlIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgaW5zdGVhZCBvZiB0aGUgY2xvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbi4KCSAgQ2FsY3VsYXRlIHRoZSBkaWZmIGJldHdlZW4gZGlmZmVyZW50IHN0cmVhbXMsIHRoaXMgbWlnaHQgYmUgdXNlZCBsYXRlcgoJICB0byBnZXQgdGhlIGludGVyIHN0cmVhbSBsYXRlbmN5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU2ltcGxlIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIE1ha2UgdGhlIGNsb2NrIHNrZXcgd2luZG93IGEgbGl0dGxlIGJpZ2dlci4KCSAgQXBwbHkgdGhlIGNsb2NrIHNrZXcgdG8gYWxsIGJ1ZmZlcnMsIG5vdCBqdXN0IG9uZSB3aXRoIGEgbmV3IHRpbWVzdGFtcC4KCSAgQ2FsY3VsYXRlIGFuZCBkZWJ1ZyBzZW5kZXIgY2xvY2sgZHJpZnQuCgkgIFVzZSBleHRlbmRlZCBsYXN0IHRpbWVzdGFtcCB0byBpbnRlcnBvbGxhdGUgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA5LTA0IDE1OjIzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yICgjNDczNTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yCgkgICgjNDczNTYyKS4KCjIwMDctMDktMDMgMjE6MTk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGNhcHNfY2hhbmdlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBIYW5kbGUgc3luY19ydGNwIGJ1ZmZlcnMgZnJvbSB0aGUgU1NSQyBkZW11eGVyIHRvIHBlcmZvcm0gbGlwLXN5bmMuCgkgIFNldCB0aGUgZGVmYXVsdCBsYXRlbmN5IGNvcnJlY3RseS4KCSAgQWRkIHNvbWUgbW9yZSBwb2ludHMgd2hlcmUgd2UgY2FuIGdldCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGNvbnRyb2wgdGltZXN0YW1waW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGZWVkIHJ0cHNlc3Npb24gbWFuYWdlciB3aXRoIE5UUCB0aW1lIGJhc2VkIG9uIHBpcGVsaW5lIGNsb2NrIHdoZW4KCSAgaGFuZGxpbmcgUlRQIHBhY2tldHMgYW5kIFJUQ1AgdGltZW91dHMuCgkgIFBlcmZvcm0gYWxsIFJUQ1Agd2l0aCB0aGUgc3lzdGVtIGNsb2NrLgoJICBTZXQgY2FwcyBvbiBSVENQIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBbHNvIGRlbXV4IFJUQ1AgbWVzc2FnZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAoc2Vzc2lvbl9zdGFydF9ydGNwKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW1vdmUgdGhlIGdldF90aW1lIGNhbGxiYWNrLCB0aGUgR1N0cmVhbWVyIHBhcnQgd2lsbCBmZWVkIHVzIHdpdGgKCSAgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgU3BsaXQgc3luYyB0aW1pbmcgYW5kIFJUQ1AgdGltaW5nIGluZm9ybWF0aW9uLgoJICBGYWN0b3Igb3V0IGNvbW1vbiBSQiBoYW5kbGluZyBmb3IgU1IgYW5kIFJSLgoJICBTZW5kIG91dCBTUiBSVENQIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICBNb3ZlIFNSIGFuZCBSUiBwYWNrZXQgaW5mbyBnZW5lcmF0aW9uIHRvIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIGNhcHMgb24gaW5jb21taW5nIGJ1ZmZlcnMgdG8gZ2V0IHRpbWluZyBpbmZvcm1hdGlvbiB3aGVuIHRoZXkgYXJlCgkgIHRoZXJlLgoJICBDYWxjdWxhdGUgY2xvY2sgc2NldyBvZiB0aGUgcmVjZWl2ZXIgY29tcGFyZWQgdG8gdGhlIHNlbmRlciBhbmQgYWRqdXN0CgkgIHRoZSBydHAgdGltZXN0YW1wcy4KCSAgQ2FsY3VsYXRlIHRoZSByb3VuZCB0cmlwIGluIHNvdXJjZXMuCgkgIERvIFNSIGFuZCBSUiBjYWxjdWxhdGlvbnMgaW4gdGhlIHNvdXJjZS4KCjIwMDctMDgtMzEgMTU6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQgd2UgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQKCSAgd2UgY2FuIGhhbmRsZSB0aGUgcnRwIHdyYXBhcm91bmQgY29ycmVjdGx5LgoKMjAwNy0wOC0yOSAxNjo1NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbXByb3ZlIENvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW1wcm92ZSBDb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEFsc28gcGFyc2UgdGhlIHNpbmsgY2FwcyBmb3IgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIG9ubHkgcmVseWluZyBvbiB0aGUKCSAgcmVzdWx0IG9mIHRoZSBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGZldGNoIHRoZSBjbG9jayByYXRlIGZvciBwYXlsb2FkcyB3ZSBhcmUgc2VuZGluZyBvdXQgc28KCSAgdGhhdCB3ZSBjYW4gdXNlIGl0IGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOC0yOSAwMToyMjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uKjogRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQgY2FuIGdlbmVyYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQKCSAgY2FuIGdlbmVyYXRlIGNvcnJlY3QgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2Jhc2VfdGltZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfdGltZXN0YW1wX3N5bmMpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2RzIGZvciBzZXR0aW5nIHN5bmMgcGFyYW1ldGVycy4KCSAgU2V0IGNvcnJlY3QgUlRQIHRpbWUgaW4gU1IgcGFja2V0cyB1c2luZyB0aGUgc3luYyBwYXJhbXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVjb3JkIGxhc3QgUlRQIDwtPiBHU1QgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIHRvIGNvbnZlcnQgTlRQCgkgIHRvIFJUUCB0aW1lc3RhbXBzIGluIFNSIHBhY2tldHMuCgoyMDA3LTA4LTI4IDIwOjMwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgRklYTUUuCgkgIFJlbGVhc2UgTE9DSyB3aGVuIHBlcmZvcm1pbmcgc2Vzc2lvbiBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIFJUUCBwYWNrZXRzIHdpdGggdGhlIHNlc3Npb24gU1NSQy4KCjIwMDctMDgtMjcgMjE6MTc6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIERvbid0IHRyeSB0byBhZGQgb3VyIGxhdGVuY3kgdG8gaW52YWxpZCBwZWVyIG1heCBsYXRlbmN5IHZhbHVlcy4KCjIwMDctMDgtMjMgMjE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURSByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUKCSAgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGb28gdHlwZXMgdGhhdAoJICBmYXJzaWdodCByZWdpc3RlcnMgKGx1Y2tpbHkgR1R5cGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlKS4gU2hvdWxkCgkgIGZpbmFsbHkgZml4ICM0MzA2NjQuCgoyMDA3LTA4LTIxIDE3OjE4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaCB0aGUgYnVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2gKCSAgdGhlIGJ1ZmZlciBhcyBmYXN0IGFzIHBvc3NpYmxlLgoJICBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNy0wOC0yMSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgoyMDA3LTA4LTE2IDExOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IEVPUyBoYW5kbGluZy4KCSAgQ29udmVydCBzb21lIERFQlVHIGludG8gV0FSTklOR3MuCgkgIFBhdXNlIHRhc2sgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspOgoJICBVc2Ugc3lzdGVtIGNsb2NrIGZvciBSVENQIHNlc3Npb24gbWFuYWdlbWVudCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KToKCSAgUmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZW1pdGluZyBzaWduYWxzLgoKMjAwNy0wOC0xMyAwNjoxNjo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEwIDE3OjE2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX25ldyksIChjb21wYXJlX3NlcW51bSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcG9wKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoKSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX251bV9wYWNrZXRzKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyCgkgIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZSBidWdzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwKCSAgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9ieWVfc3NyYyksIChzZXNzaW9uX2NsZWFudXApOgoJICBVc2UgbmV3IGppdHRlcmJ1ZmZlciBjb2RlLgoJICBFeHBvc2Ugc29tZSBuZXcgc2lnbmFscyBpbiBwcmVwYXJhdGlvbiBmb3IgaGFuZGxpbmcgRU9TLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA1LTI4IDE2OjM3OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lLiBGaXhlcyAjNDMwNjY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lCgkgIG5hbWUuIEZpeGVzICM0MzA2NjQuCgoyMDA3LTA1LTIzIDEzOjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIEFkZCBjbGVhci1wdC1tYXAgYWN0aW9uIHNpZ25hbCB3aGVyZSBuZWVkZWQuCgoyMDA3LTA1LTE1IDEzOjI5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgoyMDA3LTA1LTE1IDAzOjQ1OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoKMjAwNy0wNS0xNCAxNToyODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgY2xlYXItcHQtbWFwIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdCBjbG9jay1yYXRlIHRvIC0xIHRvIG1hcmsgdW5rbm93IGNsb2NrIHJhdGUuCgkgIEZpeCBmbHVzaGluZy4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDEyOjM4OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcG9wLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGb3JtYXQgYXJnIGZpeCAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KQoKMjAwNy0wNS0wOSAxMToyNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoKMjAwNy0wNS0wNCAxMjozMjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFN0b3JlIHJlYWwgdXNlciBuYW1lIGluIHRoZSBzZXNzaW9uLgoKMjAwNy0wNC0zMCAxMzo0MTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpOgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFJlbmFtZSBSVENQIHNlbmQgcGFkLCBsaWtlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEFsbG93IGdldHRpbmcgYW4gUlRDUCBwYWQgZm9yIHJlY2VpdmluZyBldmVuIGlmIHdlIGRvbid0IHJlY2VpdmUgUlRQLgoJICBmaXggaGFuZGxpbmcgb2Ygc2VuZF9ydHBfc3JjIHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2hlbiBubyBwdCBtYXAgY291bGQgYmUgZm91bmQsIGZhbGwgYmFjayB0byB0aGUgc2lua3BhZCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IHBhZCBuYW1lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBVbmxvY2sgc2Vzc2lvbiB3aGVuIHBlcmZvcm1pbmcgYSBjYWxsYmFjay4KCSAgQWRkIGNhbGxiYWNrcyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gb2JqZWN0LgoJICBGaXggc2VuZGluZyBvZiBSVFAgcGFja2V0cy4KCSAgZmlyc3QgYXR0ZW1wdCBhdCBhZGRpbmcgTlRQIHRpbWVzIGluIHRoZSBTUiBwYWNrZXRzLgoJICBTbWFsbCBkZWJ1ZyBhbmQgZG9jIGltcHJvdmVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBVcGRhdGUgc3RhdHMgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA0LTI5IDE0OjQ2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBSZW1vdmUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBSZW1vdmUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nCgkgIEZpeCBpbnRlcnZhbCBmb3IgQllFL1JUQ1AgcGFja2V0cy4KCjIwMDctMDQtMjcgMTU6MDk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWNvbnNpZGVyKToKCSAgTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIFNpbXBsaWZ5IHRpbW91dCBoYW5kbGluZyBhbmQgYWRkIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksIChzZXNzaW9uX3NkZXMpLAoJICAoc2Vzc2lvbl9ieWUpLCAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSGFuZGxlIHRpbWVvdXQgb2YgaW5hY3RpdmUgc291cmNlcyBhbmQgc2VuZGVycy4KCSAgSW1wbGVtZW50IEJZRSBzY2hlZHVsaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1lbWJlcnMgdG8gY2hlY2sgZm9yIHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlciksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX2J5ZV9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIFJGQyBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSByZXBvcnRpbmcgaW50ZXJ2YWwuCgoyMDA3LTA0LTI1IDE2OjM4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxNTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGVidWdpbmcgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDEzOjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIERvbid0IHNlbmQgUlRDUCByaWdodCBiZWZvcmUgd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICBJbXByb3ZlIHJlcG9ydCBibG9ja3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIENsZWFudXBzLCBhZGQgbWV0aG9kcyB0byBhY2Nlc3Mgc3RhdHMuCgoyMDA3LTA0LTI1IDA4OjMwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBGaXggZm9yIHJlbmFtZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0cF9zZXNzaW9uX3NldF9jbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfY25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X2VtYWlsKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9lbWFpbCksIChydHBfc2Vzc2lvbl9zZXRfcGhvbmUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Bob25lKSwgKHJ0cF9zZXNzaW9uX3NldF9sb2NhdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24pLCAocnRwX3Nlc3Npb25fc2V0X3Rvb2wpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Rvb2wpLCAocnRwX3Nlc3Npb25fc2V0X25vdGUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25vdGUpLCAoc291cmNlX3B1c2hfcnRwKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fZ2V0X3JlcG9ydGluZ19pbnRlcnZhbCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAoc2Vzc2lvbl9zZGVzKSwgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFByZXBhcmUgZm9yIGltcGxlbWVudGluZyBTU1JDIHNhbXBsaW5nLgoJICBDcmVhdGUgU1NSQyBmb3IgdGhlIHNlc3Npb24uCgkgIEFkZCBtZXRob2RzIHRvIHNldCB0aGUgU0RFUyBlbnRyaWVzLgoJICBmaXggYWNjb3VudGluZyBvZiBzZW5kZXJzL3JlY2VpdmVycy4KCSAgSW1wbGVtZW50IFNSL1JSL1NERVMgUlRDUCByZXBvcnRpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBJbXBsZW1lbnQgZXh0ZW5kZWQgc2VxdWVuY2UgbnVtYmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFJlbmFtZSBzb21lIGZpZWxkcy4KCjIwMDctMDQtMjEgMTk6MjE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgoyMDA3LTA0LTE4IDE4OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZGVkIG5ldyBmaWxlcyBmb3Igc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgdGhlIHNlc3Npb24gbWFuYWdlciBjYW4gbm93IGFsc28gcmVxdWVzdCBhIHB0LW1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfdGltZSksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgV2UgY2FuIGFzayBmb3IgcHQtbWFwIG5vdyB0b28gd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIG5lZWRzIGl0LgoJICBIb29rIHVwIHRvIHRoZSBuZXcgc2Vzc2lvbiBtYW5hZ2VyLCBpbXBsZW1lbnQgdGhlIG5lZWRlZCBjYWxsYmFja3MgZm9yCgkgIHB1c2hpbmcgZGF0YSwgZ2V0dGluZyBjbG9jayB0aW1lIGFuZCByZXF1ZXN0aW5nIGNsb2NrLXJhdGVzLgoJICBSZW5hbWUgcnRjcF9zcmMgdG8gc2VuZF9ydGNwX3NyYyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcyBSVENQIGlzIHRvCgkgIGJlIHNlbmQgdG8gY2xpZW50cy4KCSAgQWRkIGNvZGUgdG8gc3RhcnQgYW5kIHN0b3AgdGhlIHRocmVhZCB0aGF0IHdpbGwgc2NoZWR1bGUgUlRDUCB0aHJvdWdoCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLAoJICAob25fYnllX3NzcmMpLCAocnRwX3Nlc3Npb25fbmV3KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgpLAoJICAoc291cmNlX3B1c2hfcnRwKSwgKHNvdXJjZV9jbG9ja19yYXRlKSwgKGNoZWNrX2NvbGxpc2lvbiksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfY25hbWUpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYXBwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9wcm9kdWNlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVGhlIGFkdmFuY2VkIGJlZ2lubmluZ3Mgb2YgdGhlIG1haW4gc2Vzc2lvbiBtYW5hZ2VyIHRoYXQgaGFuZGxlcyB0aGUKCSAgcGFydGljaXBhbnQgZGF0YWJhc2Ugb2YgUlRQU291cmNlcywgU1NSQyBwcm9iYXRpb24sIFNTUkMgY29sbGlzaW9ucywKCSAgcGFyc2UgUlRDUCB0byB1cGRhdGUgc291cmNlIHN0YXRzLiBldGMuLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2VfbmV3KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3J0cF9mcm9tKSwgKHJ0cF9zb3VyY2Vfc2V0X3J0Y3BfZnJvbSksCgkgIChwdXNoX3BhY2tldCksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX2J5ZSksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBPYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgYW4gU1NSQyBhbmQgaXRzIHN0YXRlIGluIHRoZSBkYXRhYmFzZS4KCSAgQ2FsY3VsYXRlcyB0aGUgaml0dGVyIGFuZCB0cmFuc2l0IHRpbWVzIG9mIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFZhcmlvdXMgc3RhdHMgcmVnYXJkaW5nIHRoZSBzZXNzaW9uIGFuZCBzb3VyY2VzLgoJICBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgUlRDUCBpbnRlcnZhbC4KCjIwMDctMDQtMTMgMDk6MjA6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBSZXR1cm4gRkxPV19PSyBmcm9tIFJUQ1AgbWVzc2FnZXMgZm9yIG5vdy4KCjIwMDctMDQtMTIgMDg6MTg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAocHRfbWFwX3JlcXVlc3RlZCk6CgkgIEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRW1pdCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoKMjAwNy0wNC0xMSAxMzo0OTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNsb2NrX3JhdGVfcmVxdWVzdCksIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgY2FjaGluZyBwdCBtYXBzLgoJICBDb25uZWN0IHRvIHNpZ25hbHMgdG8gY29sbGVjdCBwdCBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHJlcXVlc3RfY2xvY2tfcmF0ZSBzaWduYWwuCgkgIFVzZSBzY2FsZSBpbnN0ZWF0IG9mIHNjYWxlX2ludCBiZWNhdXNlIHRoZSBsYXRlciBkb2VzIG5vdCBkZWFsIHdpdGgKCSAgbmVnYXRpdmUgbnVtYmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoKMjAwNy0wNC0xMCAwOToxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci8uY3ZzaWdub3JlOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBlbWl0aW5nIHB0IG1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIEZpeCBzaWduYWxzLgoKMjAwNy0wNC0wNiAxMjoyODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBQcm92aWRlIGEgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX3Byb3ZpZGVfY2xvY2spOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcm92aWRlIGEgY2xvY2suCgoyMDA3LTA0LTA2IDEyOjA3OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgoyMDA3LTA0LTA1IDE2OjEwOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBGaXggZG91YmxlIHVucmVmKCkgaW4gZXJyb3IgY2FzZXMuCgoyMDA3LTA0LTA1IDEzOjU0OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBBZGRlZCBSVFBTdHJlYW0gdG8gbWFuYWdlIHN0cmVhbSBwZXIgU1NSQywgZWFjaCB3aXRoIGl0cyBvd24KCSAgaml0dGVyYnVmZmVyIGFuZCBwdGRlbXV4LgoJICBBZGRlZCBTU1JDRGVtdXguCgkgIENvbm5lY3QgdG8gdmFyaW91cyBTU1JDIGFuZCBQVCBzaWduYWxzIGFuZCBjcmVhdGUgZ2hvc3RwYWRzLCBsaW5rIHN0dWZmLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgcnRwYmluIHRvIGVsZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggY2FwcyBhbmQgZm9yd2FyZCBHc3RGbG93UmV0dXJuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBldmVudCBoYW5kbGluZwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9ydHBfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9ydHBfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgbmV3LXB0LXBhZCBzaWduYWwuCgoyMDA3LTA0LTA0IDEwOjIzOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoKMjAwNy0wNC0wMyAxMTozNTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgIFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCjIwMDctMDQtMDMgMDk6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbTogQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgoyMDA3LTA0LTAzIDA5OjEzOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChhc3luY19qaXR0ZXJfcXVldWVfbmV3KSwKCSAgKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2hpZ2hfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbWF4X3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfZ2V0X2dfcXVldWUpLCAoY2FsY3VsYXRlX3RzX2RpZmYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VubG9jayksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaCksIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9pbnNlcnRfYWZ0ZXJfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2Jsb2NraW5nX3VubG9ja2VkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKG5ld19wYWQpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChmcmVlX3N0cmVhbSksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGdzdF9ydHBfY2xpZW50X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9jbGFzc19pbml0KSwgKGdzdF9ydHBfY2xpZW50X2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfZmluYWxpemUpLCAoZ3N0X3J0cF9jbGllbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfY2xpZW50X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2NsaWVudF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfY2xpZW50X3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGZyZWVfZnVuYyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAocHJpdl9jb21wYXJlX3J0cF9zZXFfbHQpLAoJICAoY29tcGFyZV9ydHBfYnVmZmVyc19zZXFfbnVtKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfcHRfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9nZXRjYXBzKSwgKGZpbmRfcGFkX2Zvcl9wdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCjIwMDktMDgtMTAgMTM6MzA6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBjYXRlciBmb3IgY2h1bmsgcGFkZGluZwoKMjAwOS0wOC0wNCAxOTo0NTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBvbmx5IHVzZSBzdHJlYW0ncyBwYWQgYWZ0ZXIgaGF2aW5nIGNoZWNrZWQgaXQgZXhpc3RzCgoyMDA5LTA4LTA0IDEzOjM4OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBHU1RfREVCVUdfRlVOQ1BUUgoKMjAwOS0wOC0wNCAxMzozNjozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwb3N0IGVycm9yIG1lc3NhZ2UgaWYgbm8gcGFkcyB0byBwdXNoIEVPUyBldmVudCBvbgoKMjAwOS0wOC0wNCAxMTozOTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggdHlwbyBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMDktMDgtMDQgMTE6Mzk6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHNvbWUgYnVmZmVyIHJlZiBoYW5kbGluZwoKMjAwOS0wOC0wNCAxMTozNzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgZXhjZWVkIG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCBzdHJlYW1zCgoyMDA5LTA4LTA0IDExOjM1OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByZXZlbnQgZG91YmxlIHVucmVmOyBnc3RfYXZpX2RlbXV4X3BhcnNlX2F2aWggYWxyZWFkeSB1bnJlZnMKCjIwMDktMDgtMDQgMTE6MzI6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdmVyaWZ5IHNpemUgb2YgSU5GTyBMSVNUIHRvIHNhdGlzZnkgc3Vic2VxdWVudCBleHBlY3RhdGlvbnMKCjIwMDktMDctMjkgMTU6MjU6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2hlY2sgdmlkZW8gc3RyZWFtIGZyYW1lcmF0ZSBhZ2FpbnN0IGF2aSBoZWFkZXIgZnJhbWUgZHVyYXRpb24KCSAgVGhlIGZvcm1lciBtaWdodCBiZSBib2d1cyBpbiBzaWxseSBjYXNlcywgYW5kIHRoZSBsYXR0ZXIgc2VlbXMgdG8KCSAgY2FycnkgbW9yZSB3ZWlnaHQuCgoyMDA5LTA4LTA0IDEyOjE2OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWxpbmUgc3RyZWFtIGR1cmF0aW9uIGNhbGN1bGF0aW9uCgoyMDA5LTA3LTAzIDE0OjA0OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIGR2MTM5NHNyYzogRml4IGVsZW1lbnQgZm9yIGxpdmUgdXNhZ2UuLi4gd2hpY2ggaGFzIGJlZW4gYnJva2VuIGZvciAyIHllYXJzIDooCgkgIFRoaXMgaXMgYSBsaXZlIHNvdXJjZSwgdGhlcmVmb3JlOgoJICAqIFVzZSBHU1RfRk9STUFUX1RJTUUgYXMgdGhlIGRlZmF1bHQgZm9ybWF0CgkgICogc2V0X3RpbWVzdGFtcCB0byBUcnVlCgkgICogcHJvcGVybHkgaW1wbGVtZW50IHF1ZXJ5IGxhdGVuY3kuCgkgIFRoaXMgYWxsb3dzIGV4cGVjdGVkIGxpdmUgdXNhZ2UgbGlrZSA6IHBsYXliaW4yIHVyaT1kdjovLwoKMjAwOS0wOC0wOSAwOTo0Mzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCjIwMDktMDgtMDkgMDk6NDM6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDA5LTA4LTA5IDA5OjQzOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHJlc3VsdGluZyB1bm5lZWRlZCB2YXJpYWJsZXMuCgoyMDA5LTA4LTEwIDA5OjUzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiBleHQvd2F2cGFjay9tZDUuYzoKCSogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIHdhdnBhY2s6IFVzZSBHTGliIEdDaGVja3N1bSBpbnN0ZWFkIG9mIG91ciBvd24gTUQ1IGltcGxlbWVudGF0aW9uCgkgIFRoaXMgcmVxdWlyZXMgR0xpYiAyLjE2IGJ1dCB0aGF0IHZlcnNpb24gaXMgYWxyZWFkeSByZXF1aXJlZCBieSBjb3JlIGFueXdheS4KCjIwMDktMDgtMDggMDA6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYTogQWRkcyBzdXBwb3J0IHRvIG11eGluZy9kZW11eGluZyBXTUEKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgd21hIGF1ZGlvIGZhbWlseSBhbmQgZml4ZXMKCSAgZGVtdXhpbmcgb2Ygd21hIGZhbWlseSBpbiBtYXRyb3NrYWRlbXV4LiBtYXRyb3NrYWRlbXV4CgkgIHdhcyBicm9rZW4gYmVjYXVzZSBpdCBtaXNzZWQgY29kZWNfZGF0YS4KCjIwMDktMDgtMDYgMjA6MTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYWRkcyBzdXBwb3J0IGZvciB3bXYgZmFtaWx5CgkgIEFkZHMgc3VwcG9ydCB0byBXTVYxLCBXTVYyLCBXTVYzIGFuZCBvdGhlciBmYW1pbHkgZm9ybWF0cyB0aGF0CgkgIGFyZSBzaWduYWxlZCBieSB0aGUgJ2Zvcm1hdCcgZmllbGQgaW4gdGhlIGNhcHMgKGkuZS4gV1ZDMSkuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTc2Mzc4CgoyMDA5LTA4LTA5IDE0OjE5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogaWYgbWF4ID09IG1pbiB3aWR0aC9oZWlnaHQgcHV0IGFuIGludCBpbiB0aGUgcHJvYmVkIGNhcHMsIG5vdCBhbiBpbnQgcmFuZ2UKCSAgRml4ZXMgIzU2MDAzMy4KCjIwMDktMDgtMDkgMTM6NTg6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvc3JjOiBpZiBtYXhfY2hhbm5lbHMgPT0gbWluX2NoYW5uZWxzLCB1c2UgYW4gaW50IGluc3RlYWQgb2YgYW4gaW50IHJhbmdlIGluIHRoZSBjYXBzCgoyMDA5LTA4LTA5IDEyOjUyOjE3ICswMjAwICBMb25lU3RhciA8bG9uZUBhdXZ0ZWNoLmNvbT4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogVHJ5IEdTVF8qX1RBR19FTkNPRElORyBhbmQgbG9jYWxlIGVuY29kaW5nIGlmIHRhZ3MgYXJlIG5vdCBVVEY4CgkgIEZpeGVzIGJ1ZyAjNDk5MjQyLgoKMjAwOS0wOC0wOSAwMToyOTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIGxhdGVzdCByZWxlYXNlCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDktMDgtMDkgMDE6Mjc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGNoZWNrOiBmaXggZmx2bXV4IHVuaXQgdGVzdCBvbiBiaWcgZW5kaWFuIG1hY2hpbmVzCgkgIGZsdm11eCBvbmx5IGFjY2VwdHMgcmF3IGF1ZGlvIGluIGxpdHRsZSBlbmRpYW4sIGJ1dCBhdWRpb3Rlc3RzcmMKCSAgcHJvZHVjZXMgYXVkaW8gaW4gdGhlIG5hdGl2ZSBlbmRpYW5uZXNzLCB3aGljaCBtYWtlcyBsaW5raW5nCgkgIGJldHdlZW4gYXVkaW90ZXN0c3JjIGFuZCBmbHZtdXggZmFpbCBvbiBiaWcgZW5kaWFuIG1hY2hpbmVzLiBBZGQKCSAgYW4gYXVkaW9jb252ZXJ0IGVsZW1lbnQgaW4gYmV0d2VlbiB0aGUgdHdvIHRvIGZpeCB0aGlzLgoKMjAwOS0wMi0xNSAxODo0OTo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGFkZCBrYXRlIHN1YnRpdGxlIHN1cHBvcnQgdG8gbWF0cm9za2EgbXV4ZXIgYW5kIGRlbXV4ZXIKCSAgU2VlICM1MjU3NDMuCgoyMDA5LTA4LTA3IDE2OjUxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2Mi4zLjAuaHRtbDoKCSAgaWQzZGVtdXg6IGFkZCBJRDMgdjIuMyBzcGVjIGFzIHdlbGwKCjIwMDktMDgtMDcgMTY6NDI6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBzaXplcyBpbiBJRDMgdjIuMyBhcmUgdW5saWtlbHkgdG8gYmUgc3luYy1zYWZlIGludGVnZXJzCgkgIEluIElEMyB2Mi4zIGNvbXByZXNzZWQgZnJhbWVzIHdpbGwgaGF2ZSBhIDQtYnl0ZSBkYXRhIGxlbmd0aCBpbmRpY2F0b3IKCSAgYWZ0ZXIgdGhlIGZyYW1lIGhlYWRlciB0byBpbmRpY2F0ZSB0aGUgc2l6ZSBvZiB0aGUgZGVjb21wcmVzc2VkIGRhdGEuCgkgIFRoaXMgaW50ZWdlciBpcyB1bmxpa2VseSB0byBiZSBhIHN5bmMtc2FmZSBpbnRlZ2VyIGZvciB2Mi4zIHRhZ3MsCgkgIG9ubHkgaW4gdjIuNCBpdCdzIHN5bmMtc2FmZS4KCjIwMDktMDgtMDcgMTY6MzY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMDktMDgtMDcgMTY6MDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9pZDMtNTg4MTQ4LXVuc3luY2VkLXYyNC50YWc6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiB1bnN5bmMnZWQgSUQzIHYyLjQgdGFncyBhbmQgZnJhbWVzCgkgIFJldmVyc2luZyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gc2VlbXMgdG8gd29yayBzbGlnaHRseSBkaWZmZXJlbnRseQoJICBmb3IgSUQzIHYyLjMgdGFncyBhbmQgdjIuNCB0YWdzOiB2Mi4zIHRhZ3MgZG9uJ3QgaGF2ZSBzeW5jc2FmZSBmcmFtZQoJICBzaXplcyBpbiB0aGUgZnJhbWUgaGVhZGVyLCBzbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gaXMgYXBwbGllZCB0bwoJICB0aGUgd2hvbGUgZnJhbWUgZGF0YSBpbmNsdWRpbmcgYWxsIHRoZSBmcmFtZSBoZWFkZXJzLiB2Mi40IGZyYW1lcwoJICBoYXZlIHN5bmMtc2FmZSBzaXplcywgaG93ZXZlciwgc28gdGhlIHVuc3luY2hyb25pc2F0aW9uIG9ubHkgbmVlZHMKCSAgdG8gYmUgYXBwbGllZCB0byB0aGUgYWN0dWFsIGZyYW1lIGRhdGEsIGFuZCBpdCBzZWVtcyB0aGF0J3Mgd2hhdCdzCgkgIGJlaW5nIGRvbmUgYXMgd2VsbC4gU28gd2UgbmVlZCB0byB1bmRvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBvbiBhCgkgIHBlci1mcmFtZSBiYXNpcyBmb3IgdjIuNCB0YWdzIGZvciB0aGluZ3MgdG8gd29yayBwcm9wZXJseS4KCSAgRml4ZXMgZXh0cmFjdGlvbiBvZiBjb3ZlcmFydC9pbWFnZXMgZnJvbSBBUElDIGZyYW1lcyBpbiBJRDMgdjIuNAoJICB0YWdzICgjNTg4MTQ4KS4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoKMjAwOS0wOC0wNiAyMToyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogVXNlIFNPVVBfTUVUSE9EX0dFVCBpbnN0ZWFkIG9mICJHRVQiIHN0cmluZwoJICBGaXhlcyBidWcgIzU5MDk3MC4KCjIwMDktMDgtMDYgMTM6MDA6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNldCB0aGUgZGVmYXVsdCBzbGF2ZSBtZXRob2QgdG8gc2tldwoJICBTZXQgdGhlIGRlZmF1bHQgc2xhdmUgbWV0aG9kIHRvIHRoZSBtdWNoIGJldHRlciBza2V3IGFsZ29yaXRobS4gVGhpcyBpcyB0aGUKCSAgZGVmYXVsdCBpbiB0aGUgbmV3IGJhc2UgY2xhc3MgYnV0IHdlIG92ZXJyaWRlIHRoaXMgaGVyZSBhcyB3ZWxsIGZvciB0aGUKCSAgdXBjb21taW5nIHJlbGVhc2UuCgoyMDA5LTA4LTA2IDEwOjIwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZml4IGNvbXBpbGF0aW9uIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1ZwoKMjAwOS0wOC0wMyAxODo1OTozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogdXNlIGFycmF5IGluc3RlYWQgb2YgcXVldWUKCjIwMDktMDgtMDMgMTg6NTU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwdXNoIE5BTHMgb25seSBhZnRlciBTUFMvUFBTCgkgIHBhcnNlIGNvbXBsZXRlIChieXRlc3RyZWFtKSBidWZmZXIgZm9yIFNQUy9QUFMgYmVmb3JlIHB1c2hpbmcgTkFMcy4KCSAgRml4ZXMgIzU2NDUwMS4KCjIwMDktMDgtMDQgMTQ6NDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBEaXJlY3RseSB1c2UgR1NUX1BUUl9GT1JNQVQgZm9yIHByaW50aW5nIGNhcHMgd2l0aCB0aGUgTE9HX0NBUFMgbWFjcm8KCjIwMDktMDgtMDQgMTE6MTc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbTJkZXBheTogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDgtMDQgMDk6MzI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiBSZW1vdmUgc29tZSBPTUFQIHNwZWNpZmljIGhhY2tzCgkgIFRoZXkgcmVxdWlyZSBzcGVjaWFsIGJ1aWxkIGZsYWdzIGFuZCBhcmUgbm90IHVzZWZ1bCBpbiBnZW5lcmFsLgoKMjAwOS0wOC0wNCAwOToyMjoyOSArMDIwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc2luazogY2hhbmdlIHdoZXJlIGJ1ZmZlcnMgZ2V0IGRlcXVldWVkCgkgIEl0IHNlZW1zIHRvIGNhdXNlIHN0cmFuZ2Ugb2NjYXNpb25hbCBoaWdoIGxhdGVuY2llcyAoYWxtb3N0IDIwMG1zKSB3aGVuIGRlcXVldWluZyBidWZmZXJzIGZyb20gX2J1ZmZlcl9hbGxvYygpLiAgSXQgaXMgc2ltcGxlciBhbmQgc2VlbXMgdG8gd29yayBtdWNoIGJldHRlciB0byBkcWJ1ZiBmcm9tIHRoZSBzYW1lIHRocmVhZCB0aGF0IGlzIHF1ZXVpbmcgdGhlIG5leHQgYnVmZmVyLgoKMjAwOS0wOC0wNCAwOToxNDoyMCArMDIwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IEFkZCB2NGwyc2luayBlbGVtZW50CgkgIFRoaXMgYWxzbyBkb2VzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKCSAgKDEpIHB1bGwgdGhlIGJ1ZmZlcnBvb2wgY29kZSBvdXQgaW50byBnc3R2NGwyYnVmZmVycG9vbC5jLCBhbmQgbWFrZSBhCgkgIGJpdCBtb3JlIGdlbmVyaWMgc28gaXQgY2FuIGJlIHVzZWQgYm90aCBmb3IgdjRsMnNyYyBhbmQgdjRsMnNpbmsKCSAgKDIpIG1vdmUgc29tZSBvZiB0aGUgZGV2aWNlIHByb2JpbmcvY29uZmlndXJhdGlvbi9jYXBzIHN0dWZmIGludG8KCSAgZ3N0djRsMm9iamVjdC5jIHNvIGl0IGRvZXMgbm90IGhhdmUgdG8gYmUgZHVwbGljYXRlZCBiZXR3ZWVuCgkgIHY0bDJzcmMgYW5kIHY0bDJzaW5rCgkgIEZpeGVzIGJ1ZyAjNTkwMjgwLgoKMjAwOS0wOC0wNCAwNzowNzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZmx2bXV4OiBFbmFibGUgdW5pdCB0ZXN0IG5vdyB0aGF0IGl0IHBhc3NlcwoKMjAwOS0wOC0wMyAyMToyMTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwcWRtMmRlcGF5LHJ0cHN2M3ZkZXBheTogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCjIwMDktMDgtMDMgMjE6MjI6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSAgcnRwcWRtMmRlcGF5OiBIYW5kbGUgZ2FwcyBpbiBpbmNvbWluZyBwYWNrZXRzLgoJICBXaGVuZXZlciB3ZSBzZWUgYSBnYXAsIHdlIGZsdXNoIHRoZSB0ZW1wb3JhcnkgcGFja2V0cyAoYnV0IG5vdCB0aGUgYWRhcHRlcikuIElmIHdlCgkgIGhhZCBzb21lIGRhdGEgdGVtcG9yYXJpbHkgc3RvcmVkIGl0IHdpbGwgYmUgb3V0cHV0dGVkICh0aGUgc291bmQgd2lsbCBzb3VuZCBhIGJpdAoJICBnYXJibGVkLi4uIGJ1dCB0aGF0J3MgaG93IGl0IHNvdW5kcyBvbiBNYWNPU1ggOikKCjIwMDktMDgtMDMgMTk6MDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkgIHJ0cHFkbWRlcGF5OiBGaXggQ1JDIGNhbGN1bGF0aW9uIGFuZCByZW1vdmUgY29tbWVudGVkIGNvZGUuCgoyMDA5LTA4LTAyIDEzOjQyOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkgIHJ0cDogTmV3IFFETTIgcnRwIGRlcGF5bG9hZGVyLgoJICBSZXZlcnNlLWVuZ2luZWVyZWQgYnkgY29tcGFyaW5nOgoJICAqIEEgcnRwIGhpbnRlZCBmaWxlIHByb3ZpZGVkIGJ5IERhcndpblN0cmVhbWluZ1NlcnZlcgoJICAqIFRoZSBvdXRwdXQgcHJvY3VlZCBieSBEU1MgZm9yIHRoYXQgc2FtZSBmaWxlCgkgIEFsc28gdXNlZCB2YXJpb3VzIHN0cmVhbWluZyBzb3VyY2VzIGF2YWlsYWJsZSBvbiB0aGUgaW50ZXJuZXQgdG8gZmluZS10dW5lCgkgIHRoZSBjb2RlLgoJICBUaGUgaGVhZGVyL2NvZGVjX2RhdGEgZXh0cmFjdGlvbiBtZXRob2RzIGFyZSBmcm9tIEZGTXBlZyAoTEdQTCkuCgoyMDA5LTA4LTAzIDIxOjI0OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzdmRlcGF5OiBQcm9wZXJseSBmaWxsIGNvZGVjX2RhdGEgYW5kIGNsZWFudXAgY29kZSBhIGJpdGUgbW9yZS4KCjIwMDktMDgtMDMgMTk6MDI6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICBydHBzdjN2ZGVwYXk6IE9ubHkgb3V0cHV0IGJ1ZmZlcnMgb25jZSB3ZSdyZSBjb25maWd1cmVkLgoKMjAwOS0wOC0wMyAxOTowMjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M3ZkZXBheTogQWRkIG1vcmUgZW5jb2RpbmctbmFtZSB2YXJpYW50cwoKMjAwOS0wOC0wMyAyMDowODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggdW5pdCB0ZXN0IHRvIGNvcnJlY3RseSBoYW5kbGUgcmVxdWVzdCBwYWRzCgkgIFJlcXVlc3QgcGFkcyBhcmUgcmVtb3ZlZCBieSB0aGUgZWxlbWVudCBpbnN0YW5jZSBpbiBQQVVTRUQtPlJFQURZCgkgIHNvIHdlIG5lZWQgdG8gcmUtcmVxdWVzdCBwYWRzIGZvciBldmVyeSBydW4gYW5kIGxpbmsgdGhlbSBhZ2Fpbi4KCSAgTGFzdCBmaXggZm9yIGJ1ZyAjNTkwNDQ3LgoKMjAwOS0wOC0wMyAyMDowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEZpeCB3cml0aW5nIG9mIHRoZSBpbmRleCBmb3IgPCAxMjggYnVmZmVycwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDIwOjA3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHJlc2V0dGluZyBvZiB0aGUgZWxlbWVudAoJICBSZXNldCB0aGUgaGF2ZV92aWRlby9oYXZlX2F1ZGlvIGZsYWdzIGFuZCBtYWtlIHN1cmUgdG8KCSAgcHJvcGVybHkgcmVsZWFzZSB0aGUgcmVxdWVzdCBwYWRzLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDE4OjEzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBhZGQgbm9uLXV0ZjggY2hhcnMgdG8gc3RydWN0dXJlcwoKMjAwOS0wOC0wMyAxODowMjozMSArMDIwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4IGF0IGZyZWVzdXJmLmNoPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAganBlZ2RlcGF5OiB1c2UgYXR0cmlidXRlcyBmb3IgZXh0cmEgcHJvcGVydGllcwoJICBVc2Ugc29tZSBvZiB0aGUgU0RQIGF0dHJpYnV0ZXMgd2hlbiB0aGV5IGFyZSBwcmVzZW50IHRvIHNwZWNpZnkgdGhlIG91dHB1dAoJICBkaW1lbnNpb24gYW5kIGZyYW1lcmF0ZS4gVGhpcyBhbGxvd3MgdXMgdG8gcmVjZWl2ZSBqcGVnIGZyYW1lcyBsYXJnZXIgdGhhbgoJICAyMDQwIHdpZHRoL2hlaWdodC4KCSAgRml4ZXMgIzU2NDQzNwoKMjAwOS0wOC0wMyAxODowMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBSVFAgZG9jczogdXBkYXRlIHdpdGggYXR0cmlidXRlcyBpbiBjYXBzCgoyMDA5LTA4LTAzIDE3OjIxOjQ0ICswMjAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXggYXQgZnJlZXN1cmYuY2g+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHB1dCBhbGwgU0RQIGF0dHJpYnV0ZXMgb24gY2FwcwoJICBQdXQgdGhlIFNEUCBhdHRyaWJ1dGVzIG9uIHRoZSBjYXBzIHRvbyBzbyB0aGF0IHRoZXkgY2FuIGJlIHVzZWQgYnkKCSAgZGVwYXlsb2FkZXJzLgoJICBTZWUgIzU2NDQzNwoKMjAwOS0wOC0wMyAxMzozMjoxMiArMDIwMCAgSm9uYXRoYW4gVGVsbGllciA8am9uYXRoYW4udGVsbGllciBhdCBnbWFpbC5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGluaXRpYWxpemUgdGhlIHByb2JlIHdpdGggdGhlIHNlcnZlcgoJICBXaGVuIGNyZWF0aW5nIGEgbmV3IHByb2JlLCBwYXNzIHRoZSBzZXJ2ZXIgaW5zdGVhZCBvZiB0aGUgZGV2aWNlIHN0cmluZy4KCSAgZml4ZXMgIzU5MDQwMQoKMjAwOS0wOC0wMiAxMTo0NDowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGRvbid0IGRvIHRoaW5ncyB3aXRoIHNpZGUtZWZmZWN0cyBpbnNpZGUgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICBTb21lb25lIG1pZ2h0IGNvbXBpbGUgdGhpcyBjb2RlIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUIHNvbWUgZGF5LgoKMjAwOS0wOC0wMSAyMTozOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgZG8gbG9naWMgd2l0aGluIGdfYXNzZXJ0KCkgc3RhdGVtZW50cwoJICBPdGhlcndpc2UgdGhhdCBjb2RlIHdpbGwganVzdCBiZSBleHBhbmRlZCB0byBub3RoaW5nIHdoZW4gY29tcGlsZWQKCSAgLURHX0RJU0FCTEVfQVNTRVJUIChQUzogd2h5IGlzIG1haW5sb29wX3N0YXJ0KCkgY2FsbGVkIGluIHRoZSBpbml0CgkgIGZ1bmN0aW9uIGFuZCBub3Qgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBSRUFEWT8pCgoyMDA5LTA4LTAxIDE3OjA3OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc2VuZCBuZXdzZWdtZW50IGV2ZW50IHdoZW4gb3BlcmF0aW5nIHB1c2gtYmFzZWQgYW5kIHVuZnJhbWVkCgkgIEZvciBzb21lIHJlYXNvbiBmbGFjIGRvZXNuJ3QgY2FsbCBvdXIgbWV0YWRhdGEgY2FsbGJhY2sgd2hlbiB3ZSBvcGVyYXRlCgkgIGluIHB1c2ggbW9kZSB3aXRoIHVuZnJhbWVkIGlucHV0LCBidXQgdGhhdCdzIHdoZXJlIHdlIHNldCB1cCB0aGUKCSAgbmV3c2VnbWVudCBldmVudCAoc2luY2UgdGhhdCdzIHdoZXJlIHdlJ2QgZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZQoJICBzdHJlYW0gaW5mbyBoZWFkZXIpLCBzbyB3ZSBkaWRuJ3Qgc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgYXQgYWxsIGluIHRoaXMKCSAgY2FzZS4gSGFjayBhcm91bmQgdGhpcyBieSBzdG9yaW5nIGEgZ2VuZXJpYyBuZXdzZWdtZW50IGV2ZW50IGZvciBub3cKCSAgd2hpY2ggd2lsbCBiZSB1c2VkIGlmIHdlIGRvbid0IHJlcGxhY2UgaXQgd2l0aCBhIGJldHRlciBvbmUgdGhhdAoJICBpbmNsdWRlcyB0aGUgZHVyYXRpb24uCgoyMDA5LTA4LTAxIDE2OjQ4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogc21hbGwgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgY2FsbGJhY2sgaW5kaXJlY3Rpb25zIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkIGJlY2F1c2UKCSAgdGhlcmUncyBvbmx5IG9uZSBkZWNvZGVyIG9iamVjdCB0eXBlIG5vdy4gQWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wOC0wMSAxNToyMjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHVzZSBnc3RfYWRhcHRlcl9jb3B5KCkgdG8gYXZvaWQgdW5uZWNlc3NhcnkgYnVmZmVyIG1lcmdlcwoJICBnc3RfYWRhcHRlcl9wZWVrKCkgd2lsbCBtZXJnZSBidWZmZXJzIGFzIG5lZWRlZCwgd2hpY2ggd2UgY2FuIGF2b2lkCgkgIGhlcmUgc2luY2Ugd2UncmUgZG9pbmcgYSBtZW1jcHkgYW55d2F5IGFuZCB0aGVuIGZsdXNoIHRoZSBjb3BpZWQKCSAgZGF0YSBmcm9tIHRoZSBhZGFwdGVyIHJpZ2h0IGF3YXkuCgoyMDA5LTA4LTAxIDAwOjAwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogcmVwYWlyIHNvbWUgYnJva2VuIGluZGVudGluZwoKMjAwOS0wOC0wMSAxMjoxOTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGNoZWNrczogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2bXV4LCBidXQgZGlzYWJsZSBpdCBmb3Igbm93CgkgIEJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2bXV4LiBGYWlscyBtaXNlcmFibHksIGhlbmNlIGRpc2FibGVkIGZvciBub3cuCgoyMDA5LTA3LTMxIDIzOjI4OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvcGNtMTZzaW5lLmZsdjoKCSAgY2hlY2s6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIGZsdmRlbXV4CgkgIEluIHBhcnRpY3VsYXIsIHRlc3QgcmUtdXNlIG9mIGZsdmRlbXV4IGluIGJvdGggcHVsbCBhbmQgcHVzaCBtb2RlCgkgIChzZWUgIzU4MzAzMCkuCgoyMDA5LTA3LTMxIDIwOjI1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZml4IGludmFsaWQgd3JpdGUgY2F1c2VkIGJ5IHVzaW5nIHNpemVvZigic3RyaW5nIikgYXMgbGVuZ3RoCgkgIHNpemVvZigiZm9vIikgaW5jbHVkZXMgdGhlIHN0cmluZydzIE5VTC10ZXJtaW5hdG9yIGluIHRoZSBzaXplIHJldHVybmVkLAoJICBidXQgd2UncmUgd3JpdGluZyBzdHJpbmdzIGhlcmUgd2l0aCBhbiBleHBsaWNpdCBzaXplIGF0IHRoZSBiZWdpbm5pbmcKCSAgYW5kIG5vIE5VTC10ZXJtaW5hdG9yLiBJbiBtb3N0IGNhc2VzIHVzaW5nIHNpemVvZigiZm9vIikgYXMgbGVuZ3RoIGluCgkgIG1lbWNweSBpcyBub3QgaGFybWZ1bCwgYnV0IGl0IGlzIHdoZXJlIHRoZSBzdHJpbmcgZ29lcyByaWdodCBhdCB0aGUKCSAgZW5kIG9mIG91ciBidWZmZXIgdG8gd3JpdGUsIHNpbmNlIHdlIGRvbid0IGFsbG9jYXRlIHNwYWNlIGZvciB0aGF0CgkgIE5VTCB0ZXJtaW5hdG9yLgoKMjAwOS0wNy0yNyAxODo0NDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IFVzZSAiR0VUIiBpbnN0ZWFkIG9mIFNPVVBfTUVUSE9EX0dFVC4gRml4ZXMgYnVpbGQgd2l0aCBsaWJzb3VwLTIuNy4qCgkgIFRoaXMgaXMgZHVlIHRvIGEgcXVhbGl0eSBBUEkgY2hhbmdlIGluIGxpYnNvdXAgMi43LiBTT1VQX01FVEhPRF8qIGFyZSBub3cKCSAgaW50ZWdlcnMgYW5kIG5vdCBzdHJpbmdzLi4uIHRoZXkgY291bGQgaGF2ZSBjaGFuZ2VkIHRoZSBuYW1lcy4KCjIwMDktMDctMzAgMTc6NTc6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiB1c2UgbG9uZ2VyIG1hY3JvIG5hbWVzIHRvIG5vdCBjbGFzaCB3aXRoIHNvbWUgc3R1cGlkIHdpbmRvd3MgZGVmaW5lcwoJICBsaWJqcGVnIGhlYWRlcnMgcHVsbCBzb21lIHdpbmRvd3Mgc3lzdGVtIGlubGN1ZGVzIChvbiB3aW5kb3dzKSB0aGF0IGNvbnRhaW4gYQoJICBkZWZpbmUgZm9yIERFRkFVTFRfUVVBTElUWS4KCjIwMDktMDctMjkgMTQ6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGxhc3QgY29tbWl0IGFuZCBpbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDA5LTA3LTI0IDE5OjA0OjMxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4ZWQgdGhlIGZpeCBmb3IgVElNRS0+REVGQVVMVCBjb252ZXJzaW9uLgoJICBGaXhlcyBidWcgIzU3ODA1MiBhZ2Fpbi4KCjIwMDktMDctMjkgMTM6Mzg6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjNkZXBheTogRml4IHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbiwgYnJpbmcgdXAgdG8gbWFyZ2luYWwgcmFuay4KCSAgQmFzZWQgb24gZG9jdW1lbnRhdGlvbiBmb3VuZCBvbiBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4LwoKMjAwOS0wNy0yOSAxMjoxMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBjb25kaXRpb25hbGx5IGNvbXBpbGUgbmV3ZXIgc3R1ZmYKCSAgY29uZmlndXJlZF9zaW5rL3NvdXJjZV91c2VjIGluIHRoZSB0aW1pbmdfaW5mbyBpcyBvbmx5IHNpbmNlIDAuOS4xMSBzbwoJICBjb25kaXRpb25hbGx5IGNvbXBpbGUgdGhpcyBpbmZvcm1hdGlvbi4KCSAgZml4ZXMgIzU5MDAzOAoKMjAwOS0wNy0yOCAxODoyOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgcHVsc2VzcmM6IGNsZWFudXBzCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgc291cmNlIGFuZCBsZWF2ZSB0aGUgcmVhZCBmdW5jdGlvbiB3aGVuCgkgIHBhdXNlZC4KCSAgZG9uJ3Qgd2FpdCBmb3IgYSBsYXRlbmN5IHVwZGF0ZSB3aGVuIHRoZSBkZWxheSBpcyBub3QgeWV0IGtub3duIGJ1dCBzaW1wbHkKCSAgcmV0dXJuIDAgaW5zdGVhZCBvZiBibG9ja2luZy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgY29ya2VkIHN0YXRlIG9mIHRoZSBzdHJlYW0uCgkgIEZpeCB0aGUgc3RhdGUgY2hhbmdlcy4KCjIwMDktMDctMjggMTY6MTE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IHNldCBtYXhsZW5ndGggYWx3YXlzIHRvIC0xCgoyMDA5LTA3LTI4IDE1OjUzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzsgY2xlYW51cHMsIHJlcG9ydCByZWFsIGxhdGVuY3kKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvCgkgIEF2b2lkIHNvbWUgdHlwZSBjYXN0cwoJICBSZXBvcnQgdGhlIHJlYWwgbGF0ZW5jeSB0byB0aGUgYXBwbGljYXRpb24uCgoyMDA5LTA3LTI4IDE2OjExOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogd2hlbiBzY2FubmluZyBmb3IgMHhmZiBtYXJrZXIgZW5kcywgZW5zdXJlIGRlc2lyZWQgcmVzdWx0CgkgIE90aGVyd2lzZSwgYW55IG5vbiAweGZmIGJ5dGUgYXQgZW5kIG9mIGRhdGEgd291bGQgYmUgbWlzdGFrZW4gZm9yCgkgIGEgdGFnIGJ5dGUsIGFuZCBpbiBjYXNlIG9mIGEgZnJhbWVfbGVuIDAgdGFnIHN1YnNlcXVlbnRseSBsZWFkIHRvIGFuCgkgIGluZmluaXRlIGxvb3AuCgoyMDA5LTA3LTI4IDAwOjMwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkcyBzdXBwb3J0IHRvIHdtYQoKMjAwOS0wNy0yOCAwMDowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFkZHMgc3VwcG9ydCB0byB3bXYKCjIwMDktMDctMjcgMjE6MzQ6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb3duZ3JhZGUgd2FybmluZyBtZXNzYWdlIHRvIGRlYnVnCgoyMDA5LTA3LTI3IDExOjUxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGF2b2lkIHVzaW5nIGl2YWxpZCBzdHJlYW0gaW5kZXhlcwoJICB3aGVuIHdlIGdldCBhbiBpbnZhbGlkIHN0cmVhbSBpbmRleCBmcm9tIHB1bHNlIGJlY2F1c2Ugd2Ugd2VyZSBqdXN0IHN0YXJ0aW5nLAoJICBhdm9pZCB1c2luZyBpdCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgdm9sdW1lLgoJICBGaXhlcyAjNTg5MzY1CgoyMDA5LTA3LTI0IDE5OjM4OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IERvbid0IGFsbG93IGNhcHMgY2hhbmdlcyBmb3Igc29tZSBlZmZlY3R2IGZpbHRlcnMKCSAgVGhlc2UgZmlsdGVycyB1c2UgaW5mb3JtYXRpb24gZnJvbSBwcmV2aW91cyBmcmFtZXMgdG8KCSAgZ2VuZXJhdGUgdGhlIGN1cnJlbnQgZnJhbWUgYW5kIGEgY2FwcyBjaGFuZ2Ugd2lsbCBtYWtlCgkgIHRoZSBlZmZlY3Qgc3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nIGFnYWluLgoKMjAwOS0wNy0yNCAxOTozNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycHR2OiBNYWtlIHRoZSBzaW5lIHRhYmxlIGdsb2JhbCBpbnN0ZWFkIG9mIGhhdmluZyBpdCBpbiBldmVyeSBpbnN0YW5jZQoKMjAwOS0wNy0yNCAxMDo0Nzo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiBtYWtlIGVuY29kZXIgd29yayB3aXRoIGxpYmpwZWcgdjcKCSAgV2UgaGF2ZSB0byBzcGVjaWZ5IGRvX2ZhbmN5X2Rvd25zYW1wbGluZyA9IEZBTFNFIGluIHRoZSBlbmNvZGVyIHdpdGggZGlkIG5vdCBleGlzdCBiZWZvcmUuCgoyMDA5LTA3LTI0IDAwOjQyOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlZGFhZWUgdG8gOTRmOTVlMwoKMjAwOS0wNy0yMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIEZpeGVzIGJ1ZyAjNTg5NDIzLgoKMjAwOS0wNy0yMiAxMToxNjowNiArMDEwMCAgQ29saW4gR3V0aHJpZSA8Y2d1dGhyaWVAbWFuZHJpdmEub3JnPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBhIGNvdXBsZSBlcnJvciBtZXNzYWdlcyB0aGF0IG1lbnRpb25lZCBpbmNvcnJlY3QgZnVuY3Rpb24gbmFtZXMuCgkgIEZpeGVzICM1ODk0NTkuCgoyMDA5LTA3LTIzIDExOjUwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgQWxzbyBhZGQgc29tZSBtb3JlIHF1ZXJ5IHR5cGVzIHRvIHRoZSBhbnN3ZXIgb2YgdGhlIHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTg5NDI0LgoKMjAwOS0wNy0yMSAxOTo0Njo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogZml4IGludGVybWl0dGVudCBGTEFDX19TVFJFQU1fREVDT0RFUl9BQk9SVEVEIGVycm9ycyB3aGVuIHNlZWtpbmcKCSAgV2hlbiBzZWVraW5nIGluIGEgbG9jYWwgZmxhYyBmaWxlIChpZS4gb3BlcmF0aW5nIHB1bGwtYmFzZWQpLCB0aGUgZGVjb2RlcgoJICB3b3VsZCBvZnRlbiBqdXN0IGVycm9yIG91dCBhZnRlciB0aGUgbG9vcCBmdW5jdGlvbiBzZWVzIGEgREVDT0RFUl9BQk9SVEVECgkgIHN0YXR1cy4gVGhpcywgaG93ZXZlciwgaXMgdGhlIHJlYWQgY2FsbGJhY2sncyB3YXkgb2YgdGVsbGluZyBvdXIgbG9vcAoJICBmdW5jdGlvbiB0aGF0IHB1bGxfcmFuZ2UgZmFpbGVkIGFuZCBzdHJlYW1pbmcgc2hvdWxkIHN0b3AsIGluIHRoaXMgY2FzZQoJICBiZWNhdXNlIG9mIHRoZSBmbHVzaC1zdGFydCBldmVudCB0aGF0IHRoZSBzZWVrIGhhbmRsZXIgcHVzaGVkIHVwc3RyZWFtCgkgIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLiBIYW5kbGUgdGhpcyBzbGlnaHRseSBiZXR0ZXIgYnkgc3RvcmluZyB0aGUgbGFzdAoJICBmbG93IHJldHVybiBmcm9tIHB1bGxfcmFuZ2UsIHNvIHRoZSBsb29wIGZ1bmN0aW9uIGNhbiBldmFsdWF0ZSBpdCBwcm9wZXJseQoJICB3aGVuIGl0IGVuY291bnRlcnMgYSBERUNPREVSX0FCT1JURUQgYW5kIHRha2UgdGhlIHJpZ2h0IGFjdGlvbi4KCSAgRml4ZXMgIzU3ODYxMi4KCjIwMDktMDctMjEgMTA6MDc6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZml4IGluZGVudGluZyBhbmQgdXBncmFkZSB0d28gZGVidWdzIHRvIHdhcm5pbmdzLgoJICBGaXggbmV3bGluZXMgaW4gdmFyaWFibGUgZGVjbHMuIENoYW5nZSB0d28gZGVidWdzIHRvIGJlY29tZSB3YXJuaW5ncyBhcyB0aGV5CgkgIGluZGljYXRlIHRoYXQgdGhpbmdzIHdpbGwgbm90IHdvcmsuCgoyMDA5LTA3LTIxIDEwOjA0OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWc6IGNvZGUgY2xlYW51cHMgZm9yIGVuY29kZXIKCSAgUmVtb3ZlIHNvbWUgZGlzYWJsZWQgY29kZSBpbiBlbmNvZGVyLiBUcnkgI2lmIDAnZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzIGFib3V0CgkgIHdoeSBpdCBpcyBkaXNhYmxlZC4gTW92ZSBpZGN0LW1ldGhvZCBlbnVtIHRvIGpwZWcuYyBhbmQgdXNlIGluIGJvdGggZW5jb2RlciBhbmQKCSAgZGVjb2Rlci4gQWRkIGlkY3QtbWV0aG9kIHByb3BlcnR5IHRvIGVuY29kZXIuCgoyMDA5LTA3LTIxIDA3OjUwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbnN3ZXIgU0VFS0lORyBxdWVyaWVzIGluIHRoZSBvcmlnaW5hbCBmb3JtYXQKCjIwMDktMDctMjEgMDE6MTI6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwdXRpbHM6IGluaXRpYWxpemUgc3RydWN0IGNvbnRlbnQgd2l0aCAwLgoJICBGaXhlcyBzb21lIHJhbmRvbSBjcmFzaGVzLgoKMjAwOS0wNy0yMCAxOTowOToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzZXQgc29tZSB2YWx1ZXMgdG8gdGhlaXIgZGVmYXVsdHMKCSAgU2V0IHRoZSBtaW5yZXEgYW5kIG1heGxlbmd0aCBidWZmZXIgYXR0cmlidXRlcyB0byAtMSB0byBsZXQgcHVsZXNlYXVkaW8gc2VsZWN0IGEKCSAgc2Vuc2libGUgdmFsdWUuCgoyMDA5LTA3LTIwIDE5OjA0OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IHdhaXQgZm9yIHBvc3RlZCBtZXNzYWdlCgkgIFdlIGNhbid0IHdhaXQgZm9yIHRoZSBFTlRFUi9MRUFWRSBtZXNzYWdlcyB0byBiZSBiZSBwb3N0ZWQgYmVjYXVzZSB0aGUgYmFzZQoJICBjbGFzcyBzb21ldGltZXMgY2FsbHMgdGhlIHN0YXJ0IG1ldGhvZCB3aXRoIHRoZSBvYmplY3QgbG9jaywgd2hpY2ggd291bGQgYmxvY2sKCSAgdGhlIG1lc3NhZ2UgcG9zdGluZy4KCSAgSW5zdGVhZCwganVzdCBhc3N1bWUgdGhhdCB0aGUgbWVzc2FnZSB3aWxsIGJlIHBvc3RlZCBzb29uIGFuZCBjb250aW51ZS4gV2UnbGwKCSAgaGF2ZSB0byBmaXggdGhpcyBpbiB0aGUgYmFzZSBjbGFzcy4KCjIwMDktMDctMjAgMTg6MTE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdXNlIHJlbGF0aXZlIHNlZWtzCgkgIFVzZSByZWxhdGl2ZSBzZWVrcyBiZWNhdXNlIEkgd2FzIHRvbGQgdGhhdCBhYnNvbHV0ZSBzZWVrcyBkb24ndCB3b3JrLgoKMjAwOS0wNy0yMCAxNjo1MjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjAgMDg6MDc6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBBZGQgc3VwcG9ydCBmb3IgQVJHQi9CR1JBIGlucHV0CgkgIE5vdGUgdGhhdCB2aWRlb3Rlc3RzcmMgb3V0cHV0cyAxMDAlIHRyYW5zcGFyZW50IHZpZGVvCgkgIHdoaWNoIHdpbGwgcmVzdWx0IGluIHdoaXRlIG91dHB1dCBmcm9tIGNhaXJvcmVuZGVyLgoKMjAwOS0wNy0xNyAxMzoyMjo1NyArMDEwMCAgRWxhaW5lIFhpb25nIDxFbGFpbmUuWGlvbmdAU3VuLkNPTT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogRml4IHY0bDJzcmMgb24gT3BlblNvbGFyaXMKCSAgVGhlIHY0bDIgZHJpdmVyIGZvciBVU0Igd2ViY2FtcyBvbiBPcGVuU29sYXJpcyBkb2VzIG5vdCBzdXBwb3J0IHNlbGVjdCgpCgkgIGNhbGxzLiBEZXRlY3Qgd2hlbiBzZWxlY3QoKSBmYWlscywgYW5kIHNraXAgcG9sbGluZyB0aGUgZGV2aWNlIGFmdGVyd2FyZCwKCSAgd2hpY2ggcmVzdG9yZXMgdGhlIHByZSAwLjEwLjE0IGJlaGF2aW91ciBvbiBPcGVuU29sYXJpcy4KCSAgU2lnbmVkLW9mZi1ieTogSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKMjAwOS0wNy0xNyAxMToyMjowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IElnbm9yZSBzb21lIG5ldyBiaW5hcmllcwoKMjAwOS0wNy0xNyAxMzo0OToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBBZGQgdG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMDktMDctMTcgMTM6NDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgaWYgd2UgaGF2ZSBubyBjYXBzCgoyMDA5LTA3LTE3IDEzOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBjYXBzIGFuZCBjb2xvcnNwYWNlIGhhbmRsaW5nCgoyMDA5LTA3LTE3IDEzOjMwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogVXNlIGNvcnJlY3QgbWltZXR5cGVzIGZvciBQREYgYW5kIFNWRwoKMjAwOS0wNy0xNyAxMzoyNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFJlbW92ZSBwdWxsIG1vZGUsIGl0IG9ubHkgYWRkcyBjb21wbGV4aXR5IGJ1dCBub3QgYWR2YW50YWdlcwoKMjAwOS0wNy0xNiAyMTo1NTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEZpeCBjYXBzIG5lZ290aWF0aW9uIGFuZCBjYWlybyBzdXJmYWNlIGNyZWF0aW9uCgoyMDA5LTA3LTE2IDIxOjQyOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogQ29ycmVjdGx5IHNldCBzcmNjYXBzCgoyMDA5LTA3LTE2IDIxOjMxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm9yZW5kZXI6IE1vdmUgaW5zdGFuY2UvY2xhc3Mgc3RydWN0IGRlZmluaXRpb25zIHRvIHRoZSBoZWFkZXIKCjIwMDktMDctMTYgMjE6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogQWRkIEx1dHonIGNvcHlyaWdodCB0byB0aGUgZmlsZSBoZWFkZXIKCjIwMDktMDctMTYgMjE6Mjc6NDUgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuaDoKCSAgY2Fpcm86IEFkZCBjYWlyby1iYXNlZCBQREYvUFMvU1ZHIGVuY29kZXIgZWxlbWVudAoJICBGaXhlcyBidWcgIzMzMTQyMC4KCjIwMDktMDctMTYgMjA6NDQ6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IE9wdGlvbmFsbHkgd3JpdGUgYSBQQURESU5HIGJsb2NrCgkgIFRoZSBzaXplIG9mIHRoZSBQQURESU5HIGJsb2NrIGlzIHNwZWNpZmllZCBieSBhIG5ldwoJICAicGFkZGluZyIgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNTg4NDgzLgoKMjAwOS0wNy0xNiAxOTozNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogT25seSBhc3N1bWUgc2Vla2FiaWxpdHkgaWYgdGhlIHNlcnZlciBwcm92aWRlcyBDb250ZW50LUxlbmd0aAoJICBQcmV2aW91c2x5IHNlZWthYmlsaXR5IHdheSBhbHdheXMgYXNzdW1lZCB1bnRpbCB0aGUgZmlyc3Qgc2VlayBhY3R1YWxseQoJICBmYWlsZWQuIE5vdyB3ZSBhc3N1bWUgdGhhdCBhbGwgc2VydmVycyBhcmUgbm90IHNlZWthYmxlIHVubGVzcyB0aGV5IHByb3ZpZGUKCSAgYSBDb250ZW50LUxlbmd0aCBoZWFkZXIuIElmIGEgc2VlayBmYWlscyBhZnRlciB0aGF0IHdlIGNvbnRpbnVlIHRvCgkgIGFzc3VtZSBubyBzZWVrYWJpbGl0eS4gRml4ZXMgYnVnICM1ODU1NzYuCgoyMDA5LTA3LTE2IDE1OjE0OjQzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZG9uJ3QgdHJ5IHRvIGF1dGhlbnRpY2F0ZSBpZiBubyB1c2VybmFtZS9wYXNzd29yZCBpcyBzZXQuCgoyMDA5LTA3LTE2IDE3OjEwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogQ2hhaW4gdXAgZmluYWxpemUgdG8gdGhlIHBhcmVudCBjbGFzcyBpbiB3YXJwdHYKCSAgRml4ZXMgYSBtZW1vcnkgbGVhay4KCjIwMDktMDctMTYgMTI6NTU6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9lZmZlY3R2LmM6CgkgIGVmZmVjdHY6IEFkZCB1bml0IHRlc3QgZm9yIGFsbCBlZmZlY3R2IGVsZW1lbnRzCgoyMDA5LTA3LTE2IDEyOjE3OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgIGVmZmVjdHY6IEFkZCBuZXcgZWZmZWN0diBlbGVtZW50cyB0byB0aGUgZG9jcwoKMjAwOS0wNy0xNSAxNDozNzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkgIGVmZmVjdHY6IEFkZCByaXBwbGV0diBlbGVtZW50CgkgIFRoaXMgcHJvZHVjZXMgYSB3YXRlciByaXBwbGUgZWZmZWN0IG9uIHRoZSB2aWRlbyBpbnB1dCwKCSAgYmFzZWQgb24gbW90aW9uIG9yIGEgcmFpbiBkcm9wIGFsZ29yaXRobS4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODg2OTUuCgoyMDA5LTA3LTEyIDE1OjQyOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuaDoKCSAgZWZmZWN0djogQWRkIHN0cmVha3R2IGVmZmVjdCBmaWx0ZXIgZWxlbWVudAoJICBUaGlzIGNvbWJpbmVzIHRoZSBTdHJlYWtUViBhbmQgQmFsdGFuVFYgZmlsdGVycyBmcm9tIHRoZQoJICBlZmZlY3R2IHByb2plY3QuCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzY4LgoKMjAwOS0wNy0xMiAxMjozMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICBlZmZlY3R2OiBGaXggcHJvY2Vzc2luZyBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMKCjIwMDktMDctMTIgMTE6NTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IEFkZCByYWRpb2FjdHYgZWZmZWN0IGZpbHRlcgoJICBUaGlzIGZpbHRlciBhZGRzIGEgcmFkaWF0aW9uLWxpa2UgbW90aW9uIGJsdXIgZWZmZWN0CgkgIHRvIHRoZSB2aWRlbyBzdHJlYW0uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzU5LgoKMjAwOS0wNy0xMiAxMToyNjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJICBlZmZlY3R2OiBNYWtlIHRoZSBvcHR2IHRocmVzaG9sZCBwcm9wZXJ0eSBhbiB1aW50CgoyMDA5LTA3LTEyIDEwOjM5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdDogQWRkIG9wdHYgZWZmZWN0IGZpbHRlciBmcm9tIHRoZSBlZmZlY3R2IHByb2plY3QKCSAgVGhpcyBmaWx0ZXIgYmluYXJpemVzIGlucHV0IGZyYW1lcyBhbmQgY29tYmluZXMgdGhlbSB3aXRoIHZhcmlvdXMKCSAgb3B0aWNhbCBwYXR0ZXJuLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODM0OS4KCjIwMDktMDctMDMgMDU6MTE6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBFbWl0IHN0cmVhbS1zdGF0dXMgbGVhdmUgbWVzc2FnZQoJICBGaXhlcyAjNTg3Njk1CgoyMDA5LTA3LTAzIDA1OjA2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBFbWl0IHN0cmVhbS1zdGF0dXMgZW50ZXIgbWVzc2FnZQoJICBFbWl0IHN0cmVhbS1zdGF0dXMgbWVzc2FnZXMgZm9yIHRoZSBwdWxzZSB0aHJlYWQuCgkgIERvbid0IHVzZSBvdXIgb3duIEdDb25kIGZvciBzaWduYWxpbmcgYnV0IHNpbXBseSB1c2UgdGhlIHB1bHNlIG1haW5sb29wCgkgIG1lY2hhbmlzbXMgZm9yIHN5bmNocm9uaXNhdGlvbi4KCSAgU2VlICM1ODc2OTUKCjIwMDktMDctMTQgMTg6MTU6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZGVidWcgdGhlIGxhdGVuY3kgdXBkYXRlIHZhbHVlcwoKMjAwOS0wNy0xNCAxNjoxMjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogYWRkIDI0Yml0IHNhbXBsZSBmb3JtYXRzCgkgIEFkZCBjaGVjayBmb3IgcHVsc2VhdWRpbyAwLjkuMTUgYW5kIGVuYWJsZSAyNGJpdHMgc2FtcGxlcyBpbiB0aGF0IGNhc2UuCgoyMDA5LTA3LTEzIDEyOjIzOjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU4NDViNjMgdG8gZmVkYWFlZQoKMjAwOS0wNy0xMyAxNzo1MzoyNSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIG1wdnBheTogUmV3b3JrIHRoZSB0aW1lc3RhbXBpbmcKCSAgUmV3b3JrIHRoZSB0aW1lc3RhbXBpbmcgaW4gdGhlIG1wdiBwYXlsb2FkZXIgc28gdGhhdCB0aGUgdGltZXN0YW1wcyBhcmUgbW9yZQoJICBhY2N1cmF0ZS4KCSAgRml4ZXMgIzU4NzY4MAoKMjAwOS0wNy0wMyAwODo0NzoxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkgIHY0bDJzcmM6IGFkZCBhIHNpbXBsZSB0ZXN0IGNhc2UgZm9yIGRldmljZSBwcm9iaW5nCgoyMDA5LTA3LTAzIDA4OjM4OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogb3B0aW9uYWwgc3VwcG9ydCBmb3IgZGV2aWNlIHByb2Jpbmcgd2l0aCBndWRldgoJICBFbnVtZXJhdGUgdjRsMiBkZXZpY2VzIHVzaW5nIGd1ZGV2IGlmIGF2YWlsYWJsZS4KCSAgRml4ZXMgYnVnICM1ODM2NDAuCgoyMDA5LTA3LTEwIDE5OjU0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmFuZG9tIGNsZWFudXAKCjIwMDktMDctMTAgMTk6NTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBTZW5kIHF1ZXJpZXMgdG8gdGhlIG1hc3RlciBwYWQgYnkgZGVmYXVsdCBpbnN0ZWFkIG9mIGFsbCBwYWRzCgoyMDA5LTA3LTEwIDE5OjM0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgUkdCLCBCR1IsIHhSR0IsIFJHQngsIHhCR1IsIEJHUnggc3VwcG9ydAoKMjAwOS0wNy0xMCAxNzo0MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IENsZWFuIHVwIGRlYnVnZ2luZyBhIGJpdAoKMjAwOS0wNy0xMCAxNzoyNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSBzb21lIHJlZHVuZGFudCBjaGVja3MgYW5kIGVycm9yIG91dCBpbW1lZGlhdGVseSBpZiBub3QgbmVnb3RpYXRlZAoJICBBbHNvIHN0b3AgbGVha2luZyB0aGUgb3V0cHV0IGJ1ZmZlciBpbiBzb21lIGVycm9yIGNhc2VzLgoKMjAwOS0wNy0xMCAxNzoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHRoZSBjYWxjdWxhdGVfZnJhbWVfc2l6ZSgpIGZ1bmN0aW9uIGFuZCB1c2UgbGliZ3N0dmlkZW8gaW5zdGVhZAoKMjAwOS0wNi0zMCAxNToxMzo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHVudXNlZCBsaW5rL3VubGluayBwYWQgbWV0aG9kcwoKMjAwOS0wNi0zMCAxMjo0MzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogSTQyMCBtb2RlOiBBZGQgZmFzdCBwYXRoIGZvciAwLjAgYW5kIDEuMCBhbHBoYQoJICBJZiB0aGUgc291cmNlIGFscGhhIGlzIDAuMCwgd2UgdGFrZSBub3RoaW5nLgoJICBJZiB0aGUgc291cmNlIGFscGhhIGlzIDEuMCwgd2Ugb3ZlcndyaXRlIGV2ZXJ5dGhpbmcuCgoyMDA5LTA2LTMwIDEyOjQwOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBJNDIwIGJsZW5kaW5nIDogRml4IG1haW4gYWxnb3JpdGhtLgoJICBXaGVuIGJsZW5kaW5nIGEgc291cmNlIGxheWVyIHdpdGggYW4gYWxwaGEgb2YgJ2EnIG9uIHRvcCBvZiBhbm90aGVyCgkgIGRlc3RpbmF0aW9uIGxheWVyIHdlIHRha2UgdGhlIHN1bSBvZjoKCSAgKiAnYScgcGVyY2VudCBvZiB0aGUgc291cmNlIGxheWVyCgkgICogKDEwMCAtICdhJykgcGVyY2VudCBvZiB0aGUgZGVzdGluYXRpb24gbGF5ZXIgKHRoZSByZW1haW5kZXIpCgoyMDA5LTA2LTMwIDEyOjM5OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICB2aWRlb21peGVyOiBNYWtlIGRlYnVnZ2luZyBjYXRlZ29yeSBnbG9iYWwgdG8gYWxsIHRoZSBjb2RlLgoKMjAwOS0wNi0yOSAxOToyMzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBkZWJ1Z2dpbmcgc3RhdGVtZW50cy4KCjIwMDktMDctMDggMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3QgbGVhayB0aW1lb3V0IG1lc3NhZ2UKCjIwMDktMDctMDkgMDc6MTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IERvbid0IGZvcndhcmQgTkVXU0VHTUVOVCBldmVudHMgZnJvbSB1cHN0cmVhbQoJICBOZXcgb25lcyBhcmUgZ2VuZXJhdGVkIGxhdGVyIGFuZCBzaW1wbHkgZm9yd2FyZGluZyB0aGVtIGNhbgoJICByZXN1bHQgaW4gTkVXU0VHTUVOVCBldmVudHMgb2YgZGlmZmVyZW50IGZvcm1hdCBnb2luZyBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzU4Nzk4My4KCjIwMDktMDctMDggMTg6MTk6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IE1ha2UgY2hlY2tlciBwYXR0ZXJuIGxvb2t1cCB0YWJsZSBjb25zdGFudAoKMjAwOS0wNy0wOCAxODoxNzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBzdXBwb3J0IGZvciBBUkdCCgkgIEFuZCBjbGVhbiB1cCB0aGUgY2FwcyBwYXJzaW5nLgoKMjAwOS0wNy0wOCAxNToxNzo0MSArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluQGdhaWduYXJkLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBJbml0aWFsaXplIHBvaW50ZXIgdG8gTlVMTAoJICBPdGhlcndpc2Ugd2UncmUgY2FsbGluZyBmcmVlKCkgd2l0aCBzb21lIHJhbmRvbQoJICBtZW1vcnkgYWRkcmVzcyBpbiBlcnJvciBjYXNlcy4KCSAgRml4ZXMgYnVnICM1ODc5ODIuCgoyMDA5LTA3LTA3IDE2OjM1OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3ByaW5rbGUgc29tZSBtb3JlIGNvbnN0CgoyMDA5LTA3LTA3IDE1OjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGVyZm9ybSBzb21lIG1vcmUgKGNhcmVmdWwpIGRhdGEgYnVmZmVyaW5nCgkgIE9uY2UgYnVmZmVyaW5nIGhhcyBzdGFydGVkICh3aXRoIGFuIG1kYXQgYXRvbSksIGNvbnRpbnVlIGJ1ZmZlcmluZwoJICB1bnRpbCBtb292IGF0b20gaXMgcmVhY2hlZCwgd2hpY2ggaGFuZGxlcyBjYXNlcyB3aXRoIG11bHRpcGxlCgkgIG1kYXQgYXRvbXMuICBBbHNvIGtlZXAgYWRhcHRlci9vZmZzZXQgYmV0dGVyIGluIHN5bmMgd2l0aCB1cHN0cmVhbQoJICBhbmQgZml4IHNvbWUgZGVidWcgc3RhdGVtZW50cy4gIEZpeGVzICM1ODc0MjYuCgoyMDA5LTA3LTA2IDEwOjQwOjMxICswMjAwICBQaGlsaXAgSuRnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBSZXBsYWNlIGRlcHJlY2F0ZWQgR1NUX0RJU0FCTEVfREVCVUcgd2l0aCBjb3JyZWN0IG1hY3JvLiBGaXhlcyAjNTg3ODI2CgoyMDA5LTA3LTAxIDEzOjA3OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXJyb3Igb3V0IGluc3RlYWQgb2YgZGl2aWRpbmcgYnkgMAoJICBFcnJvciBvdXQgaWYgdGltZXNjYWxlIGlzIDAuCgoyMDA5LTA3LTAxIDA5OjMyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3QgYmxhY2tsaXN0IHN0cmVhbXMgYnkgd3JvbmdseSBjb21wYXJpbmcgdGhlaXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTUwM2E1OWE1Nzc5YjY3NDUxZDhhMjcxMDAwMTgxNzkwZWU3NmJjNy4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgaXQgY2F1c2VzIHJlZ3Jlc3Npb25zIHdpdGggYSBsb3Qgb2Ygc2FtcGxlIGZpbGVzCgkgIEkgaGF2ZSwgYWxsIG9mIHdoaWNoIHdvcmtlZCBmaW5lIHdpdGggdGhlIGxhc3QgLWdvb2QgcmVsZWFzZSAoIzU4Njg5MSkuCgoyMDA5LTA2LTMwIDE1OjU0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29tbWVudCBvdXQgdW51c2VkIHN0cnVjdHVyZQoKMjAwOS0wNi0zMCAxMzoxMjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vcmUgc2l6ZSBjaGVja3MsIGFuZCB1c2UgZ190cnlfbmV3MCgpIGluc3RlYWQgb2YgZ19uZXcwKCkKCSAgV2hlbmV2ZXIgd2UgYWxsb2Mgc29tZXRoaW5nIGJhc2VkIG9uIGEgdXNlci1zdXBwbGllZCBzaXplLCB3ZSBzaG91bGQKCSAgcmVhbGx5IHVzZSBnX3RyeV9uZXcoKSwgb3RoZXJ3aXNlIHdlIGNhbiBlYXNpbHkgYmUgbWFkZSB0byBhYm9ydCBieQoJICBwYXNzaW5nIGEgcmlkaWN1bG91c2x5IGxhcmdlIG51bWJlciB0byB1cyBmb3IgYWxsb2NpbmcuIEZpeGVzCgkgIHByb2JsZW1zIHdpdGggc29tZSBmdXp6ZWQgZmlsZXMuCgoyMDA5LTA2LTI5IDE4OjU4OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZ3VhcmQgYWdhaW5zdCBib2d1cyBhdG9tIHNpemVzIGFuZCBzaG9ydCByZWFkcwoJICBDaGVjayB0aGUgcG9zc2libHkgNjQtYml0IGF0b20gc2l6ZSBtb3JlIGNhcmVmdWxseSBiZWZvcmUgY2FzdGluZyBpdAoJICB0byBhbiBpbnQgYW5kIHBhc3NpbmcgaXQgdG8gZ3N0X3BhZF9wdWxsX3JhbmdlKCksIG90aGVyd2lzZSB3ZSBtaWdodAoJICBlbmQgdXAgcHVsbGluZyAwIGJ5dGVzLCBnZXR0aW5nIGFuIGVtcHR5IGJ1ZmZlciBhcyByZXF1ZXN0ZWQgYW5kCgkgIGRlcmVmZXJlbmNpbmcgbm90IGF2YWlsYWJsZSBkYXRhIHdoaWxzdCB0aGlua2luZyB3ZSBhY3R1YWxseSBhc2tlZAoJICBmb3IgYW5kIGdvdCAweDEwMDAwMDAwMDAwMDAgYnl0ZXMuIFNpbWlsYXIgZml4IGZvciBwdXNoIG1vZGUgb3BlcmF0aW9uCgkgIHdoZXJlIG5lZWRlZGJ5dGVzIGVuZHMgdXAgYmVpbmcgMCBieXRlcywgd2hpY2ggbWFrZXMgdXMgYXNzZXJ0LiBGaXhlcwoJICBjcmFzaCB3aXRoIGJyb2tlbiBvciBmdXp6ZWQgZmlsZSAoTkIgIzEyMjM3OCkuCgoyMDA5LTA2LTI5IDE2OjUyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIDB4IHByZWZpeCB3aGVuIGxvZ2dpbmcgbnVtYmVycyBpbiBoZXgKCjIwMDktMDctMDEgMDg6NDA6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IERvbid0IHNlbmQgZW1wdHkgc3RyaW5nIHRhZ3MKCjIwMDktMDYtMzAgMjE6MzU6MzcgKzA0MDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBEb24ndCB1c2Ugc2VuZG1zZygpLWRlcGVuZGVudCBjb2RlIG9uIFdpbmRvd3MKCSAgRml4ZXMgIzU4NTg0MgoKMjAwOS0wNi0zMCAxNTo1OToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IGZpeCBjYXBzIGFuZCBuZWdvdGlhdGlvbgoJICBGaXggdGhlIGNhcHMgdG8gaW5jbHVkZSB0aGUgZGVwdGggKGluc3RlYWQgb2Ygd2lkdGggdHdpY2UpIGluIHRoZSBjYXBzIG9mCgkgIGF1ZGlvL3gtcmF3LWludC4KCSAgRml4IG5lZ290aWF0aW9uIHRvIG5vdCBvbmx5IGNvcHkgdGhlIHJhdGUvY2hhbm5lbHMgb2YgdGhlIGZpcnN0IHN0cnVjdHVyZS4KCjIwMDktMDYtMzAgMTQ6NDg6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbmNsdWRlICIxLjA9MTAwJSIgaW4gdm9sdW1lIGFuZCBjaGFuZ2UgdXBwZXIgbGltaXQKCSAgVXBwZXIgdm9sdW1lIGxpbW1pdCB3YXMgMTAwMC4gVGhhdCBhcHBlYXIgdW5uZWNlYXNyaWx5IGhpZ2guIEl0IHdvdWxkIGFsc28gY2F1c2UKCSAgc2V2ZXIgZGlzdG9ydGlvbiBpZiBhY2NpZGVudGlhbHkgdXNlZC4gTm93IGl0cyAxMCAofiArMTVkYikgd2hpY2ggaXMgYWxzbyBpbgoJICBzeW5jIHdpdGggdm9sdW1lIGFuZCBwbGF5YmluMi4KCjIwMDktMDYtMjkgMTU6Mzk6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IHNvbWUgbW9yZSB0cml2aWFsIGNsZWFudXBzCgoyMDA5LTA2LTI5IDE1OjM4OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSAgcHVsc2U6IHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMDYtMjkgMTU6MjA6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYXIgcmluZ2J1ZmZlciB3aGVuIGFza2VkIHRvCgkgIFNpbmNlIHdlIG1hcCB0aGUgcmluZ2J1ZmZlciB0byB0aGUgcHVsc2VhdWRpbyBpbnRlcm5hbCByaW5nYnVmZmVyLCBmbHVzaCB0aGUKCSAgcHVsc2VhdWRpbyBidWZmZXIgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gY2xlYXIgdGhlIHJpbmdidWZmZXIuCgkgIFRoaXMgYXZvaWRzIHNvbWUgbGVmdG92ZXIgYXVkaW8gYWZ0ZXIgYSBzZWVrLgoKMjAwOS0wNi0yNiAxNTowMDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogQWN0dWFsbHkgZG8gdGhlICdlY2hvIC1uJyAtPiBwcmludGYgY2hhbmdlLgoKMjAwOS0wNi0yNiAxNDo0MDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJy4gQ2hlY2sgZm9yIGF1dG9tYWtlLTEuMVswMV0KCSAgQ2hlY2sgZm9yIG1vcmUgYXV0b21ha2UgY29tbWFuZCB2YXJpYW50cy4gVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJwoJICBmb3IgcG9ydGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6NDI6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjgxMDAzMCB0byA1ODQ1YjYzCgoyMDA5LTA2LTI2IDEzOjE5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgcHJvY2VzcyB0cmFja19udW0vdHJhY2tfY291bnQgdGFncyB3aXRoIGEgMCB2YWx1ZQoJICBOdW1iZXIvY291bnQgdmFsdWVzIG9mIDAgbWVhbiB0aGV5J3JlIG5vdCBzZXQuIERvbid0IHB1dCB0aG9zZSBpbiB0aGUKCSAgdGFnbGlzdC4KCjIwMDktMDYtMjUgMTg6NTE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IHVzZSAnZ3VpbnQ4JyBpbnN0ZWFkIG9mICdieXRlJyB0byBmaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDOAoJICBXZSBuZWVkIGEgY2FzdCBoZXJlIGZvciBwb2ludGVyIGFyaXRobWV0aWMgdG8gd29yayBjb3JyZWN0bHksIGJ1dCBzb21lCgkgIE1TVkMgdmVyc2lvbnMgZG9uJ3Qgc2VlbSB0byBsaWtlICdieXRlJywgc28gdXNlIGd1aW50OCBoZXJlLiBIb3BlZnVsbHkKCSAgZml4ZXMgIzU4NTM2MS4KCjIwMDktMDYtMjUgMTk6Mzk6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogc2V0IHN0cnVjdHMgdG8gemVybyBiZWZvcmUgdXNpbmcgdGhlbSBpbiBpb2N0bHMKCSAgVGhpcyBmaXhlcyB2YWxncmluZCB3YXJuaW5ncy4KCjIwMDktMDYtMjUgMTM6MjM6NDAgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWFrZSBzdXJlIHdlIGRvbid0IGJsYWNrbGlzdCBzdHJlYW1zIGJ5IHdyb25nbHkgY29tcGFyaW5nIHRoZWlyIGR1cmF0aW9uIHdpdGggZW50aXJlIGNsaXAgZHVyYXRpb24uCgoyMDA5LTA2LTI1IDEzOjE4OjE0ICswMjAwICBLcnp5c3p0b2YgQsWCYXN6a293c2tpIDxrYiBhdCBzeXNtaWtyby5jb20ucGw+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiBmaXggc29tZSBidWZmZXIgbGVha3MKCjIwMDktMDYtMjUgMDg6MTE6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdnBhcnNlOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gvY2FzZS4KCjIwMDktMDYtMjUgMDg6MTA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLCBoaW50IGJyYW5jaCBsaWtlbGluZXNzLCBhZGQgY29tbWVudHMuCgoyMDA5LTA2LTI1IDA4OjA5OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUKCjIwMDktMDYtMjUgMDc6NDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCB1bnVzZWQgdmFyaWFibGVzLgoJICBBbHNvIGFkZCBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3MuCgoyMDA5LTA2LTI1IDA3OjQwOjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMuIEZpeGVzIGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wNi0yNCAxNzo0MzoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZyZWUgbWVtb3J5IGluIGZpbmFsaXplCgkgIGZpbmFsaXplIGlzIGNhbGxlZCBvbmx5IG9uY2UuIG5vIG5lZWQgdG8gY2xlYXIgcG9pbnRlcnMgdGhlcmUuIGRpc3Bvc2UgaXMgZm9yCgkgIHVucmVmZmluZy4KCjIwMDktMDYtMjQgMTU6MTQ6MTQgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWIxMWQxIHRvIGY4MTAwMzAKCjIwMDktMDYtMDggMTQ6NDY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2hvcnQtY2lyY3VpdCBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkgd2hlbiBwYXJzaW5nIHRoZSBpbmRleAoJICBEb24ndCBjYWxsIGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKSBmb3IgZWFjaCBzaW5nbGUgaW5kZXggZW50cnkuIE5vdAoJICBvbmx5IGRvIHdlIGFscmVhZHkgaGF2ZSB0aGUgcG9pbnRlciB0byB0aGUgc3RyZWFtIGNvbnRleHQsIHdlIGFsc28ga25vdwoJICB0aGUgZm9ybWF0cyB3ZSB3YW50IHRvIGNvbnZlcnQgZnJvbSBhbmQgdG8gYWxyZWFkeSwgc28gd2UgbWF5IGp1c3QgYXMKCSAgd2VsbCB1c2Ugb3B0aW1pc2VkIGNvbnZlcnNpb24gcm91dGluZXMgdGhhdCBieXBhc3Mgc29tZSBvZiB0aGUgY2hlY2tzCgkgIGFuZCBsb29rdXBzIG1hZGUgaW4gZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpLgoKMjAwOS0wNi0xNyAxNjozOTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQW5vdGhlciByb3VuZCBvZiBHXypMSUtFTFkgbWljcm8tb3B0aW1pc2F0aW9ucy4KCjIwMDktMDYtMTcgMTY6MjA6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFRha2UgbGFzdCBzYW1wbGUgZHVyYXRpb24gZm9yIGR1bW15IHNlZ21lbnQgY2FsY3VsYXRpb24uCgkgIFRoaXMgZml4ZXMgdGhlIGNhc2VzIHdoZXJlIGZpbGVzIHdpdGhvdXQgRURMIHdvdWxkbid0IG91dHB1dCB0aGVpcgoJICBsYXN0IGJ1ZmZlci4KCjIwMDktMDYtMjQgMTI6MzY6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTcHJpbmtsZSBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3Mgb3ZlciB0aGUgY29kZS4KCjIwMDktMDYtMjMgMTY6NTQ6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBzcHJpbmtsZSBicmFuY2ggbGlrZWxpbmVzcyBtYWNyb3MgYWNjcm9zcyB0aGUgY29kZS4KCjIwMDktMDYtMTQgMTA6MzY6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBHU1RfTUVNRFVNUCBzdGF0ZW1lbnRzIGZvciB1bmtub3duIGF0b21zLgoJICBUaGlzIGlzIHRvIGhlbHAgZGV2ZWxvcGVycyB0cmFjayBkb3duIGFuZCBpbXBsZW1lbnQgdW5oYW5kbGVkIGF0b21zIGZhc3Rlci4KCjIwMDktMDYtMjMgMTc6NTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZW1vdmUgdGhlIGludGVybGFjZWQgZmllbGQgZnJvbSB0aGUgb3V0cHV0IGNhcHMgaWYgZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkCgoyMDA5LTA2LTIzIDE3OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQ29weSB0aGUgY29ycmVjdCBsaW5lIGZyb20gY29ycmVjdCBwbGFjZSBpbiB0aGUgaGlzdG9yeQoKMjAwOS0wNi0yMyAxNjozNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHNhbWUgcHJvdG9jb2xzIGFmdGVyIHJlZGlyZWN0CgkgIEFmdGVyIGEgcmVkaXJlY3Qgd2Ugd2FudCB0byB1c2UgdGhlIHNhbWUgcHJvdG9jb2xzIHRoYXQgd2Ugd2VyZSB1c2luZyBmb3IgdGhlCgkgIGN1cnJlbnQgdXJsLgoKMjAwOS0wNi0yMyAxNTozNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgY292ZXIgYXJ0CgoyMDA5LTA2LTIzIDE0OjEwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBFQUlfQUREUkZBTUlMWSBnZXR0aW5nIHJlZGVmaW5lZCBpbiBzb21lIGNhc2VzCgkgIEluY2x1ZGUgdGhlIGhlYWRlciBmcm9tIHdoZXJlIHdlIGluY2x1ZGUgYWxsIHRoZSBzeXN0ZW0gaGVhZGVycyB3aXRoIHRoZQoJICBzb2NrZXQgc3R1ZmYgYmVmb3JlIHdlIHRyeSB0byBkZWZpbmUgRUFJX0FERFJGQU1JTFkgb3Vyc2VsdmVzLCBvdGhlcndpc2UKCSAgd2UgZGVmaW5lIGl0IG91cnNlbHZlcyBhbmQgdGhlbiBnZXQgYSBjb21waWxlciB3YXJuaW5nIGlmIGEgc3lzdGVtIGhlYWRlcgoJICBkZWZpbmVzIGl0IGFzIHdlbGwgd2l0aG91dCBndWFyZGluZyBhZ2FpbnN0IGl0IGJlaW5nIGRlZmluZWQgYWxyZWFkeS4KCjIwMDktMDYtMjMgMTQ6Mzk6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thOiBhbmQgdGhlIG5ldyBoZWFkZXJzIHRvbwoKMjAwOS0wNi0yMyAxNDozMjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrZTogZml4IGNvbXBpbGVyIGVycm9yCgkgIGNoYW5nZSBncG9pbnRlciB0byBndWludDggKiBmb3IgY29kZWNfc3RhdGUgYW5kIGNvZGVjX3ByaXYgYXMgc29tZQoJICBmdW5jdGlvbnMgb3BlcmF0ZSBvbiB0aG9zZSB0eXBlcyBhbmQgaXQgYXZvaWRzIGJyZWFraW5nIHN0cmljdC1hbGlhc2luZwoJICBydWxlcy4KCjIwMDktMDYtMjMgMTI6NDI6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgbGVha2luZyBidWZmZXJzCgkgIERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHJlc3luY2luZyB0byBhIGtleWZyYW1lLgoJICBBdm9pZCBsZWFraW5nIGJ1ZmZlcnMgd2hlbiBleGl0aW5nIHRoZSBsb29wIG9uIGVycm9yIGNvbmRpdGlvbnMuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgRml4ZXMgIzU4NTkxMQoKMjAwOS0wNi0yMiAxNTo1Njo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBvcGVuL2Nsb3NlIHRoZSBkZXZpY2UgaW4gUkVBRFkKCSAgVGhpcyBhbGxvd3MgdG8gcXVlcnkgdGhlIGRldmljZSBpbiBSRUFEWS4gQmVmb3JlIG9uZSBuZWVkIHRvIHN3aXRjaCBpdCB0byBQQVVTRUQKCSAgYW5kIHRoYXQgYWxzbyBzdGFydHMgc3RyZWFtaW5nLgoKMjAwOS0wNi0yMCAxNTo0MTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiB1c2UgR1NUX01FTURVTVAKCjIwMDktMDYtMTkgMDA6MTY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogYWRkIGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIFVzZSBwYnV0aWxzIGhlcmUgYmVjYXVzZSB0aGUgc3RyaW5nIGlzIHRyYW5zbGF0ZWQuCgoyMDA5LTA2LTE5IDAwOjE1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIGlkM2RlbXV4OiBhZGQgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgVXNpbmcgcGJ1dGlscyBoZXJlIGJlY2F1c2UgdGhlIHN0cmluZyBpcyB0cmFuc2xhdGVkLgoKMjAwOS0wNi0xOCAyMzo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgkgIEFsc28gbWVyZ2UgdGhlIHR3byBhbG1vc3QgaWRlbnRpY2FsIF9hZGRfKl9wYWQoKSBmdW5jdGlvbnMgaW50byBvbmUuCgoyMDA5LTA2LTE4IDIzOjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IGRvbid0IHNjcmV3IHVwIGZpcnN0IGF1ZGlvIGJ1ZmZlcgoJICBRdWVyeSB0aGUgYXVkaW8gZm9ybWF0LCBlc3AuIGR2ZGVtdXgtPm51bV9jaGFubmVscywgYmVmb3JlIHdlIHVzZSB0aGF0CgkgIHZhcmlhYmxlIHRvIGFsbG9jYXRlIHRoZSBpbml0aWFsIGJ1ZmZlci4gVGhhdCB3YXkgd2UgZG9uJ3QgYWNjaWRlbnRhbGx5CgkgIHB1c2ggYSB6ZXJvLXNpemVkIGJ1ZmZlciBhcyBmaXJzdCBhdWRpbyBidWZmZXIuCgoyMDA5LTA2LTE4IDIzOjM4OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCjIwMDktMDYtMTggMjM6Mzc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFncwoKMjAwOS0wNi0xOCAyMzozNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFnCgoyMDA5LTA2LTE4IDIzOjM1OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZ3MKCjIwMDktMDYtMjEgMTc6MTM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRml4IGludGVnZXIgb3ZlcmZsb3dzIG9uIDMyIGJpdCBhcmNoaXRlY3R1cmVzCgoyMDA5LTA2LTIxIDA5OjUwOjU0ICswMjAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRG9uJ3QgZGVjbGFyZSBhIGxvb3AgaW5kZXggc3RhdGljCgkgIFRoZSBwcmV2aW91cyBwYXRjaCB0byBhZGQgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBzYW1wbGUgZm9ybWF0cyBwb3NzaWJseQoJICBpbnRyb2R1Y2VkIGEgcmVlbnRyYW5jeSBidWc6ICBhIHZhcmlhYmxlIHVzZWQgZm9yIGEgbG9vcCBpbmRleCB3YXMgZGVjbGFyZWQKCSAgc3RhdGljLiAgVGhpcyBwYXRjaCBmaXhlcyB0aGF0LCBhbmQgYWxzbyBhZGRzIGEgIi8qICpJTkRFTlQtT04qICovIiBhbm5vdGF0aW9uCgkgIGZvbGxvd2luZyB0aGUgbWFjcm8gYmxvY2suICAoSSBkb24ndCBrbm93IHdoYXQgdGhlIGFubm90YXRpb24gaXMgZm9yLCBidXQgdGhlCgkgIGFkZGVyLCB3aGVyZSBJIGNvcGllZCB0aGlzIGZyb20sIGhhcyBpdCkuCgoyMDA5LTA2LTE5IDIyOjM3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICBhdWRpb2FtcGxpZnk6IEZpeCBvZmYtYnktb25lIGluIHdyYXAtcG9zaXRpdmUgbW9kZQoKMjAwOS0wNi0xOSAyMjoyMDo0NSArMDIwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgYXVkaW9hbXBsaWZ5OiBBZGQgbm9jbGlwIG1ldGhvZCBhbmQgc3VwcG9ydCBmb3IgbW9yZSBmb3JtYXRzCgkgIEZpeGVzIGJ1ZyAjNTg1ODI4IGFuZCAjNTg1ODMxLgoKMjAwOS0wNi0xOSAyMTo0Njo0MSArMDIwMCAgS29vcCBNYXN0IDxrd21AZnJlZWJzZC5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogRml4IGJ1aWxkIG9uIEZyZWVCU0QKCSAgRml4ZXMgYnVnICM1ODYzOTcuCgoyMDA5LTA2LTE5IDE4OjEyOjI3ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGJ1ZmZlci1saXN0IHBheWxvYWRlcnMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTg6MDA6MzUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE5IDE3OjU3OjEyICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXYgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdHMKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTc6NTM6MzIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0cwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOCAxMTo1NDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwdXRpbHM6IGRvbid0IGZyZWUgaW52YWxpZCBtZW1vcnkKCSAgQXMgc3BvdHRlZCBieSBiZW5qaUcgaW4gSVJDLgoJICBkb24ndCBmcmVlIGludmFsaWQgbWVtb3J5IHdoZW4gZ2V0YWRkcmluZm8gZmFpbGVkLgoKMjAwOS0wNi0xNyAxNzo0ODozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2Vpbms6IGRvbid0IGxlYWsgZGV2aWNlX2Rlc2NyaXB0aW9uCgkgIGRvbid0IGxlYWsgdGhlIGRldmljZV9kZXNjcmlwdGlvbi4KCSAgc29tZSBjbGVhbnVwcy4KCjIwMDktMDYtMTkgMTQ6NDQ6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIC5wbyBmaWxlcyBmb3Igc3VuYXVkaW9taXhlciBzdHJpbmcgY2hhbmdlcwoKMjAwOS0wNi0xOCAxNjo1ODoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1pbmc7IGFkanVzdCBzaXplcyB0byBjYXRlciBmb3IgcGFkZGluZyBpbiBjaHVua3MKCjIwMDktMDYtMTcgMTE6NTQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtaW5nIG1vZGU7IGhhbmRsZSBkYXRhIGNodW5rcyBncm91cGVkIGluIHJlYyBsaXN0cy4KCSAgRml4ZXMgIzU2Nzk4My4KCjIwMDktMDYtMTAgMTI6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtYXAgc29tZSB0YWdzIHRvIENPTVBPU0VSIHJhdGhlciB0aGFuIEFSVElTVAoKMjAwOS0wNi0xMCAxMjozNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBzb21lIDNHUCB0YWcgZXh0cmFjdGlvbiAoa2V5d29yZHMsIGdlbnJlLCBsb2NhdGlvbikKCjIwMDktMDYtMDkgMTU6MzY6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBleHRyYWN0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbmZvcm1hdGlvbgoKMjAwOS0wNi0xNyAwNzoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGxlYWtpbmcgb2YgdGhlIE1hdHJvc2thIFRJVExFIGVsZW1lbnQKCjIwMDktMDYtMTYgMjA6Mzg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICBlZmZlY3R2OiBBZGQgYmFzaWMgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGVmZmVjdHYgZWxlbWVudHMKCjIwMDktMDYtMTYgMjA6MTY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0djogRGVmaW5lIHRoZSBmYXN0IFBSTkcgZnVuY3Rpb24gYXQgYSBjZW50cmFsIHBsYWNlCgoyMDA5LTA2LTE2IDIwOjEzOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIGVmZmVjdHY6IE1vdmUgdHlwZSBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlcnMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBkb2NzIGxhdGVyLgoKMjAwOS0wNi0xNiAxOTo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IFJlbW92ZSBnZXRfdW5pdF9zaXplIGltcGxlbWVudGF0aW9ucwoJICBUaGUgZGVmYXVsdCBvbiBmcm9tIEdzdFZpZGVvRmlsdGVyIGhhbmRsZXMgdGhpcyBhbHJlYWR5LgoKMjAwOS0wNi0xNiAxNDo1NDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIGdpdAoJICBOZWVkIGdpdCBjb3JlIGZvciBiYXNlc2luayBidWZmZXJsaXN0IGFkZGl0aW9uczsgLWJhc2UgcmVxdWlyZW1lbnQKCSAgYnVtcGVkIGdyYXR1aXRvdXNseS4KCjIwMDktMDYtMTYgMTU6MjU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIHRlc3RzOiBhZGQgc29tZSBkZWJ1Zywgc2VuZCBuZXdzZWdtZW50CgoyMDA5LTA2LTE2IDE1OjA2OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgZGVidWcgbGluZSBmb3IgdGhlIHNvY2tldAoKMjAwOS0wNi0xNiAxNTowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiB0dXJuIGdfcHJpbnQgaW50byBkZWJ1ZwoKMjAwOS0wNi0xNiAxNTowNDoxNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoJICBBZGQgc3VwcG9ydCBmb3IgQnVmZmVyTGlzdCBhbmQgYWRkIGEgdW5pdCB0ZXN0LgoJICBGaXhlcyAjNTg1ODQyCgoyMDA5LTA2LTE2IDAwOjAyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZXNldCBzZXNzaW9uIHN0YXRlIHdoZW4gc3RvcHBpbmcKCSAgSW5jcmVhc2VzIHRoZSBjaGFuY2VzIHRoYXQgdGhlIGVsZW1lbnQgaXMgYWN0dWFsbHkgcmV1c2FibGUuCgoyMDA5LTA2LTE1IDIzOjQ5OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBsb2cgcmVzcG9uc2UgYW5kIHJlcXVlc3QgaGVhZGVycyBhbmQgZml4IHNvbWUgYnJva2VuIGluZGVudGluZwoKMjAwOS0wNi0xNSAyMjo0MDozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogZ3Vlc3MgY29uc3RhbnREdXJhdGlvbiBiZXR0ZXIKCSAgRG8gYSBiZXR0ZXIgam9iIGF0IGd1ZXNzaW5nIHRoZSBjb25zdGFudER1cmF0aW9uIHBhcmFtZXRlciB3aGVuIGl0IGlzIG5vdAoJICBwcmVzZW50IGluIHRoZSBjYXBzLgoJICBGaXhlcyAjNTg1MjA1CgoyMDA5LTA2LTE1IDIxOjA5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiBDbGVhbiB1cCB3YXJwdHYgZWxlbWVudCBhbmQgZml4IHNvbWUgbWlub3IgYnVncyBhbmQgbGVha3MKCjIwMDktMDYtMTUgMjA6NTM6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICB2ZXJ0aWdvdHY6IENsZWFuIHVwIHZlcnRpZ290diBlbGVtZW50IGFuZCBmaXggc29tZSBtaW5vciBidWdzIGFuZCBsZWFrcwoKMjAwOS0wNi0xNSAyMDozODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2V0djogVXNlIGd1aW50OCBpbnN0ZWFkIG9mIGNoYXIgKHdoaWNoIGNhbiBiZSBzaWduZWQgb3IgdW5zaWduZWQpCgoyMDA5LTA2LTE1IDIwOjM2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgc2hhZ2FkZWxpY3R2OiBVc2UgZ3VpbnQ4L2dpbnQ4IGluc3RlYWQgb2YgY2hhciAod2hpY2ggY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCkKCjIwMDktMDYtMTUgMjA6MzE6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBzaGFnYWRlbGljdHY6IENsZWFuIHVwIGVsZW1lbnQgYW5kIGZyZWUgYWxsIG1lbW9yeSBpbiBmaW5hbGl6ZQoKMjAwOS0wNi0xNSAyMDoyMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgcmV2dHY6IENsZWFuIHVwIHJldnR2IGVsZW1lbnQKCjIwMDktMDYtMTUgMjA6MDc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogU2ltcGxpZnkgc29tZSBjb2RlCgoyMDA5LTA2LTE1IDIwOjA3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IFVzZSB0aGUgaW5wdXQgZGF0YSBpZiBhIE5VTEwgYnVmZmVyIGlzIGNob3NlbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZSAwCgoyMDA5LTA2LTE1IDIwOjAwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IEZpeCBzZXR0aW5nIHRoZSBwbGFuZXMgcHJvcGVydHkgb2YgcXVhcmt0dgoJICBTZXR0aW5nIGl0IHRvIGEgdmFsdWU8MTYgd291bGQgY2F1c2UgY3Jhc2hlcyBiZWZvcmUgYmVjYXVzZQoJICBjdXJyZW50X3BsYW5lIHdhcyBzZXQgdG8gdGhlIG9sZCBudW1iZXIgb2YgcGxhbmVzLTEuIEFsc28KCSAgZml4IGNhbGN1bGF0aW9ucyBmb3Igbm9uLTJebiBwbGFuZXMgdmFsdWVzLgoKMjAwOS0wNi0xNSAxNzo1MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBDbGVhbiB1cCB0aGUgcXVhcmt0diBlbGVtZW50CgoyMDA5LTA2LTE1IDE3OjM5OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgZWZmZWN0djogTWFrZSBlbGVtZW50cyBsaXN0IGNvbnN0YW50CgoyMDA5LTA2LTE1IDE3OjM3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiBDbGVhbiB1cCBlZGdldHYgZWxlbWVudCBhbmQgZml4IG1lbW9yeSBsZWFrCgoyMDA5LTA2LTE1IDE3OjIxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZXR2OiBDbGVhbiB1cCBkaWNldHYgZWxlbWVudCBhbmQgZml4IHNvbWUgc21hbGxlciBpc3N1ZXMKCSAgVGhpcyBmaXhlcyBhIG1lbW9yeSBsZWFrICh0aGUgZGljZSBtYXApIGFuZCBhIGNyYXNoIHdoZW4KCSAgc2V0dGluZyB0aGUgc3F1YXJlLWJpdHMgcHJvcGVydHkgYmVmb3JlIGNhcHMgYXJlIHNldC4KCjIwMDktMDYtMTUgMTc6MjA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEFjdHVhbGx5IHVzZSBHc3RDb250cm9sbGVyIGZvciBzeW5jaW5nIHRoZSBwcm9wZXJ0aWVzIHRvIHRpbWVzdGFtcHMKCjIwMDktMDYtMTUgMTc6MDM6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogRXhwb3J0IHNvbWUgbW9yZSBhZ2luZ3R2IHByb3BlcnRpZXMgdmlhIEdPYmplY3QgcHJvcGVydGllcwoKMjAwOS0wNi0xNSAxNTowNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBHZW5lcmFsIGNsZWFudXAgYW5kIHVwZGF0aW5nIG9mIGNvcHlyaWdodAoJICBBbHNvIG1ha2UgdGhlIHNjcmF0Y2gtbGluZXMgcHJvcGVydHkgZXhwb3J0ZWQgdmlhIGEgR09iamVjdAoJICBwcm9wZXJ0eSBhbmQgaW5pdGlhbGl6ZS9yZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgY29ycmVjdGx5LgoKMjAwOS0wNi0xNSAxNTowNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBTdG9yZSBhbmQgdXBkYXRlIHN0YXRlIGluc2lkZSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIFRoaXMgbWFrZXMgdGhlIGNvbG9yYWdpbmcgZWZmZWN0IGFuZCBwaXRzIGVmZmVjdCB2aXNpYmxlLgoKMjAwOS0wNi0xNSAxNTo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcmVmIGN1c3RvbSByaW5nIGJ1ZmZlciBjbGFzcyBhbmQgdHlwZSBpbiBjbGFzc19pbml0CgkgIEhhY2sgYXJvdW5kIHRocmVhZC1zYWZldHkgaXNzdWVzIGluIEdPYmplY3QgYW5kIG91ciByYWN5IF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9ucyAod2UgY291bGQgZWFzaWx5IGZpeCB0aGUgX2dldF90eXBlKCkgZnVuY3Rpb25zLCBidXQgd2Ugc3RpbGwKCSAgbmVlZCB0byBoYWNrIGFyb3VuZCB0aGUgR09iamVjdCBjbGFzcyByYWNlcyB1bnRpbCB3ZSByZXF1aXJlIGEgbmV3ZXIKCSAgR0xpYiB2ZXJzaW9uLCBJIHRoaW5rKS4KCjIwMDktMDYtMTQgMTk6MTk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2RlbW8tcGxheS5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvb2xkL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIFJlbW92ZSBhIGZldyBvbGQgZXhhbXBsZSBhcHBzIGZyb20gdGhlIDAuOCBkYXlzCgkgIFNvbWUgaGF2ZSBiZWVuIHJlcGxhY2VkIGJ5IG5ld2VyIG9uZXMsIG90aGVycyBhcmUgZGVtb2luZyBlbGVtZW50cyB0aGF0CgkgIGRvbid0IGV4aXN0IGFueSBsb25nZXIgKG5vdCBpbiAtZ29vZCBhbnl3YXkpLCBhbmQgb3RoZXJzIGhhdmUgbm90IGJlZW4KCSAgdG91Y2hlZCBpbiBtYW55IHllYXJzIGFuZCBpdCBzZWVtIHBvaW50bGVzcyB0byBrZWVwIHRoZW0gYXJvdW5kLgoJICBSZW1vdmluZyB0aGVzZSBmaWxlcyBtYWtlcyBzdXJlIHdlIGRvbid0IGhhdmUgYW55IGNvZGUgaW4gb3VyIHJlcG9zaXRvcnkKCSAgdGhhdCB1c2VzIEd0aysgc3ltYm9scyB3aGljaCBhcmUgdG8gYmUgcmVtb3ZlZCBmb3IgR05PTUUzLCBhbmQgYXMgc3VjaAoJICB3aWxsIG1ha2Ugc29tZSBzY3JpcHQgdGhhdCBncmVwcyBmb3IgdGhpcyBraW5kIG9mIHN0dWZmIGdpdmUgdXMgYSBjbGVhbgoJICBiaWxsIG9mIGNvZGUgaGVhbHRoLiBGaXhlcyAjNTg1NzU3LgoKMjAwOS0wNi0xMyAyMTowMjo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBjb21tb246CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSAgcnRwc2lyZW5wYXk6IFJlbW92ZSBkZXByZWNhdGVkIHN5bWJvbAoJICBQYXRjaCBieTogTHVpcyBNZW5pbmEKCjIwMDktMDYtMTMgMTA6NDM6NTUgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2aW5fc2NobWlkdEBnbXgubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBydW4gdGhlIGZsYWNkZWMgdGVzdCBpZiB0aGUgcGx1Z2luIGlzbid0IGJ1aWx0LiBGaXhlcyAjNTg1NjMwCgoyMDA5LTA2LTEyIDE2OjA2OjI4ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIFJUUCBibG9ja3NpemUgZnVuY3Rpb25hbGl0eQoJICBBZGQgcHJvcGVydHkgdG8gbWFrZSB0aGUgY2xpZW50IHN1Z2dlc3QgYSBibG9ja3NpemUgdG8gdGhlIHNlcnZlci4KCSAgRml4ZXMgIzU4NTU0OQoKMjAwOS0wNi0xMSAyMjozMDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJICBydHA6IHVwZGF0ZSBSRUFETUUsIGZpeCBzb21lIHR5cG9zLCBtZW50aW9uIGdzdHJ0cGJpbgoKMjAwOS0wNi0xMSAxOToxMDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgYm9yZGVyIGNhc2VzIGluIHJlc2FtcGxlcgoKMjAwOS0wNi0xMSAxMzozMjoyMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgZG9jczogQnVtcCBjb21tb24uIFVzZSB1cGxvYWQtZG9jLm1hayBpbnN0ZWFkIG9mIHVwbG9hZC5tYWsKCSAgUmVtb3ZlIHRoZSBsb2NhbCBjb3B5IG9mIHVwbG9hZC5tYWsgaW4gZmF2b3VyIG9mIHVzaW5nIHRoZSBzaGFyZWQKCSAgdXBsb2FkLWRvYy5tYWtlIGluIGNvbW1vbi8KCjIwMDktMDYtMTEgMTE6Mzk6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZG9jczogUXVpZXRlbiBhIGNvdXBsZSBtb3JlIGRvY3Mgd2FybmluZ3MKCjIwMDktMDYtMTEgMTE6Mjc6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgZG9jczogUmVtb3ZlIGd0ay1kb2MgY29tbWVudCBtYXJrZXIKCSAgVGhlc2UgY29tbWVudCBibG9ja3MgYXJlbid0IGd0ay1kb2MgY29tbWVudHMgYW5kIGNhdXNlIGFubm95aW5nIG5vaXNlIGluCgkgIHRoZSBkb2NzIGJ1aWxkLgoKMjAwOS0wNi0xMSAxMDowNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBJbXBsZW1lbnQgdXBzdHJlYW0gbmVnb3RhdGlvbgoKMjAwOS0wNi0xMCAyMTo0Nzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgZGVidWdnaW5nIGFuZCBjbGVhbiB1cCBzb21lIGNvZGUKCjIwMDktMDYtMTAgMTQ6NTU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDbGlwIGJ1ZmZlcnMgdG8gdGhlIGN1cnJlbnQgc2VnbWVudCBpZiBwb3NzaWJsZQoKMjAwOS0wNi0xMCAxNDo0NTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBDbGVhbiB1cCBpbmNsdWRlcyBhbmQgY2xlYW4gdXAgb3JkZXIgb2YgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcwoKMjAwOS0wNi0xMCAxNjowOTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IERlZmF1bHQgdG8gZG9pbmcgQSwgQiBhbmQgQyBtb2Rlcywgbm90IG9ubHkgQQoKMjAwOS0wNi0xMCAwOTo1NjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBRb1MgY2FsY3VsYXRpb25zCgkgIFRoZSBkaWZmIGlzIGEgc2lnbmVkIGludGVnZXIsIG5vdCBhbiB1bnNpZ25lZCBvbmUgb2YgY291cnNlLgoJICBJbiBtb2RlcyBvdGhlciB0aGFuIEdTVF9ERUlOVEVSTEFDRV9BTEwgZXZlcnkgZnJhbWUgaGFzIHR3aWNlIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgZmllbGQgZHVyYXRpb24uCgoyMDA5LTA2LTA5IDE0OjEzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkgIHJ0cHNpcmVucGF5OiBQdXQgdGhlIGJpdHJhdGUgaW4gdGhlIFJUUCBjYXBzCgkgIFRoZSBNUyBjb2RlIHNlZW1zIHRvIHJlcXVpcmUgdGhlIGJpdHJhdGUgdG8gaW50ZXJvcGVyYXRlIGFuZAoJICBkcmFmdC1pZXRmLWF2dC1ydHAtZzcyMjEtMDAgYWxzbyBoYXMgaXQuCgoyMDA5LTA2LTA5IDE5OjU1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxOToyOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERpcmVjdGx5IHByb3h5IGV2ZW50cy9xdWVyaWVzIHRvIHRoZSBwZWVyIHBhZHMKCSAgVGhpcyByZW1vdmVzIHNvbWUgb3ZlcmhlYWQgaW50cm9kdWNlZCBieSB0aGUgZGVmYXVsdCBoYW5kbGVycwoJICB0aGF0IG5lZWQgdG8gaXRlcmF0ZSBvdmVyIHRoZSBvdGhlciBwYWRzLgoKMjAwOS0wNi0wOSAxMDozODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRlYnVnX21lbWR1bXAoKSB1bmtub3duIHRhZ3MuIFJlZmFjdG9yIGp1bmsgcGFyc2luZyBjb2RlLgoJICBUaGlzIG1ha2VzIGxpZmUgc2xpZ2h0bHkgZWFzaWVyIHdoZW4gZGVidWdnaW5nIGF2aSBmaWxlcy4KCjIwMDktMDYtMDggMDg6MjE6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHA6IERvbid0IGZvcmdldCB0byBkaXN0IHRoZSBoZWFkZXJzIGZvciB0aGUgQ0VMVCAoZGUpcGF5bG9hZGVycy4KCjIwMDktMDYtMDcgMjA6NTQ6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5IiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjAyMmM4YTg1MDNjMmNlMGZhNjE3ZmRiNTBlNDE3MDZkZDQxMmY1LgoJICBTb3JyeSwgSSB3YXMgdGhpbmtpbmcgYWJvdXQgdGhlIHdyb25nIG1vZHVsZS4KCjIwMDktMDYtMDcgMjA6NDk6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJldmVydCAicXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3OTBiMDUwZmM1MzAyY2FlODljZGRjZDIzYjI1ODA5Mzk2N2QwNWE5LgoJICBJIGZvcmdvdCB3ZSB3ZXJlIGZyb3plbi4KCjIwMDktMDYtMDcgMjA6NDY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkKCSAgV2hlbiB0aGVyZSBhcmUgbGVzcyB0aW1lc3RhbXBzIHRoYXQgdGhlcmUgYXJlIHNhbXBsZXMsIGZpbGwgdXAgdGhlIHNhbXBsZSB0YWJsZQoJICB3aXRoIHRoZSBsYXN0IGtub3cgdGltZXN0YW1wLiBUaGlzIHNpdHVhdGlvbiBjYW4gaGFwcGVuIHdoZW4gdGhlIGxhc3Qgc2FtcGxlCgkgIGRvZXMgbm90IGRlY29kZSBhbmQgZG9lc24ndCBuZWVkIGEgdGltZXN0YW1wLiBXZSBob3dldmVyIGNhbGN1bGF0ZSB0aGUgdG90YWwKCSAgdHJhY2sgbGVuZ3RoIHVzaW5nIHRoZSBsYXN0IHNhbXBsZSB0aW1lc3RhbXAgc28gd2UgbmVlZCB0byBoYXZlIHNvbWV0aGluZwoJICBzZW5zaWJsZSBpbiB0aGVyZS4KCSAgRml4ZXMgIzU4NTA1NgoKMjAwOS0wNi0wNyAxMzozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogaGFuZGxlIExJU1QgSU5GTyBvZiAwIHNpemUKCSAgSGFuZGxlIExJU1QgSU5GTyBjaHVua3Mgb2YgMCBzaXplIGluc3RlYWQgb2YgY2F1c2luZyBlcnJvcnMuCgkgIEZpeGVzICM1ODQ5ODEKCjIwMDktMDYtMDcgMTM6MjQ6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV2ZXJ0ICJ3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMsIG1vdmUgdmFyaWFibGUgdG8gd2hlcmUgaXQncyBuZWVkZWQuIgoJICBSZXZlcnRzIGNvbW1pdCA0NDI1NmE3OGY4ZGQ3OWE5MWYzYmIyYWI3YzNhYTYyM2MwOTdiYjhhIGFuZCB1c2UgdGhlIHJlc3VsdCBpbgoJICBlcnJvciByZXBvcnRpbmcgc28gdGhhdCB3ZSBjYW4gc2VlIHdoYXQncyBnb2luZyBvbi4KCjIwMDktMDYtMDUgMTg6NTU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJICBjZWx0ZGVwYXk6IGFkZCBDRUxUIGRlcGF5bG9hZGVyCgoyMDA5LTA2LTA1IDE1OjMwOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJICBydHBjZWx0cGF5OiBhZGQgQ0VMVCBSVFAgcGF5bG9hZGVyCgoyMDA5LTA2LTA1IDE2OjU0OjQ4ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICBzdW5hdWRpbzogRml4IHN3aXRjaCBzZXR0aW5nIG9uIHNvbWUgZGV2aWNlcy4gQWRkIGRlYnVnLiBGaXggYSBGSVhNRS4KCSAgRml4IHRoZSBzZXR0aW5nIG9mIHRvZ2dsZSBzd2l0Y2hlcyBvbiBzb21lIGJyb2tlbiBhdWRpbyBkcml2ZXJzIHdoaWNoCgkgIHJlcG9ydCB0aGF0IG5vIGF1ZGlvIHBvcnRzIGFyZSBzZXR0YWJsZSBieSBpZ25vcmluZyB0aGUgbW9kX3BvcnQgZmllbGQKCSAgdGhlcmUuCgkgIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeCBhIEZJWE1FIG5vdyB0aGF0IEdvb2QgcmVsaWVzIG9uIGEgbmV3IGVub3VnaCBnc3QtcGx1Z2lucy1iYXNlLgoKMjAwOS0wNi0wNCAxMjoyNzoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgc3VuYXVkaW86IFN1cHBvcnQgbmV3IGZsYWdzIGZvciBvcHRpb25zIGFuZCBhY3Rpb25zCgkgIFVzZSBuZXcgYXVkaW8gbWl4ZXIgZmxhZ3MgYWRkZWQgaW4gQmFzZSAwLjEwLjIzIHRvIGV4cG9zZSBmbGFncyBhbmQgb3B0aW9ucwoJICBvbiB0aGUgU3VuQXVkaW8gZGV2aWNlcy4KCSAgRml4ZXM6ICM1ODM1OTMKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDUtMTUgMTE6NTA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogRmlyc3QgdHJ5IHRvIGhhbmRsZSBEVkQgc3RpbGwgZnJhbWVzIGNvcnJlY3RseQoJICBUaGlzIGhlbHBzIGEgYml0IHdpdGggYnVnICM1ODI3NDAgYnV0IHN0aWxsIGRvZXNuJ3QgbWFrZSBpdCB3b3JrLgoKMjAwOS0wNi0wNCAxNzozNzowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgbm90aWZ5IGlmIGFsbCBjaGVja3MgcGFzc2VkCgkgIFJlcGxhY2UgZ290byBkb25lOiB3aXRoIHJldHVybiwgYXMgdGhvc2UgYXJlIGNoZWNrcyB3aGVuIHdlIGRvbid0IHdhbnQgdG8gZmxhZyBhCgkgIHBlbmRpbmcgbm90aWZ5LgoKMjAwOS0wNi0wNCAxNToxOTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IHRoZSByaWdodCBzdGF0ZSBvbiBydHBiaW4KCSAgV2UgbmVlZCB0byBzZXQgdGhlIHN0YXRlIG9mIGdzdHJ0cGJpbiB0byB0aGUgc2FtZSBzdGF0ZSBhcyBvdXIgc291cmNlIGVsZW1lbnRzLgoJICBUaGlzIGZpeGVzIGZhbGxiYWNrIHRvIFRDUCBhZ2Fpbi4KCjIwMDktMDYtMDMgMTg6MjM6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjaGVjayBwb2ludGVyIGJlZm9yZSBhY2Nlc3NpbmcKCSAgTW92ZSBleGlzdGluZyBjaGVjayBhIGZldyBsaW5lcyB1cCwgc28gdGhhdCB3ZSBjaGVjayBiZWZvcmUgYWNjZXNzaW5nIGZpZWxkcy4KCjIwMDktMDYtMDMgMTg6MjE6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW5hbWUgZ3N0X3B1bHNlX3NpbmtfZ2V0X3RpbWUgdG8gZ3N0X3B1bHNlc2lua19nZXRfdGltZQoJICBSZW5hbWUgaW50ZXJuYWwgbWV0aG9kIGZvciBjb25zaXN0ZW5jeS4KCjIwMDktMDYtMDMgMTg6MTk6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgdmFsdWVzIGZyb20gcGFfc3RyZWFtX2dldF9idWZmZXJfYXR0cigpCgkgIFdlIHdlcmUgcHV0dGluZyB0aGUgcmVxdWVzdGVkIHZhbHVlcyBiYWNrIGludG8gcmluZ2J1ZmZlciBzcGVjLCBpbnN0ZWFkIG9mCgkgIHVzaW5nIHRoZSBxdWVyaWVkIHZhbHVlcy4KCjIwMDktMDYtMDIgMTk6MzI6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogdHJpbSBvdXRwdXQgYnVmZmVycwoJICBSZW1vdmUgdGhlIGxlZnRvdmVyIHVudXNlZCBieXRlcyBpbiB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgRml4ZXMgIzU4NDYxMwoKMjAwOS0wNi0wMiAxOTozMDozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZml4IHBhcnNpbmcgb2Ygc2FtcGxpbmcgZmllbGQKCSAgY29tbWl0IGExMmQ5YTgwZjIyNWJlOTdiMzY3NGIxYTA1MDZhYzY2NTQ0ZGJmNDkgYnJva2UgdGhlIHBhcnNpbmcgb2YgdGhlCgkgIHNhbXBsaW5nLgoKMjAwOS0wNS0yNyAxNzowNjozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBdm9pZCBwb3NzaWJsZSBvdmVyZmxvdyBpbiBjYWxjdWxhdGlvbnMKCSAgQSBtYWxmb3JtZWQgKG9yIHNpbXBseSBodWdlKSBQTkcgZmlsZSBjYW4gbGVhZCB0byBpbnRlZ2VyIG92ZXJmbG93IGluCgkgIGNhbGN1bGF0aW5nIHRoZSBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyLCBsZWFkaW5nIHRvIGNyYXNoZXMgb3IgYnVmZmVyCgkgIG92ZXJmbG93cyBsYXRlci4gRml4ZXMgU0EzNTIwNSBzZWN1cml0eSBhZHZpc29yeS4KCjIwMDktMDYtMDIgMDA6NDg6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBzb21lIG1vcmUgbG9nZ2luZyAtIGR1bXAgaGVhZGVyIHBhY2tldHMKCSAgQWxzbywgdGhlIGZpbmFsIGZpeGluZyB1cCBvZiB0aGUgaGVhZGVycyBpcyBleHBlY3RlZCBhbmQgbm90IHNvbWV0aGluZwoJICB3ZSBzaG91bGQgd2FybiBhYm91dC4KCjIwMDktMDYtMDIgMDA6Mzc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBuZXZlciBldmVyIHBhc3MgdmFsdWVzID4zNmJpdHMgdG8gX3NldF90b3RhbF9zYW1wbGVzX2VzdGltYXRlKCkKCSAgTGV0J3MgYmUgcGFyYW5vaWQgYW5kIG1ha2Ugc3VyZSB3ZSBuZXZlciBwYXNzIGEgbnVtYmVyIHRoYXQgdGFrZXMgdXAKCSAgbW9yZSB0aGFuIDM2IGJpdHMgdG8gX3NldF90b3RhbF9zYW1wbGVzX2VzdGltYXRlKCksIHNpbmNlIGxpYkZMQUMKCSAgZXhwZWN0cyBhbGwgdGhlIG90aGVyIGJpdHMgdG8gYmUgemVybywgYW5kIGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlCgkgIG5laWdoYm91cmluZyBmaWVsZHMgaW4gdGhlIGdsb2JhbCBzdHJlYW0gaW5mbyBoZWFkZXIgbWF5IGdldCBtZXNzZWQKCSAgdXAgaW5hZHZlcnRlbnRseSwgc28gdGhhdCBmbGFjIC1kIHJlZnVzZXMgdG8gZGVjb2RlIHRoZSBzdHJlYW0uCgkgIFNlZSAjNTg0NDU1LgoKMjAwOS0wNi0wMSAyMjozMzowMiArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgQWRkcmVzcyBiYWQgRkxBQyBzYW1wbGUgbGVuZ3RoIGVuY29kaW5nIG9mICM1ODQ0NDU1CgkgIENvbW1pdCBkZjcwN2M2NjY0MzNhNzhkMzg3OGFmNmYwNTU2OThkNTc1NjIyNmM0CgkgIGludHJvZHVjZWQgYW4gb2J2aW91cyBidWcgaW4gdGhlIHNhbXBsZSBsZW5ndGggY2FsY3VsYXRpb24sCgkgIHVzaW5nIHRoZSB3cm9uZyBtYWNybyBmb3IgY29udmVyc2lvbi4KCjIwMDktMDYtMDEgMTE6NTg6MjEgLTA3MDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkgIGRlaW50ZXJsYWNlOiBGaXggc3B1cmlvdXMgY29sb25zIGluIGFzbSBjb2RlCgkgIEZpeGVzICM1ODQxNzQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wNi0wMSAwMDo0MDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBza2lwIEpVTksgY2h1bmtzIGluIGRhdGEgc2VjdGlvbiBpbiBzdHJlYW1pbmcgbW9kZQoJICBTa2lwIEpVTksgdGFncyBpbiBzdHJlYW1pbmcgbW9kZSBhcyB3ZWxsIGluc3RlYWQgb2YgRU9TaW5nCgkgIHByZW1hdHVyZWx5LiBGaXhlcyAjNTY0MTAwLgoKMjAwOS0wNS0yOCAxNDowMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBEb24ndCB1c2UgLy8gY29tbWVudHMKCjIwMDktMDUtMjggMTM6NTY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBGaXggYmFja2dyb3VuZCBibGl0dGluZyB3aGVuIGEgY29sb3IgbW9kZSBpcyBzZWxlY3RlZCB3aXRoIEJHUkEKCjIwMDktMDUtMjggMTM6NTQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIHZpZGVvbWl4ZXI6IFNvbWUgY2xlYW51cCBhbmQgZml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgc2l6ZSBpbiBieXRlcwoKMjAwOS0wNS0yOCAxMzozNTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBJNDIwIGJsZW5kaW5nIHRvIGFjdHVhbGx5IGRvIHNvbWV0aGluZwoJICBGb3IgdGhpcyB3ZSBhKSBpbXBsZW1lbnQgdGhlIGNoZWNrZXJzIGZpbGxpbmcgYW5kIGIpCgkgIGFjdHVhbGx5IGJsZW5kIHRoZSBzcmMvZGVzdCBieSB1c2luZyB0aGUgc3JjIGFscGhhIHZhbHVlCgkgIGZyb20gdGhlIHBhZC4KCjIwMDktMDUtMjggMTM6MTQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJICB2aWRlb21peGVyOiBGaXggQVJHQiBibGVuZGluZyB0byBhY3R1YWxseSB3b3JrCgoyMDA5LTA1LTI4IDEzOjA0OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEJsZW5kIEJHUkEgb3Vyc2VsdmVzIGluc3RlYWQgb2YgdXNpbmcgQ2Fpcm8KCjIwMDktMDUtMjggMTI6NTU6MTYgKzAyMDAgIEFsZXggVWdhcnRlIDxhbGV4dWdhcnRlQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIGJsZW5kaW5nIEJHUkEgYW5kIEFZVVYKCSAgRml4ZXMgYnVnICM1NzcwMTcuCgoyMDA5LTA1LTI4IDEyOjM5OjQ2ICswMjAwICBHaGlzbGFpbiAnQXVzJyBMYWNyb2l4IDxhdXNAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogVXNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW50ZXJuYWxseSBmb3IgdGhlIGludDE2IG1vZGUKCSAgQnkgdXNpbmcgaW50MzIgYXJpdGhtZXRpYyB3ZSB3aWxsIGludHJvZHVjZSBkaXN0b3J0aW9ucyBhcyB0aGUKCSAgSUlSIGZpbHRlciBpcyB2ZXJ5IHNlbnNpdGl2ZSB0byByb3VuZGluZyBlcnJvcnMuIEZpeGVzIGJ1ZyAjNTgwMjE0LgoKMjAwOS0wNS0yOCAxMDo1NToxNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IHBsdWdpbnMKCjIwMDktMDUtMjYgMTc6MTk6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODg4ZTBhMiB0byBjNTcyNzIxCgoyMDA5LTA1LTI2IDE2OjIwOjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogY2xlYW51cCBhbmQgY29tbWVudGluZwoJICBSZW1vdmUgbmV3bGluZXMgaW5zZXJ0ZWQgYnkgZ3N0LWluZGVudCBvbmNlLiBSZW1vdmUgdW51c2VkIHZhciBmcm9tIGluc3RhbmNlCgkgIHN0cnVjdC4gQWRkIGNvbW1lbnRzLiBBZGQgYW5vdGhlciAjZGVmaW5lIGZvciBkZWZhdWx0IHByb3BlcnR5IHZhbHVlLgoKMjAwOS0wNS0wNiAxMjo0MzozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ha2VmaWxlOiBpZGVhIGFib3V0IG1ha2VpbmcgbW9yZSBzb3VyY2VzL3NpbmtzIHRlc3RhYmxlIGFnYWluCgoyMDA5LTA1LTI1IDE2OjMzOjM1ICswMjAwICBKb2huIEtlZXBpbmcgPGpvaG4ua2VlcGluZyBhdCBsaW5lb25lLm5ldD4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogbWF0Y2ggZ19tYWxsb2MoKSB3aXRoIGdfZnJlZSgpCgkgIE1hdGNoaW5nIGdfbWFsbG9jKCkgd2l0aCBhIGdfZnJlZSgpIGlzIGltcG9ydGFudCB3aGVuIGEgY3VzdG9tIGFsbG9jYXRvciBpcwoJICBpbnN0YWxsZWQuCgkgIEZpeGVzICM1ODM4MDMKCjIwMDktMDUtMTIgMTg6Mzk6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGRvbid0IGxvb2sgZm9yIGhlYWRlcnMgaW4gc29tZSBjYXNlcwoJICBJbiBzb21lIHN0cmVhbXMgKHN0YXJ0aW5nIHdpdGggMDAwMDAxMDApIGRvbid0IGxvb2sgZm9yIHRoZSBoZWFkZXJzIGJ1dCBwdXNoCgkgIGRhdGEgYXMgaXQgaXMuCgkgIEZpeGVzICM1ODIxNTMKCjIwMDktMDUtMTMgMTE6NTA6MjIgKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1lbW9yeSBsZWFrIG9mIG1lc3NhZ2VzCgkgIEZyZWUgbWVzc2FnZXMgY29ycmVjdGx5LgoJICBGaXhlcyAjNTc3MzE4CgoyMDA5LTA1LTI0IDE5OjMyOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIGZha2VzcmMgc2lsZW50CgkgIE1ha2UgdGhlIGZha2VzcmMgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBkdW1teSBwYWNrZXRzIHNpbGVudC4KCjIwMDktMDUtMjQgMTY6MzM6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHNlbmQgdGVhcmRvd24gYmVmb3JlIHNldHVwCgkgIERvbid0IHNlbmQgYSBURUFSRE9XTiByZXF1ZXN0IHdoZW4gd2UgZGlkIG5vdCBtYW5hZ2UgdG8gc3VjY2Vzc2Z1bGx5IHNldHVwIGEKCSAgc3RyZWFtLgoKMjAwOS0wNS0xNCAxNDo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogUG9wdWxhdGUgYSBHc3RJbmRleCB0aGF0IGlzIHNldCBvbiBtYXRyb3NrYWRlbXV4CgoyMDA5LTA1LTE0IDEwOjM1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogR2V0IHRoZSBtYXggZHVyYXRpb24gZnJvbSB1cHN0cmVhbSBpZiB0aGVyZSdzIG5vIGR1cmF0aW9uIHRhZwoKMjAwOS0wNS0xNCAxMDoyOTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IFdyaXRlIGFuIGluZGV4IHRhYmxlIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUKCjIwMDktMDUtMjIgMDE6MTI6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IG1vdmUgdGhlIC1Xbm8tcG9ydGFiaWxpdHkgZnJvbSBhdXRvZ2VuLnNoIHRvIGNvbmZpZ3VyZS5hYwoJICBJZiB3ZSdyZSBsdWNreSBpdCdsbCBnZXQgdXNlZCBvbiBhdXRvbWF0aWMgcmVidWlsZHMgYXMgd2VsbCB0aGF0IHdheS4KCjIwMDktMDUtMjIgMDE6MTA6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIG00L2dzdC1maW9ucmVhZC5tNDoKCSAgbTQ6IGZpeCAnc3VzcGljaW91cyBjYWNoZSBpZCcgd2FybmluZ3MKCSAgYW5kIHVwZGF0ZSBjb21tb24gdG8gcHVsbCBpbiBhIHNpbWlsYXIgZml4LiBBbHNvIGNoZWNrIGluIGNvbmZpZ3VyZQoJICB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB3aGlsZSBtYWNyb3MgKEdMaWIgd2FudHMgdGhpcwoJICBkZWZpbmVkIGFuZCBpdCBpcyBuZWVkZWQgdG8gYXZvaWQgd2FybmluZ3Mgd2l0aCBzb21lIGMrKyBjb21waWxlcnMKCSAgYXBwYXJlbnRseSkuCgoyMDA5LTA1LTIyIDAxOjM5OjMzICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdXBodHRwc3JjOiBCdW1wLXVwIGxpYnNvdXAtMi4yNCBkZXAgdG8gPj0gMi4yNgoJICBUaGUgaGVscGVyIGZ1bmN0aW9uIHNvdXBfbWVzc2FnZV9oZWFkZXJzX2dldF9jb250ZW50X3R5cGUgdGhhdCB3ZSBub3cgdXNlCgkgIHdhcyBhZGRlZCBpbiAyLjI2LgoKMjAwOS0wNS0yMCAxNzo1Nzo1OSArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFNldCBjYXBzIGZvciBhdWRpby9MMTYgY29udGVudC10eXBlCgkgIFdoZW4gIkNvbnRlbnQtVHlwZSIgaGVhZGVyIGlzICJhdWRpby9MMTYiLCB3ZSBuZWVkIHRvIHNldCB0aGUgY2FwcyBvbiB0aGUKCSAgb3V0Z29pbmcgYnVmZmVycyBzbyB0aGF0IGRvd25zdHJlYW0gZWxlbWVudHMgY2FuIGhhdmUgbWVhbnMgdG8gZGV0ZWN0IHRoZQoJICBzdHJlYW0gdHlwZSBhbmQgaGFuZGxlIGl0IGFwcHJvcHJpYXRlbHkuIFRlc3RlZCB3aXRoIEhUVFAgc3RyZWFtIHByb3ZpZGVkCgkgIGJ5IHB1bHNlLWF1ZGlvJ3MgaHR0cCBtb2R1bGUgKGdpdCBtYXN0ZXIpLgoKMjAwOS0wNS0yMCAxNTowNjoyNSArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IFJlbmFtZSBpY3lfY2FwcyB0byBzcmNfY2FwcwoKMjAwOS0wNS0yMSAyMzozOToxMyArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbGlwcGUgYXQgZmx1ZW5kby5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGJ1bXAgbWF4IHNpemUgdG8gNjU1MzV4NjU1MzUKCSAgUmVtb3ZlIGFydGlmaWNpYWwganBlZyBpbWFnZSBsaW1pdHMuCgkgIEZpeGVzICM1ODMwNDguCgoyMDA5LTA1LTIxIDIxOjM2OjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgdGhlIHdpbjMyIGNvbmZpZy5oCgoyMDA5LTA1LTE5IDE1OjEyOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBSZWNvZ25pc2UgUEdTIHN1YnBpY3R1cmUgc3RyZWFtcyAtIHRoZSBibHVyYXkgZm9ybWF0LgoJICBSZWNvZ25pc2UgYW5kIGFwcGx5IGFwcHJvcHJpYXRlIGNhcHMgdG8gUEdTIChQcmVzZW50YXRpb24gR3JhcGhpYyBTdHJlYW0pCgkgIHN1YnBpY3R1cmUgc3RyZWFtcy4KCjIwMDktMDUtMTUgMTA6NDI6MTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBDb252ZXJ0IGFuIGVycm9uZW91cyBhc3NlcnRpb24KCSAgT2NjYXNpb25hbGx5LCB3ZSBnZXQgYSBjaGFuZ2UgY2FsbGJhY2sgZm9yIGFuIG9sZCBzdHJlYW0sIHRyaWdnZXJpbmcKCSAgdGhlIGFzc2VydGlvbiB1bm5lY2Vzc2FyaWx5LiBKdXN0IGlnbm9yZSBzdWNoIGNhbGxiYWNrcy4KCjIwMDktMDUtMjAgMTY6MTQ6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IFByaW50IGEgd2FybmluZyBvbiB1bmRlci9vdmVyZmxvd3MKCjIwMDktMDUtMjAgMTg6NDU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGluMjQgYm94ZXMgdG8gZ2V0IGVuZGlhbm5lc3MKCSAgaW4yNCBzYW1wbGVzIGFyZSBub3JtYWxseSBiaWctZW5kaWFuIGJ1dCBhbiBlbmRhIGJveCBjYW4gY2hhbmdlIHRoaXMgdG8KCSAgbGl0dGxlLWVuZGlhbi4gUmVjdXJzZSBpbnRvIHRoZSBpbjI0IGJveCBhbmQgZmluZCB0aGUgZW5kYSBib3ggc28gdGhhdCB3ZSBnZXQKCSAgdGhlIGVuZGlhbm5lc3MgcmlnaHQuCgkgIEZpeGVzICM1ODI1MTUKCjIwMDktMDUtMjAgMTQ6MTQ6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgcHJvcGVyIHBhZHRlbXBsYXRlCgoyMDA5LTA1LTIwIDE0OjAyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIG1vcmUgbWltZSB0eXBlcwoJICBBZGQgbWltZS10eXBlIGZvciBQYW5hc29uaWMgZzcyNiBhbmQgYWRkIG1vcmUgcmVxdWlyZWQgY2FwcyBwcm9wZXJ0aWVzIGZvciBvdGhlcgoJICBHNzI2IG1pbWUtdHlwZXMuCgkgIE1ha2UgbWltZS10eXBlcyBjYXNlIGluc2Vuc2l0aXZlLgoJICBTZWUgIzU4MjE2OQoKMjAwOS0wNS0yMCAxMzo0Nzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogYWRkIGZsb3cgYWdncmVnYXRpb24KCjIwMDktMDUtMjAgMTM6Mjk6MDIgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFsbG93IGNvbnRlbnQgdG8gYmUgZW1wdHkuCgkgIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGRvZXNuJ3QgYWxsb3cgYnVmZmVyIHRvIGJlIGVtcHR5LgoJICBTaW1wbHkgc2tpcCBhbnkgcGFydCB3aGVyZSB0aGUgY29udGVudCBpcyBlbXB0eS4gIERvbid0CgkgIGNyZWF0ZSBhIHBhZCBmb3IgaXQgZWl0aGVyLgoJICBTZWUgIzU4MjE2OQoKMjAwOS0wNS0xOCAyMjoxOTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgcnRwOiBmaXggY2hhbm5lbCBwb3NpdGlvbnMgZm9yIG1vbm8KCjIwMDktMDUtMjEgMjE6MDI6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTUuMQoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDktMDUtMjAgMjI6MzQ6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE1CgoyMDA5LTA1LTIwIDIyOjAzOjIxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDUtMTYgMDI6NTk6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4zIHByZS1yZWxlYXNlCgoyMDA5LTA1LTE2IDAyOjM3OjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBjaGVjazogRG9uJ3QgY2hhbmdlIGRpcmVjdG9yeSBpbiB0aGUgdGVzdAoJICBDaGFuZ2luZyBkaXJlY3RvcnkgaW52YWxpZGF0ZXMgdGhlIHBhdGhzIHRoZSByZWdpc3RyeSBoYXMgcGlja2VkCgkgIHVwIGZvciBvdXIgcGx1Z2lucywgYmVjYXVzZSB0aGUgdGVzdCBlbnZpcm9ubWVudCBzcGVjaWZpZXMgcmVsYXRpdmUKCSAgcGF0aHMuIEZpeGluZyB0aGF0IGlzIGEgc2VwYXJhdGUgcHJvYmxlbSwgaW4gdGhlIG1lYW50aW1lLCBidWlsZCBhCgkgIHBhdGggdG8gdGhlIHRlc3QgZmlsZXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBkaXJlY3RvcnkuIEZpeGVzIHRoZQoJICBkaXN0Y2hlY2suCgoyMDA5LTA1LTE2IDAxOjUzOjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IFJlbW92ZSBkaXJlY3RkcmF3IHByb2plY3QgZmlsZXMgZnJvbSB0aGUgd2luMzIgbWFuaWZlc3QKCjIwMDktMDUtMTYgMDE6MjE6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgY2hlY2s6IFJlbW92ZSBhc3NlcnRpb24gdGhhdCBicmVha3MgY2hlY2sgYWdhaW4gZ2l0IG1hc3RlcgoJICBSZW1vdmUgdGhlIGFzc2VydGlvbiB0aGF0IHRoZSBzZW5kZXIgb2YgdGhlIHRhZ3MgbWVzc2FnZSBpcyB0aGUKCSAgZWxlbWVudCB1bnRpbCB3ZSBkZWNpZGUgd2hldGhlciB0aGF0J3MgZ29pbmcgdG8gYmUgdHJ1ZSBvciBub3QuCgoyMDA5LTA1LTE2IDAxOjExOjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgTW92ZWQgJ2RpcmVjdGRyYXcnIGZyb20gLWdvb2QgdG8gLWJhZAoKMjAwOS0wNS0xNiAwMDoxODozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGlnbm9yZXM6IElnbm9yZSB0aGUgZmxhY2RlYyBjaGVjayBiaW5hcnkKCjIwMDktMDUtMTYgMDA6MTc6NTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICBkb2NzOiBVcGRhdGUgaW5zcGVjdGlvbiBkZXRhaWxzIGZvciB0aGUgYXZpIHBsdWdpbgoKMjAwOS0wNS0xNiAwMDowMDowNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgTW92ZWQgJ3k0bWVuYycgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTEzIDE3OjU1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB5NG1lbmM6IGNoYW5nZSBteSBlbWFpbAoJICBjaGFuZ2UgbXkgZW1haWwgdG8gc29tZXRoaW5nIG1vcmUgY3VycmVudAoJICBTZWUgIzU4MDc4MwoKMjAwOS0wNS0xMyAxNzo1NDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0geTRtZW5jOiBkb24ndCBzdHJpcCB0aW1lc3RhbXBzCgkgIEZpeGVzICM1ODI0ODMKCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMDYtMjYgMTU6NTI6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgW01PVkVEIEZST00gQkFEXSBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCjIwMDctMDQtMjQgMTU6NDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgoyMDA2LTExLTEzIDE4OjU1OjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgW01PVkVEIEZST00gQkFEXSBjb25maWd1cmUuYWM6IEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfYmFzZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NsYXNzX2luaXQpLCAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9yZXNldCksIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9mcmFtZV9oZWFkZXIpLCAoZ3N0X3k0bV9lbmNvZGVfY2hhaW4pLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0X3Byb3BlcnR5KSwgKGdzdF95NG1fZW5jb2RlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeTRtX2VuY29kZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFBvcnQgb2YgeTRtZW5jb2RlIHRvIDAuMTAuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA0OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC86IEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqQGJvb3RsYWIub3JnIDxqQGJvb3RsYWIub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA3LTA1IDEwOjUxOjQ5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQURdIFdheSwgd2F5LCB3YXkgdG9vIG1hbnkgZmlsZXM6IFJlbW92ZSBjcmFjayBjb21tZW50IGZyb20gdGhlIDIwMDAgZXJhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wNy0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBXYXksIHdheSwgd2F5IHRvbyBtYW55IGZpbGVzOgoJICBSZW1vdmUgY3JhY2sgY29tbWVudCBmcm9tIHRoZSAyMDAwIGVyYS4KCjIwMDUtMDEtMTQgMTg6MzY6NDIgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBJJ20gYSBiYWQgYm95LiB1c2luZyAvMTAwMS4gdG8gZm9yY2UgQyB0byBkbyBmbG9hdCBkaXZpc2lvbiBhbmQgbm90IGludGVnZXIgZGl2aXNpb24gKGFzIGl0IGRpZCBpbiBteSBsYXN0IGNvbW1pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChwYXJzZV9tZHZkc3ViKToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9zaW5rY29ubmVjdCk6CgkgIEknbSBhIGJhZCBib3kuIHVzaW5nIC8xMDAxLiB0byBmb3JjZSBDIHRvIGRvIGZsb2F0IGRpdmlzaW9uCgkgIGFuZCBub3QgaW50ZWdlciBkaXZpc2lvbiAoYXMgaXQgZGlkIGluIG15IGxhc3QgY29tbWl0KQoJICBUaGFua3MgdG8gRGF2aWQgSS4gTGVobiBmb3IgcG9pbnRpbmcgdGhpcyBtaXN0YWtlLgoKMjAwNS0wMS0xNCAxMjoyNzoyMiArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIHJlcGxhY2UgZnJhbWVyYXRlIGFwcm94aW1hdGlvbnMgYnkgdGhlaXIgcmVhbCB2YWx1ZSAoMjQwMDAvMTAwMSwgMzAwMDAvMTAwMSwgNjAwMDAvMTAwMSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAocGFyc2VfbWR2ZHN1Yik6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfc2lua2Nvbm5lY3QpOgoJICByZXBsYWNlIGZyYW1lcmF0ZSBhcHJveGltYXRpb25zIGJ5IHRoZWlyIHJlYWwgdmFsdWUKCSAgKDI0MDAwLzEwMDEsIDMwMDAwLzEwMDEsIDYwMDAwLzEwMDEpCgkgIEZpbmlzaCBmaXhpbmcgYnVnICMxNjQwNDkKCjIwMDQtMDctMjcgMjE6NDE6MzAgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSB3b3JraW5nIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgd29ya2luZyBwbHVnaW5zCgoyMDA0LTA3LTI3IDA5OjU3OjMzICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbmFtZSBHU3RyZWFtZXItMC44LmxpYiB0byBsaWJnc3RyZWFtZXIubGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgR1N0cmVhbWVyLTAuOC5saWIgdG8gbGliZ3N0cmVhbWVyLmxpYgoKMjAwNC0wNy0yNyAwOTo0ODo1MSArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBhdm9pZCBwcm9ibGVtcyB3aXRoIG1hdGguaCwgZml4IHJlbGVhc2UgZGVwZW5kYW5jeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYXZvaWQgcHJvYmxlbXMgd2l0aCBtYXRoLmgsIGZpeCByZWxlYXNlIGRlcGVuZGFuY3kKCjIwMDQtMDctMjYgMTM6MjA6MTEgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSBwbHVnaW5zIHN1cHBvcnRlZCB1bmRlciB3aW5kb3dzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHBsdWdpbnMgc3VwcG9ydGVkIHVuZGVyIHdpbmRvd3MKCjIwMDQtMDQtMDEgMTE6NDg6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhNTJkZWM6ICAgVXNlIGEgZGVidWcgY2F0ZWdvcnksIE91dHB1dCB0aW1lc3RhbXBzIGNvcnJlY3RseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYTUyZGVjOiAgIFVzZSBhIGRlYnVnIGNhdGVnb3J5LCBPdXRwdXQgdGltZXN0YW1wcyBjb3JyZWN0bHkKCSAgRW1pdCB0YWcgaW5mbywgSGFuZGxlIGV2ZW50cywgdGVsbCBsaWJhNTJkZWMgYWJvdXQgY3B1CgkgIGNhcGFiaWxpdGllcyBzbyBpdCBjYW4gdXNlIE1NWCBldGMuCgkgIGR2ZGVjOiAgICBGaXggYSBjcmFzaGVyIGFjY2Vzc2luZyBpbnZhbGlkIG1lbW9yeQoJICBkdmRuYXZzcmM6U29tZSBzdXBwb3J0IGZvciBieXRlLWZvcm1hdCBzZWVraW5nLgoJICBTbWFsbCBmaXhlcyBmb3Igc3RpbGwgZnJhbWVzIGFuZCBtZW51IGJ1dHRvbiBvdmVybGF5cwoJICBtcGVnMmRlYzogVXNlIGEgZGVidWcgY2F0ZWdvcnkuIEFkanVzdCB0aGUgcmVwb3J0IGxldmVsIG9mIHNldmVyYWwgaXRlbXMgdG8KCSAgTE9HLiBDYWxsIG1wZWcyX2N1c3RvbV9mYnVmIHRvIG1hcmsgb3VyIGJ1ZmZlcnMgYXMgJ2N1c3RvbSBidWZmZXJzJwoJICBzbyBpdCBkb2Vzbid0IGxvc2UgdGhlIEdzdEJ1ZmZlciBwb2ludGVyCgkgIG5hdnNlZWs6ICBBZGQgdGhlIG5hdnNlZWsgZGVidWcgZWxlbWVudCBmb3Igc2Vla2luZyBiYWNrIGFuZCBmb3J0aCBpbiBhCgkgIHZpZGVvIHN0cmVhbSB1c2luZyBhcnJvdyBrZXlzLgoJICBtcGVnMnN1YnQ6UHJldHR5IG11Y2ggYSBjb21wbGV0ZSByZXdyaXRlLiBOb3cgYSBsb29wYmFzZWQgZWxlbWVudC4gTWF5IHN0aWxsCgkgIHJlcXVpcmUgd29yayB0byBwcm9wZXJseSBzeW5jaHJvbmlzZSBzdWJ0aXRsZSBidWZmZXJzLgoJICBtcGVnZGVtdXg6CgkgIGR2ZGRlbXV4OiBEb24ndCBhdHRlbXB0IHRvIGNyZWF0ZSBzdWJidWZmZXJzIG9mIHNpemUgMAoJICBSZWR1Y2UgYSBjb3VwbGUgb2YgZXJyb3Igb3V0cHV0cyB0byB3YXJuaW5ncy4KCSAgeTRtZW5jb2RlOk91dHB1dCB0aGUgeTRtIGZyYW1lIGhlYWRlciBjb3JyZWN0bHkKCjIwMDQtMDMtMTUgMTk6MzI6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjU0ICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC1pbmRlbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdC1pbmRlbnQKCjIwMDQtMDEtMTIgMDI6MDE6NTIgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8uaDogRml4IGNhcHMgdGVtcGxhdGUgbmFtZXMgdG8gYmUgdW5kZXJzdGFuZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTAxLTEyICBCZW5qYW1pbiBPdHRlICA8aW43eTExOEBwdWJsaWMudW5pLWhhbWJ1cmcuZGU+CgkgICogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLmg6CgkgIEZpeCBjYXBzIHRlbXBsYXRlIG5hbWVzIHRvIGJlIHVuZGVyc3RhbmRhYmxlLgoJICBQcmVmaXggZXZlcnl0aGluZyB3aXRoIEdTVF9WSURFTy4KCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgKiBleHQvaGVybWVzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAocmF3X2NhcHNfZmFjdG9yeSk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19sb29wKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfc3JjY29ubmVjdCksIChnc3RfbW9ub3Njb3BlX2NoYWluKToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3Qvc3luYWVzdGhlc2lhL2dzdHN5bmFlc3RoZXNpYS5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19wYWxldHRlX3RvX2NhcHMpOgoJICBNYWtlIHRoZW0gd29yayB3aXRoIG5ldyB2aWRlby5oIGZpbGUuCgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGFpbiksCgkgIChnc3RfeGltYWdlc2lua19idWZmZXJfZnJlZSksIChnc3RfeGltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hhaW4pLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX2J1ZmZlcl9mcmVlKSwgKGdzdF94dmltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHdvcmsgd2l0aCBuZXcgYnVmZmVyIGFsbG9jYXRpb24gc3lzdGVtLgoKMjAwMy0xMi0yMiAwMTo0NzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIE1lcmdlIENBUFMgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0wNCAxMDozNzozOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMTYgMjI6MDI6MjMgKzAwMDAgIExlaWYgSm9obnNvbiA8bGVpZkBhbWJpZW50LjJ5Lm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gKyBjaGVja2luZyBpbiBwbHVnaW4gY2F0ZWdvcnkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKyBjaGVja2luZyBpbiBwbHVnaW4gY2F0ZWdvcnkgY2hhbmdlcwoKMjAwMy0xMS0wNyAxMjo0NzowMiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDIgMTk6MTc6MjcgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBmaXggdG8gbmV3IHBsdWdpbiBzeXN0ZW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0byBuZXcgcGx1Z2luIHN5c3RlbQoKMjAwMy0xMC0wOCAxNjowODoxOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCjIwMDMtMDgtMTAgMDA6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTA2IDIwOjQ5OjUyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQncyBkb2N1bWVudC4gTm90ZTogc29tZSBwbHVnaW5zIHdpbGwgYnJlYWssIHNvbWUgcGlwZWxpbmVzIHdpbGwgYnJlYWssIGV4cGVjdCBIRUFEIHRvIGJlIGJyb2tlbiBvciBhdCBsZWFzdCBub3QgMTAwJSB3b3JraW5nIGZvciBhIGZldyBkYXlzLCBidXQgZG9uJ3QgZm9yZ2V0IHRvIHJlcG9ydCBidWdzCgoyMDAzLTA2LTI5IDE5OjQ2OjEzICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgSW5jbHVkZXMgZml4ZXMgZm9yIG1pc3NpbmcgaW5jbHVkZXMgZm9yIGNvbmZpZy5oIGFuZCB1bmlzdGQuaAoJICBJIG9ubHkgZW5zdXJlZCBmb3IgcGx1Z2lucyBJIGNhbiBidWlsZCB0aGF0IHRoZXkgd29yaywgc28gaWYgc29tZSBvZiB0aGVtIGFyZSBzdGlsbCBicm9rZW4sIHlvdSBnb3R0YSBmaXggdGhlbSB5b3Vyc2VsdmVzIHVuZm9ydHVuYXRlbHkuCgoyMDAzLTAxLTEwIDEzOjM4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCjIwMDMtMDEtMTAgMTA6MjI6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcyBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcwoJICBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzCgkgIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdGhhdCBJIGRvbid0IHNwZW5kIGRvdWJsZQoJICB0aGUgdGltZSByZXNvbHZpbmcgY29uZmxpY3RzCgoyMDAyLTEyLTA4IDE0OjUwOjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0wOS0xOCAxOTowMjo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCjIwMDItMDYtMTcgMTA6Mjk6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBjb3NtZXRpYyBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvc21ldGljIGNoYW5nZQoKMjAwMi0wNS0wMyAwOTo1OToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHZhcmlvdXMgbmFtZSBmaXhlcyBhbmQgc3VuZHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB2YXJpb3VzIG5hbWUgZml4ZXMgYW5kIHN1bmRyeQoKMjAwMi0wNC0yMCAyMTo0Mjo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMgZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zIGFuIGVsZW1lbnQgYnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcwoJICAqIGEgY3VycmVudCBjaGVjayBmb3IgbXBlZzJkZWMKCSAgKiBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMKCSAgKiBhbiBlbGVtZW50IGJyb3dzZXIgdGhhdCB1c2VzIGRldGFpbHMtPmtsYXNzCgkgICogc2VwYXJhdGVkIGNkeGEgcGFyc2Ugb3V0IGZyb20gdGhlIGF2aSBkaXJlY3RvcnkKCjIwMDItMDQtMTEgMjA6NDI6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdzdFBhZFRlbXBsYXRlIDwtPiBnc3RfcGFkX3RlbXBsYXRlIDwtPiBHU1RfUEFEX1RFTVBMQVRFCgkgIHNhbWUgd2l0aCAqZmFjdG9yeSBhbmQgdHlwZWZpbmQuCgkgIGFsc28sIHNvbWUgLVdlcnJvciBmaXhlcy4KCjIwMDItMDMtMzAgMTc6MDY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3RoZXIgc21hbGwgdHVmZi4KCjIwMDItMDMtMjAgMjE6NDU6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcy9Hbm9tZS1TdHJlYW1lci9HU3RyZWFtZXIvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCjIwMDItMDMtMTkgMDQ6MTA6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cyBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMKCSAgKiBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoIHRoZSBwbHVnaW5faW5mbyBzdHJ1Y3QsCgkgIGFuZCBzeW1ib2wgcmVzb2x1dGlvbiBpcyBsYXp5LCBzbyB3ZSBjYW4gYWx3YXlzIGtub3cgaWYgYSBwbHVnaW4gY2FuIGJlIGxvYWRlZCBieSB0aGUgcGx1Z2luX2luZm8gZGF0YS4gaW4gdGhlb3J5LgoKMjAwMi0wMy0xOSAwMTozOTo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8gQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLwoJICBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaWNhbGx5LAoJICBhbmQgdGhpcyBnaXZlcyB0aGUgdXNlciB0aGUgZnJlZWRvbSB0byBzYXkgbWFrZSBHU1RfUExVR0lOX0xERkxBR1M9LW15ZmxhZwoKMjAwMi0wMS0xOCAxMTozNzoxOSArMDAwMCAgV3JvYmVsbCA8d3JvYmVsbEBpdGUucGw+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIC0gcGx1Z2lucyBhcmUgYnVpbHQgd2l0aG91dCB2ZXJzaW9uaW5nIGluZm8KCjIwMDItMDEtMTMgMjI6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIEJyaW5nIHRoZSBwbHVnaW5zIGluIHN5bmMgd2l0aCB0aGUgbmV3IGNvcmUgY2Fwc25lZ28gc3lzdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIEFkZGVkIHNvbWUgZmVhdHVyZXMsIGVuaGFuY2VtZW50cy4uLgoKMjAwMi0wMS0xMiAwMzozNDoyNyArMDAwMCAgRGF2aWQgSS4gTGVobiA8ZGxlaG5AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBzL2ZpbHRlci9wbHVnaW4vIGxpbmsgcGx1Z2lucyB0byBHU1RfTElCUyByZWFycmFuZ2UgcnVsZXMgdG8gYSBjb21tb24gZm9ybWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHMvZmlsdGVyL3BsdWdpbi8KCSAgKiBsaW5rIHBsdWdpbnMgdG8gR1NUX0xJQlMKCSAgKiByZWFycmFuZ2UgcnVsZXMgdG8gYSBjb21tb24gZm9ybWF0CgoyMDAxLTEyLTIzIDIwOjIxOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gbW9yZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBmaXhlcwoKMjAwMS0xMi0yMyAxMzoxNzozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIEJCQiBhc2tlZCBtZSB0byByZW5hbWUgbGF2IHRvIHk0bSBjYW4gc29tZW9uZSB3aG8ga25vd3MgdGhlIHBsdWdpbiBkbyB0aGlzIGluIHRoZSBzb3VyY2UgYXMgd2VsbCA/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCQkIgYXNrZWQgbWUgdG8gcmVuYW1lIGxhdiB0byB5NG0KCSAgY2FuIHNvbWVvbmUgd2hvIGtub3dzIHRoZSBwbHVnaW4gZG8gdGhpcyBpbiB0aGUgc291cmNlIGFzIHdlbGwgPwoKMjAwOS0wNS0xNSAxODoxNzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IGFkZCBNYWtldmFycyBtYWdpYyBzbyB3ZSBkb24ndCBnZXQgbGluZSBudW1iZXJzIGluICoucG8gZmlsZXMKCSAgVGhpcyBhdm9pZHMgdGhlIG51bWJlciBvbmUgcmVhc29uIGZvciBsb2NhbCBtb2RpZmljYXRpb25zIGluICoucG8KCSAgZmlsZXMgYW5kIGFuZCBtYWtlcyB0aGluZ3MgbGVzcyBhbm5veWluZyB3aGVuIHdvcmtpbmcgd2l0aCBnaXQgKG9yCgkgIGFueSBvdGhlciBWQ1MgZm9yIHRoYXQgbWF0dGVyKS4KCjIwMDktMDUtMTUgMTc6MTE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvZmlsZXMvdGVzdC1jZXJ0LnBlbToKCSogdGVzdHMvZmlsZXMvdGVzdC1rZXkucGVtOgoJICBjaGVja3M6IG1vdmUgZmlsZXMgcmVxdWlyZWQgYnkgdW5pdCB0ZXN0cyBpbnRvIHRlc3RzL2ZpbGVzIGFuZCBtYWtlIHN1cmUgdGhleSdyZSBkaXN0ZWQKCSAgTW92ZSB1bml0IHRlc3QgZGF0YSBpbnRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgaXQgYmVsb25ncyBhbmQgbWFrZSBpbiBwYXJ0aWN1bGFyCgkgIHRoZSBmbGFjZGVjIHVuaXQgdGVzdCBjZCBpbnRvIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgdGVzdCBmaWxlcyBpbnN0ZWFkIG9mIG1ha2luZwoJICBhc3N1bXB0aW9ucyBhYm91dCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpbiB0aGF0IHVuaXQgdGVzdC4gQXMgYSBzaWRlIGVmZmVjdAoJICBvZiBtb3ZuZyB0aG9zZSBmaWxlcywgdGhlcmUncyBvbmx5IG9uZSBFWFRSQV9ESVNUIGluIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtIG5vdywKCSAgd2hpY2ggaXMgbGlrZWx5IHRvIHdvcmsgYmV0dGVyIHRoYW4gaGF2aW5nIHR3by4gSG9wZWZ1bGx5IGZpeGVzICM1ODI3NTMuCgoyMDA5LTA1LTE0IDIxOjQzOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSWYgdGhlIHVwc3RyZWFtIG1heCBsYXRlbmN5IGlzIHVuYm91bmQgcmV0dXJuIHVuYm91bmQgbWF4IGxhdGVuY3kKCSAgRml4ZXMgYnVnICM1ODI2NjEuCgoyMDA5LTA1LTE1IDA4OjQ0OjM5ICswMjAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODBAdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgRml4ZXMgYnVnICM1ODI3MTUuCgoyMDA5LTA1LTE0IDEyOjMyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQKCjIwMDktMDUtMTMgMjI6NDY6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVjb3ZlcmVkIGRlYnVndXRpbHMgbGluZSBhY2NpZGVudGFsbHkgcmVtb3ZlZCBpbiBkZWludGVybGFjZTIgbW92ZS4KCjIwMDktMDUtMTMgMTA6NDY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgTW92ZWQgJ2RlaW50ZXJsYWNlMicgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEFuZCByZW5hbWUgaXQgdG8gZGVpbnRlcmxhY2UuCgoyMDA5LTA1LTA4IDE1OjM5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ni81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgYSBkaXNhYmxlZCBtb2RlIGZvciBwYXNzdGhyb3VnaCBvcGVyYXRpb24KCSAgQWxzbyBhbGxvdyB0byBjaGFuZ2UgdGhlIG1vZGUgaW4gUEFVU0VEIGFuZCBQTEFZSU5HIGJ5IHVwZGF0aW5nCgkgIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCjIwMDktMDQtMjIgMTk6NDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDU1LzU2XSBkZWludGVybGFjZTI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA0LTE5IDE3OjE4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NC81Nl0gZGVpbnRlcmxhY2UyOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBpbnRlcmxhY2luZyBhdXRvZGV0ZWN0aW9uIG9yIHRvIGVuZm9yZSBkZWludGVybGFjaW5nCgkgIEZvciB0aGlzIGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0aGF0IGRlZmF1bHRzIHRvICJpbnRlcmxhY2VkIiBmb3Igbm93IGFzCgkgIG1vc3QgZGVjb2RlcnMvZGVtdXhlcnMgZG9uJ3QgcHJvcGVybHkgc2V0IHRoZSAiaW50ZXJsYWNlZCIgZmllbGQgb24gdGhlCgkgIGNhcHMgeWV0LgoJICBJZiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAiYXV0byIgdGhlIGVsZW1lbnQgd2lsbCB3b3JrIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdW5sZXNzIHRoZSBjYXBzIGNvbnRhaW4gdGhlICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMDktMDQtMTcgMTU6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUzLzU2XSBkZWludGVybGFjZTI6IFVzZSBHU1RfKERFQlVHfFdBUk5JTkd8RVJST1IpX09CSkVDVCBpbnN0ZWFkIG9mIHRoZSBub24tT0JKRUNUIG9uZXMKCjIwMDktMDQtMTcgMTU6Mzk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUyLzU2XSBkZWludGVybGFjZTI6IFJlc2V0IGhpc3RvcnkgaWYgRElTQ09OVCBpcyBzZXQgb24gdGhlIGluY29taW5nIGJ1ZmZlcgoKMjAwOS0wNC0xNyAxNTozOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTEvNTZdIGRlaW50ZXJsYWNlMjogRml4IHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgd2l0aCBSRkYgZmxhZyBzZXQKCjIwMDktMDQtMTYgMTc6NDE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MC81Nl0gZGVpbnRlcmxhY2UyOiBSZW5hbWUgbGluZV9sZW5ndGggdG8gcm93X3N0cmlkZSBhbmQgcmVtb3ZlIG91dHB1dF9zdHJpZGUKCjIwMDktMDQtMTYgMTU6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ5LzU2XSBkZWludGVybGFjZTI6IEltcGxlbWVudCBzdXBwb3J0IGZvciBSRkYgYW5kIE9ORUZJRUxEIGJ1ZmZlciBmbGFncwoKMjAwOS0wNC0xNSAxNTo0Njo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDgvNTZdIGRlaW50ZXJsYWNlMjogTW92ZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdCB0byBhIGZ1bmN0aW9uIHBhcmFtZXRlcgoKMjAwOS0wNC0xNSAxNTozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNDcvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiB0aGUgZmllbGQgb3JkZXIKCjIwMDktMDQtMTUgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ2LzU2XSBkZWludGVybGFjZTI6IEFkZCBzdXBwb3J0IGZvciBZVllVIGNvbG9yc3BhY2UKCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBZVVkyIHdpdGgganVzdCBDciBhbmQgQ2Igc3dhcHBlZC4gQXMKCSAgd2UgZG9uJ3QgbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIHdoZW4gZGVpbnRlcmxhY2luZwoJICB0aGlzIHdvcmtzLgoKMjAwOC0xMS0wNiAxNDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpOgoJICBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ0LzU2XSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0wOSAxOTozODo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQzLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBYODYgYXNzZW1ibHkuCgoyMDA4LTA4LTI4IDE3OjE2OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Mi81Nl0gZ3N0L2RjY3AvOiBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBGb3J0ZSAtIGFwcGFyZW50bHkgaXQgaGF0ZXMgY29uY2F0ZW5hdGluZyBhCgkgIG1hY3JvIGFyZ3VtZW50IHRoYXQgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZT8/CgoyMDA4LTA4LTI2IDEyOjMzOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvOiBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlIGEgc21hbGwgc3BlZWR1cCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZQoJICBhIHNtYWxsIHNwZWVkdXAgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhbmRsZSBjaHJvbWEgYW5kIGx1bWEKCSAgZGlmZmVyZW50IHdoaWNoIGlzIG5lZWRlZCBsYXRlci4KCjIwMDgtMDgtMjUgMTQ6Mzc6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZwoJICBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzZWFyY2gtZWZmb3J0PTAgY3VycmVudGx5LCBpcyBwYWluZnVsbHkKCSAgc2xvdyBhbmQgbmVlZHMgc29tZSBjbGVhbnVwIGxhdGVyIHdoZW4gYWxsIHNlYXJjaC1lZmZvcnQgc2V0dGluZ3MKCSAgYXJlIGltcGxlbWVudGVkIGluIEMuCgoyMDA4LTA4LTAyIDE4OjQ4OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzkvNTZdIGdzdC9kZWludGVybGFjZTIvOiBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0IGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgIFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQKCSAgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoKMjAwOC0wOC0wMiAxODozNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM4LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZSBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teGV4dCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX21teCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9pbml0KToKCSAgQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZQoJICBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kLgoKMjAwOC0wOC0wMiAxODozMDo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdCBjYW4gYmUgdXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdAoJICBjYW4gYmUgdXNlZCBieSBzaW1wbGUgZGVpbnRlcmxhY2luZyBtZXRob2RzLiBUaGV5IG9ubHkgaGF2ZSB0byBwcm92aWRlCgkgIGEgZnVuY3Rpb24gZm9yIGludGVycG9sYXRpbmcgYSBzY2FubGluZSBvciBjb3B5aW5nIGEgc2NhbmxpbmUuCgoyMDA4LTA4LTAyIDE4OjE1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcyBvZiBldmVyeSBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbik6CgkgIFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcwoJICBvZiBldmVyeSBidWZmZXIuCgoyMDA4LTA4LTAyIDE4OjEzOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzQvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzCgkgIGRlZmluZWQuCgoyMDA4LTA4LTAyIDE4OjA5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzMvNTZdIGdzdC9kZWludGVybGFjZTIvOiBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KToKCSAgRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wOC0wMiAxODowMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24gdGhhdCBkb3VibGVzL2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZ3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IpLCAoZ3N0X2ZyYWN0aW9uX2RvdWJsZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2dldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIHRoYXQgZG91Ymxlcy9oYWxmcyB0aGUgZnJhbWVyYXRlIGlmIGFsbCBmaWVsZHMgc2hvdWxkIGJlIHNlbnQgb3V0LgoKMjAwOC0wNy0xOCAwODozNDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMxLzU2XSBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneQoJICBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBCdWlsZCB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBvbiBhbGwgYXJjaGl0ZWN0dXJlcyBidXQgc3RpbGwgbWFyayBpdAoJICBhcyBleHBlcmltZW50YWwuCgkgIEJ1aWxkIHRoZSB4ODYgaW5saW5lIGFzc2VtYmx5IG9ubHkgaWYgR0NDIGlubGluZSBhc3NlbWJseSBpcyBzdXBwb3J0ZWQKCSAgYW5kIG9ubHkgb24geDg2IG9yIGFtZDY0LiBGaXhlcyBidWcgIzU0MzI4Ni4KCjIwMDgtMDctMTQgMTQ6MTM6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzAvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogRml4IGJ1aWxkIG9uIHg4Nl82NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCBvbiB4ODZfNjQKCjIwMDgtMDctMTMgMTA6NTY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlIGFzc2VtYmx5IG9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBvbmx5IGhhbmRsZSB0aGlzIGFuZCBjYWxsaW5nIHRoZSBDCgkgIGltcGxlbWVudGF0aW9uIGZvciB0aGUgcmVtYWluaW5nIHBhcnQgZG9lc24ndCB3b3JrIGJlY2F1c2UgaXQgbmVlZHMKCSAgcHJldmlvdXMgY2FsY3VsYXRpb25zLgoKMjAwOC0wNy0xMyAxMDo1MjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgVGhlIFNTRSBtZXRob2QgaW4gZmFjdCBvbmx5IG5lZWRzIE1NWEVYVCwgZGVjbGFyZSBpdCBhcyBzdWNoLgoKMjAwOC0wNy0wOCAxMzozMTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI3LzU2XSBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3NldHVwKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoKMjAwOC0wNy0wNiAyMDo0Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzogTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgc29tZQoJICBzcGVlZHVwIGFzIHRoZXkncmUgdXNlZCBvbmx5IG9uY2UgYW5kIG5lZWQgdG8gZ2V0IG1hbnkgbG9jYWwgdmFyaWFibGVzCgkgIHBhc3NlZCBhcyBwYXJhbWV0ZXIuCgoyMDA4LTA3LTA1IDE5OjIwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgoyMDA4LTA3LTA1IDE5OjExOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfbGF0ZW5jeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgRml4IG91dHB1dHRpbmcgb2YgYWxsIGZpZWxkcywgaS5lLiBkb3VibGluZyBvZiB0aGUgZnJhbWVyYXRlLgoKMjAwOC0wNy0wNSAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIzLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydCB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2ZpZWxkc19yZXF1aXJlZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9pbml0KToKCSAgVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydAoJICB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGRlaW50ZXJsYWNpbmcgbWV0aG9kIHZpYSBHT2JqZWN0CgkgIHByb3BlcnRpZXMuCgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhbGxvdyBhY2Nlc3MgdG8gdGhlIHVzZWQKCSAgZGVpbnRlcmxhY2luZyBtZXRob2QgYW5kIHRvIGFsbG93IGFkanVzdGluZyB0aGUgZGlmZmVyZW50IHNldHRpbmdzLgoJICBNb3ZlIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBtZXRob2QgaW50bwoJICBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhpcyBkZWludGVybGFjaW5nCgkgIG1ldGhvZCBmcm9tIGRpZmZlcmVudCBpbnN0YW5jZXMuCgoyMDA4LTA3LTA1IDEyOjIyOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBnci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseQoJICBvcHRpbWl6ZWQgZ3JlZWR5aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA3LTA0IDE4OjU0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCjIwMDgtMDYtMzAgMDc6NTE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAodG9tc21vY29tcF9pbml0KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpLCAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgVXNlICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCjIwMDgtMDYtMjkgMTA6NTY6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheSBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheQoJICBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zZWQgdG8gTEdQTC4gVXNlIG1lbWNweSgpIGluc3RlYWQKCSAgb2YgdGhlIHNwZWVkeSBtZW1jcHkgZXZlcnl3aGVyZSBpbnN0ZWFkLgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlbW92ZSBtYW55IHVudXNlZCBkZWNsYXJhdGlvbnMuCgoyMDA4LTA2LTI4IDE4OjEzOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgoyMDA4LTA2LTI4IDE4OjEwOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3MKCSAgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbWV0aG9kLiBJbnN0ZWFkIGltcGxlbWVudCBkZWludGVybGFjZV9mcmFtZQoJICBmdW5jdGlvbiBieSB0YWtpbmcgdGhlIG9uZSBmcm9tIGdyZWVkeWguCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKToKCSAgU21hbGwgZml4IGZvciB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgRG9uJ3QgdXNlIHRoZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBvbmx5CgkgIHVzZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIHJlbW92ZWQuIEluc3RlYWQgaW1wbGVtZW50CgkgIGRlaW50ZXJsYWNlX2ZyYW1lIGZ1bmN0aW9uIGFuZCBtYWtlIGl0IGEgYml0IG1vcmUgZWZmaWNpZW50LgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUgYW5kIHJlbW92ZSBzY2FubGluZXMgZnVuY3Rpb24gYXMgaXQncyB1bnVzZWQgbm93LgoKMjAwOC0wNi0yOCAxNzoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbiB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuCgkgIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYXJrIHRoZSBTU0UgdmVyc2lvbiBhcyBNTVhFWFQgYXMgaXQgZG9lc24ndAoJICByZXF1aXJlIGFueSBTU0UgaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yNyAxMzoyMjozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIFNldCBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDYtMjUgMTY6MDU6MDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDYtMjQgMTI6MDg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcyBtZW1vcnkgYWNjZXNzZXMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MKCSAgbWVtb3J5IGFjY2Vzc2VzIGFuZCBmaXggdGhlIHdvcmthcm91bmQgZm9yIHRoZSBtaXNzaW5nIHJpZ2h0IHNoaWZ0CgkgIG9uIGJ5dGVzIHRvIHVuc2V0IHRoZSBoaWdoZXN0IGJpdCBvZiBldmVyeSBieXRlLgoKMjAwOC0wNi0yNCAxMDoxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRSBpbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UKCSAgaW5zdHJ1Y3Rpb24uCgoyMDA4LTA2LTI0IDEwOjEyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCjIwMDgtMDYtMjQgMDk6NDA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbTogTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCk6CgkgIEZpeCBDIGFuZCBNTVggaW1wbGVtZW50YXRpb25zIGEgYml0IG1vcmUuCgoyMDA4LTA2LTI0IDA5OjEwOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgTU1YRVhUIGltcGxlbWVudGF0aW9uLgoJICBIYW5kbGUgb2RkIHdpZHRocyBhbmQgZG9uJ3QgcmVhZCBvdmVyIGFycmF5IGJvdW5kYXJpZXMgaW4gdGhlIE1NWEVYVAoJICBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIEZpeCBhIHNtYWxsIHJvdW5kaW5nIGJ1ZyBpbiB0aGUgTU1YIGltcGxlbWVudGF0aW9uLCB0aGUgTU1YCgkgIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWN0dWFsbHkgbmVlZCBNTVhFWFQgaW5zdHJ1Y3Rpb25zIHNvIGRvbid0IG1hcmsKCSAgaXQgYXMgc3VjaC4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgaW4gYm90aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA2LTIxIDA5OjA1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUgYXNzZW1ibHkgb3B0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfc3NlKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIGFzIFNTRSBhcyBpdCB1c2VzIFNTRSBpbnN0cnVjdGlvbnMKCSAgYWRkaXRpb25hbCB0byBNTVggaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yMCAxNDo0ODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28gYnV0IHVzZSB0aGUgTU0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vCgkgIGJ1dCB1c2UgdGhlIE1NWEVYVCBvcHRpbWl6ZWQgY29kZSB3aGVuZXZlciBwb3NzaWJsZS4KCjIwMDgtMDYtMjAgMTQ6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzIHdoZW4gZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycwoJICB3aGVuIGZpbmFsaXppbmcsIGFsbG9jYXRlIGJ1ZmZlcnMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFuZAoJICBwcm9wZXJseSByZXR1cm4gZmxvdyByZXR1cm5zIGZyb20gZ3N0X3BhZF9wdXNoKCkgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtLgoKMjAwOC0wNi0yMCAxMzo0NTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyLgoKMjAwOC0wNi0yMCAxMzoyNDoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA0LzU2XSBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZSBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsIGVuYWJsZWQgb25seQoJICBieSAtLWVuYWJsZS1leHBlcmltZW50YWwuCgoyMDA4LTA2LTE4IDA2OjMxOjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvNTZdIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xMSAxMToxMjo0OSArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMTE6MTI6MTQgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA5LTA1LTEzIDEwOjMwOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmx2OiBBY3R1YWxseSBhZGQgdGhlIGZsdiBwbHVnaW4gdG8gY29uZmlndXJlLmFjCgoyMDA5LTA1LTEzIDA5OjI0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGNoZWNrczogZml4IGZsYWNkZWMgdW5pdCB0ZXN0cyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFuZCB1bmRlciB2YWxncmluZAoJICBGbGFjZGVjIG91dHB1dHMgMTYtYml0IHNhbXBsZXMsIHNvIGxldCdzIGNoZWNrIGlmIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QKCSAgc2FtcGxlIGlzIHdoYXQgd2UgZXhwZWN0IHJhdGhlciB0aGFuIGp1c3QgdGhlIGZpcnN0IGJ5dGUsIHdoaWNoIG1heSBiZQoJICBkaWZmZXJlbnQgZnJvbSB3aGF0IHdlIGV4cGVjdCBkZXBlbmRpbmcgb24gdGhlIGhvc3QncyBlbmRpYW5uZXNzLiBGaXhlcwoJICB0aGUgZmxhY2RlYyB1bml0IHRlc3RzIG9uIFBQQy4gQWxzbyBmaXggYSBidW5jaCBvZiBsZWFrcyBpbiB0aGUgdW5pdAoJICB0ZXN0cyB0byBtYWtlIHZhbGdyaW5kIGhhcHB5LiBGaXhlcyAjNTgyNDIwLgoKMjAwOS0wNS0xMyAwOToxODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBidWZmZXIgbGVhawoJICBnc3RfYnVmZmVyX3JlcGxhY2UoKSB3aWxsIHRha2UgaXRzIG93biByZWYsIHNvIHdlIHN0aWxsIGhhdmUKCSAgdG8gdW5yZWYgdGhlIGJ1ZmZlciBpZiB3ZSBkb24ndCBuZWVkIGl0IGFueSBsb25nZXIuCgoyMDA5LTA1LTEyIDIxOjIwOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBwb2ludGVyIGFyaXRobWV0aWMKCSAgVGhpcyBmaXhlcyBhIHNlZWtpbmcgcmVncmVzc2lvbiwgYnVnICMxMzQ1MjIuCgoyMDA5LTA1LTEyIDE5OjIyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogYWRkIFNpbmNlIHRhZyB0byBndGstZG9jIGNodW5rCgoyMDA5LTA1LTEyIDIxOjM2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBNb3ZlZCAnZmx2JyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU3LzU3XSBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDQtMjkgMTg6NTI6MjAgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ni81N10gZmx2bXV4OiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDc4Ni4KCjIwMDktMDQtMjkgMTM6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTUvNTddIGZsdjogU2V0L3JlcXVpcmUgdGhlIGZyYW1lZC9wYXJzZWQgZmllbGRzIG9mIHRoZSBhdWRpby9tcGVnIGNhcHMgdG8gVFJVRQoKMjAwOS0wNC0yOSAxMzoxNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTQvNTddIGZsdjogQWx3YXlzIHdyaXRlIGF0IGxlYXN0IHRoZSBtaW5pbWFsIHRhZ3MgYW5kIHdyaXRlIHRoZSBQQVIgYXMgdGFncwoKMjAwOS0wNC0yOSAxMzowMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTMvNTddIGZsdjogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBzb21lIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTIvNTddIGZsdjogQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHRhZwoKMjAwOS0wNC0yOSAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MS81N10gZmx2OiBGaXggcGFyc2luZyBvZiB0YWdzIGFuZCBhZGQgbmV3IG1hcHBpbmdzCgkgIFdlIHNob3VsZG4ndCByZWdpc3RlciBhIG5ldyBHc3RUYWcgZm9yIGV2ZXJ5IHVua25vd24gdGFnCgkgIHdlIGZpbmQgYXMgdGhpcyBtaWdodCBsZWFkIHRvIGNvbmZsaWN0cyBhbmQgYWxzbyB0aG9zZQoJICB0YWdzIGFyZSBlc3NlbnRpYWxseSB1bmtub3duLgoJICBBZGQgbWFwcGluZ3MgZm9yIHNvbWUga25vd24gdGFncyBhbmQgYWxzbyBjb252ZXJ0IHN0cmluZwoJICBkYXRlcyB0byBHRGF0ZSwgYXMgZm91bmQgaW4gbWFueSBGTFYgZmlsZXMuCgoyMDA5LTA0LTIyIDE5OjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTAvNTddIGZsdjogQWRkIGRvY3VtZW50YXRpb24gdG8gZmx2bXV4IGFuZCBmbHZkZW11eAoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM3MzcuCgoyMDA5LTAxLTIyIDEzOjM5OjM0ICswMTAwICBKYW4gVXJiYW5za2kgPGoudXJiYW5za2lAc3R1ZGVudHMubWltdXcuZWR1LnBsPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDkvNTddIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gRml4ZXMgYnVnICM1Njc5NjUuCgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gVGhpcyBmaXhlcwoJICBzZWVraW5nIG9uIHNvbWUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzZWVrIHRhYmxlIHN0b3JlZAoJICBpbnNpZGUgYW4gRUNNQSBhcnJheSBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgYXJyYXkuCgoyMDA4LTEyLTAzIDExOjQzOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpOgoJICBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwOC0xMS0yNCAxMToxNzoxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMga2V5ZnJhbWUuIE1hcmsgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gTWFyawoJICB0aGUgZGlzY29udCBmbGFnIHdoZW4gd2UndmUgbW92ZWQgaW4gdGhlIGZpbGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOiBNUDMKCSAgc3RyZWFtcwoJICBhcmUgcGFyc2VkIGFscmVhZHksIG1ha2VzIGF1dG9wbHVnZ2VkIHBpcGVsaW5lcyBzaG9ydGVyLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ2LzU3XSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0yOCAxODo0NDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCjIwMDgtMTAtMjggMTg6NDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NC81N10gZ3N0L2Zsdi86IFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mCgkgIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBQdXNoIHRhZ3MgYWxyZWFkeSBpZiBvbmx5IG9uZSBwYWQgd2FzIGFkZGVkLCBubyBuZWVkIHRvIHdhaXQgZm9yCgkgIHRoZSBzZWNvbmQgb25lLgoJICBXaGVuIGdlbmVyYXRpbmcgb3VyIGluZGV4IHNldCBoYXNfdmlkZW8gYW5kIGhhc19hdWRpbyBpZiB3ZSBmaW5kCgkgIHZpZGVvIG9yIGF1ZGlvIGluIGNhc2UgdGhlIEZMViBoZWFkZXIgaGFzIGluY29ycmVjdCBkYXRhLgoKMjAwOC0xMC0yNyAwOTo0NTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQzLzU3XSBnc3QvZmx2LzogRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdCBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdAoJICBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCjIwMDgtMTAtMjcgMDk6NDE6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Mi81N10gZ3N0L2Zsdi9NYWtlZmlsZS5hbTogRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOgoJICBSZXdyaXRlIHRoZSBzY3JpcHQgdGFnIHBhcnNpbmcgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0byByZWFkCgkgIG1vcmUgZGF0YSB0aGFuIHdlIGhhdmUuIEFsc28gdXNlIEdTVF9SRUFEX1VJTlQyNF9CRSBkaXJlY3RseSBhbmQKCSAgZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoJICBUaGlzIHNob3VsZCBtYWtlIGFsbCBjcmFzaGVzIG9uIGZ1enplZCBGTFYgZmlsZXMgZGlzYXBwZWFyLgoKMjAwOC0xMC0yNyAwOTozNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQxLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZCBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgIFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZAoJICBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLgoKMjAwOC0xMC0yNyAwOTozNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQwLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgoyMDA4LTEwLTI3IDA5OjMzOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzkvNTddIGdzdC9mbHYvOiBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZCB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOgoJICBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoKMjAwOC0xMC0yNyAwOTozMjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM4LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0gZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbQoJICBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIEZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nIHRvIGxvb2sgYXQgdGhlIGZsYWdzIG9mIHRoZSBzZWVrIGV2ZW50CgkgIGluc3RlYWQgb2YgYXNzdW1pbmcgc29tZSByYW5kb20gZmxhZ3MsIGRvbid0IHNlbmQgc2VnbWVudC1zdGFydAoJICBtZXNzYWdlcyB3aGVuIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUgYW5kIHB1c2ggc2VlayBldmVudHMgdXBzdHJlYW0KCSAgaWYgd2UgY291bGRuJ3QgaGFuZGxlIHRoZW0uCgoyMDA4LTEwLTI3IDA5OjI3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoKMjAwOC0xMC0yNyAwOToyNToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM2LzU3XSBnc3QvZmx2LzogSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoJICBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpbGVzICh3aGljaCBhcmUgbW9yZSB0aGFuCgkgIG9mdGVuIGluY29ycmVjdCBhbmQgY2F1c2UgZmFpbGVkIHNlZWtzKS4KCSAgRm9yIHB1c2ggbW9kZSB3ZSBzdGlsbCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGFuZCBleHRlbmQgaXQKCSAgd2hpbGUgZG9pbmcgdGhlIHBsYXliYWNrLgoKMjAwOC0xMC0yNyAwOToyMDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCk6CgkgIEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwKCSAgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG9lcyB3aGF0IHdlIHdhbnQgYW5kIGlzIG11Y2gKCSAgbW9yZSBzaW1wbGUuCgoyMDA4LTEwLTI3IDA5OjE0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzQvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguKjogSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUKCSAgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdCB3aGVuIHN0YXJ0aW5nIGEgbmV3IHN0cmVhbSB0byBnZXQKCSAgYWxsIG9sZCBlbnRyaWVzIHJlbW92ZWQuCgoyMDA4LTEwLTI3IDA5OjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoKMjAwOC0xMC0yNyAwOToxMDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMyLzU3XSBnc3QvZmx2LzogQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzIGhhbmRsZWQuCgoyMDA4LTEwLTE2IDE1OjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzEvNTddIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28gaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKToKCSAgRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbwoJICBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNTU2NTY0LgoKMjAwOC0xMC0xMiAxNzowODoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMwLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNTU2MDAzLgoKMjAwOC0xMC0xMCAxNjozMzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI5LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0IGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldAoJICBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yayB3aXRoIChpLmUuIHRoZSBwYWQncyBjYXBzKS4KCSAgQWRkIG5vbi1rZXlmcmFtZSB2aWRlbyBmcmFtZXMgdG8gdGhlIGluZGV4IHRvbyBidXQgd2l0aG91dCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4KCSAgQWRkIGF1ZGlvIGZyYW1lcyB0byB0aGUgaW5kZXggb25seSBpZiB3ZSBoYXZlIG5vIHZpZGVvIHN0cmVhbS4KCjIwMDgtMTAtMTAgMTY6MTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbQoJICBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYXBzIGFyZSBzZXQuCgoyMDA4LTEwLTA5IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvNTddIGdzdC9mbHYvOiBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldCAobWF5YmUgYmV0dGVyKSBkdXJhdGlvbiBmcm9tCgkgIG1ldGFkYXRhIGxhdGVyIHdlJ2xsIHVzZSB0aGF0IGluc3RlYWQuCgoyMDA4LTEwLTA5IDE1OjQzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24gdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24KCSAgdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZWFkYWJsZS4KCjIwMDgtMTAtMDkgMTU6MjY6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIElmIHdlIGdldCBHU1RfRkxPV19OT1RfTElOS0VEIGluIHRoZSBwYXJzZSBsb29wIGJ1dCBhdCBsZWFzdAoJICBvbmUgb2YgdGhlIHBhZHMgaXMgbGlua2VkIGNvbnRpbnVlIHRoZSBsb29wLgoKMjAwOC0xMC0wOSAxMDowMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI0LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbCB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpOgoJICBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwKCSAgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjb2RlciBhbmQgaGFzIGRpZmZlcmVudCBjYXBzLgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gY29kZWMgaWQgMTQsIHdoaWNoIGlzIE1QMyB3aXRoIDhrSHogc2FtcGxpbmcKCSAgcmF0ZS4KCSAgRml4IGVuZGlhbm5lc3MgYW5kIHNpZ25lZG5lc3MgZm9yIHJhdyBhdWRpbyBjb2RlYyBpZHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhbGF3IGFuZCBtdWxhdyBhdWRpby4KCjIwMDgtMTAtMDkgMDk6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZCBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pOgoJICBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZAoJICBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzIGVtcHR5LgoJICBBZGQgc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdGhlIGhlYWRlciBhbmQgdGFnIHNpemUuCgkgIERvbid0IHByaW50IHN5bmNocm9uaXppbmcgbWVzc2FnZSBpZiBldmVyeXRoaW5nIGlzIGZpbmUuCgoyMDA4LTEwLTA5IDA5OjI2OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvNTddIGdzdC9mbHYvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcgb2Ygc3RyZWFtIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2Zsdl9tdXhfaW5pdCksCgkgIChnc3RfZmx2X211eF9maW5hbGl6ZSksIChnc3RfZmx2X211eF9yZXNldCksCgkgIChnc3RfZmx2X211eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9mbHZfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwgKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfZmx2X211eF93cml0ZV9oZWFkZXIpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCksIChnc3RfZmx2X211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZwoJICBvZiBzdHJlYW0gbWV0YWRhdGEuCgoyMDA4LTA2LTEzIDIyOjQ2OjQzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS81N10gZ3N0L2Zsdi86IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMKCSAgYW5kCgkgIEguMjY0L0FWQyBpbnNpZGUgRkxWLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3dhdWRpb2RlY19jaGFpbiksIChnc3RfZHNob3dhdWRpb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3dhdWRpb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3NldHVwX2dyYXBoKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3d2aWRlb2RlY19jaGFpbiksCgkgIChnc3RfZHNob3d2aWRlb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6IExvdCBvZiByYW5kb20gZml4ZXMKCSAgdG8gaW1wcm92ZSBzdGFiaWxpdHkgKHJlZiBjb3VudGluZywgc2FmZXR5IGNoZWNrcy4uLikKCjIwMDgtMDQtMjUgMDg6MDc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgoyMDA4LTA0LTExIDIzOjE5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE5LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCk6CgkgIEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMKCSAgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEgTlVMTCBzdHJpbmcgKCM1Mjc2MjIpLgoKMjAwNy0xMi0xMSAxMTo1NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nCgkgIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoKMjAwNy0xMi0wOSAxOTozNzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgRW1pdCB0YWcgd2l0aCB0aGUgY29kZWMgbmFtZSBzbyBpdCBnZXRzIHByb3Blcmx5IHJlcG9ydGVkIGluIHRvdGVtIGFuZAoJICBvdGhlciBhcHBsaWNhdGlvbnMuCgoyMDA3LTExLTI1IDEwOjQ1OjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE2LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlIHdpdGggZ25vbmxpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZQoJICB3aXRoIGdub25saW4uCgoyMDA3LTExLTEyIDE5OjIyOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE1LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlCgkgIGFjdHVhbGx5IGhhdmUgZGF0YSB0byByZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHRhZy4gVGhpcyBhdm9pZHMgdHJ5aW5nCgkgIHRvIGFsbG9jYXRlIG5lZ2F0aXZlIGJ1ZmZlcnMuCgoyMDA3LTEwLTIyIDE1OjQ1OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlciBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6IERvbid0CgkgIGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyCgkgIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSBlbWl0IHRoZW0gZm9yIDIgcGFkcyBzY2VuYXJpb3MKCSAgdGhvdWdoIHRvIHNwZWVkIHVwIG1lZGlhIGRpc2NvdmVyeS4KCjIwMDctMDktMjcgMTA6MDY6MjMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEzLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlCgkgIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCjIwMDctMDktMjYgMTY6MzA6NTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEyLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcKCSAgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGhvdXQKCSAgdGVzdGluZykKCjIwMDctMDktMjYgMTE6MTc6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDExLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZSBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZQoJICBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgRml4IHJhdyBhdWRpbyBjYXBzIGdlbmVyYXRpb24uCgoyMDA3LTA5LTEyIDA4OjM4OjIyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC81N10gZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA4LTI3IDE0OjU2OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoKMjAwNy0wOC0yNCAxNzowMzoxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCjIwMDctMDgtMjQgMTU6MzE6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IEltcGxlbWVudAoJICBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgoyMDA3LTA4LTIyIDE0OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi81N10gZ3N0L2Zsdi86IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaCBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2gKCSAgbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIEZsYXNoIHBsYXllcnMgY2FuIHN1cHBvcnQgaXQgYXMgd2VsbCB0aGlzIHdheS4KCjIwMDctMDgtMjIgMTQ6MDM6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA1LzU3XSBnc3QvZmx2LzogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZSBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvIHB1c2ggdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZQoJICBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvCgkgIHB1c2gKCSAgdGFncyBhbmQgZW1pdCBuby1tb3JlLXBhZHMuIEZpeCBzb21lIHByaW50ZiB0eXBpbmcgaW4gZGVidWdnaW5nLgoKMjAwNy0wOC0xNCAxNDo1NjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCk6CgkgIEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgoyMDA3LTA4LTE0IDE0OjIyOjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbCBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfYWRhcHRlcl9mbHVzaCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCk6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsCgkgIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IFBhcnNlCgkgIG1vcmUgbWV0YWRhdGEgdHlwZXMgYW5kIGtleWZyYW1lcyBpbmRleC4KCjIwMDctMDctMjUgMTM6Mjk6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAyLzU3XSBnc3QvZmx2LzogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdAoJICByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoKMjAwNy0wNy0xOSAxNTowNTozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvNTddIEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X3NlZWtfdG9fcHJldl9rZXlmcmFtZSksIChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfQkVVSTI0KSwgKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfZGVtdXhfcXVlcnlfdHlwZXMpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBJdCBkb2VzIG5vdCBkbyBzZWVraW5nIHlldCwgaXQgc3VwcG9ydHMgcHVsbCBhbmQgcHVzaCBtb2RlIHNvCgkgIFlFUwoJICB5b3UgY2FuIHVzZSBpdCB0byBwbGF5IHlvdXR1YmUgdmlkZW9zIGRpcmVjdGx5IGZyb20gYW4gSFRUUCB1cmkuCgkgIE5vdCBzbyBtdWNoIHRlc3RpbmcgZG9uZSB5ZXQgYnV0IGl0IHBhcnNlcyBtZXRhZGF0YSwgcmVwbHkgdG8KCSAgZHVyYXRpb24gcXVlcmllcywgZXRjLi4uCgoyMDA5LTA1LTEyIDEzOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogTGluayB0byAtbG0KCSAgRml4ZXMgYnVnICM1ODIyODEuCgoyMDA5LTA1LTEyIDExOjE2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogUmVtb3ZlIGludmFsaWQgdW5pdCB0ZXN0CgkgIFRoZSB0ZXN0IGNyZWF0ZXMgYnVmZmVycyB3aXRoIG5vbi1zaWxlbmNlLCBzZXRzIHRoZSBHQVAKCSAgZmxhZyBvbiBpdCBhbmQgZXhwZWN0cyByZ2FuYWx5c2lzIHRvIGlnbm9yZSB0aGUgY29udGVudCBhbmQgYXNzdW1lIHNpbGVuY2UuCgkgIFRoYXQncyBub3QgdGhlIHdheSBob3cgR0FQIGJ1ZmZlcnMgc2hvdWxkIGJlIHVzZWQsIGlmIHRoZSBHQVAgZmxhZyBpcyBzZXQKCSAgZWxlbWVudHMgKmNhbiogYXNzdW1lIHRoYXQgdGhleSBvbmx5IGNvbnRhaW4gc2lsZW5jZSBidXQgdGhleSdyZSBub3QgKnJlcXVpcmVkKgoJICB0byBhc3N1bWUgdGhhdC4gVGhlIEdBUCBmbGFnIG11c3Qgb25seSBiZSBzZXQgb24gc2lsZW5jZSBidWZmZXJzLgoJICBGaXhlcyBidWcgIzU4MjI1Mi4KCjIwMDktMDUtMTIgMDA6NDg6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4yIHByZS1yZWxlYXNlCgoyMDA5LTA1LTExIDIzOjEzOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBkaXN0IGlkMy01Nzc0NjgtdW5zeW5jZWQtdGFnLnRhZyB0ZXN0IGZpbGUKCjIwMDktMDUtMTEgMjE6MDI6MjcgKzAyMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXRpYWxpemUgdmFyaWFibGUgdG8gMAoJICBGaXhlcyAjNTgyMjE4LgoKMjAwOS0wNS0xMSAxODoyMToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSBzZWFyY2ggZm9yIHRoZSBpbmRleCBlbnRyeSBvbmNlCgoyMDA5LTA1LTExIDE4OjE4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgdGhlIGZpcnN0IGluZGV4IGVudHJ5IGlmIGl0J3MgYWZ0ZXIgdGhlIHNlZWsgcG9zaXRpb24KCjIwMDktMDUtMTEgMTg6MTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIHRoZSBmaXJzdCBlbnRyeSBmb3IgYSBnaXZlbiBzdHJlYW0gaWYgdGhlIGZpcnN0IGVudHJ5IGlzIGFmdGVyIHRoZSBzZWVrIHBvc2l0aW9uCgoyMDA5LTA1LTExIDE2OjUwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSBiaW5hcnkgc2VhcmNoIGZvciBmaW5kaW5nIHRoZSByZXF1ZXN0ZWQgaW5kZXggZW50cnkgd2hlbiBzZWVraW5nCgoyMDA5LTA1LTExIDE1OjM2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEltcHJvdmUvb3B0aW1pemUgc2Vla2luZwoJICBGaXJzdCBvZiBhbGwgYSBrZXlmcmFtZSBzZWVrIHNob3VsZCBiZSBkb25lIHRvIHRoZQoJICBrZXlmcmFtZSByaWdodCBiZWZvcmUgdGhlIHJlcXVlc3RlZCBwb3NpdGlvbiBhbmQgbm90CgkgIHRvIHRoZSBrZXlmcmFtZSB0aGF0IGlzIG5lYXJlc3QgdG8gdGhlIHJlcXVlc3RlZCBwb3NpdGlvbi4KCSAgVXNlIHBlciB0cmFjayBpbmRleCBhcnJheXMgYW5kIHVzZSBvdXIgbmV3IGJpbmFyeSBzZWFyY2ggZnVuY3Rpb24KCSAgZnJvbSBjb3JlIHRvIHNwZWVkIHVwIHRoZSBzZWFyY2guCgoyMDA5LTA1LTExIDE1OjM2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UKCjIwMDktMDUtMTEgMTA6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdka3BpeGJ1ZjogVXNlIHRoZSBsaWJzIGFuZCBjZmxhZ3Mgb2YgZ2RrIHBpeGJ1ZiBpbnN0ZWFkIG9mIGd0awoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCBpZiBnZGstcGl4YnVmIGlzIGZvdW5kIGJ1dCBndGsgaXNuJ3QKCjIwMDktMDUtMTEgMDk6NTg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBbHdheXMgZGVmaW5lIHRoZSBjb25kaXRpb25hbCBIQVZFX0dUSyB0byBmaXggY29uZmlndXJlIGluIHNvbWUgY2FzZXMKCjIwMDktMDUtMTAgMTY6NTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lbXAzZW5jOiBEb24ndCB3cml0ZSBhIFhpbmcgaGVhZGVyCgoyMDA5LTA1LTEwIDExOjE3OjIzICswMjAwICBNYXJjLUFuZHJlIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBSdW4gbGlidG9vbGl6ZSBiZWZvcmUgYWNsb2NhbAoJICBUaGlzIHVuYnJlYWtzIHRoZSBidWlsZCBpbiBzb21lIGNhc2VzLiBGaXhlcyBidWcgIzU4MjAyMQoKMjAwOS0wNS0wOSAxMDo1MDo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBwcmludGYgZm9ybWF0IHRvIGFncmVlIHdpdGggYXJndW1lbnQKCjIwMDktMDUtMDggMTk6NDI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogaW5jbHVkZSBzdGRsaWIuaCBmb3Igc3RydG9sKCkKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIHhtbCBzdHVmZiBpbiBjb3JlIGRpc2FibGVkLgoKMjAwOS0wNS0wOCAxNjo0MDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQWN0dWFsbHkgb3V0cHV0IHRoZSBwZW5kaW5nIGJ1ZmZlci4uIGFuZCBub3QgYSBibGFuayBvbmUuCgkgIEl0IHdhcyBwcmV2aW91c2x5IHNlbmRpbmcgdGhlIGJvZ3VzIGJ1ZmZlciB3aGljaCB3YXMgcmV0dXJuZWQgZnJvbQoJICB0aGUgYnVmZmVyYWxsb2MgKHJlcXVpcmVkIGZvciByZXZlcnNlIG5lZ290aWF0aW9uIGFwcGFyZW50bHkpIGluc3RlYWQKCSAgb2YgdGhlIHBlbmRpbmcgYnVmZmVyLgoKMjAwOS0wNS0wOCAxNDoyNDo0NyArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICBTd2l0Y2ggdHdvbGFtZSB0byBwcmltYXJ5IHJhbmsKCjIwMDktMDUtMDggMTI6MDA6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFsbG93IG5vbi1zdHJpbmcgZmllbGRzIGluIHRoZSBleHRyYS1oZWFkZXJzIHByb3BlcnR5CgoyMDA5LTA1LTA4IDExOjM1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIHJ0ajJrZGVwYXk6IGFkZCBiYXNpYyBKUEVHIDIwMDAgZGVwYXlsb2FkZXIKCjIwMDktMDUtMDggMTE6MzE6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IHNldCBtYXJrZXIgYml0IGNvcnJlY3RseQoKMjAwOS0wNS0wOCAxMToyOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogQWRkIHN1cHBvcnQgZm9yIGV4dHJhLWhlYWRlcnMgYXBwZW5kZWQgdG8gdGhlIEhUVFAgcmVxdWVzdAoJICBUaGlzIGFsbG93cyB0byBzZXQgdGhlIFJlZmVyZXIgaGVhZGVyIGFtb25nIG90aGVyIHRoaW5ncyBieQoJICBhZGRpbmcgYSAiZXh0cmEtaGVhZGVycyIgcHJvcGVydHkgdGhhdCB0YWtlcyBhIEdzdFN0cnVjdHVyZQoJICB3aXRoIGZpZWxkPXN0cmluZyBwYWlycy4KCSAgRml4ZXMgYnVnICM1ODE4MDYuCgoyMDA5LTA1LTA4IDEwOjM4OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuaDoKCSAgcnRwajJrcGF5OiBhZGQgYSBzaW1wbGUgSlBFRyAyMDAwIHBheWxvYWRlcgoKMjAwOS0wNS0wOCAxMDozMToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiB3ZSBvbmx5IG5lZWQgdG8gc3dhcCBiaXRzIG9uIExFCgoyMDA5LTA1LTA3IDE4OjEwOjA4ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIFJBTktTIGZvciB2YXJpb3VzIGVuY29kZXJzIGFuZCBtdXhlcnMKCjIwMDktMDUtMDcgMTc6NTk6NTIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBBZGQgcmFua3MgdG8gbXAzIGVuY29kZXJzCgoyMDA5LTA1LTA3IDE3OjU5OjUyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkgIEFkZCByYW5rcyB0byBtcDMgZW5jb2RlcnMKCjIwMDktMDUtMDcgMTc6MDk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkIHNvbWUgZGVidWdnaW5nCgoyMDA5LTA1LTA3IDE1OjU4OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHBhcnNlIHhpcGggaGVhZGVycyBsZW5ndGggY29ycmVjdGx5CgkgIFNlZSAjNTgwOTgwCgoyMDA5LTA1LTA3IDE2OjI1OjQxICswMjAwICBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZUBtcDMtdGVjaC5vcmc+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIHJnYW5hbHlzaXM6IEFkZCBhYmlsaXR5IHRvIHBvc3QgbGV2ZWwgbWVzc2FnZXMKCSAgRml4ZXMgYnVnICM1ODE1NjguCgoyMDA5LTA1LTA3IDEwOjEwOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZW1wM2VuYzogRml4dXAgdGhlIGJpdHJhdGUgb25seSBmb3IgQ0JSCgkgIEFkZGl0aW9uYWxseSBjbGFyaWZ5IHNvbWUgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoKMjAwOS0wNS0wNiAyMzo1Njo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiByZWZ1c2Ugc29tZSB1bnN1cHBvcnRlZCBqcGVnIGZvcm1hdHMKCjIwMDktMDUtMDYgMjE6NDc6MTcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lOiBmaXggZm9ybWF0IHN0cmluZyBpbiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMDUtMDYgMTg6MDY6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGZpeCBkZXNjcmlwdGlvbgoKMjAwOS0wNS0wNiAxNjowOToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiByZXdyaXRlIHF1YW50IHRhYmxlIGhhbmRsaW5nCgkgIFJld3JpdGUgdGhlIHF1YW50IHRhYmxlIHBhcnNpbmcgdG8gYWxzbyBoYW5kbGUgbXVsdGlwbGUgdGFibGVzIGluIG9uZSBKUEVHIEhEUQoJICBzZWdtZW50LgoJICBIYW5kbGUgbW9yZSBqcGVnIHR5cGVzIGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIHRhYmxlcyB1c2VkIHBlciBjb21wb25lbnQgYW5kCgkgIHB1dHRpbmcgdGhlIHVzZWQgb25lcyBpbiB0aGUgcXVhbnQgaGVhZGVycy4KCjIwMDktMDQtMTggMTc6MjM6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiBNYWtlIHRoZSB0ZXN0IGZhaWx1cmUgc2xpZ2h0bHkgbW9yZSBpbmZvcm1hdGl2ZQoKMjAwOS0wNC0yMCAxODozMzowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjOiBNYWtlIGJ1ZmZlcnMgY3JlYXRlZCBkdXJpbmcgc2VlayBhY3QgbGlrZSBub3JtYWwgYnVmZmVycy4KCSAgU3RvcmUgdGhlIG9mZnNldCBhbmQgY2FwcyB3aGVuIGFsbG9jYXRpbmcgYSBidWZmZXIgZHVyaW5nIHNlZWtpbmcsIGFuZCB0aGVuCgkgIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciB3aXRoIGJ1ZmZlcl9hbGxvYyBiZWZvcmUgd2UgcHVzaCBpdCBvdXQuIFRoaXMgZW5zdXJlcwoJICB0aGF0IGluIGFsbCByZXNwZWN0cyB0aGUgZmlyc3QgYnVmZmVyIGRlY29kZWQgZHVyaW5nIHNlZWtpbmcgYmVoYXZlcyBsaWtlCgkgIGFsbCBvdGhlciBidWZmZXJzLCBpbmNsdWRpbmcgYWxsb3dpbmcgZG93bnN0cmVhbSByZS1uZWdvdGlhdGlvbi4KCjIwMDktMDQtMTggMTg6MDA6NTQgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBkb24ndCB1c2UgcGFkX2FsbG9jIHdoZW4gZGVjb2Rpbmcgd2hpbGUgc2Vla2luZy4gRml4ZXMgIzU3OTQyMgoKMjAwOS0wNS0wNiAxMzoyMjo1MSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZWZhY3RvcmVkIGdzdF9qcGVnX2RlY19wYXJzZV9pbWFnZV9kYXRhCgkgIEZpeGVzICM1Nzk4MDgKCjIwMDktMDUtMDYgMTM6MTE6NTMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogc3VwcG9ydCBhZGRpdGlvbmFsIDB4ZmYgYmVmb3JlIGVuZCBtYXJrZXIuCgkgIEpQRUcgbWFya2VycyBtYXkgYmUgcHJlY2VkZWQgYnkgYWRkaXRpb25hbCAweGZmLiAganBlZ2RlYyBzaG91bGQKCSAgc2tpcCBvdmVyIHRoZXNlLCBldmVuIGJlZm9yZSB0aGUgZW5kIG1hcmtlci4KCSAgU2VlICM1Nzk4MDgKCjIwMDktMDUtMDYgMTI6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaGFuZGxlIGlucHV0IHdpdGggMSBxdWFudCB0YWJsZQoJICBBbHNvIGhhbmRsZSBpbnB1dCB3aXRoIGp1c3Qgb25lIHF1YW50IHRhYmxlLCBzaW1wbHkgZHVwbGljYXRlIHRoZSBxdWFudCB0YWJsZS4KCSAgSGFuZGxlIGludmFsaWQgU09GIGNvcnJlY3RseSBhbmQgc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgRml4ZXMgIzU3ODI1NwoKMjAwOS0wNC0yOSAxNTo1ODoxMCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJ5dGUgb3JkZXIgc3dhcHBpbmcgaW4gM0dQUCBjbGFzc2lmaWNhdGlvbiBlbnRpdHkgdGFnCgkgIEZpeGVzICM1ODA3NDYuCgoyMDA5LTA1LTA1IDE2OjM4OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogZml4IGNvbXBpbGF0aW9uIHdpdGggTEFNRSB2ZXJzaW9ucyA8IDMuOTgKCSAgbGFtZV9zZXRfVkJSX3F1YWxpdHkoKSwgd2hpY2ggdGFrZXMgYSBmbG9hdGluZyBwb2ludCB2YWx1ZSBmb3IgdGhlCgkgIHF1YWxpdHksIGhhcyBiZWVuIGFkZGVkIG9ubHkgaW4gdjMuOTguIFVzZSBsYW1lX3NldF9WQlJfcSgpLCB3aGljaAoJICB0YWtlcyBxdWFsaXR5IGFzIGFuIGludGVnZXIsIGZvciBvbGRlciBMQU1FIHZlcnNpb25zLgoJICBGaXhlcyAjNTgxMzQxLgoKMjAwOS0wNS0wNSAxNzowNzoxMyArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYXZvaWQgcmVhZGluZyBmcm9tIGluYXZsaWQgbWVtb3J5CgkgIFJlYWQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgaW5jb21taW5nIGJ1ZmZlciBiZWZvcmUgd2UgcHVzaCBpdCBpbiB0aGUgYWRhcHRlciBhbmQKCSAgZmx1c2ggaXQgb3V0IGFnYWluIGFzIHRoZSBidWZmZXIgbWlnaHQgYmUgdW5yZWZmZWQgdGhlbiBhbmQgd2UgcmVhZCBmcm9tIGludmFsaWQKCSAgbWVtb3J5LgoJICBGaXhlcyAjNTgxNDQ0LgoKMjAwOS0wNS0wNSAxNzowMzoyOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZG9uJ3QgbGVhayBkeW5hbWljIHBhZHMKCSAgRnJlZSB0aGUgZHluYW1pYyBwYWRzIGRhdGEgaW4gZmluYWxpemUuCgkgIEZpeGVzICM1ODE0MzIKCjIwMDktMDUtMDUgMTY6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIHJ0cGpwZWdwYXk6IGNvcnJlY3RseSBzZXQgdGhlIHR5cGUgaGVhZGVyCgkgIERvbid0IHJlcXVpcmUgd2lkdGgvaGVpZ2h0IG9uIHRoZSBjYXBzLiBVc2UgdGhlIFNPRiBoZWFkZXIgdG8gZmluZCB3aWR0aC9oZWlnaHQKCSAgYW5kIGZhbGwgYmFjayB0byB0aGUgY2FwcyBpZiB0aGVyZSBpcyBubyBTT0YuIEFsc28gdXNlIHRoZSBTT0YgaW5mbyB0byBmaW5kIHRoZQoJICBzdWJzYW1wbGluZyBhbmQgcXVhbnRpemF0aW9uIHRhYmxlcyB1c2VkLiBUaGlzIGFsbG93cyB1cyB0byBzZXQgdGhlIHJpZ2h0IHR5cGUKCSAgdmFsdWUgaW4gdGhlIEpQRUcgcnRwIGhlYWRlci4KCSAgRGVwcmVjYXRlIHRoZSBxdWFsaXR5IHByb3BlcnR5LCBpdCdzIHVudXNlZCBub3cgYW5kIGl0IHdhcyB1c2VkIHdyb25nbHkgYmVmb3JlLgoJICBBbHdheXMgc2VuZCBmdWxsIHF1YW50IHRhYmxlcyBmb3Igbm93IHVudGlsIHdlIGhhdmUgc29tZSBjb2RlIHRvIGRldGVjdCBkZWZhdWx0CgkgIG9uZXMuCgkgIEZpeGVzICM1ODA4ODAKCjIwMDktMDUtMDUgMTY6Mjg6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBydHBqcGVnZGVwYXk6IHVzZSB3aWR0aC9oZWlnaHQgZnJvbSBwYXlsb2FkCgkgIFVzZSB0aGUgd2lkdGggYW5kIHRoZSBoZWlnaHQgZnJvbSB0aGUgcGF5bG9hZCBoZWFkZXJzIGFuZCBzZXQgdGhlbSBvbiB0aGUKCSAgb3V0cHV0IGNhcHMgZm9yIGFkZGVkIGF3ZXNvbWVuZXNzLgoJICBGaXggcXVhbnQgcGFyc2luZywgd2UgbmVlZCB0byBjaGVjayB0aGUgdHlwZSBpbiB0aGUgbG93ZXIgNiBiaXRzLgoJICBBZGQgZmlyc3QgYml0cyBvZiBjYWNoaW5nIHF1YW50aXphdGlvbiB0YWJsZXMuCgoyMDA5LTA1LTA1IDE2OjI0OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzZXQgY29sb3JzcGFjZSBiZWZvcmUgX3NldF9kZWZhdWx0cygpCgkgIFRoZSBsaWJqcGVnIGFwaSBzYXlzIHRoYXQgd2UgbmVlZCB0byBzZXQgdGhlIGNvbG9yc3BhY2UgYmVmb3JlIHdlIGNhbGwKCSAgX3NldF9kZWZhdWx0cygpLiBJbmRlZWQsIGlmIHdlIGRvbid0IGRvIHRoYXQgd2UgZW5kIHVwIHdpdGggc29tZSB2ZXJ5IGZyZWFreQoJICBub24tc3RhbmRhcmQgcXVhbnQgdGFibGUgYW5kIGh1ZmZtYW4gdGFibGUgaW5kZXhlcy4KCjIwMDktMDUtMDUgMTM6MTk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCBidWlsZCBleGFtcGxlcyBpZiAtLWRpc2FibGUtZXhhbXBsZXMgd2FzIHBhc3NlZCB0byBjb25maWd1cmUKCjIwMDktMDUtMDUgMTI6MzM6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNsZWFuIHVwIG1lc3MgYXJvdW5kIGd0aysgY2hlY2tpbmcKCSAgQW5kIGRvbid0IGNoZWNrIGZvciBndGsrIHdoZW4gaXQncyBub3QgbmVlZGVkIChpZS4gaWYgZXhhbXBsZXMgYXJlIGRpc2FibGVkKQoKMjAwOS0wNS0wNSAxMjoyNzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBjb25maWd1cmU6IG1ha2UgZ2RrLXBpeGJ1ZiBwbHVnaW4gZGVwZW5kIG9ubHkgb24gZ2RrLXBpeGJ1Ziwgbm90IGd0aysKCjIwMDktMDUtMDQgMTg6NTU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBmaW5kX3N0cmVhbV9ieV8qIGZ1bmN0aW9ucwoJICBGaXggdmFyaW91cyB2ZXJzaW9uIG9mIGZpbmRfc3RyZWFtX2J5XyogYnkgbm90IHRyeWluZyB0byBjb252ZXJ0IGFuIGludCB0byBhCgkgIHBvaW50ZXIgYW5kIHZpY2UgdmVyc2EsIGZvciBwb3J0YWJpbGl0eSByZWFzb25zLgoJICBGaXhlcyAjNTgxMzMzCgoyMDA5LTA1LTA0IDE4OjMyOjA1ICswMjAwICBDaHJpcyBXaW50ZXIgPGVsd2ludHJvIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGR1bW15IG5hdCBwYWNrZXQgbG9naWMKCSAgRml4IGEgdHlwbyBpbiB0aGUgZHVtbXkgTkFUIHBhY2tldCBzZW5kaW5nIGNvZGUuCgkgIEZpeGVzICM1ODEzMjkKCjIwMDktMDQtMzAgMTA6MjQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhdm9pZCBlcnJvcnMgYWZ0ZXIgc2VydmVyIGVvZgoJICBTZXJ2ZXIgZW9mIChlLmcuIGNvbm5lY3Rpb24gY2xvc2VkKSBpcyBhbm5vdW5jZWQgYXMgY29ubmVjdGlvbiBjbG9zZWQsCgkgIHNvIGJldHRlciByZWNvcmQgc3RhdGUgYW5kIGFjdCBhY2NvcmRpbmdseSB0byBwcmV2ZW50IChyZWFkL3dyaXRlKQoJICBlcnJvcnMgZHVyaW5nIHN1YnNlcXVlbnQgdGVhcmRvd24vY2xlYW51cCBzZXF1ZW5jZXMuICAjRml4ZXMgNTgwODUxLihjKS4KCjIwMDktMDQtMzAgMTA6MTk6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHNldCBiYXNlX3RpbWUgb24gc3JjIGFmdGVyIGZsdXNoCgkgIHRpbWVzdGFtcHMgZm9sbG93aW5nIGZsdXNoL3NlZWsgc2hvdWxkIGJlIGNvbnNpc3RlbnQgYmV0d2VlbgoJICBVRFAgYW5kIFRDUCBpbnRlcmxlYXZlZCBjYXNlLiAgRml4ZXMgIzU4MDg1MS4oYikuCgoyMDA5LTA0LTMwIDEwOjE3OjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2FuaXR5IGNoZWNrcyBvbiByYW5nZSBpbmZvCgkgIEEgbWF4IHJhbmdlIHRoYXQgb3ZlcmZsb3dzIHNob3VsZCBub3QgYmUgdHJ1c3RlZCwKCSAgbm9yIHNob3VsZCBhIG1heCByYW5nZSB0aGF0IGVxdWFscyB0aGUgbWluIHJhbmdlLgoJICBGaXhlcyAjNTgwODUxLihhKS4KCjIwMDktMDUtMDQgMTY6MTY6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogdXNlIFNLSVAgZmxhZyB0byB1c2UgU0NBTEUgaGVhZGVycwoJICBXZSBjYW4gdXNlIHRoZSBTS0lQIHNlZWsgZmxhZyB0byBpbnN0cnVjdCB0aGUgc2VydmVyIHRvIHNlbmQgZGF0YSBmYXN0ZXIgdGhlbgoJICBub3JtYWwgYnV0IHdpdGggdGhlIHNhbWUgYmFuZHdpZHRoLgoJICBGaXhlcyAjNTM3NjA5CgoyMDA5LTA1LTA0IDE0OjE5OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogbWFrZSBzcGVleF9kZWNfY29udmVydCB3b3JrIHdpdGggc2FtZS1mb3JtYXQgdmFsdWVzIHdoZW4gbm8gZGF0YSBoYXMgYmVlbiBkZWNvZGVkLgoKMjAwOS0wNS0wNCAxMjo1MToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkgIGxhbWVtcDNlbmM6IEFkZCBhIG5vdGUgdG8gdGhlIGVuY29kaW5nLWVuZ2luZS1xdWFsaXR5IHByb3BlcnR5CgkgIHRoYXQgc2F5cywgdGhhdCB0aGlzIGRvZXMgbm90IGFmZmVjdCB0aGUgYml0cmF0ZSBhdCBhbGwuCgoyMDA5LTA1LTA0IDEyOjQ4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5jOgoJICBsYW1lOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkgIHR3b2xhbWU6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjQzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDE6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgYmluYXJ5IHNlYXJjaCBmb3IgaW5kZXgKCSAgVXNlIHRoZSBuZXcgYmluYXJ5IHNlYXJjaCBtZXRob2QgZm9yIGZpbmRpbmcgdGhlIHJpZ2h0IGluZGV4IGVudHJ5IGZhc3Rlci4KCjIwMDktMDUtMDQgMTE6MjY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGRyYXcgdGhlIGNvbXBsZXRlIFUgYW5kIFYgcGxhbmVzCgkgIFJvdW5kIHVwIHRoZSBzY2FsZWQgVSBhbmQgViB3aWR0aCBhbmQgaGVpZ2h0IHNvIHRoYXQgd2UgYWx3YXlzIGRyYXcgdGhlIGNvcnJlY3QKCSAgYW1vdW50IG9mIHBpeGVscyB0byBmaWxsIHRoZSBjb21wbGV0ZSBpbWFnZS4KCSAgRml4ZXMgIzU2OTYxMQoKMjAwOS0wNC0zMCAxMDoyMTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lbXAzZW5jLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuaDoKCSAgbGFtZW1wM2VuYzogUmVtb3ZlIGZhc3QtdmJyIHByb3BlcnR5IGFuZCByZW5hbWUgdmJyLXF1YWxpdHkgdG8gcXVhbGl0eQoKMjAwOS0wNC0zMCAxMDoxNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZS9sYW1lbXAzZW5jOiBGaXggbWVtb3J5IGxlYWsgb24gRkxVU0hfU1RPUAoKMjAwOS0wNC0zMCAxMDoxNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGxhbWU6IERlcHJlY2F0ZSB0aGUgbGFtZSBlbGVtZW50CgoyMDA5LTA0LTMwIDEwOjEwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSAgbGFtZTogVXBkYXRlIGV4YW1wbGUgcGlwZWxpbmVzIHdpdGggdGhlIG5ldyBwcm9wZXJ0aWVzCgoyMDA5LTA0LTI5IDE5OjAxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWVtcDNlbmMuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZW1wM2VuYy5oOgoJKiBleHQvbGFtZS9wbHVnaW4uYzoKCSAgbGFtZTogQWRkIGxhbWVtcDNlbmMgZWxlbWVudCB3aXRoIG11Y2ggc2ltcGxpZmllZCBpbnRlcmZhY2UKCSAgVGhpcyBkZXByZWNhdGVzIHRoZSBsYW1lIGVsZW1lbnQgYW5kIGZpeGVzIGJ1ZyAjNDk0NTI4LgoKMjAwOS0wNS0wMSAxOTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHNvbWUgbW9yZSBtaWNybyBvcHRpbWlzYXRpb25zCgoyMDA5LTA0LTMwIDE4OjQxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBtaWNybyBvcHRpbWl6ZSBxdGRlbXV4IGEgbGl0dGxlCgkgIFNwcmlua2xlIHNvbWUgR19MSUtFTFkgYXJvdW5kLgoJICBBdm9pZCB0cmF2ZXJzaW5nIGFuZCBkdW1waW5nIHRoZSB0cmVlIHdoZW4gZGVidWdnaW5nIGlzIG5vdCBhY3RpdmF0ZWQuCgoyMDA5LTA0LTMwIDE0OjIyOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZSBwaWN0dXJlcwoJICBBZGQgc3VwcG9ydCBmb3Igc3VidGl0bGUgcGljdHVyZXMuCgkgIEZpeGVzICM1NjgyNzguCgoyMDA5LTA0LTMwIDEwOjMyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgc2lnbmFsIHdhaXRlcnMKCSAgQWx3YXlzIHNpZ25hbCB0aGUgd2FpdGVycyBpbiB0aGUgYXN5bmMgY2FsbGJhY2tzLiBFc3BlY2lhbGx5IGZvciB0aGUgdm9sdW1lCgkgIGNhbGxiYWNrcyBzaW5jZSB0aGlzIG1pZ2h0IGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDktMDQtMjkgMTg6MDk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbGVhc2Ugc3RhdGUgbG9jayBiZWZvcmUgc3RvcHBpbmcgdGFzawoJICBXZSBuZWVkIHRvIHJlbGVhc2UgdGhlIHN0YXRlIGxvY2sgYmVmb3JlIHRyeWluZyB0byB3YWl0IGZvciB0aGUgdGFzayB0byBlbmQKCSAgYmVjYXVzZSB0aGUgdGFzayBtaWdodCBhbHNvIHRha2UgdGhlIGxvY2suCgkgIEZpeGVzICM1Nzc2NzEKCjIwMDktMDQtMjkgMTI6MTk6MjcgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGUgYXQgZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBhYy0zIGF1ZGlvCgkgIGZpeCBkZW11eGluZyBvZiBtNHYgc3RyZWFtcyB3aXRoIGFjLTMgYXVkaW8KCSAgRml4ZXMgIzU4MDU1NAoKMjAwOS0wNC0yOSAxMToxMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFVzZSB0aGUgdGFnIG1lcmdlIG1vZGUgdGhhdCB3YXMgc2V0IG9uIHRoZSBpbnRlcmZhY2UgZm9yIG1lcmdpbmcgdGFnIGV2ZW50cwoKMjAwOS0wNC0yNSAwOTo0MzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IGdldGFkZHJpbmZvIGVycm9yIHJlcG9ydGluZwoJICBnZXRhZGRyaW5mbyBlcnJvcnMgc2hvdWxkIGJlIHJlcG9ydGVkIHdpdGggZ2FpX3N0cmVycm9yIGluc3RlYWQgb2YgZXJybm8gYXMKCSAgc3BvdHRlZCBieSBNaWtlUy4KCjIwMDktMDQtMjcgMTA6MDg6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgZzcyNnBheTogZml4IGNvbXBpbGF0aW9uCgoyMDA5LTA0LTI3IDEwOjAyOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJICBnNzI2cGF5OiBhZGQgUkZDIGNvbXBsaWFudCBwYWNrZXRpemluZwoJICBTaHVmZmxlIHRoZSBpbnB1dCBiaXRzIGFjY29yZGluZyB0byBSRkMgMzU1MSBmb3IgRzcyNiBwYXlsb2Fkcy4KCSAgQWRkIG9wdGlvbiB0byBmb3JjZSB0aGUgcHJldmlvdXMgYmVoYXZpb3VyLgoJICBGaXhlcyAjNTY3MTQwCgoyMDA5LTA0LTI3IDA5OjU5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgZzcyNmRlcGF5OiBhZGQgZGVidWcgY2F0ZWdvcnkKCSAgQWRkIGEgZGVidWdnaW5nIGNhdGVnb3J5LCBhZGQgc29tZSBjb21tZW50cyBhbmQgcmVtb3ZlIF9wZWVrX3BhcmVudCgpLgoKMjAwOS0wNC0yNiAxNTo1OTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGlkM3YybXV4OiB3ZSBuZWVkIHRhZ2xpYiAxLjUgZm9yIElEM3YyOjpSZWxhdGl2ZVZvbHVtZUZyYW1lOjpzZXRJZGVudGlmaWNhdGlvbgoJICBCdW1wIHRhZ2xpYiByZXF1aXJlbWVudC4KCjIwMDktMDQtMjQgMDI6MTE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvaWQzLTU3NzQ2OC11bnN5bmNlZC10YWcudGFnOgoJICBpZDNkZW11eDogYWRkIHVuaXQgdGVzdCBmaWxlIGZvciB1bnN5bmNlZCBpZDMgdGFncwoKMjAwOS0wNC0yNCAwMTo1MTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcGFyc2UgdW5zeW5jaHJvbmlzZWQgdGFncyBwcm9wZXJseQoJICBXZSBkaWRuJ3QgaGFuZGxlIHVuc3luY2hyb25pemF0aW9uIGF0IGFsbCB1cCB0byBub3csIHdoaWNoIG1pZ2h0IGhhdmUKCSAgY2F1c2VkIGZyYW1lcyB0byBub3QgYmUgZXh0cmFjdGVkIC0gZXNwLiBmcmFtZXMgYWZ0ZXIgYW4gQVBJQyBwaWN0dXJlCgkgIGZyYW1lLiBGaXhlcyAjNTc3NDY4LgoKMjAwOS0wNC0yNCAwMTowMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcGFzcyB0aGUgcmlnaHQgc2l6ZSB2YWx1ZSBmb3Igc2l6ZSBvZiBhbGwgZnJhbWVzIHRvIHRoZSBwYXJzZXIKCSAgRnJhbWUgZGF0YSBzaXplIGlzIHRhZyBzaXplIGFkanVzdGVkIGZvciBzaXplIG9mIHRoZSB0YWcgaGVhZGVyIGFuZAoJICBmb290ZXIsIG5vdCB0YWcgc2l6ZSBpbmNsdWRpbmcgaGVhZGVyIGFuZCBmb290ZXIuCgoyMDA5LTA0LTIyIDE1OjI0OjU1ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzb21lIG1vcmUgcGFkIGxlYWtzCgkgIEZpeCBzb21lIHBhZCBsZWFrcy4KCSAgU2VlICM1NzczMTguCgoyMDA5LTA0LTIxIDIyOjEyOjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzOTQxZWEgdG8gNmFiMTFkMQoKMjAwOS0wNC0yMSAxNDowMjowMSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG92ZXJyaWRlIGNhcHMgYmFzZWQgb24gZGF0YSBmcm9tIEVTRFMgYXRvbXMgaW4gbXBlZzQuCgkgIElmIHRoZSBjb2RlYyBpcyBhY3R1YWxseSBzb21ldGhpbmcgZWxzZSAoZS5nLiBtanBlZykgY2hhbmdlIHRoZSBjYXBzIHRvCgkgIG1hdGNoIHdoZW4gcGFyc2luZyB0aGUgRVNEUyBhdG9tLgoJICBBbHNvLCBmb3IgQUFDLCBvdmVycmlkZSByYXRlIGFuZCBjaGFubmVscyB3aXRoIGNvcnJlY3QgdmFsdWVzIHJlYWQgZnJvbQoJICBFU0RTLCBzaW5jZSB0aGUgcmF0ZS9jaGFubmVscyB2YWx1ZXMgZWxzZXdoZXJlIGFyZSBvZnRlbiB3cm9uZy4KCjIwMDktMDQtMjAgMTk6MzI6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggd2FybmluZyBmb3Igc3RpbGwgaW1hZ2VzIGJ5IG5vdCB0cnlpbmcgdG8gZGl2aWRlIGJ5IDAKCSAgRG9uJ3QgcGFzcyBhIDAgZGl2aXNvciB0byBnc3RfdXRpbF91aW50NjRfc2NhbGUoKSwgb3IgaXQgd2lsbCBjb21wbGFpbgoJICBpbiB0aGUgc2luZ2xlIGltYWdlIGNhc2Ugd2hlcmUgZnBzPTAvMSAoYXJlIHdlIHN1cHBvc2VkIHRvIGRpZmZlcmVudGlhdGUKCSAgYmV0d2VlbiBubyBmcHM9c3RpbGwgaW1hZ2UgYW5kIGZwcz0wLzE9dmFyaWFibGUgcmF0ZSBoZXJlIGJ0dz8pCgoyMDA5LTA0LTIwIDE3OjI1OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRml4IGEgc2ltcGxlIHR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdAoJICBVc2UgI2lmZGVmIGluc3RlYWQgb2YgI2lmLCB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTA0LTIwIDE1OjQ4OjIxICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkgIGZpeCBmb3JtYXQgc3RyaW5nIGluIHBuZ2RlYwoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEZpeCBzaXplX3QgdnMgdW5zaWduZWQgaW50IGZvcm1hdCBpbiBlcnJvciBtZXNzYWdlLgoKMjAwOS0wNC0yMCAxNTo0NjowMyArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJICBvbmx5IHVzZSBzdHJ1Y3QgaXBfbXJlcW4gaWYgaXQgaXMgZGV0ZWN0ZWQKCSAgKiBjb25maWd1cmUuYWM6IE1ha2UgYW4gZXhwbGljaXQgY2hlY2sgZm9yIHN0cnVjdCBpcF9tcmVxbi4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IFVzZSBIQVZFX0lQX01SRVFOIGluc3RlYWQgb2YgdGhlIGFkLWhvYyBjaGVja3MuCgoyMDA5LTA0LTIwIDEzOjQ1OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IHB1c2ggbW9kZSBidWZmZXJpbmcgc2FuaXR5IGNoZWNrIHRvIGFjdHVhbGx5IGZpdCB0aGUgZGVzY3JpcHRpb24uCgoyMDA5LTA0LTE5IDE0OjAzOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJICB0d29sYW1lOiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUsIHZhbHVlIGFzc2lnbmVkIHdhcyBuZXZlciByZWFkLgoKMjAwOS0wNC0xOSAxNDowMjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgbGFtZTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCBpdCdzIGFzc2lnbmVkIGEgdmFsdWUgbmV2ZXIgcmVhZC4KCjIwMDktMDQtMTggMTk6MTE6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogQW5kIGxldCdzIG5vdCBmb3JnZXQgdG8gcmVtb3ZlIHRoZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA0LTE4IDE4OjUwOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCB0aGUgdmFyaWFibGVzIGFyZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0OTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICBydHBtcDR2cGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBUaGUgdmFsdWUgaXMgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDg6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIHQgaXMgYmVpbmcgb3ZlcndyaXR0ZW4gYWZ0ZXIsIGJlZm9yZSBpdCdzIHVzZWQuCgoyMDA5LTA0LTE4IDE4OjQ4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB0aGUgdmFsdWUgaXMgb25seSByZWFkIG9uY2UuCgoyMDA5LTA0LTE4IDE4OjQ3OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1ycGF5OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUsIHRoZSB2YWx1ZSBpcyBvbmx5IHJlYWQgb25jZS4KCjIwMDktMDQtMTggMTg6NDY6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgIGdvb20vZmlsdGVyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgb3ZlcndyaXR0ZW4ganVzdCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDU6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ1OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0MzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUsIGl0J3MgbmV2ZXIgYmVpbmcgcmVhZC4KCjIwMDktMDQtMTggMTg6NDI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuICdyZXMnIGlzbid0IHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQxOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLiAncmVzJyBpcyBuZXZlciByZWFkLgoKMjAwOS0wNC0xOCAxODo0MDo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIGRlYWQgdmFyaWFibGUuICdzdHJlYW0nIGlzIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjM5OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVib3g6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLgoJICBUaGVzZSB2YXJpYWJsZXMgYXJlIG5ldmVyIHJlYWQgYWZ0ZXIgdGhpcyBwb2ludC4KCjIwMDktMDQtMTggMTg6Mzg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICBnb29tOiBmZiBhbmQgaWZmIGFyZSBvbmx5IHVzZWQgaW4gYSAnI2lmZGVmIERSQVdfTU9USUYnIGJsb2NrLgoKMjAwOS0wNC0xOCAxODozNDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4KCSAgcmVzIGlzbid0IHJlYWQgYWZ0ZXIgdGhpcy4KCjIwMDktMDQtMTggMTg6MzI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLCBtb3ZlIHZhcmlhYmxlIHRvIHdoZXJlIGl0J3MgbmVlZGVkLgoJICBUaGUgaGVhZGVyX3JlYWRfZXJyb3IgbGFiZWwgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IKCjIwMDktMDQtMTggMTg6MjE6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIFRoZSB2YWx1ZSBvZiAnc3RyJyB3aWxsIG5ldmVyIGJlIHVzZWQgaW4gdGhlc2UgY2FzZXMuCgoyMDA5LTA0LTE4IDE4OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlLgoJICBpcmV0IHdhcyBuZXZlciByZWFkIG91dHNpZGUgb2YgdGhhdCBsb29wLCBhbmQgaXMgYWx3YXlzIGJlaW5nIGV4aXRlZCBpZgoJICBpcmV0IHdhcyAhPSBHU1RfRkxPV19PSyBhbnl3YXkuCgoyMDA5LTA0LTE4IDE4OjE3OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogTW92ZSAncmVzJyB0byB3aGVyZSBpdCdzIGFjdHVhbGx5IGJlaW5nIHVzZWQuCgkgIHJlcyB3YXMgbmV2ZXIgdXNlZCBvdXRzaWRlIG9mIHRoYXQgYmxvY2sgZXhjZXB0IGZvciBhIGRlYWQgYXNzaWdubWVudC4KCjIwMDktMDQtMTggMTg6MTY6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkgIGF1ZGlvZng6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIHJ6IGlzIG5ldmVyIHVzZWQgaW4gdGhlc2UgbWV0aG9kcy4KCjIwMDktMDQtMTggMTg6MTU6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hyaW5nYnVmZmVyOiBSdW4gZ3N0LWluZGVudC4KCjIwMDktMDQtMTggMTg6MTQ6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzLgoJICBUaG9zZSB2YXJpYWJsZXMgYXJlIG5vdCByZWFkIGFmdGVyIHRoYXQgcG9pbnQuCgoyMDA5LTA0LTE4IDE4OjExOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIFJlbW92ZSB0cml2aWFsIHVudXNlZCB2YXJpYWJsZXMgZGV0ZWN0ZWQgYnkgQ0xhbmcgc3RhdGljIGFuYWx5emVyLgoKMjAwOS0wNC0xOCAxNzo1MjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBSZW1vdmUgYmxhbmsge3NldHxnZXR9X3Byb3BlcnR5L2NoYW5nZV9zdGF0ZS9maW5hbGl6ZSBtZXRob2RzLgoKMjAwOS0wNC0xOCAxNzo0Mjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiBfY2xhc3NfaW5pdAoJICBEZXRlY3RlZCBieSBMTFZNJ3MgQ0xhbmcgc3RhdGljIGFuYWx5emVyCgoyMDA5LTA0LTE4IDEzOjU0OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjazogQ2hlY2sgd2hldGhlciB0aHJlYWRzIGFyZSBhbHJlYWR5IGluaXRpYWxpc2VkIGJlZm9yZSBnX3RocmVhZF9pbml0KCkKCjIwMDktMDQtMTggMTQ6MzI6NDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFyayBkaXNjb250IG9uIHRoZSBzdHJlYW1zIGFzIHdhcyBzYWlkIHRoZSBkZWJ1ZyBsaW5lCgkgIEFmdGVyIGEgc2VlayBtYXJrIGFsbCBzdHJlYW1zIHdpdGggZGlzY29udCBhcyBpdCB3YXMgc2FpZCBpbiB0aGUgZGVidWcgbGluZS4KCSAgRml4ZXMgdGhhdCBidWZmZXJzIGFmdGVyIGEgc2VlayBhcmUgZ2VuZXJhdGVkIHdpdGhvdXQgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA5LTA0LTE4IDA4OjQ1OjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcCBHU1RfUlRTUF9FRU9GIHRvIEVPUyBvbiBzZXJ2ZXIgcmVxdWVzdHMKCSAgUGVybWl0IHByb3Blcmx5IGhhbmRsZSB0aGUgRU9TIGNvbmRpdGlvbiB3aGVuIHNlcnZlciByZXBvcnQgaXQgaW4gYSByZXF1ZXN0LgoKMjAwOS0wNC0xOCAwODozOTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JhZGVwYXk6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mIHUuCgoyMDA5LTA0LTE2IDIyOjUwOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBzYW1wbGUgb2Zmc2V0IGNhbGN1bGF0aW9uIGFnYWluCgoyMDA5LTA0LTE1IDE5OjMyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICBzdW5hdWRpbzogZml4IGJyb2tlbiBpbmRlbnRhdGlvbiBvZiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMKCjIwMDktMDQtMTUgMTk6Mjg6NTMgKzAxMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MEB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgIHN1bmF1ZGlvOiByZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBnb3RvIGxhYmVscwoJICBGaXhlcyAjNTc5MDcwLgoKMjAwOS0wNC0xNSAxOToyNDo0OSArMDIwMCAgSmFtZXMgQW5kcmV3YXJ0aGEgPHRyczgwIGF0IHVjYy5ndS51d2EuZWR1LmF1PgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBydHBoMjYzcGF5OiBmaXggY29tcGlsYXRpb24gb24gYmlnLWVuZGlhbgoJICBTb21lIHNlbWljb2xvbnMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGJpZy1lbmRpYW4gc3RydWN0cyBpbiBnc3RydHBoMjYzcGF5LmguCgkgIEEgR1NUX0RFQlVHIGNhbGwgd2FzIG1pc3NpbmcgYSBmb3JtYXQgc3BlY2lmaWVyLgoJICBGaXhlcyAjNTc5MDY5CgoyMDA5LTA0LTE1IDIwOjEwOjA0ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgIHF0ZGVtdXg6IGltcGxlbWVudCAzR1BQIChUUyAyNi4yNDQgVjguMC4wKSBBc3NldCBtZXRhZGF0YSBoYW5kbGluZywgRml4ZXMgIzEzMjE5MwoJICBJbXBsZW1lbnRzIDNncHAgaXNvIG1ldGFkYXRhIHRhZ3Mgd2hpY2ggYXJlIGRpZmZlcmVudCBmcm9tIG1vdiB1ZHRhIGF0b21zLgoKMjAwOS0wNC0xNSAxNTo1MToyNCArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSAgZGVidWd1dGlsczogVXNlIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMuCgkgIFVzZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTIHRvIGF2b2lkIGdzdC1pbmRlbnQgbWVzc2luZyB1cCB0aGUKCSAgaW5kZW50YXRpb24gZHVlIHRvIGV4dGVybiAiQyIgeyB9LgoKMjAwOS0wNC0xNSAxNjowMzoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Zy52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVndXRpbHMvbmF2aWdhdGlvbnRlc3QudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHMuaDoKCSAgZGVidWc6IHJlbmFtZSBkZWJ1ZyB0byBkZWJ1Z3V0aWxzIHRvIGF2b2lkIGNsYXNoIHdpdGggLS1kaXNhYmxlLWRlYnVnLiBGaXhlcyAjNTYyMTY4CgoyMDA5LTA0LTE1IDE1OjQzOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSAgZGVidWc6IGluZGVudCBiZWZvcmUgcmVuYW1pbmcKCjIwMDktMDQtMTUgMTQ6MDc6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBnNzI2ZGVwYXk6IGFkZCBwcm9wZXJ0eSBmb3IgYWFsMiBmb3JjZQoKMjAwOS0wNC0xNSAxMzo1NjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgIGc3MjZkZXBheTogaW1wbGVtZW50IFJGQzM1NTEgcGFja2luZwoJICBXZSBpbXBsZW1lbnRlZCB0aGUgQUFMMiBwYWNraW5nLCBhZGQgdGhlIGVuY29kaW5nLW5hbWUgZm9yIHRob3NlIHRvIHRoZSBjYXBzIGFuZAoJICBhIHByb3BlcnR5IHRvIGZvcmNlIEFBTDIgZGVjb2RpbmcgKGFsd2F5cyBUUlVFIGZvciBub3cpLgoJICBJbXBsZW1lbnQgUkZDMzU1MSB1bnBhY2tpbmcgZm9yIHJlZ3VsYXIgRzcyNi4KCSAgU2VlICM1NjcxNDAuCgoyMDA5LTA0LTE1IDAwOjIyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIHJ0cGgyNjNwYXk6IGZpeCBidWlsZAoKMjAwOS0wNC0xNCAxODo1Mjo0OCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpIGF0IGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiB2YXJpb3VzIGZpeGVzCgkgIFJlLWVuYWJsZSBtb2RlIEEgc3VwcG9ydCBhbmQgYSBwcm9wZXJ0eSB0byBjb250cm9sIGl0LgoJICBGaXggbWVtb3J5IGxlYWsgb2YgR3N0UnRwSDI2M1BheUJvdW5kcnkgb2JqZWN0cy4KCSAgRml4IG1hcmtlci4KCSAgRml4ZXMgIzUwOTMxMQoKMjAwOS0wNC0xNCAxODo0NDo1MSArMDIwMCAgSmFuaW4gS29sZW5jIDxqYW5pbi5rb2xlbmMgYXQgbWFyYW5kLnNpPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBoMjYzcGF5OiBGaXggdGhlIHBheWxvYWRlcgoJICBGaXggdGhlIEgyNjMgcGF5bG9hZGVyIHRvIGJlIG1vcmUgUkZDIDIxOTAgY29tcGxpYW50LgoJICBTZWUgIzUwOTMxMQoKMjAwOS0wNC0xNCAxNzoyNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvbid0IHB1c2ggRU9TIGluIHN0cmVhbWluZyBtb2RlCgkgIEluIHN0cmVhbWluZyBtb2RlLCBhdmlkZW11eCBpcyBub3Qgc3VwcG9zZWQgdG8gc2VuZCBhbiBFT1MgZXZlbnQgZG93bnN0cmVhbSBidXQKCSAgaXQgaXMgc3VwcG9zZWQgdG8gcmV0dXJuIFVORVhQRUNURUQgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24gaW5zdGVhZCBzbyB0aGF0CgkgIHVwc3RyZWFtIGNhbiBkbyB0aGUgcmlnaHQgRU9TIGhhbmRsaW5nLgoKMjAwOS0wNC0xMyAxNDowMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyBTcGVleCBhdWRpbwoJICBOb3RlOiBUaGlzIGlzIG5vdCBpbiB0aGUgTWF0cm9za2Egc3BlYyB5ZXQKCSAgRml4ZXMgYnVnICM1NzgzMTAuCgoyMDA5LTA0LTEwIDIxOjMxOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBOVUxMIHRpbWluZyBpbmZvCgkgIERvbid0IGNyYXNoIHdoZW4gdGhlIHRpbWluZyBpbmZvIGlzIG5vdCB5ZXQgYXZhaWxhYmxlLgoKMjAwOS0wNC0xMCAyMTo0MjoxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlOiBtYWtlIGl0IHdvcmsgb24gMC45LjEyCgkgIEZpcnN0IHdlIGlnbm9yZSByZXF1ZXN0IHRvIGZpbGwgdGhlIHJpbmdidWZmZXIgd2hpY2ggYXJlIGxlc3MgdGhlbiBhIHNlZ21lbnQuCgkgIFRoZSBzbWFsbCByZXF1ZXN0IHdoZXJlIGNhdXNpbmcgc3R1dHRlci4KCSAgVGhlbiB3ZSBkaXNhYmxlIGZsdXNoaW5nIHRoZSBzdHJlYW0gd2hlbiBydW5uaW5nIGFnYWluc3QgcGEgMC45LjEyIGFzIHRoaXMKCSAgdHJpZ2dlcnMgYW4gYXNzZXJ0aW9uZyBpbiB0aGUgc291bmQgc2VydmVyIGFuZCB0ZXJtaW5hdGVzIGl0LiBJdCBkb2VzIG5vdCBoYXBwZW4KCSAgd2l0aCAwLjkuMTAgYW5kIDAuOS4xNC4KCjIwMDktMDQtMTAgMTQ6MTg6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHNlcnZlciBkaXNjb25uZWN0IGluIGdldF90aW1lCgkgIFdoZW4gdGhlIHNlcnZlciBpcyBkaXNjb25uZWN0ZWQgb3Igd2hlbiB3ZSBhcmUgc2h1dCBkb3duLCBtYWtlIG91ciBjbG9jayByZXR1cm4KCSAgYW4gaW52YWxpZCB0aW1lIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoKMjAwOS0wNC0xMCAxMjowMToyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBicHMgaXMgc2lnbmVkIGludCB0byBhdm9pZCBvdmVyZmxvdwoJICBLZWVwIGJwcyBhcyBnaW50IGluc3RlYWQgb2YgZ3VpbnQgYmVjYXVzZSB3ZSB3aWxsIGJlIGRvaW5nIHNpZ25lZCBtYXRoIHdpdGggaXQKCSAgbGF0ZXIgb24gYW5kIHdlIGRvbid0IHdhbnQgd2VpcmQgcmVzdWx0cy4KCjIwMDktMDQtMTAgMDA6MjY6NDQgKzAyMDAgIExSTiA8bHJuMTk4NiBhdCBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgY29udmVydCBxdWVyeSwgZml4IGR1cmF0aW9uIHF1ZXJ5CgkgIEZpeCB0aGUgZHVyYXRpb24gcXVlcnkgc28gdGhhdCBpdCBhbHNvIHdvcmtzIHdpdGggZm9ybWF0cyBvdGhlciB0aGFuCgkgIFRJTUUsIHN1Y2ggYXMgREVGQVVMVCB0byBnZXQgdGhlIG51bWJlciBvZiBmcmFtZXMuCgkgIEFkZCBhIGNvbnZlcnQgZnVuY3Rpb24uCgkgIEZpeGVzICM1NzgwNTIuCgoyMDA5LTA0LTA5IDIzOjQzOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNoZWNrIGZvciBhIHN0cmVhbQoJICBEb24ndCB0cnkgdG8gY2hhbmdlIHRoZSBzdHJlYW0gdm9sdW1lIChhbmQgb3RoZXIgdGhpbmdzKSB3aGVuIHdlIGRvbid0IGhhdmUgYQoJICBzdHJlYW0geWV0LiBKdXN0IHN0b3JlIHRoZSB2YWx1ZXMgZm9yIGxhdGVyLgoKMjAwOS0wNC0wOSAxODowNzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY29tcGlsYXRpb24gZm9yIG5ld2VyIHB1bHNlYXVkaW8KCjIwMDktMDQtMDkgMTc6MTg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdW5jb3JrIGZpeGVzIGFuZCB1c2UgcHJlYnVmID0gMAoJICBXZSBjYW4gdXNlIHByZWJ1ZiA9IDAgdG8gaW5zdHJ1Y3QgcHVsc2UgdG8gbm90IHBhdXNlIHRoZSBzdHJlYW0gb24gdW5kZXJmbG93cy4KCSAgVGhpcyB3YXkgd2UgY2FuIHJlbW92ZSB0aGUgdW5kZXJmbG93IGNhbGxiYWNrLiBXZSBob3dldmVyIGhhdmUgdG8gbWFudWFsbHkKCSAgdW5jb3JrIHRoZSBzdHJlYW0gbm93IHdoZW4gd2UgaGF2ZSBubyBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIGJ1ZmZlciBvciB3aGVuIHdlCgkgIGFyZSB3cml0aW5nIHRvbyBmYXIgYXdheSBmcm9tIHRoZSBjdXJyZW50IHJlYWRfaW5kZXguCgoyMDA5LTA0LTA5IDE0OjM4OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSB3cml0ZSBlcnJvcnMKCjIwMDktMDQtMDkgMTQ6MTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogd3JpdGUgc2lsZW5jZSBvbiB1bmRlcmZsb3cKCSAgU3RhcnQgZmlsbGluZyB1cCB0aGUgYnVmZmVyIHdpdGggZW1wdHkgc2FtcGxlcyB3aGVuIGFuIHVuZGVyZmxvdyBoYXBwZW5zLiBXZQoJICBuZWVkIHRvIGRvIHRoaXMgdG8ga2VlcCBwdWxzZWF1ZGlvIHJlcG9ydGluZyB0aGUgcmlnaHQgdGltZSBmb3IgdXMuCgoyMDA5LTA0LTA5IDEzOjE0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBwdWxsLWJhc2VkIHNjaGVkdWxpbmcKCSAgVXNlIHRoZSBkZWZhdWx0IGJhc2VzaW5rIG1ldGhvZHMgZm9yIGltcGxlbWVudGluZyBwdWxsIGJhc2VkIHNjaGVkdWxpbmcsIGl0CgkgIHdvcmtzIGZpbmUgZm9yIHVzLgoKMjAwOS0wNC0wOSAxMjoxMzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGQgYmVnaW5uaW5ncyBvZiBwdWxsLWJhc2VkIHNjaGVkdWxpbmcKCjIwMDktMDQtMDggMTg6MTc6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazoga2VlcCB0cmFjayBvZiBjbG9jayByZXNldAoJICB3aGVuIHdlIHN3aXRjaCBzdHJlYW1zLCB0aGUgY2xvY2sgd2lsbCByZXNldCB0byAwLiBNYWtlIHN1cmUgdGhhdCB0aGUgcHJvdmlkZWQKCSAgY2xvY2sgZG9lc24ndCBnZXQgc3R1Y2sgd2hlbiB0aGlzIGhhcHBlbnMgYnkga2VlcGluZyBhbiBpbml0aWFsIG9mZnNldC4gV2UgYWxzbwoJICBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHN1YnRyYWN0IHRoaXMgb2Zmc2V0IGluIHNhbXBsZXMgd2hlbiB3cml0aW5nIHRvIHRoZQoJICByaW5nYnVmZmVyLgoKMjAwOS0wNC0wOCAxMzo1Mjo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJld3JpdGUgcHVsc2VzaW5rCgkgIERlcml2ZSBmcm9tIEJhc2VBdWRpb1NpbmsgYW5kIGltcGxlbWVudCBvdXIgY3VzdG9tIHJpbmdidWZmZXIgdGhhdCBtYXBzIHRvIHRoZQoJICBpbnRlcm5hbCBwdWxzZWF1ZGlvIHJpbmdidWZmZXIuCgoyMDA5LTA0LTA4IDEzOjUyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogcmVtb3ZlIHNvbWUgc3RyYXkgZGVidWcgbGluZXMKCjIwMDktMDQtMDkgMTE6MzA6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHVzZSBzbGlnaHRseSBtb3JlIGFkYXB0aXZlIGZvcm11bGEgZm9yIFFvUwoJICBTaG91bGQgd29yayBhdCBsZWFzdCBhIHRhZCBiZXR0ZXIgaWYgdGhlIGRlY29kZXIgY2FuJ3Qga2VlcCB1cCwgYW5kCgkgIHNob3VsZCBhbHNvIHNwcmVhZCBkcm9wcGVkIGZyYW1lcyBhIGJpdCBtb3JlIGV2ZW5seSBvdmVyIHRpbWUuCgoyMDA5LTA0LTA3IDIyOjM1OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvbid0IGxlYWsgcGFkLXRlbXBsYXRlCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcC4KCjIwMDktMDQtMDQgMjE6MTg6NTUgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMGVhODllIHRvIGIzOTQxZWEKCjIwMDktMDQtMDEgMDE6MTU6MzEgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgYWRkIHBlbmRpbmdfc2FtcGxlcyBzbyB0aGF0IHdlIG9ubHkgdXBkYXRlIHNlZ21lbnQncyBsYXN0IHN0b3AgYWZ0ZXIgcmVhbGx5IHNlbmRpbmcgdGhlIHNhbXBsZXMKCjIwMDktMDMtMTUgMjE6MzE6NDkgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBhZGQgZGVidWcgYW5kIGFuIGFzc2VydAoKMjAwOS0wMy0xNSAyMTozMDozMiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgYWRkIGRlYnVnZ2luZwoKMjAwOS0wMy0wMyAxMDoxNDowMiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9hdWRpb3Rlc3RzcmMuZmxhYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgYWRkIGEgdGVzdCB0byBjaGVjayB0aGF0IHdlIGdldCBhbGwgZGVjb2RlZCBieXRlcyBmcm9tIGEgMTAtYnVmZmVyIGF1ZGlvdGVzdHNyYyBmbGFjLCBpbiB0aGUgY2FzZSBvZjogIC0gYSBmdWxsIGRlY29kZSAgLSBhIGRlY29kZSBvZiBhIHNlZWsgZm9yIHRoZSBmdWxsIGZpbGUgIC0gYSBkZWNvZGUgb2YgYSBzZWVrIGZvciBhIHNtYWxsIHBhcnQsIHNtYWxsZXIgdGhhbiB0aGUgZmlyc3QgYnVmZmVyCgkgIFRoZSB0ZXN0IGZhaWxzIGJlY2F1c2UgZmxhY2RlYyBkcm9wcyB0aGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyIG9uIGEgc2VlawoKMjAwOS0wMy0wMyAxMDowNjo1MiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgY2xpcHBpbmcgc2hvdWxkIGFsc28gd29yayBpZiBpdCdzIGRvbmUgb24gdGhlIGZpcnN0IGJ1ZmZlciBzdGFydGluZyBhdCAwCgoyMDA5LTA0LTA0IDE0OjU0OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOGIzZDkxIHRvIGQwZWE4OWUKCjIwMDktMDQtMDMgMDk6NTc6MTUgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSAgRml4IGdyYW1tYXIuCgoyMDA5LTA0LTAyIDIyOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbGxvdyBodHRwOi8vIG9uIHRoZSBwcm94eSBzZXR0aW5nCgkgIEFsbG93IGFuZCBpZ25vcmUgaHR0cDovLyBhdCB0aGUgc3RhcnQgb2YgdGhlIHByb3h5IHNldHRpbmcsIGxpa2UKCSAgc291cGh0dHBzcmMuCgkgIEZpeGVzICM1NzMxNzMKCjIwMDktMDQtMDIgMjE6MDg6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdGhlIHVkcHNyYyBwYWQKCSAgRml4IG1lbW9yeSBsZWFrIGluIHJ0c3BzcmMgYmVjYXVzZSB3ZSBkaWRuJ3QgdW5yZWYgdGhlIHVkcHNyYyBwYWQuCgkgIFNlZSAjNTc3MzE4CgoyMDA5LTA0LTAxIDE3OjMxOjE4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogZml4IGxlbmd0aCBlbmNvZGluZyBpbiBwYWNrZWQgaGVhZGVycy4KCSAgQXMgZm9yIHZvcmJpcyBwYXlsb2FkZXI7IHRoaXMgYnkgaW5zcGVjdGlvbiBoYWQgdGhlIHNhbWUgYnVnLgoKMjAwOS0wNC0wMSAxNzoyMzozMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IGluIHBhY2tlZCBoZWFkZXJzLCBwcm9wZXJseSBmbGFnIG11bHRpYnl0ZSBsZW5ndGhzLgoJICBJbiB0aGUgc2VxdWVuY2Ugb2YgaGVhZGVyIGxlbmd0aHMsIGZvciBoZWFkZXJzID4xMjcgYnl0ZXMsIHdlIHVzZQoJICBtdWx0aXBsZSBieXRlcyB0byBlbmNvZGUgdGhlIGxlbmd0aC4gQnl0ZXMgb3RoZXIgdGhhbiB0aGUgbGFzdCBtdXN0IGhhdmUKCSAgdGhlIHRvcCAoZmxhZykgYml0IHNldC4KCjIwMDktMDQtMDIgMDA6MjA6MDIgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIFJWQTIgZnJhbWVzIGNvbnRhaW5pbmcgcGVhay9nYWluIHZvbHVtZSBkYXRhCgoyMDA5LTA0LTAyIDAwOjA1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBkZW1vdGUgc29tZSBsb2cgbWVzc2FnZSBmcm9tIERFQlVHIHRvIExPRwoJICBBbmQgbG9nIGRlY29kZXIgb2JqZWN0LgoKMjAwOS0wNC0wMSAyMToxNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogaW1wbGVtZW50IGJhc2ljIFFvUwoJICBEb24ndCBkZWNvZGUgZnJhbWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIHRvbyBsYXRlIGFueXdheS4KCjIwMDktMDQtMDEgMTI6MjY6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBlbWl0IHVnbHkgd2FybmluZ3Mgd2l0aCBvbGRlciBydHBqaXR0ZXJidWZmZXIgdmVyc2lvbnMKCSAgVGhlIG9uLW5wdC1zdG9wIHNpZ25hbHMgd2FzIGFkZGVkIG9ubHkgcmVjZW50bHkgdG8gcnRwaml0dGVyYnVmZmVyIGluCgkgIC1iYWQsIHNvIGNoZWNrIGlmIHRoZSBzaWduYWwgZXhpc3RzIGJlZm9yZSBnX3NpZ25hbF9jb25uZWN0KClpbmcgdG8KCSAgaXQsIHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwOS0wMy0zMSAxOTowODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcHJveHkgc3VwcG9ydAoKMjAwOS0wMy0zMSAxNzoxNjowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgbGVhayBzZXJpYWxpemVkIHZhbHVlcyB3aGVuIHdyaXRpbmcgdGFncwoKMjAwOS0wMy0zMSAxNzowNjo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBhbHRlciBwYXNzZWQgZGF0YSBhbmQgZXNwZWNpYWx5IGRvbid0IGxlYWsuCgkgIElmIHdlIG5lZWQgZGlmZmVyZW50IHNpemUsIE1ha2UgYSBjb3B5LCB3b3JrIHdpdGggdGhhdCBhbmQgZnJlZSBpdC4KCjIwMDktMDMtMzEgMTY6NDI6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IHRoZSBzdHJ1Y3R1cmUgaXMgbm90IGZ1bGx5IGluaXRpYWxpemVkLCBidXQgdGhlIGNvcGllZC4KCSAgU2V0IHRvIGZ1bGx5IHRvIDAgdG8gYXZvaWQgY3JlZXAgb2YgdW5pbml0aWFsaXplZCB2YWx1ZXMuCgoyMDA5LTAzLTMxIDE2OjI1OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBpbml0IGVuZGlhbmVzcyBhcyBzdWNoIGFuZCBzaWduZWRuZXNzIGFzIGJvb2xlYW4uCgoyMDA5LTAzLTMxIDE2OjIyOjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBpbmluaXRpYWxpemVkIHZhciBpbiBkZWJ1ZyBsb2cgc3RhdGVtZW50CgkgIEFsc28gbWFrZSB0aGUgbG9nIHN0YXRlbWVudCB1c2VmdWwgYnkgcHJpbnRpbmcgdGhlIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCBuYW1lLgoKMjAwOS0wMy0zMSAxMjowMToyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGF0b20gZGF0YSBpbiBjYXNlIG9mIGEgd3JvbmcgZm91cmNjCgoyMDA5LTAzLTMxIDExOjU3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGxlYWsgcmVhZCBkYXRhIGluIGRlbXV4ZXIKCjIwMDktMDMtMzEgMTE6NTA6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IGRvbid0IHVzZSBwcm90b2NvbCBpbiBkZWJ1ZyBtZXNzYWdlIGFmdGVyIGZyZWVpbmcKCjIwMDktMDMtMzAgMTQ6MTA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBvdXRwdXQgc2hvdWxkIGJlIGZyYW1lZCBhbHJlYWR5CgoyMDA5LTAzLTI3IDIxOjE3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhYzogcmVxdWlyZSBhICduZXdlcicgZmxhYyBhbmQgcmVtb3ZlIHN1cHBvcnQgZm9yIHRoZSBsZWdhY3kgZmxhYyBBUEkKCjIwMDktMDMtMjcgMTc6NDg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGxpbmsgdG8gdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBFT1MKCSAgQ29ubmVjdCB0byB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gc2NoZWR1bGUgdGhlIEVPUwoJICBhY3Rpb25zLgoKMjAwOS0wMy0yNiAxNDozOTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvbWUgc3RyZWFtIHN5bmNocm9uaXphdGlvbiB0byBhaWQgc2Vla2luZyBpbiB1bmJhbGFuY2VkIGNsaXBzCgkgIFNvbWUgY2xpcHMgKHRyYWlsZXJzKSBtYXkgaGF2ZSAobGVuZ3RoLXdpc2UpIHVuYmFsYW5jZWQgc3RyZWFtcywKCSAgd2hpY2ggc3RhbGxzIHRoZSBwaXBlbGluZSBpZiBzZWVraW5nIGludG8gdGhhdCByZWdpb24uCgkgIEFkZGl0aW9uYWwgc3RyZWFtIHN5bmNocm9uaXphdGlvbiBjYW4gaGFuZGxlIHRoaXMsIGFzIHdlbGwgYXMKCSAgc3BhcnNlIChzdWJ0aXRsZSkgc3RyZWFtcyAoYXQgc29tZSBsYXRlciB0aW1lID8pCgoyMDA5LTAzLTI2IDEwOjMxOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkaXRpb25hbCBzYWZldHkgYW5kIHNhbml0eSBjaGVja3MgKHB1c2ggYmFzZWQgbW9kZSkKCjIwMDktMDMtMjYgMTA6MTg6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBpbmRlbnQgZml4ZXMKCjIwMDktMDMtMjQgMTY6MDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBnc3QtaW5kZW50IHNjcmV3dXAKCjIwMDktMDMtMjUgMTc6NTQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBydHNwc3JjOiBiZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBSVFNQIGV4dGVuc2lvbiBmb3IgUmVhbCBzdHJlYW1zIGlzIG1pc3NpbmcKCSAgVHJ5IHRvIHBvc3QgYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSB3aGVuIGl0IGxvb2tzIGxpa2Ugd2UncmUgZmFpbGluZwoJICBiZWNhdXNlIHRoZSBSZWFsIFJUU1AgZXh0ZW5zaW9uIHBsdWdpbiBpcyBtaXNzaW5nLiBBbHNvIGFkZCBpMThuCgkgIGJpdHMgZm9yIHJ0c3BzcmMgc28gb3VyIGVycm9yIG1lc3NhZ2VzIGdldCB0cmFuc2xhdGVkLgoKMjAwOS0wMy0yNSAxNTo0MjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgaTE4bjogbWFrZSBzdXJlIGdldHRleHQgZ2l2ZXMgdXMgVVRGLTggYXQgYWxsIHRpbWVzCgoyMDA5LTAzLTI1IDAxOjI4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5LHJ0cG1wNGRlcGF5OiBmaXggYnVmZmVyIGxlYWtzIGluIEFBQyBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyCgoyMDA5LTAzLTI1IDAxOjIyOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiB3YXJuIGlmIGlucHV0IGlzIHVuZnJhbWVkCgoyMDA5LTAzLTIyIDIxOjIwOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBwdXQgR3N0U2VnbWVudCBpbnNpZGUgdGhlIGVsZW1lbnQgc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBpdCBzZXBhcmF0ZWx5CgoyMDA5LTAzLTI1IDEwOjA4OjQxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbW92ZSBkdXBsaWNhdGVkIHRpbWVzdGFtcGluZyBhbmQgYnVmZmVyIG1ldGFkYXRhIGNvZGUgdG8gX2NyZWF0ZSgpCgkgIFRoaXMgd2lsbCBpbmNsdWRlIHRoZSBsYXRlbmN5IGNoYW5nZXMgYWxzbyBpbiB0aGUgbW1hcCBjYXNlLgoKMjAwOS0wMy0yNSAxMDowNjo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IHJlbW92ZSB3aW4zMiBpZmRlZnMgaW50cm9kdWNlZCBieSBjb21taXQgY2ZmM2Y0Njc2MGVhYzc0YzliYmQ3YTM2YWNhNDRmZWRmMzI3NDI0YgoJICBWNGwyc3JjIGlzIHVuZGVyIHN5cyBhbmQgZG9lcyBub3QgZXhpc3RzL3J1biB1bmRlciB3aW5kb3dzIGFueXdheS4KCjIwMDktMDMtMjQgMTU6NDQ6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgRkxVU0hfU1RPUCBldmVudAoJICBDbGVhbiB1cCBzb21lIHN0YXRlIChtb3N0IG5vdGFibHkgcGFkIGZsb3cgcmV0dXJucykgdG8gcmVzdW1lCgkgIHByb3BlciBzdHJlYW1pbmcgZm9sbG93aW5nIGZsdXNoaW5nIHNlZWsuCgoyMDA5LTAzLTI0IDEyOjQyOjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcG9zdCBhbiBlcnJvciBpZiBFT1MgY2FuJ3QgYmUgcHVzaGVkIGRvd25zdHJlYW0uCgkgIFRoaXMgYWxpZ25zIGF2aWRlbXV4IHdpdGggb3RoZXIgZGVtdXhlcnMgYW5kIGZpeGVzIGEgYnVnIHVzaW5nIGF2aWRlbXV4CgkgIHdpdGggYSByZWNlbnQgZ25vbmxpbi4KCjIwMDktMDMtMjMgMTE6MjI6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2xlYW4gdXAgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICBNYWtlIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYSBiaXQgbW9yZSByZWFkYWJsZSBhbmQgb25seSBwYXVzZSBhZnRlciB0aGUKCSAgcGFyZW50IGhhZCBhIGNoYW5nZSB0byBwYXVzZSBmaXJzdC4KCjIwMDktMDMtMDkgMjM6NDM6NTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbTogbm8gc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMKCjIwMDktMDMtMjAgMTc6MjI6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNlZWtpbmcgaW4gcHVzaCBiYXNlZCBtb2RlCgoyMDA5LTAzLTIwIDE3OjExOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxpZ24gcHVzaCBiYXNlZCBiZWhhdmlvdXIgbW9yZSB3aXRoIHB1bGwgYmFzZWQKCSAgQ2F0ZXIgZm9yIERFTFRBX1VOSVQgZmxhZyBvbiBidWZmZXJzLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQKCSAgcG9zaXRpb24sIHJlbW92ZSBhbmQgd2FybiBhYm91dCBlZGl0IGxpc3RzIGlmIGFueSAoYXMgdGhvc2UKCSAgYXMgYXJlIGRlIGZhY3RvIGRpc2NhcmRlZCBhbnl3YXkpLCBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIGFuZCBpbmRlbnQgZml4ZXMuCgoyMDA5LTAzLTIwIDE3OjAzOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG1lbSBsZWFrcyBhbmQgcHJldmVudCBleGNlc3NpdmUgYnVmZmVyaW5nIGluIHB1c2ggYmFzZWQgbW9kZQoKMjAwOS0wMy0yMCAxMzoyNzo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogVHJhY2sgdGhlIGNvcmtlZC91bmNvcmtlZCBzdGF0ZSBvdXJzZWx2ZXMKCSAgVXNlIGFuIGluc3RhbmNlIHZhcmlhYmxlIHRvIHRyYWNrIHdoZXRoZXIgdGhlIHN0cmVhbSBpcyBjb3JrZWQgb3Igbm90LAoJICBpbnN0ZWFkIG9mIHVzaW5nIFBBIEFQSSB0aGF0IHdhcyBvbmx5IGludHJvZHVjZWQgaW4gMC45LjExCgoyMDA5LTAzLTE5IDE4OjM5OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBNYWtlIHN1cmUgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZCBpbiB0aGUgd3JpdGUgZnVuY3Rpb24KCSAgSWYgdGhlIGNhcHMgY2hhbmdlcywgdGhlIHNpbmsgaXMgcmVzZXQgd2l0aG91dCB0cmFuc2l0aW9uaW5nIHRocm91Z2gKCSAgYSBQQVVTRUQtPlBMQVlJTkcgc3RhdGUgY2hhbmdlLCByZXN1bHRpbmcgaW4gYSBjb3JrZWQgc3RyZWFtLiBUaGlzIGF2b2lkcwoJICB0aGUgcHJvYmxlbSBieSBjaGVja2luZyB0aGF0IHRoZSBzdHJlYW0gaXMgdW5jb3JrZWQgd2hlbiB3cml0aW5nIHNhbXBsZXMKCSAgdG8gaXQuCgoyMDA5LTAzLTIwIDAxOjAyOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogZml4IGRpcmVjdGlvbiBvZiBsYXRlbmN5IHF1ZXJ5IGFuZCBvdGhlciB1cHN0cmVhbSBxdWVyaWVzCgkgIERvbid0IHNlbmQgcXVlcmllcyBiYWNrIHRvIHRoZSBlbGVtZW50IHRoZXkganVzdCBjYW1lIGZyb20gYnkgc2VuZGluZwoJICB0aGVtIHRvIHRoZSBwZWVyIG9mIHRoZSB3cm9uZyBwYWQuCgoyMDA5LTAzLTE5IDExOjEwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlCgoyMDA5LTAzLTE4IDE2OjU1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cG1wNGFkZXBheTogZG9uJ3QgYXBwZW5kIGFuIGV4dHJhIDAgYnl0ZSB0byB0aGUgY29kZWMgZGF0YQoJICBUaGUgYXVkaW9NdXhWZXJzaW9uIHN0cnVjdHVyZSBpcyBwYWNrZWQgaW4gc3VjaCBhIHdheSB0aGF0IHRoZSBjb2RlYwoJICBkYXRhIGRvZXMgbm90IHN0YXJ0IGJ5dGUtYWxpZ25lZCwgd2hpY2ggbWVhbnMgdGhlcmUncyBhbiBleHRyYSBiaXQgb2YKCSAgcGFkZGluZyBhdCB0aGUgZW5kLiBXZSBkb24ndCB3YW50IHRoYXQgYml0IGluIHRoZSBjb2RlYyBkYXRhLCBzaW5jZQoJICBzb21lIGRlY29kZXJzIHNlZW0gZ2V0IGNvbmZ1c2VkIHdoZW4gdGhleSdyZSBmZWQgd2l0aCBhbiBleHRyYSBjb2RlYwoJICBkYXRhIGJ5dGUgKGFsc28gaXQncyBqdXN0IG5vdCByaWdodCBvZiBjb3Vyc2UpLgoKMjAwOS0wMy0xOSAxMzoyNTo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IGJhc2U2NCBkZWNvZGluZwoJICBXZSBjYW4ndCBwYXNzIC0xIHRvIF9kZWNvZGVfc3RlcCwgdGhhdCBmdW5jdGlvbnMgcmV0dXJucyAwIHJpZ2h0IGF3YXkgaW5zdGVhZCBvZgoJICBkZWNvZGluZyB1cCB0byB0aGUgc3RyaW5nIGVuZC4KCjIwMDktMDMtMTkgMTM6MjQ6MDIgKzAxMDAgIERhdmlkIEFkYW0gPHphbmNoZXkgYXQgdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRml4IGJ1aWxkIGlmIG9uIFNvbGFyaXMKCSAgVGhpcyBwYXRjaCBjaGVja3MgZm9yIFNvbGFyaXMgYW5kIHVzZXMgaXBfbXJlcSBpbnN0ZWFkIG9mIGlwX21yZXFuIGlmIG9uIHRoaXMKCSAgcGxhdGZvcm0uCgkgIEZpeGVzICM1NzU5MzcuCgoyMDA5LTAzLTE4IDE0OjUwOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cDogVXNlIEdMaWIgZnVuY3Rpb25zIGZvciBlbmNvZGluZy9kZWNvZGluZyBiYXNlNjQKCjIwMDktMDMtMTYgMTk6MTc6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzb21lIGRlYnVnIGZvciB0aGUgdGltZXN0YW1wcwoJICBXaGVuIHRpbWVzdGFtcGluZyBpbiBUQ1AgbW9kZSwgbG9nIHRoZSBmaXJzdCB0aW1lc3RhbXAgd2UgcHV0IG9uIHRoZSBidWZmZXJzLgoKMjAwOS0wMy0xNSAyMzoyNjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBsb2cgZGV0YWlscyBpZiB3ZSBoYXZlIHRoZW0sIG5lZWRlZCBmb3IgIzU3NTM5MQoKMjAwOS0wMy0xMyAxODozMjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogY29udmVydCBfIGluIHByb3BlcnRpZXMgdG8gLQoJICAtLQoKMjAwOS0wMy0xMyAxODoyODo1OSArMDEwMCAgRWRnYXIgRS4gSWdsZXNpYXMgPGVkZ2FyLmlnbGVzaWFzQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEFkZCBuZXR3b3JrIGludGVyZmFjZSBzZWxlY3Rpb24KCSAgQWRkIG5ldHdvcmsgaW50ZXJmYWNlIHNlbGVjdGlvbiB3aGVuIGpvaW5pbmcgbXVsdGljYXN0IGdyb3Vwcy4KCSAgVXNlZnVsIHdoZW4gdXNpbmcgdGhlIHVkcHNyYyBvbiBtdWx0aWhvbWVkIGhvc3RzLgoJICBGaXhlcyAjNTc1MjM0LgoJICBBUEk6IEdzdFVEUFNyYzo6bXVsdGljYXN0LWlmYWNlCgoyMDA5LTAzLTEzIDE1OjQzOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFByZXBlbmQgdG8gbGlzdHMgYW5kIHJldmVyc2UgdGhlbSBhdCB0aGUgZW5kLgoJICBHcmF0dWl0b3VzIG1pY3JvLW9wdGltaXNhdGlvbiAtIHByZXBlbmQgdG8gbGlzdHMgYW5kIHJldmVyc2UgdGhlbSwgcmF0aGVyCgkgIHRoYW4gYXBwZW5kaW5nIHRvIHRoZW0gZWFjaCB0aW1lLgoKMjAwOS0wMy0xMyAxNTo0MDo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFdhaXQgdW50aWwgdGhlcmUgaXMgZW5vdWdoIHJvb20gdG8gd3JpdGUgYW4gZW50aXJlIHNlZ21lbnQKCSAgV2hlbiB0cnlpbmcgdG8gd3JpdGUgb3V0IGEgc2VnbWVudCwgd2FpdCB1bnRpbCB0aGVyZSBpcyBlbm91Z2ggZnJlZSBzcGFjZQoJICBmb3IgdGhlIGVudGlyZSBzZWdtZW50LiBUaGlzIGhlbHBzIHRvIHJlZHVjZSByaXBwbGUgaW4gdGhlIGNsb2NrIHJlcG9ydGluZywKCSAgd2hlcmUgdGhlIGFwcCBtaWdodCBxdWVyeSB0aGUgcGxheWJhY2sgcG9zaXRpb24gd2hpbGUgb25seSBoYWxmIGEgc2VnbWVudAoJICBoYXMgYmVlbiB3cml0dGVuIChhbmQgaXMgdGhlcmVmb3JlIHJlcG9ydGVkIGJ5IF9kZWxheSgpLCBldmVuIHRob3VnaAoJICB0aGUgcmluZyBidWZmZXIgaGFzIG5vdCB5ZXQgYmVlbiBhZHZhbmNlZCkKCjIwMDktMDMtMTIgMjA6Mzg6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHNlbmQgUEFVU0Ugd2hlbiBub3QgY29ubmVjdGVkCgkgIGRvbid0IHNlbmQgYSBQQVVTRSByZXF1ZXN0IHdoZW4gd2UgYXJlIG5vIGxvbmdlciBjb25uZWN0ZWQuCgoyMDA5LTAzLTEyIDE2OjEwOjI1ICswMTAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRG9uJ3QgY2FsbCBGTEFDX18gbWV0aG9kcyBiZWZvcmUgaXQncyBpbml0aWFsaXplZC4gRml4ZXMgIzUxNjAzMQoJICBJbiB0aGUgZXZlbnQgaGFuZGxlciwgZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQoKSwgdHdvIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG9uCgkgIHRoZSBGTEFDIHN0cmVhbSB3aXRob3V0IGNoZWNraW5nIGlmIGl0IGhhcyBiZWVuIGluaXRpYWxpemVkOgoJICBGTEFDX19zdHJlYW1fZGVjb2Rlcl9mbHVzaCgpCgkgIEZMQUNfX3N0cmVhbV9kZWNvZGVyX3Byb2Nlc3NfdW50aWxfZW5kX29mX3N0cmVhbSgpCgkgIEJvdGggdGhlc2UgRkxBQ19fKigpIGZ1bmN0aW9ucyBtb2RpZnkgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBGTEFDIHN0cmVhbS4KCSAgTGF0ZXIsIHdoZW4gdGhlIGJ1ZmZlcnMgc3RhcnQgZmxvd2luZywgZ3N0X2ZsYWNfZGVjX2NoYWluKCkgdHJpZXMgdG8gaW5pdGlhbGl6ZQoJICB0aGUgc3RyZWFtLiB0aGUgRkxBQ19fc3RyZWFtX2RlY29kZXJfaW5pdF9zdHJlYW0oKSBjYWxsIHdpbGwgZmFpbCBiZWNhdXNlIHRoZQoJICBwcmV2aW91cyBjYWxscyB0byBGTEFDX18qKCkgY2hhbmdlZCB0aGUgc3RyZWFtIHN0YXRlIHNvIGl0IGlzIG5vIGxvbmdlciBpbiB0aGUKCSAgaW5pdGlhbGl6ZWQgc3RhdGUuCgoyMDA5LTAzLTExIDE3OjU5OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggdGltZW91dCBjaGVjawoJICAtLS0KCjIwMDktMDMtMTEgMTI6NDg6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiB1cGRhdGUgTUFOSUZFU1QsIGZpeGluZyAnbWFrZSBkaXN0JwoJICBjb25maWcuaC5pbiBubyBsb25nZXIgZXhpc3RzLgoKMjAwOS0wMy0xMCAyMToxNDo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgbWFrZWZpbGU6IGZpeCB0eXBvIGluIG5vLXN0YXRpYyBwbHVnaW5zIHJ1bGUKCjIwMDktMDMtMTAgMTE6MDE6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IHZhcmlvdXMgY2xlYW51cHMuCgkgIE1ha2Ugc29tZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIEZpeCBhIGxlYWsgd2hlbiBwdWxsIHJhbmdlIHJldHVybnMgYSBzaG90IGJ1ZmZlci4KCSAgUHVzaCBFT1MgYWZ0ZXIgcG9zdGluZyB0aGUgZXJyb3IuCgoyMDA5LTAzLTEwIDEwOjE2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICBnc3RydHB2b3JiaXNkZXBheTogRml4IGJ1aWxkIG9uIG1hY29zeAoKMjAwOS0wMy0wMSAxNzozNzo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBtNCBkaXJlY3RvcnkKCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMDktMDIgMDk6NTY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZCAnY2EnIHRvIExJTkdVQVMuCgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIG1vcmUgZmlsZXMgZm9yIHRyYW5zbGF0aW9uIGFuZCBtb3JlIGZpbGVzIHdoaWNoIHRvb2xzCgkgIHNob3VsZCBza2lwLgoKMjAwOC0wOC0wNyAxNDozNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBleHQvdHdvbGFtZS9nc3R0d29sYW1lLio6IEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoKMjAwOC0wOC0wMiAxNzozOToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChnc3RfdHdvX2xhbWVfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfdHdvX2xhbWVfcGFkZGluZ19nZXRfdHlwZSksIChnc3RfdHdvX2xhbWVfZW1waGFzaXNfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3JlbGVhc2VfbWVtb3J5KSwgKGdzdF90d29fbGFtZV9maW5hbGl6ZSksCgkgIChnc3RfdHdvX2xhbWVfYmFzZV9pbml0KSwgKGdzdF90d29fbGFtZV9jbGFzc19pbml0KSwKCSAgKGdzdF90d29fbGFtZV9zcmNfc2V0Y2FwcyksIChnc3RfdHdvX2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF90d29fbGFtZV9pbml0KSwgKGdzdF90d29fbGFtZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3R3b19sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfdHdvX2xhbWVfc2lua19ldmVudCksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pLCAoZ3N0X3R3b19sYW1lX3NldHVwKSwKCSAgKGdzdF90d29fbGFtZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3R3b19sYW1lX2dldF9kZWZhdWx0X3NldHRpbmdzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkgIEFkZCBUd29MQU1FIE1QMiBlbmNvZGluZyBlbGVtZW50LCBiYXNlZCBvbiB0aGUgTEFNRSBlbGVtZW50LgoKMjAwOS0wMy0wOSAyMzoxMjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MDMyMTYzIHRvIGY4YjNkOTEKCjIwMDktMDMtMDkgMTg6MDc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHZvcmJpc2RlcGF5OiBmaXggc29tZSBsZWFrcwoJICBBbmQgbGVhayB0aGUgY29kZWJvb2tzLgoJICBVc2UgZ2xpYiBiYXNlNjQgZGVjb2RlcnMuCgkgIFVzZSBzdWJidWZmZXJzIHRvIGF2b2lkIGEgbWVtY3B5IG9mIHRoZSBoZWFkZXJzLgoKMjAwOS0wMy0wOSAxNzoxNDoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBkb24ndCBsb3NlIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBzZWVrCgkgIFRoZSBmbGFjZGVjIEFQSSBjYWxscyB0aGUgd3JpdGUgY2FsbGJhY2sgd2hlbiBwZXJmb3JtaW5nIGEgc2Vlay4gV2UgY2Fubm90IHlldAoJICBwdXNoIG91dCBhIGJ1ZmZlciBhdCB0aGF0IHRpbWUgc28gd2UgbXVzdCBrZWVwIGl0IGFuZCBwdXNoIGl0IG91dCBsYXRlci4KCSAgRmx1c2ggb3V0IHRoZSB1cHN0cmVhbSBwYXJ0IG9mIHRoZSBwaXBlbGluZSB3aGVuIGRvaW5nIGEgc2Vlay4KCSAgRml4ZXMgIzU3NDI3NS4KCjIwMDktMDMtMDkgMTU6MjA6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNhbml0aXplIHRhZyBuYW1lcwoJICBTYW5pdGl6ZSB0aGUgdGFnIG5hbWVzIGJlZm9yZSB0dXJuaW5nIHRoZW0gaW50byBhIHN0cnVjdHVyZSBuYW1lLiBXZSBjYW4gb25seQoJICBhZGQgYWxwaGFudW1lcmljIHZhbHVlcyBhcyB0aGUgc3RydWN0dXJlIG5hbWUuCgoyMDA5LTAzLTA4IDEyOjA0OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmZhNzM4ZCB0byA3MDMyMTYzCgoyMDA5LTAzLTA4IDExOjE5OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2YxM2U0ZSB0byBmZmE3MzhkCgoyMDA5LTAzLTA3IDExOjQ1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2M3NDU2YiB0byAzZjEzZTRlCgoyMDA5LTAzLTA3IDEwOjQ1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODNmMiB0byAzYzc0NTZiCgoyMDA5LTAzLTA2IDIxOjU2OjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCBwYWRzLCBzbyB0aGF0IHRoZXkgYXJlIHN1YnNldCBvZiB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBhZGQgdz0wIHwgaD0wLiBXaGVuIHdlIGNhbid0IGdldCBhIGZyYW1lcmF0ZSBhZGQgZnJhY3Rpb24gcmFuZ2UuCgoyMDA5LTAzLTA1IDE0OjA4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZpeCByYW5nZSBwYXJzaW5nCgkgIEZpeCBwYXJzaW5nIG9mIHRoZSByYW5nZSBoZWFkZXJzLgoKMjAwOS0wMi0xMCAxNzoyMDo1NyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSAgTW92ZSBzaXJlbiBydHAgcGF5L2RlcGF5IGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQKCjIwMDktMDMtMDQgMTY6MjU6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBjbG9zZQoJICBDbG9zZSB0aGUgY29ubmVjdGlvbiBldmVuIHdoZW4gd2UgZmFpbCB0byBzZW5kIHRoZSB0ZWFyZG93biBtZXNzYWdlLgoJICBVc2UgdGhlIGNvbm5lY3Rpb24gdXJsICh3aGljaCBpcyBhIGNvcHkgb2YgdGhlIHNyYyB1cmwpLgoKMjAwOS0wMy0wNCAxNjoxNTowNSArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGdzdC1wbHVnaW5zLWdvb2Quc3VwcCBuZWVkcyB0byBiZSBkaXN0cmlidXRlZC4KCjIwMDktMDMtMDQgMTI6Mjk6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkby1ydGNwIHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIC0tLQoKMjAwOS0wMy0wMyAxMjoyMDoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBFeHBvc2UgdGhlIFNvdXBTZXNzaW9uICd0aW1lb3V0JyBwcm9wZXJ0eS4KCjIwMDktMDMtMDIgMTU6MDc6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgdGhlIG00LyBkaXJlY3RvcnkKCjIwMDktMDMtMDIgMTc6MTg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogQWRkIHN1cHBvcnQgZm9yIG1vcmUgZm9ybWF0cwoJICBIYWNrIGFyb3VuZCBzaG9ydCBoZWFkZXIgbXBlZzQgdmlkZW8gZmlsZXMgYW5kIHB1dCB0aGUgc2hvcnQgaGVhZGVyIGFzIHRoZQoJICBjb25maWcgc3RyaW5nLgoJICBGaXhlcyAjNTcyNTUxLgoKMjAwOS0wMy0wMiAxNjowODoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIGh0dHAgdHVubmVsaW5nCgkgIEFkZCBzdXBwb3J0IGZvciBodHRwIHR1bm5lbGluZyBhbmQgYSBuZXcgcnRzcGg6Ly8gdXJpIGZvciBpdC4KCSAgU2VlICM1NzMxNzMuCgoyMDA5LTAzLTAyIDA5OjQzOjMwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3Rob21hc3ZzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kCgoyMDA5LTAzLTAyIDA4OjQxOjE1ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBBZGQvY2xhcmlmeS9maXggc29tZSBsb2dnaW5nLgoKMjAwOS0wMy0wMSAxMjo0NzozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGhhcmRjb2RlZCBkZWZpbml0aW9uIG9mIE9CSkMKCjIwMDktMDMtMDEgMTk6NTU6MjYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFdhaXQgZm9yIGEgZnJhbWUgdG8gYmVjb21lIGF2YWlsYWJsZSBiZWZvcmUgY2FwdHVyaW5nIGl0CgkgIFVzZSBHc3RQb2xsIHRvIHdhaXQgZm9yIHRoZSBmZCBvZiB0aGUgdmlkZW8gZGV2aWNlIHRvIGJlY29tZSByZWFkYWJsZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIGNhcHR1cmUgYSBmcmFtZS4gVGhpcyBzcGVlZHMgdXAgc3RvcHBpbmcgdjRsMnNyYyBhIGxvdCBhcyBpdCBubwoJICBsb25nZXIgaGFzIHRvIHdhaXQgZm9yIHRoZSBuZXh0IGZyYW1lLCBlc3BlY2lhbGx5IHdoZW4gY2FwdHVyaW5nIHdpdGggbG93CgkgIGZyYW1lcmF0ZXMgb3Igd2hlbiB0aGUgdmlkZW8gZGV2aWNlIGp1c3QgbmV2ZXIgZ2VuZXJhdGVzIGEgZnJhbWUgKHdoaWNoIHNlZW1zIGEKCSAgY29tbW9uIGlzc3VlIGZvciB1dmN2aWRlbyBkZXZpY2VzKQoJICBGaXhlcyBidWcgIzU2MzU3NC4KCjIwMDktMDItMTQgMTc6NTY6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjLCBtdWxhd2RlYzogZGVtb3RlIHNvbWUgZGVidWcgbWVzc2FnZXMgZnJvbSBFUlJPUiB0byBXQVJOSU5HIG9yIERFQlVHCgkgIE5vbi1vayBmbG93IHJldHVybnMgbWF5IGhhcHBlbiBmb3IgYSB2YXJpZXR5IG9mIHBlcmZlY3RseSBsZWdpdGltYXRlIGFuZCBleHBlY3RlZCByZWFzb25zCgkgICh0ZW1wb3JhcmlseSBub3QgbGlua2VkLCBzZWVraW5nLCBwaXBlbGluZSBzaHV0ZG93biksIHNvIHdlIHJlYWxseSBzaG91bGRuJ3Qgc3BldyBFUlJPUgoJICBkZWJ1ZyBtZXNzYWdlcyB0byBzdGRlcnIgaW4gdGhvc2UgY2FzZXMuIEZpeGVzICM1NzA3ODEuIChTZWVtcyBsaWtlIHNvbWVvbmUgYWxyZWFkeSB0b29rCgkgIGNhcmUgb2Ygc29tZSBvZiB0aGVzZS4pCgoyMDA5LTAyLTI4IDE1OjI2OjAwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEltcHJvdmUgbG9nIG1lc3NhZ2UgZm9yIHBlYWsgdmFsdWVzID4xLjAgYnkgY2xhbXBpbmcgZXhwbGljaXRseS4KCjIwMDktMDItMjcgMjM6MjU6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIEZpeCB0aGUgZmllbGQgZG9taW5hbmNlCgkgIFBBTCBpcyBURkYsIE5UU0MgaXMgQkZGLiAgU29tZSBkYXkgSSB3aWxsIGxlYXJuIHRvIGtlZXAgdGhpcwoJICBzdHJhaWdodC4KCjIwMDktMDItMjcgMjA6NDA6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IHR5cGUgbWlzbWF0Y2hlcwoJICBGaXhlcyBidWcgIzU3MzM0My4KCjIwMDktMDItMjcgMjA6Mjg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kCgoyMDA5LTAyLTI3IDIwOjI0OjUzICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IERvbid0IHNldCBlcnJubyB0byBFQUZOT1NVUFBPUlQgdW5jb25kaXRpb25hbGx5CgkgIEZpeGVzIGJ1ZyAjNTczMzQyLgoKMjAwOS0wMi0yNyAxMToxNzo1MCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogaWdub3JlIG91dC1vZi1yYW5nZSBwZWFrIHZhbHVlcwoJICBJZiB0aGUgcGVhayB2YWx1ZSBpcyA+IDEgKGFuZCB0aHVzIG5vbnNlbnNpY2FsKSBpZ25vcmUgaXQuIFByZXZlbnRzCgkgIHJndm9sdW1lIHJlZHVjaW5nIHZvbHVtZSB0byBlZmZlY3RpdmVseSBzaWxlbnQgb24gZmlsZXMgd2l0aCBib2d1cyBwZWFrCgkgIHZhbHVlcy4KCjIwMDktMDItMjcgMTM6Mjk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggU0VFSyBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUsIGFuZCBTRUVLQUJMWSBxdWVyeSBoYW5kbGluZwoJICBTdGFuZGFyZCBwdWxsIG1vZGUgbG9vcCBiYXNlZCBTRUVLIGhhbmRsaW5nIGZhaWxzIGluIHB1c2ggbW9kZSwKCSAgc28gY29udmVydCB0aGUgU0VFSyBldmVudCBhcHByb3ByaWF0ZWx5IGFuZCBkaXNwYXRjaCB0byB1cHN0cmVhbS4KCSAgQWxzbyBjYXRlciBmb3IgTkVXU0VHTUVOVCBldmVudCBoYW5kbGluZywgYW5kIHByb3Blcmx5IGluZm9ybQoJICBkb3duc3RyZWFtIGFuZCBhcHBsaWNhdGlvbiBvZiBTRUVLQUJMRSBjYXBhYmlsaXRpZXMsIGRlcGVuZGluZwoJICBvbiBzY2hlZHVsaW5nIG1vZGUgYW5kIHVwc3RyZWFtLgoKMjAwOS0wMi0yNyAxMTowNDowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSBjYWxscy4KCjIwMDktMDItMjYgMTk6MDc6MzUgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBTRUVLIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZQoJICBXaGVuIGluIHB1c2ggbW9kZSB3ZSBzaG91bGQgbm90IHRyeSB0byBoYW5kbGUgdGhlIFNFRUsgZXZlbnQgYXMgdGhlcmUncwoJICBubyBjb2RlIHRvIGhhbmRsZSBpdCBwcm9wZXJseS4gUHJvcGFnYXRlIHVwc3RyZWFtLgoKMjAwOS0wMi0yNiAxOTowNTowNiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCB0aGUgLmggZmlsZSBjaGFuZ2UgdG9vCgkgIEFkZCB0aGUgLmggZmlsZSBjaGFuZ2UgZm9yIHRoZSBuZXcgcHJvcGVydHkuCgoyMDA5LTAyLTI2IDE5OjAzOjUyICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHByb3BlcnR5IHRvIGRpc2FibGUgUlRDUAoJICBTb21lIG9sZCBzZXJ2ZXJzIGRvbid0IGxpa2UgdXMgZG9pbmcgUlRDUCBhbmQgdGh1cyB3ZSBuZWVkIGEgcHJvcGVydHkgdG8gZGlzYWJsZQoJICBpdC4gU2VlICM1NzMxNzMuCgoyMDA5LTAyLTI2IDEzOjE5OjMxICswMTAwICBKYW4gU21vdXQgPGphbiBkb3Qgc21vdXQgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBmaXggZ3N0X3VkcF9zZXRfbG9vcF90dGwoKSBhZ2FpbgoJICBGaXggdGhlIGdzdF91ZHBfc2V0X2xvb3BfdHRsKCkgZnVuY3Rpb24gdGhhdCB3YXMgY29tbWVudGVkIG91dCBpbiBhCgkgIHByZXZpb3VzIGNvbW1pdC4gU2VlICM1NzMxMTUuCgoyMDA5LTAyLTI2IDEzOjA2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBmYWlsIG9uIGludGVybGFjZWQgdmlkZW8KCSAgRmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvIHVudGlsIHdlIHN1cHBvcnQgaXQuCgoyMDA5LTAyLTI2IDEzOjAwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbwoJICBEZXRlY3QgYW5kIGZhaWwgd2hlbiB0cnlpbmcgdG8gcGF5bG9hZCBpbnRlcmxhY2VkIHZpZGVvLgoKMjAwOS0wMi0yNSAyMDo0NzoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIENoYW5nZSBob3cgd2luMzIvY29tbW9uL2NvbmZpZy5oIGlzIHVwZGF0ZWQKCSAgR2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oLW5ldyBkaXJlY3RseSBmcm9tIGNvbmZpZy5oLmluLAoJICB1c2luZyBzaGVsbCB2YXJpYWJsZXMgaW4gY29uZmlndXJlIGFuZCBzb21lIGhhcmQtY29kZWQgaW5mb3JtYXRpb24uCgkgIENoYW5nZSB0b3AtbGV2ZWwgbWFrZWZpbGUgc28gdGhhdCAnbWFrZSB3aW4zMi11cGRhdGUnIGNvcGllcyB0aGUKCSAgZ2VuZXJhdGVkIGZpbGUgdG8gd2luMzIvY29tbW9uL2NvbmZpZy5oLCB3aGljaCB3ZSBrZWVwIGluIHNvdXJjZQoJICBjb250cm9sLiAgSXQncyBrZXB0IGluIHNvdXJjZSBjb250cm9sIHNvIHRoYXQgdGhlIGdpdCB0cmVlIGlzCgkgIGJ1aWxkYWJsZSBmcm9tIFZTLgoJICBUaGlzIGNoYW5nZSBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgcmVjZW50bHkgYXBwbGllZCB0byBHU3RyZWFtZXIKCSAgYW5kIGdzdC1wbHVnaW5zLWdvb2QuICBUaGUgcHJldmlvdXMgY29uZmlnLmggZmlsZSBpbiAtZ29vZCB3YXMgaW4KCSAgcHJldHR5IGJhZCBzaGFwZSwgc28gdW5saWtlIGNvcmUgYW5kIGJhc2UsIEkgZGlkbid0IGF0dGVtcHQgdG8KCSAgbGVhdmUgaXQgc3RyaWN0bHkgdGhlIHNhbWUsIGJ1dCBmaXhlZCBpdCBhcyBuZWNlc3NhcnkuICBOZWVkcwoJICB0ZXN0aW5nIEkgY2Fubm90IGRvIG15c2VsZi4KCjIwMDktMDItMjUgMTk6NTg6MjkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogQWRkIGludGVybGFjaW5nIGluZm8gdG8gY2FwcyBhbmQgYnVmZmVycwoKMjAwOS0wMi0yNSAxNDo1NzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVcGRhdGUgc2hhdmUgaW5pdCBzdGF0ZW1lbnQgZm9yIGNoYW5nZXMgaW4gY29tbW9uLiBCdW1wIGNvbW1vbi4KCjIwMDktMDItMjUgMTQ6MDE6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBjb21waWxhdGlvbgoJICBGaXggY29tcGlsYXRpb24gb24gc3lzdGVtcyBNU0dfRVJSUVVFVUUgYW5kIElQX1JFQ1ZFUlIuCgoyMDA5LTAyLTE5IDIwOjE0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZXJyb3Igb3V0IGluc3RlYWQgb2YgY3Jhc2hpbmcgaWYgbm8gY2FwcyBoYXZlIGJlZW4gc2V0CgkgIERvbid0IGNyYXNoIGlmIHdlIHJlY2VpdmUgYSBidWZmZXIgd2l0aG91dCBjYXBzLiBGaXhlcyAjNTcyNDEzLgoKMjAwOS0wMi0yNSAxMTozNTozMSArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IE1ha2Ugc3VyZSB0aGUgc29ja2FkZHIgbGVuZ3RoIHVzZWQgZm9yIHJlY3Zmcm9tKCkgaXMgYmlnIGVub3VnaC4KCSAgUHJldmlvdXNseSB0aGUgc29ja2FkZHIgbGVuZ3RoIHVzZWQgZm9yIHJlY3Zmcm9tKCkgd2FzIGNhbGN1bGF0ZWQgYXMKCSAgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHIpLiBIb3dldmVyLCB0aGlzIGlzIHRvbyBsaXR0bGUgdG8gaG9sZCBhbiBJUHY2CgkgIGFkZHJlc3MsIHNvIHRoZSBmdWxsIHNpemUgb2YgdGhlIGdzdF9zb2NrYWRkciB1bmlvbiBzaG91bGQgYmUgdXNlZAoJICBpbnN0ZWFkLgoKMjAwOS0wMi0yNSAxMTozMjoyOCArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFVuaWZ5IHRoZSB1c2Ugb2YgdW5pb24gZ3N0X3NvY2thZGRyLgoKMjAwOS0wMi0yNSAxMTozMjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5Y2Y4YzliIHRvIGE2Y2U1YzYKCjIwMDktMDItMjUgMTI6MDU6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBjcmFzaGluZyBvbiBzdWJ0aXRsZXMKCSAgQXZvaWQgYSBjcmFzaCBpbiBhdmkgd2l0aCBzdWJ0aXRsZXMgYnkgb25seSBkZXJlZmVyZW5jaW5nIHRoZSB2aWRlbyBkZXNjcmlwdGlvbgoJICB3aGVuIHdlIGFjdHVhbGx5IGFyZSBkZWFsaW5nIHdpdGggdmlkZW8gaW4gdGhlIF9pbnZlcnQgZnVuY3Rpb24uCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTI0IDE3OjU4OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IEZpeCBzdHJpY3QtYWxpYXNpbmcgd2FybmluZ3MgZnJvbSBnY2MgNC40LjAKCSAgRml4IHN0cmljdCBhbGlhc2luZyB3YXJuaW5ncyBieSBkZWZpbmluZyBhIHVuaW9uIG9uIHRoZSBkaWZmZXJlbnQKCSAgc29ja2FkZHIgc3RydWN0cyB0aGF0IHdlIG5lZWQuCgoyMDA5LTAyLTI0IDE3OjM1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIGgyNjQgcGF5bG9hZGVyCgkgIEZpeCBhbiB1bmRlZmluZWQgYmVoYXZpb3VyIHdhcm5pbmcgZnJvbSBnY2MgNC40LjAKCSAgUGF0Y2ggQnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlczogIzU3MDk5NQoJICBTaWduZWQtT2ZmLUJ5OiBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCjIwMDktMDItMjIgMTc6MjM6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVc2Ugc2hhdmUgZm9yIHRoZSBidWlsZCBvdXRwdXQKCjIwMDktMDItMjQgMTQ6NTU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuYzoKCSogZXh0L2djb25mL2dzdGdjb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmg6CgkgIGdjb25mOiBSZW5hbWUgZ2NvbmYuW2NoXSB0byBnc3RnY29uZi5bY2hdIHRvIHByZXZlbnQgbmFtZSBjb25mbGljdHMKCjIwMDktMDItMjQgMTQ6NDE6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFsc28gdXNlICIoYylpbmYiIHRvIGZpbGwgdGhlIGNvbW1lbnQgdGFnCgoyMDA5LTAxLTI2IDExOjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcGVyZm9ybSBVRFAgU0VUVVAgYWNjb3JkaW5nIHRvIE1TIFJUU1Agc3BlYwoJICBNUyBSVFNQIHNwZWMgc3RhdGVzIHRoYXQgdGhlIFVEUCBwb3J0IHBhaXIgdXNlZCBpbiBzdWJzZXF1ZW50IFNFVFVQCgkgIHJlcXVlc3RzIGZvciB2YXJpb3VzIHN0cmVhbXMgbXVzdCBiZSBpZGVudGljYWwgKHNpbmNlIHRoZXJlIHdpbGwgYWN0dWFsbHkKCSAgYmUgb25seSAxIHN0cmVhbSBvZiBtdXhlZCBhc2YgcGFja2V0cykuICBGb2xsb3dpbmcgdHJhZGl0aW9uYWwgc3BlY3MgYW5kCgkgIHVzaW5nIGRpZmZlcmVudCBwb3J0IHBhaXJzIGluIHRoZSBTRVRVUHMgZm9yIHNlcGFyYXRlIHN0cmVhbXMgd2lsbCByZXN1bHQKCSAgaW4gYWxsIGJ1dCB0aGUgZmlyc3Qgb25lIGZhaWxpbmcgYW5kIG9ubHkgb25lIHN0cmVhbSBiZWluZyBzdHJlYW1lZC4KCSAgU28sIGluIGFwcHJvcHJpYXRlIGNpcmN1bXN0YW5jZXMsIHJldHJ5IFVEUCBTRVRVUCB1c2luZyBwcmV2aW91c2x5IHVzZWQKCSAgcG9ydCBwYWlyLiAgRml4ZXMgIzU1MjY1MC4KCjIwMDktMDItMjMgMjA6NDk6MzcgKzAxMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgUmVhZCBJQ01QIGVycm9yIG1lc3NhZ2VzIGluc3RlYWQgb2YgbG9vcGluZwoJICBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggY29ubmVjdGVkIHNvY2tldHMgc2hhcmVkIGJldHdlZW4gYSB1ZHBzcmMgYW5kIGEgdWRwc2luawoJICB3ZSBtaWdodCByZWNlaXZlIElDTVAgY29ubmVjdGlvbiByZWZ1c2VkIGVycm9yIG1lc3NhZ2VzIGluIHVkcHNyYyB0aGF0IHdpbGwKCSAgY2F1c2UgaXQgdG8gZ28gaW50byBhIGJ1cnN0eSBsb29wIGJlY2F1c2UgdGhlIHBvbGwgcmV0dXJucyByaWdodCBhd2F5IHdpdGhvdXQgYQoJICBtZXNzYWdlIHRvIHJlYWQuCgkgIEluc3RlYWQgb2YgbG9vcGluZywgcmVhZCB0aGUgZXJyb3IgbWVzc2FnZSBmcm9tIHRoZSBlcnJvciBxdWV1ZSBpbiB1ZHBzcmMuCgkgIEZpeGVzICM1Njc4NTcuCgoyMDA5LTAyLTIzIDE5OjUzOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBDb25kaXRpb25hbGx5IGNvbXBpbGUgY29kZSBmb3IgWVZZVQoJICBPbmx5IGNvbXBpbGUgdGhlIGNvZGUgZm9yIHRoZSBZVllVIGZvcm1hdCB3aGVuIHRoZSBmb3JtYXQgaXMgYWN0dWFsbHkgZGVmaW5lZC4KCSAgU3BvdHRlZCBieSB0bWF0dGggb24gSVJDLgoKMjAwOS0wMi0xNyAxMTowMTo0NyAtMDgwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IE1ha2Ugc29ydF9ieV9mcmFtZV9zaXplIGNvbmRpdGlvbmFsbHkgY29tcGlsZWQKCSAgc29ydF9ieV9mcmFtZV9zaXplIGlzIGRlY2xhcmVkIHN0YXRpYyBhbmQgb25seSB1c2VkIGluc2lkZQoJICBhbiBpZmRlZiwgc28gdXNlIHRoZSBzYW1lIGlmZGVmIHRvIGRlZmluZSB0aGUgZnVuY3Rpb24uICBGaXhlcyAjNTcyMTg1CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMi0yMyAxNzowNTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkIFlWWVUgZm9ybWF0IHRvIGNhcHMKCSAgQWRkIFlWWVUgZm9ybWF0IHRvIHRoZSBjYXBzLiBXZSBkb24ndCBoYXZlIGFueXRoaW5nIHRvIGhhbmRsZSB0aGVzZSBjYXBzIHlldCwKCSAgdGhvdWdoLgoKMjAwOS0wMi0yMyAxNTo0ODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBTb21lIGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMuCgkgIEF2b2lkIGEgdXNlbGVzcyBfcmVzeW5jIGNhbGwuCgkgIENvcnJlY3RseSB1c2UgYSBnYm9vbGVhbi4KCjIwMDktMDItMjMgMTU6NDM6NTEgKzAxMDAgIFdhaS1NaW5nIEhvIDx3YWltaW5nIGF0IGFpbHVyb3BvZGEgZG90IG5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBBbHdheXMgYWRkIFBQUyB0byB0aGUgc3Byb3AtcGFyYW1ldGVycy1zZXQKCSAgUmV3b3JrIHRoZSBwYXJzaW5nIGNvZGUgdGhhdCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgZHJvcHBlZCB0aGUgUFBTIGZyb20KCSAgdGhlIHNwcm9wLXBhcmFtZXRlcnMtc2V0LgoJICBGaXhlcyAjNTcyODU0LgoKMjAwOS0wMi0yMyAxMjoxNDoyMyArMDEwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRG9uJ3QgZG8gY3JhenkgdGhpbmdzIHdpdGggMC8xIGZyYW1lcmF0ZXMKCSAgV2UgdXNlIDAvMSBmcmFtZXJhdGVzIHRvIG1hcmsgdmFyaWFibGUgZnJhbWVyYXRlcyBhbmQgbWF0cm9za2FtdXggc2hvdWxkIG5vdCB0cnkKCSAgdG8gY2FsY3VsYXRlIGEgZnJhbWUgZHVyYXRpb24gZm9yIGl0LgoJICBGaXhlcyAjNTcxMjk0LgoKMjAwOS0wMi0yMyAxMTo0NTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBuZXdlciBnc3QtcC1iIGZvciB0aGUgUlRTUCBleHRlbnNpb25zLgoJICAtLQoKMjAwOS0wMi0yMyAxMTo0Mjo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgQ2FsbCBuZXcgcmVjZWl2ZV9yZXF1ZXN0IG1ldGhvZAoJICBDYWxsIHRoZSByZWNlaXZlX3JlcXVlc3QgZXh0ZW5zaW9uIG1ldGhvZHMgc28gdGhhdCBleHRlbnNpb25zIGNhbiBoYW5kbGUgdGhlCgkgIHNlcnZlciByZXF1ZXN0IGlmIHRoZXkgd2FudC4KCjIwMDktMDItMjMgMTE6MTM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgQWRkIG1ldGhvZCBmb3IgaGFkbGluZyBzZXJ2ZXIgcmVxdWVzdHMKCSAgQWRkIG1ldGhvZCB0byBoYW5kbGUgc2VydmVyIHJlcXVlc3RzIG9uIHRoZSBsaXN0IG9mIFJUU1AgZXh0ZW5zaW9ucy4KCjIwMDktMDItMTMgMTQ6Mzk6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIERvbid0IHVzZSBHU1RfRVJST1IgZm9yIG5vbi1lcnJvciBjYXNlcy4KCSAgVHVybiBhIEdTVF9FUlJPUiBsaW5lIGludG8gYSBHU1RfREVCVUcgbGluZSBzbyB0aGF0IHdlIGRvbid0IHNwYW0gdGhlIGxvZyB3aXRoCgkgIGVycm9ycy4gRml4ZXMgIzU3MDc4MS4KCjIwMDktMDItMjIgMTk6MzA6MzIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgZ2NvbmZ2aWRlbyhzcmN8c2luayk6IERpc2Nvbm5lY3QgR0NvbmYgbm90aWZpY2F0aW9ucwoJICBGaXhlcyBidWcgIzU3MTMyMS4KCjIwMDktMDItMjIgMTk6MjU6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVucmVmIHRoZSBidWZmZXIgYW5kIG5vdCB0aGUgbWVtb3J5IGFkZHJlc3Mgb2YgdGhlIGJ1ZmZlcgoKMjAwOS0wMi0yMiAxODo0NzozNSArMDEwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYWxhdy9tdWxhdzogSW1wbGVtZW50IF9nZXRjYXBzIGZ1bmN0aW9uIGZvciBhbGF3L211bGF3IGRlY29kZXJzCgkgIEZpeGVzIGJ1ZyAjNTcyMzU4LgoKMjAwOS0wMi0yMiAxODo0NjowMyArMDEwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgYWxhdy9tdWxhdzogRG9uJ3QgcmVxdWlyZSBib3RoLCByYXRlIGFuZCBjaGFubmVsLCB0byBiZSBzZXQgaW4gX2dldGNhcHMKCSAgRml4ZXMgYnVnICM1NzIzNTguCgoyMDA5LTAyLTIyIDE4OjMyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBhbGlnbm1lbnQgaXNzdWVzIGJ5IHVzaW5nIEdTVF9SRUFEXyoKCSAgUmVhZGluZyBpbnRlZ2VycyBmcm9tIHJhbmRvbSBtZW1vcnkgYWRkcmVzc2VzIHdpbGwgcmVzdWx0CgkgIGluIFNJR0JVUyBvbiBzb21lIGFyY2hpdGVjdHVyZXMgaWYgdGhlIG1lbW9yeSBhZGRyZXNzCgkgIGlzIG5vdCBjb3JyZWN0bHkgYWxpZ25lZC4gVGhpcyBjYW4gaGFwcGVuIGF0IHR3bwoJICBwbGFjZXMgaW4gYXZpZGVtdXggc28gd2Ugc2hvdWxkIHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUKCSAgYW5kIGZyaWVuZHMgaGVyZS4gRml4ZXMgYnVnICM1NzIyNTYuCgoyMDA5LTAyLTIyIDE4OjA4OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZW1peGVyOiBEb24ndCB1c2UgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBmb3IgYWNjZXNzaW5nIHRoZSBtaXhlciB0cmFjayBmbGFncwoJICBnX2F0b21pY19pbnRfKGdldHxzZXQpIG9ubHkgd29yayBvbiBpbnRzIGFuZCB0aGUgZmxhZ3MgYXJlCgkgIGFuIGVudW0gKHdoaWNoIG9uIG1vc3QgYXJjaGl0ZWN0dXJlcyBpcyBzdG9yZWQgYXMgYW4gaW50KS4KCSAgQWxzbyB0aGUgd2F5IHRoZSBmbGFncyB3ZXJlIGFjY2Vzc2VkIGF0b21pY2FsbHkgd291bGQgc3RpbGwKCSAgbGVhdmUgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbiBhbmQgd2UgZG9uJ3QgZG8gaXQgaW4gYW55CgkgIG90aGVyIG1peGVyIHRyYWNrIGltcGxlbWVudGF0aW9uLCBsZXQgYWxvbmUgYXQgYW55IG90aGVyCgkgIHBsYWNlIHdoZXJlIGFuIGludGVnZXIgY291bGQgYmUgY2hhbmdlZCBmcm9tIGRpZmZlcmVudAoJICB0aHJlYWRzLiBSZW1vdmluZyB0aGUgZ19hdG9taWNfaW50XyhnZXR8c2V0KSB3aWxsIG9ubHkKCSAgaW50cm9kdWNlIGEgbmV3IHJhY2UgY29uZGl0aW9uIG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUKCSAgaW50ZWdlcnMgY291bGQgYmUgaGFsZi13cml0dGVuIHdoaWxlIHJlYWRpbmcgdGhlbQoJICB3aGljaCBzaG91bGRuJ3QgYmUgdGhlIGNhc2UgZm9yIGFueSBtb2Rlcm4gYXJjaGl0ZWN0dXJlCgkgIGFuZCBpZiB3ZSByZWFsbHkgY2FyZSBhYm91dCB0aGlzIHdlIG5lZWQgdG8gdXNlCgkgIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgYXQgbWFueSBvdGhlciBwbGFjZXMgdG9vLgoJICBBcGFydCBmcm9tIHRoYXQgZ19hdG9taWNfaW50XyhzZXR8Z2V0KSB3aWxsIHJlc3VsdCBpbgoJICBhbGlhc2luZyB3YXJuaW5ncyBpZiB0aGVpciBhcmd1bWVudCBpcyBleHBsaWNpdGVseQoJICBjYXN0ZWQgdG8gYW4gaW50ICouIEZpeGVzIGJ1ZyAjNTcxMTUzLgoKMjAwOS0wMi0yMiAxNTo1MjowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZDdjOWNjIHRvIDljZjhjOWIKCjIwMDktMDItMjIgMTI6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBoZHYxMzk0c3JjOiBEb24ndCB1c2Ugdm9pZCAqIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMi0yMSAxMToxMzo0MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDgwYzYyN2QgdG8gNWQ3YzljYwoKMjAwOS0wMi0yMSAxODo0Mjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTQuMQoKMjAwOS0wMi0yMCAxODoxNjowMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBEb2N1bWVudCBydHBkdG1mZGVwYXkgYSBiaXQKCjIwMDktMDItMjAgMTc6NDE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSAgTW92ZWQgZHRtZiBlbGVtZW50cyBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDA6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIEZpeCB1cCBkb2N1bWVudGF0aW9uIGJsb2JzIFNHTUwKCjIwMDktMDItMjAgMTc6Mzc6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xOCAxMzozMDo0NCAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgZGlyZWN0aXZlCgoyMDA4LTEyLTA0IDIxOjIxOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWF4aW11bSBkdXJhdGlvbiB0byBhIFJUUCBEVE1GIGV2ZW50CgoyMDA4LTEyLTA0IDIxOjExOjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcHJvdmUgdGhlIG1pbmltdW0gcXVhbnRhIHRvIG1ha2UgaXQgaW1wb3NzaWJsZSBmb3IgdGhlIGR1cmF0aW9uIHRvIGZhbGwgZG93biB0byAwCgoyMDA4LTEyLTAxIDE4OjMxOjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBbGxvdyBzZXR0aW5nIGEgbWluaW11bSBzaXplIG9mIGEgc291bmQgcXVhbnRhIGluIHRoZSBkdG1mIGRlcGF5bG9hZGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzozNzoxMCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gd2llcmQgY2FzdGluZyBvZiB0aGUgdm9sdW1lIHRvIG1ha2UgTVNWQyBoYXBweQoKMjAwOC0xMC0xNSAxNjoyMTo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSAiZXZlbnQtdHlwZSIgZmllbGQgd2hlbiBzcGVjaWZ5aW5nIGR0bWYgZXZlbnRzCgoyMDA4LTA3LTIyIDIxOjM5OjM4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnX2RlYnVncwoJICAyMDA4MDcyMjIxMzkzOC0zZTJkYy00NGE4MmQwMTdmZTY2ZjMxMTIzMDFjNDEwYWEwYjU0M2RlNjE1NmFkLmd6CgoyMDA4LTA2LTEzIDIzOjU3OjIzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgcmF0ZSBmcm9tIHRoZSBwZWVycyBjYXBzIGlmIHBvc3NpYmxlCgkgIDIwMDgwNjEzMjM1NzIzLTNlMmRjLTE1NjkwZWU0MjcwOGM1MzllMWJlMTJlMjBlMDc2YTU2MTNmYWVhOTYuZ3oKCjIwMDgtMDYtMTMgMjM6NDE6NDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgdGhlIHNhbXBsZSByYXRlIGluIGR0bWZzcmMgaW50byBhIHZhcmlhYmxlCgkgIDIwMDgwNjEzMjM0MTQ0LTNlMmRjLWU2MDA3MDk0M2JlYzgyOWI3MDNiODgyMWM3YWE0MzUxYTAyZGVlYmUuZ3oKCjIwMDgtMDYtMTMgMjM6MzA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stcmF0ZSBmcm9tIHRoZSBjYXBzIGluIHJ0cGR0bWZzcmMKCSAgMjAwODA2MTMyMzMwMDYtM2UyZGMtYTdkNGU5MTg2NDNmNGY4YzFiYjJjYzI2Nzg1NThjNjU0MDI1OTIwZS5negoKMjAwOC0wNC0yOCAyMjoyMjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0NDoxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggYnl0ZSBvcmRlcmluZyBpc3N1ZXMgd2l0aCBkdG1mc3JjIGFuZCBydHBkdG1mZGVwYXkuLiB1c2Ugb2YgR19TVFJJTkdJRlkgdG8gYXZvaWQgZXJyb3Igb24gTVNWQwoJICAyMDA4MDQxMjIzNDQxOC00ZjBmNi00ODI4ZDE2MTNkZmNkNTY0YWZkMjM2ZGZjOGZiNTdhMjk5MDkyZjgzLmd6CgoyMDA4LTAzLTIwIDE5OjE0OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMgYWdhaW4sIHBlciBzbWN2J3MgYWR2aWNlLi4KCSAgMjAwODAzMjAxOTE0MzgtNGYwZjYtNjcxYzlkYjVkOTk2YTQ2MDFkZjAxN2NlYWI0YWY2ZDE2NDY5Yzk2Ni5negoKMjAwOC0wMy0xOSAyMToxNzozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGNsZWFyIHRoYXQgZHRtZnNyYyBhbHNvIHRha2VzIG5hbWVkIGV2ZW50cyBhcyBpbnB1dAoJICAyMDA4MDMxOTIxMTczMS0zZTJkYy0yNmM3MjlmNmRjOGRiMjdlNzFjZjZiMjI2NDZhODE1MzBkYmY4NjJmLmd6CgoyMDA4LTAzLTIwIDE4OjQ4OjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWJ1ZyBtZXNzYWdlIG1hZGUgaW50byBlcnJvcnMgYmVjYXVzZSB0aGF0J3Mgd2hhdCB0aGV5IGFyZS4uLgoJICAyMDA4MDMyMDE4NDg0MS00ZjBmNi04YTJkMjgzMjk3YjAyNzEzZGFkZTBhZTRhY2FhNWY2ZTBmNjdlYWNlLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbiB1bnVzZWQgc3R1ZmYuLi4KCSAgMjAwODAzMjAxODM5MzctNGYwZjYtYmNiODQxY2RjMDdmOWU5Njc3NTEyZjRiNTBiNGI2NTlhNThjNjc4My5negoKMjAwOC0wMy0yMCAxODozOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzCgkgIDIwMDgwMzIwMTgzOTEyLTRmMGY2LTY4OTM2NWQ1YTQwNjYzMmUzZDA4OGZhYzc0ZTRmYjZmOGE0ZWIwZWEuZ3oKCjIwMDgtMDMtMjAgMDE6MTM6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgc3VwcG9ydCBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDExMzAxLTRmMGY2LWQzNmE1ZDI0YmUyMDMzNmUzNmM0Nzk2ZDc1NDc2YzliNWVlMWE3ZTEuZ3oKCjIwMDgtMDMtMTkgMTk6MzI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW5jb2RpbmcgbmFtZSBoYXMgdG8gYmUgdXBwZXItY2FzZQoJICAyMDA4MDMxOTE5MzI1MS0zZTJkYy0xNTgxYjMzYmU5YjQ4NmUzNWVjNDk0ODAwOTY3N2NjZDVmZmRjMDk4Lmd6CgoyMDA4LTAzLTIwIDAwOjUxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRpbmcgbmVjZXNzYXJ5IGZpbGVzIGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMDUxNDctNGYwZjYtNTUwZmUyMmY3MDE1MmYzYWFiM2RjZDdhNmIwMmNiZjgxZTg5MjMyZC5negoKMjAwOC0wMy0yMCAwMDo1MDo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0eXBvcwoJICAyMDA4MDMyMDAwNTA0MS00ZjBmNi05ZDIyZmE1ZDE1NWUzNWI2MDVlYTg1YjFmZDllNzE5N2E4ODJhMWYwLmd6CgoyMDA4LTAyLTE2IDEzOjQxOjQwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkdG1mc3JjOiBDb3JyZWN0bHkgc2V0IHRoZSBlbmRpYW5lc3MgaW4gdGhlIGNhcHMgdG8gdGhlIG1hY2hpbmVzIGVuZGlhbmVzcwoJICAyMDA4MDIxNjEzNDE0MC05M2I5YS00MGEzYTlkN2FjMTY3OWM1ZTBkZmQyNGE2YjkxZTRhYmE2Y2M2NDk2Lmd6CgoyMDA3LTA5LTE3IDE3OjUyOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlYXJjaCZSZXBsYWNlIG9vcHMKCSAgMjAwNzA5MTcxNzUyMzMtM2UyZGMtNTdmNTc5YzRiODkwOTkzZjQ5ZmE4ZTllNjQ3MGEzZWI3OWQyYjkyMi5negoKMjAwNy0wOS0xNyAxNzo1MTozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBldmVudHMgZG9udCB5ZXQgYmVsb25nIGluIHRoZSBjYXBzCgkgIDIwMDcwOTE3MTc1MTMzLTNlMmRjLWZkMWQ4M2I3ODI2Yjg5ODExMGZjNTcxYWU3YzM0NDBmMTg4NzQzNGQuZ3oKCjIwMDctMDktMTcgMTY6MDg6MjAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGF0Y2ggdG8gbWFrZSBpdCB3b3JrIHdpdGggbWFlbW8gZHNwIHNvdXJjZXMgdGhhdCBwYXlsb2FkIGluY29ycmVjdGx5CgkgIDIwMDcwOTE3MTYwODIwLTNlMmRjLTA2YjFiMWQxYjA5MThiMzBkYWJlYTVhMDcxNGNiNzMyYjNiOGQ4ZGQuZ3oKCjIwMDctMDktMTcgMDQ6MjY6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPb3BzLCBzZXQgdG8gbm8gcHJlcm9sbCB3aGVuIHBsYXlpbmctPnBhdXNlZCB0b28KCSAgMjAwNzA5MTcwNDI2NDktM2UyZGMtOTRhZGI2YWEwNjE3ZTgxNWE2ZTIzMzIzMmRhYmI0YmJjNDhkYzgyYy5negoKMjAwNy0wOS0xNyAwMDozNjo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBsZXRlIHBvcnQgdG8gYmFzZXNyYwoJICAyMDA3MDkxNzAwMzY1NC0zZTJkYy1kYjBmODRkYWJkOWRkMWFjOTI5YTA0NjE4NjViOGFhYThlZjkxYTc3Lmd6CgoyMDA3LTA5LTE3IDAwOjI0OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNhcHMgbmVnb3RpYXRpb24gZnVuY3Rpb24KCSAgMjAwNzA5MTcwMDI0MTItM2UyZGMtY2EyNjY4MTZlOTYyOTc0NmU5MDgzYzViYjhiN2Y3M2I5NGE5YjJiMC5negoKMjAwNy0wOS0xNyAwMDoxNjo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBmcmVlIG5vbi1zdGFydCBldmVudHMKCSAgMjAwNzA5MTcwMDE2NTktM2UyZGMtYTU3MTc3N2UzZWNmYjkwOTg5Zjg3NDEyZjU1NGFhMTBhMzFjYzJjYS5negoKMjAwNy0wOS0xNyAwMDoxNTo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW50ZXJ2YWwgYW5kIHBhY2tldF9yZWR1bmRhbmN5IGludG8gdWludAoJICAyMDA3MDkxNzAwMTU1Mi0zZTJkYy02MDAzMmU1NDdiMzY2OWI4NzMxN2M5ODFkOTg1YzE1NmFhYjkxYjQwLmd6CgoyMDA3LTA5LTE2IDE5OjQ0OjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgcnRwIGR0bWYgc3JjIHVzZSBiYXNlc3JjCgkgIDIwMDcwOTE2MTk0NDA4LTNlMmRjLTczNDAwMDEzMGRjZTI0MzRhMDE0YWNmODQzZDY0MWZmMGU2MGFhNWEuZ3oKCjIwMDctMDktMTYgMTk6NDE6MDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkdG1mIHNyYyBjb2RlIG5pY2VyCgkgIDIwMDcwOTE2MTk0MTAxLTNlMmRjLWE4YmU4YzUwOWM2NTQwMGQxZDM5NjJkYTAyZTY3ZDE1ZDIwNTQzMTYuZ3oKCjIwMDctMDktMTQgMDQ6MjA6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RvcHBpbmcgaW4gYSBuaWNlIHRocmVhZCBzYWZlIHdheQoJICAyMDA3MDkxNDA0MjA0Mi0zZTJkYy0xZmUyNTdmZjRiNzJhY2E0YjBlYjVmMjg1YTE0NjUwYjhkZjI2OGMzLmd6CgoyMDA3LTA5LTE0IDA0OjE4OjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnZXRfdGltZXMgKFdpbSBzYXlzIGl0cyBvbmx5IGdvb2QgZm9yIHJlYWxseSBmYWtlIHNvdXJjZXMpCgkgIDIwMDcwOTE0MDQxODM0LTNlMmRjLWZmZjRkNWRhMmExNDVmMTllN2I2MTBhMTAyN2QyYzRkNGJjNWVhZTAuZ3oKCjIwMDctMDktMTMgMjE6MjE6NDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2luZyB0aGUgdW5sb2NrIG1ldGhvZCBvZiBiYXNlc3JjCgkgIDIwMDcwOTEzMjEyMTQ1LTRmMGY2LTBlNDM4YTY4MWJmMTY1MWMwY2MwZDhmYTMyNjlhZWQzZjE2NjhiNmIuZ3oKCjIwMDctMDktMTMgMjE6MTI6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwOTEzMjExMjI2LTRmMGY2LWJjMzJiNTgyOGZjOGUwMzIzYzhhNmVlZTc3OWEzODE0NWFhY2Q1OTMuZ3oKCjIwMDctMDktMTMgMjA6NDY6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBkZWJ1Z3MKCSAgMjAwNzA5MTMyMDQ2MTQtNGYwZjYtNjhjMmE2OWFlN2ExZWZjYTZlMTNjMTE2ZGJhZDdmOWI2ODZmMDI0Mi5negoKMjAwNy0wOS0xMyAxOToyMDo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2Ugc3VyZSB0byB1bmxvY2sgdGhlIHRocmVhZCB3aGVuIGdvaW5nIHRvIHJlYWR5IGFuZCB0byBmbHVzaCB0aGUgcXVldWUgd2hlbiBtb3ZpbmcgdG8gcGF1c2VkIG9yIHBsYXlpbmcKCSAgMjAwNzA5MTMxOTIwNTMtNGYwZjYtNzZjMzkyNTM4MGQxYTMwOTg4Mjg2MTcwNTM1YTY1ZGVhNjRhNTU4My5negoKMjAwNy0wOS0xMyAxNzo1NToyMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdlZCBkdG1mc3JjIGludG8gYSBzdWJjbGFzcyBvZiBHc3RCYXNlU3JjCgkgIDIwMDcwOTEzMTc1NTIwLTRmMGY2LTE2Y2E0YmY5MzY5MDA3MmYzZTgzNmQxYzhhNWI1MmNmN2E0MjE5MTYuZ3oKCjIwMDctMDktMDQgMjI6NTc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgYW5vdGhlciBmaXggZm9yIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24KCSAgMjAwNzA5MDQyMjU3NTMtNGYwZjYtNWJhOGM0MjYwYzAwMmJiMjdlYjk4ZTlmYWJhM2MxNTc5OTM1N2I1Ny5negoKMjAwNy0wOS0wNCAyMTo1MjoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29tbWVudCB0byBleHBsYWluIHB1c2ggYmFjawoJICAyMDA3MDkwNDIxNTIyNC0zZTJkYy1kOTJhYzFmNDAzZGNmNTcxNTQ2YTdjNTNmMTg4MDlmODQwZWVhNTFkLmd6CgoyMDA3LTA5LTA0IDIwOjU1OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZG8gdGhlIGxvY2tpbmcgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggY2xvY2sgdW5zY2hlZHVsaW5nCgkgIDIwMDcwOTA0MjA1NTA5LTNlMmRjLWRhMTk5MDBiNTFhZjZhZWRiNjU0N2Y0ZjM5MmJlZjRkMTA2MWRlYzIuZ3oKCjIwMDctMDktMDEgMDA6MDM6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBJIGRpZCBpdCBhZ2Fpbi4uLgoJICAyMDA3MDkwMTAwMDMyNC00ZjBmNi0zZDhiNDY2OTFlZTUyMDUzN2IwNmM1MTFhNWU3MzJmNWI4MTJiODQ0Lmd6CgoyMDA3LTA4LTMxIDIzOjU0OjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3Vwcywgc29ycnkuLiBEVE1GLCBub3QgUlRQX0RUTUYgZm9yIHRoaXMgZmlsZS4uLgoJICAyMDA3MDgzMTIzNTQyOC00ZjBmNi0wMGI2MDZiZmI0ODkyZTRmMjE3YzQ0MGI2MTFjYzc5NGFiMGRlNTVhLmd6CgoyMDA3LTA4LTMxIDIzOjQ0OjEzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZXMgdGhlIGRlYWRsb2NrIHdoZW4gcGF1c2luZyB0aGUgZHRtZnNyYyBhbmQgcnRwZHRtZnNyYy4gSGFkIHRvIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBhc3luYyBxdWV1ZSB0byByZWxlYXNlIHRoZSBibG9ja2luZyBhc3luY19xdWV1ZV9wb3AoKS4gVGhhbmtzIHRvIE9saXZpZXIgZm9yIHRoZSBzb2x1dGlvbi4KCSAgMjAwNzA4MzEyMzQ0MTMtNGYwZjYtNzkzY2YzNWZjNDM2MzZlNzI3NTI1OGNjNzA2M2ZjMDY4ZjVlZmEwYS5negoKMjAwNy0wOC0yOCAyMjoxNTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsb2NrSUQgd2hlbiB3YWl0aW5nIGZvciBidWZmZXIgaXMgbm93IHVuc2NoZWR1bGVkIHdoZW4gc3RvcHBpbmcgdGhlIHRhc2suIFZhcmlvdXMgZml4ZXMgdG8gYXZvaWQgYnVncyAodGhhbmtzIHRvIC1XYWxsIC1XZXJyb3IpLiBGaXhlcyB0byBhbGxvdyB0aGUgbWVyZ2Ugb2YgdGhlIGJyYW5jaC4KCSAgMjAwNzA4MjgyMjE1MzQtNGYwZjYtYjBkNmE0ZmU0OGM0ZTJhMTZiOWZmNjljYjMxMDA4N2M5NzBjZTQ4ZS5negoKMjAwNy0wOC0yOCAxNzoxNTo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW5lZCB1cCB0aGUgY29kZSBhIGJpdCwgbm8gdXNlIG9mIEdTVF8qIGFuZCByZXR1cm4gdmFsdWUgdmVyaWZpY2F0aW9uIGZyb20gZ3N0XyoKCSAgMjAwNzA4MjgxNzE1NDYtNGYwZjYtYmRlYjRiMWI3Zjk5Zjk0NjRhYWJlNWM0M2JkNGE0ZDIwMjUyNjJiNi5negoKMjAwNy0wOC0yNyAxOTo1NjoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvdmVybHkgbG9uZyBsaW5lcyBhbmQgdGFicwoJICAyMDA3MDgyNzE5NTYxMC0zZTJkYy0zOTZhM2ZhMDFlMTZmMTg0ZTQxMDljNzFmZTJkZWI2ZTUxNmJkZjBkLmd6CgoyMDA3LTA4LTI3IDE5OjI2OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1bnRhYmJpZmllZCBkdG1mc3JjCgkgIDIwMDcwODI3MTkyNjE4LTRmMGY2LTc3ZDY4MDcwNDY0ZjFiNWY5YTQ2Y2I2ZWVjMmQ5MjIzNDAxNDNjMDQuZ3oKCjIwMDctMDgtMjcgMTc6MjQ6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcHMgYnkgc2VuZGluZyBhIG5ld19zZWdtZW50IGV2ZW50IHRvIHRoZSBwYXlsb2FkZXIKCSAgMjAwNzA4MjcxNzI0MjQtNGYwZjYtZDIwOTA3ZTNkNDM2ZDUwYmZlNzRlYjRmYzNkMmQ2ZDdiNmI2ZGJjNS5negoKMjAwNy0wOC0yNyAxNzoyMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEJldHRlciBoYW5kbGluZyBvZiBwYWNrZXRzLCB3ZSBzZW5kIHRoZSBzYW1lIGR1cmF0aW9uIGZvciBhbGwgcGFja2V0cyB0byBhdm9pZCBodWdlIHBhY2tldHMgd2hlbiBtaW4gZHVyYXRpb24gZGVmaW5lcyBhcmUgbW9kaWZpZWQuCgkgIDIwMDcwODI3MTcyMzM5LTRmMGY2LWNjOTMzMDQ0MzdlYTM3NmZmZjY0NThjNzRjNDZjMTlmNjkyMGQzMjkuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2luZyBtaW5pbXVtIHZhbHVlcyB0byB3b3JrIGJldHRlciBvbiBzb21lIGdhdGV3YXlzCgkgIDIwMDcwODI3MTcyMzIyLTRmMGY2LTViZjJiZmZhNTlhODI0NDUzOGRjZWQ3OTVmYTdkNzY0OTQ1MmNhOTEuZ3oKCjIwMDctMDgtMjIgMjA6MTY6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgRFRNRiB0b25lIGdlbmVyYXRvciBub3cgcmVzcGVjdHMgdGhlIHZvbHVtZSBhcmd1bWVudCBwYXNzZWQgaW4gdGhlIGV2ZW50CgkgIDIwMDcwODIyMjAxNjUzLTRmMGY2LThiN2ZmODc0MDA2ZTExZjVhNzRkMGZkOTFlNWE5YTQzY2QwODJhZGEuZ3oKCjIwMDctMDgtMjIgMTg6MDE6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkb24ndCBrbm93IHdoeSBJIGRpZCB0aGF0Li4uCgkgIDIwMDcwODIyMTgwMTMzLTRmMGY2LTZhNzM4MmY2YzdkMzYzMGY5MWRhMzg0ZTE5MDQ3NjNjN2VhNmZhMWEuZ3oKCjIwMDctMDgtMjIgMTc6NTU6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnRlZCB0aGUgZXZlbnQgcXVldWUgd29yayBmcm9tIGR0bWZzcmMgdG8gcnRwZHRtZnNyYwoJICBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIHJ0cGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2gKCSAgdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIyMTc1NTMzLTRmMGY2LWYyNzQxNGM0MDZmMWY3YjAwYzlhOTA4NGE5ODhjZjNhNzkzMGZlNWMuZ3oKCjIwMDctMDgtMjIgMTc6NTQ6NDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdWNoLCBwcmludGluZyB3aXRoIGFyZ3VtZW50cyBidXQgd2l0aG91dCAlcy4uIHRoYXQgbWFkZSBpdCBzZWdmYXVsdCBhIGZldyB0aW1lcy4uLgoJICAyMDA3MDgyMjE3NTQ0NC00ZjBmNi00NDVlYTZjZTdhOTY2OGQwNGNmOTk5YWY3NzJhNTA0ZWM3NGZiNjdhLmd6CgoyMDA3LTA4LTIyIDE3OjUxOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGV2ZW50IHRvIGR0bWZzcmMgc3RydWN0dXJlIHNpbmNlIHdlIGhhdmUgb25seSBvbmUgZXZlbnQgYXQgYSB0aW1lLCBzbyBsZXQncyBrZWVwIGl0IHN0b3JlZCBpbiB0aGUgZHRtZnNyYyBzdHJ1Y3QKCSAgMjAwNzA4MjIxNzUxMjYtNGYwZjYtNTNiY2RhMmJkOGFlOGM1NmQyOWU2MmU2OWFjMTlhMzBlMDhhZDM1MC5negoKMjAwNy0wOC0yMCAyMDozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMDIwMzgyNi00ZjBmNi03NTBhMjJiNjEyYTVlNDk1ZTc2NzY2NjkzNDQ2NWMzNGZlMzIwNzRiLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgZHRtZnNyYywgYSBEVE1GIFRvbmUgR2VuZXJhdG9yLCBhbmQgbWFkZSBpdCBwYXJ0IG9mIHRoZSAnZHRtZicgcGx1Z2luLgoJICAyMDA3MDgyMDE4NDg1Mi00ZjBmNi1hMGQ4NWU2NzcwODI5MGFlYmFmYTg5YWI3OWQzY2VkZDU4MTViNjIwLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHJ0cGR0bWYgdG8gZHRtZiBkaXJlY3RvcnkKCSAgMjAwNzA4MjAxODQ4MDAtNGYwZjYtZmEzM2VhOTc0NTEwMTYxZGU4Yzk5NTFjMzkwODdhZjM2MTNiNjVhNC5negoKMjAwOS0wMi0yMSAxMjo0NzowMCArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgcmVzcGVjdCBERUZBVUxUIHNlZ21lbnQgYnkgY2xpcHBpbmcgdGhlIGxhc3QgYnVmZmVyIHRvIGJlIHNlbnQKCj09PSByZWxlYXNlIDAuMTAuMTQgPT09CgoyMDA5LTAyLTE5IDIwOjA5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTQKCjIwMDktMDItMTkgMjA6MDc6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMi0xOSAxMzoxNjozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgVXBkYXRlIFNpbmNlOiB0YWdzIGluIGF1dG9kZXRlY3Qgc3JjcyBhbmQgYXVkaW9lY2hvCgoyMDA5LTAyLTE5IDExOjEyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIFVwZGF0ZSBDaGFuZ2VMb2cgZm9yIDAuMTAuMTMuMwoKMjAwOS0wMi0xOSAxMTowOTowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMi0xMCAxMToyNTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2VtaXhlcjogRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJICBDYXN0IChlbnVtICopIHRvIChpbnQgKiksIG5vdCBuZWNlc3NhcmlseSB0ZWNobmljYWxseSByaWdodCwKCSAgYnV0IHBsdWdzICM1NzExNTMuCgoyMDA5LTAyLTEzIDE4OjAzOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IElzc3VlIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24gaW4gc3RyZWFtaW5nIHRocmVhZCwgcmF0aGVyIHRoYW4gUEEgdGhyZWFkLgoJICBwYV90aHJlYWRlZF9tYWlubG9vcF9sb2NrKCkgKGEuby4pIGFuZCBieSBleHRlbnNpb24gZ2V0X3Byb3BlcnR5IHNob3VsZAoJICBub3QgYmUgZG9uZSBmcm9tIGEgUEEgdGhyZWFkLCBidXQgdGhlIGxhdHRlciBtYXkgb2NjdXIgYXMgYSByZXN1bHQgb2YgYQoJICBwcm9wZXJ0eSBjaGFuZ2Ugbm90aWZpY2F0aW9uLiAgRml4ZXMgIzU3MTIwNCAodGhvdWdoIGN1cnJlbnQgc2l0dWF0aW9uCgkgIG5vdCBpZGVhbCwgZS5nLiBwb3N0IG1lc3NhZ2UgcmF0aGVyIHRoYW4gc2lnbmFsKS4KCjIwMDktMDItMTAgMTE6Mjc6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBhc3BlY3RyYXRpb2Nyb3A6IERvbid0IGZvcmdldCB0byBjYWxsIHBhcmVudCBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbi4KCSAgVGhpcyBmaXhlcyBhIG1lbW9yeSBsZWFrIChsZWFraW5nIHRoZSBjb250YWluZWQgZWxlbWVudHMgb2YgdGhlIGJpbikuCgoyMDA5LTAyLTEwIDA4OjQzOjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCBidWlsZC4gRml4ZXMgIzU3MTAzOAoKMjAwOS0wMi0wOSAxMjoxODozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQnVtcCByZXZpc2lvbiB0byB1c2UgZm9yIGNvbW1vbiBzdWJtb2R1bGUuCgoyMDA5LTAyLTA3IDE2OjAwOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZzogVXBkYXRlIENoYW5nZUxvZyBmb3IgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjU4OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zIGZvciAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NDY6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo0MDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vbXQucG86CgkgIHBvOiBBZGQgTWFsdGVzZSB0cmFuc2xhdGlvbgoKMjAwOS0wMi0wNiAxNjoxNjowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgaGFuZGxpbmcgZm9yIHN0cHMgYXRvbXMKCSAgc3RwcyBhdG9tcyBjb250YWluICJwYXJ0aWFsIHN5bmMiIGluZm9ybWF0aW9uLCB3aGljaCBtZWFucyB0aGF0IGl0J3MKCSAgYSBzeW5jIHBvaW50IHdoZXJlIHB0cyAhPSBkdHMuICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBoYW5kbGUKCSAgTVBFRzIsIEguMjY0LCBEaXJhYywgZXRjLiwgaW4gcXVpY2t0aW1lLgoKMjAwOS0wMi0wNSAxNTo1MTo0MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGlmIHdlIGFib3J0ZWQgcmVhZGluZywgZG9uJ3QgZG8gaW50byBhbiBpbmZpbml0ZSBsb29wLgoJICBJZiBvdXIgcmVhZCBjYWxsYmFjayByYW4gb3V0IG9mIGRhdGEsIHNvIGhhZCB0byBhYm9ydCByZWFkaW5nLCB3ZSByZXR1cm4KCSAgR1NUX0ZMT1dfRVJST1IgaW5zdGVhZCBvZiBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AuCgoyMDA5LTAyLTA1IDEwOjE5OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbW92ZSBub24tZW1iZWRkZWQgbW9kZSBhbmQgZml4IG1lbW9yeSBtYW5hZ2VtZW50LgoJICBSZW1vdmUgbm9uLWVtYmVkZGVkIG1vZGUuIEVtYmVkIG1vZGUgYmVjb21lcyBkZWZhdWx0IGFuZCBvbmx5IG1vZGUuCgkgIGVtYmVkIHByb3BlcnR5IGlzIHJldGFpbmVkIGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eS4KCSAgQWRkZWQgYXV0b3JlbGVhc2UgcG9vbHMgYXJvdW5kIGFsbCBvYmpjIGZ1bmN0aW9ucyB0aGF0IG1pZ2h0IGJlIGNhbGxlZAoJICBmcm9tIGEgbm9uLW1haW4gdGhyZWFkLgoKMjAwOS0wMi0wNSAyMDowMjowMSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZGVidWcgb24gdGhlIG9iamVjdAoKMjAwOS0wMi0wNCAxNjo0MDoxMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICBvc3hhdWRpbyBmaXhlczogbXVsdGljaGFubmVsIGFuZCBjaGFuZ2luZyBjYXBzLgoJICBFbnN1cmUgd2UgY3JlYXRlIHRoZSByaW5nYnVmZmVyIHNlZ21lbnQgc2l6ZSBhcyBhIG11bHRpcGxlIG9mIHRoZQoJICBieXRlcyBwZXIgc2FtcGxlIChmaXhlcyA2LWNoYW5uZWwgb3V0cHV0KS4KCSAgUmVzZXQgdGhlIHNlZ29mZnNldCB3aGVuIGFjcXVpcmluZyB0aGUgcmluZ2J1ZmZlciwgc28gd2UgZG9uJ3QgcmV0YWluCgkgIGEgYm9ndXMgb2Zmc2V0IHdoZW4gY2FwcyBjaGFuZ2UuCgoyMDA5LTAyLTA0IDExOjM4OjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEtlZXAgdHJhY2sgb2YgY29ubmVjdGVkIHN0YXRlCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uIGFuZCBkb24ndCB0cnkgdG8gc2VuZCBURUFSRE9XTiB3aGVuCgkgIHRoZSBzZXJ2ZXIgaGFzIGNsb3NlZCB0aGUgY29ubmVjdGlvbi4KCjIwMDktMDItMDQgMDk6MjA6MjggKzAxMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBSZWFkIE1hdHJvc2thIFRpdGxlIGVsZW1lbnQgZm9yIHRoZSBUSVRMRSB0YWcKCSAgTm90IGFsbCBNYXRyb3NrYSBmaWxlcyBoYXZlIGEgVGFncyBlbGVtZW50IHdoaWNoIGNvbnRhaW5zCgkgIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0aXRsZSBhbW9uZyBvdGhlciB0aGluZ3MuIE1vc3QgdmlkZW8KCSAgTWF0cm9za2EgZmlsZXMgb25seSBjb250YWluIHRoZSBUaXRsZSBlbGVtZW50IHNvIHdlCgkgIHNob3VsZCBwYXJzZSB0aGlzIHRvby4gRml4ZXMgYnVnICM1NzA0MzUuCgoyMDA5LTAyLTAzIDIyOjM0OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDItMDMgMTc6MTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIEZpeCBhdWRpb2VjaG8gdW5pdCB0ZXN0IG9uIDMyIGJpdCBzeXN0ZW1zCgkgIENhc3QgdGhlIG5ldyB2YWx1ZSBmb3IgdGhlICJkZWxheSIgcHJvcGVydHkgdG8gR3N0Q2xvY2tUaW1lLgoJICBJbnRlZ2VycyB3aXRob3V0IHR5cGUgYXJlIHBhc3NlZCB0byB2YXJhcmcgZnVuY3Rpb25zIHdpdGgKCSAgYW4gaW50ZWdlciB0eXBlIHRoYXQgY2FuIGhvbGQgYSBwb2ludGVyLgoKMjAwOS0wMi0wMyAxNDowOToyNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBEb24ndCByZXNldCBmcmVxdWVuY3kgYmFuZHMgZnJvbSB1c2VyIHNldHRpbmdzLiBGaXhlcyAjNTcwMzQzLgoJICBNb3ZlIHJlYWxsb2NhdGluZyB0aGUgaGlzdG9yeSBidWZmZXIgb3V0IG9mIF9jb21wdXRlX2ZyZXF1ZW5jaWVzKCkgYW5kIGNhbGwgdGhlCgkgIHJpZ2h0IGZ1bmN0aW9uIGFzIG5lZWRlZC4gQWRkIHNvbWUgbG9nZ2luZyBhbmQgdHdlYWsgdGhlIGZvcm1hdHRpbmcgb2YgZXhpc3RpbmcKCSAgbG9nZ2luZy4gU2ltcGxpZnkgc2V0dGluZyBuZWVkX25ld19jb2VmZmljaWVudHMgd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzLgoKMjAwOS0wMi0wMyAxMTo1MjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgVXNlIGd1aW50NjQgaW5zdGVhZCBvZiBndWludCBmb3Igc3RvcmluZyBndWludDY0CgoyMDA5LTAyLTAyIDE4OjM3OjM1ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXNlIGNvcnJlY3QgZmxhZyBmb3IgdGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24KCSAgRml4ZXMgYnVnICM1NTIxNDAuCgoyMDA5LTAyLTAyIDEzOjA4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBmaXggY29tcGlsZXIgd2FybmluZ3MgZHVlIHRvIHVudXNlZCByZXR1cm4gdmFsdWVzIG9mIHNjYW5mLgoKMjAwOS0wMS0zMSAxMTowODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMS0zMCAyMjoyNDoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCByZWxlYXNlaW5mbyB3aXRoIG9ubGluZSB1cmwuCgoyMDA5LTAxLTMwIDE4OjA0OjExICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIHNvbWUgY29tcGlsZSBmbGFncwoKMjAwOS0wMS0zMCAxNzozNTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb24ndCB1c2UgR2xpYiAyLjE2IGZ1bmN0aW9uIGdfc3RyY21wMC4KCjIwMDktMDEtMzAgMTc6MzQ6NDUgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMS0zMCAxNzoyNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggRm9ydGUgY29tcGlsZXIgd2FybmluZ3MuCgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLiBEb24ndCBoYXZlIGFuIHVucmVhY2hhYmxlIHN0YXRlbWVudC4KCjIwMDktMDEtMzAgMTc6Mjk6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQnVtcCBjb21tb24KCjIwMDktMDEtMjYgMTA6MzM6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJlbW92ZSB1c2VsZXNzIHByb2Nlc3NpbmcgZm9yIG5vbi1yYXcgZm9ybWF0cwoKMjAwOS0wMS0zMCAxNTozNDozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlICdSZXF1aXJlbWVudCcgYW5kICdFbmNvZGVyJyB0YWdzCgoyMDA5LTAxLTMwIDE1OjMzOjE5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNb2RpZnkgcHJpdmF0ZS10YWcgbmFtZSBmb3JtYXR0ZXIgc28gdGhhdCBpdCBkb2Vzbid0IGdvIG1hZCBhdCBmb3VyY2Mgc3RhcnRpbmcgd2l0aCAnKGMpJy4KCjIwMDktMDEtMzAgMTQ6NDA6NTEgKzAxMDAgIEJyaWplc2ggU2luZ2ggPGJyaWplc2gua3NpbmdoQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICBGaXggY29tcGFyaXNvbiBvZiB0aGUgdHVuZXIgbm9ybXMKCSAgVGhlIFY0TDIgdHVuZXIgbm9ybXMgdGhhdCBhIGRldmljZSBzdXBwb3J0cyBjb3VsZAoJICBiZSBhIHN1YnNldCBvZiBzb21lIG5vcm0gKGUuZy4gTlRTQyBpbnN0ZWFkIG9mIE5UU0NfTSkuCgkgIFRoZSBjb21wYXJpc29uIHNob3VsZCBiZSBkb25lIGJ5ICYgaW5zdGVhZCBvZiA9PS4KCSAgU2VlIGh0dHA6Ly93d3cubGludXh0di5vcmcvZG93bmxvYWRzL3ZpZGVvNGxpbnV4L0FQSS9WNEwyX0FQSS9zcGVjLXNpbmdsZS92NGwyLmh0bWwjU1RBTkRBUkQKCSAgRml4ZXMgYnVnICM1Njk4MjAuCgoyMDA5LTAxLTMwIDA4OjUzOjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBVc2UgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBjbGllbnQtc2lkZSBob29rCgoyMDA5LTAxLTI5IDE0OjA4OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgT25seSB1bnJlZiB0aGUgcGVlciB3aGVuIHRoZXJlIGlzIG9uZS4KCjIwMDktMDEtMjkgMTE6MDc6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgUmVtb3ZlIHZlcnNpb24gbnVtYmVycyBmcm9tIGEgZmV3IGdzdC1sYXVuY2ggZXhhbXBsZXMuCgkgIFRoZSBtYWpvcml0eSBvZiB0aGUgZXhhbXBsZXMgZG9lIG5vdCB1c2UgLTAuMTAgYW5kIHRoaXMgd2lsbCBhbHNvIGhlbHAgdXMgdG8gbWFpbnRhaW4gdGhlIGRvY3MuCgoyMDA5LTAxLTI5IDEwOjEwOjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcGx1Z2lucyAoc3lzKS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIEZpeCBleGFtcGxlcy4KCjIwMDktMDEtMjkgMDk6NDU6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIEFkZCAnIHRvIGZyYW1lcmF0ZSBhcmd1bWVudCBhbmQgcmVtb3ZlIHRoZSB3b3JkICdzaW1wbGUnIGFzIGFsbCBvdXIgcGlwZWxpbmVzIGFyZSBhcHBhcmVudGx5IHNpbXBsZS4KCjIwMDktMDEtMjkgMDk6NDI6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBBZGQgZXhhbXBsZXMgZm9yIHRoZSBqcGVnIGVsZW1lbnRzLgoKMjAwOS0wMS0yOCAyMTo0MDoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBGaXggY29tcGlsZSBlcnJvciBpbiB0aGUgbGFzdCBjb21taXQKCjIwMDktMDEtMjggMjA6MzQ6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIFJld3JpdGUgdGhlIHB1bHNlIHBsdWdpbiwgY29uZGl0aW9uYWxseSBlbmFibGluZyBuZXcgYmVoYXZpb3VyIHdpdGggbmV3ZXIgcHVsc2VhdWRpby4KCSAgRml4ZXM6ICM1Njc3OTQKCSAgKiBIb29rIHB1bHNlc2luaydzIHZvbHVtZSBwcm9wZXJ0eSB1cCB3aXRoIHRoZSBzdHJlYW0gdm9sdW1lIC0tIG5vdCB0aGUKCSAgc2luayB2b2x1bWUgaW4gUEEuCgkgICogUmVhZCB0aGUgZGV2aWNlIGRlc2NyaXB0aW9uIGRpcmVjdGx5IGZyb20gdGhlIHNpbmsgaW5zdGVhZCBvZiBnb2luZwoJICB2aWEgdGhlIG1peGVyLgoJICAqIFByb3Blcmx5IGltcGxlbWVudCBfcmVzZXQoKSBtZXRob2RzIGZvciBib3RoIHNpbmsgYW5kIHNvdXJjZSB0byBhdm9pZAoJICBkZWFkbG9ja3Mgd2hlbiBzaHV0dGluZyBkb3duIGEgcGlwZWxpbmUuCgkgICogUmVwbGFjZSBhbGwgc2ltcGxlIHBhX3RocmVhZGVkX21haW5sb29wX3dhaXQoKSBieSBwcm9wZXIgbG9vcHMgdG8KCSAgZ3VhcmFudGVlIHRoYXQgd2Ugd2FpdCBmb3IgdGhlIHJpZ2h0IGV2ZW50IGluIGNhc2UgbXVsdGlwbGUgZXZlbnRzIGFyZQoJICBmaXJlZC4gIFdoaWxlIHRoaXMgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSBpbiBtYW55IGNhc2VzIGl0CgkgIGNlcnRhaW5seSBpcyBtb3JlIGNvcnJlY3QgYW5kIG1ha2VzIG1lIHNsZWVwIGJldHRlciBhdCBuaWdodC4KCSAgKiBSZXBsYWNlIENIRUNLX0RFQURfR09UTyBtYWNyb3Mgd2l0aCBwcm9wZXIgZnVuY3Rpb25zCgkgICogRXh0ZW5kIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkIGNoYW5uZWxzIHRvIDMyIHNpbmNlIHRoYXQgaXMgdGhlIGFjdHVhbAoJICBsaW1pdCBpbiBQQS4KCSAgKiBHZXQgcmlkIG9mIF9kaXNwb3NlKCkgbWV0aG9kcyBzaW5jZSB3ZSBkb24ndCBuZWVkIHRoZW0uCgkgICogSW5jcmVhc2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSB1cHBlciBsaW1pdCBvZiB0aGUgc2luayB0byAxMDAwLgoJICAqIFJlc2V0IGZ1bmN0aW9uIHBvaW50ZXJzIGFmdGVyIHdlIGRpc2Nvbm5lY3QgYSBzdHJlYW0vY29udGV4dC4gQmV0dGVyCgkgIGZpeCBmb3IgYnVnIDU1Njk4Ni4KCSAgKiBSZXNldCB0aGUgc3RhdGUgb2YgdGhlIGVsZW1lbnQgcHJvcGVybHkgaWYgb3Blbi9wcmVwYXJlIGZhaWxzCgkgICogQ29yayB0aGUgUEEgc3RyZWFtIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHBhdXNlZC4gVGhpcyBhbGxvd3MgdGhlIFBBCgkgICogZGFlbW9uIHRvCgkgIGNsb3NlIGF1ZGlvIGRldmljZSBvbiBwYXVzZSBhbmQgdGh1cyBzYXZlIGEgYml0IG9mIHBvd2VyLgoJICAqIFNldCBQQSBzdHJlYW0gcHJvcGVydGllcyBiYXNlZCBvbiBHU1QgdGFncyBzdWNoIGFzIEdTVF9UQUdfVElUTEUsCgkgIEdTVF9UQUdfQVJUSVNULCBhbmQgc28gb24uCgkgIFNpZ25lZC1vZmYtYnk6IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCjIwMDktMDEtMjggMTc6NDY6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9oYWwvaGFsLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGx1Z2lucyB3aXRoIGRlcHMgKGV4dCkuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBEb2N1bWVudCBhIGZldyB0cml2aWFsIGNhc2VzLiBLZWVwIGxpc3RzIGluIHNlY3Rpb24gZmlsZSBhbmQgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQuIEZpeCB3YXJuaW5ncyB0aGF0IGd0ay1kb2MgcG9pbnRzIG91dC4KCjIwMDktMDEtMjggMTU6NTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5oOgoJICBMaW1pdCB0aGUgZGVsYXkgYnkgYSBuZXcgbWF4LWRlbGF5IHByb3BlcnR5CgkgIEludHJvZHVjZSBhIG5ldyBtYXgtZGVsYXkgcHJvcGVydHkgdGhhdCBjYW4gb25seQoJICBiZSBzZXQgYmVmb3JlIGdvaW5nIHRvIFBMQVlJTkcgb3IgUEFVU0VELiBUaGlzCgkgIGlzIHVzZWQgdG8gbGltaXQgdGhlIG1heGltdW0gZGVsYXkgYW5kIGlzIHNldAoJICB0byB0aGUgY3VycmVudCBkZWxheSBieSBkZWZhdWx0LgoJICBVc2luZyB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YQoJICBpbiBvdXIgaW50ZXJuYWwgcmluZ2J1ZmZlciBmb3IgdGhlIGVjaG8uIFdpdGggZHluYW1pYwoJICByZWFsbG9jYXRpb24gb2YgdGhlIHJpbmdidWZmZXIgYXMgdXNlZCBiZWZvcmUgc2lsZW5jZQoJICBjb3VsZCd2ZSBiZWVuIHVzZWQgYXMgdGhlIGVjaG8gZGlyZWN0bHkgYWZ0ZXIgc2V0dGluZwoJICBhIG5ldyBkZWxheS4KCjIwMDktMDEtMjggMTE6NTg6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJldmVydCBwcmV2aW91cyBib2d1cyBjb21taXQKCjIwMDktMDEtMjggMTI6Mjk6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbHVnaW5zIHdpdGggbm8gZGVwcyAoZ3N0KS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIERvY3VtZW50IGEgZmV3IHRyaXZpYWwgY2FzZXMuIEtlZXAgbGlzdHMgaW4gc2VjdGlvbiBmaWxlIGFuZCBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0gYWxwaGFiZXRpY2FsbHkgb3JkZXJlZC4KCjIwMDktMDEtMjcgMjM6MDk6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEZpeCBleGFtcGxlIGFwcHMgYnkgZHJhd2luZyBpbiB0aGUgbWFpbi1sb29wLgoKMjAwOS0wMS0yNyAyMDozMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBhc3BlY3RyYXRpbyBjcm9wIHVuaXQgdGVzdCBpbiB1bmluc3RhbGxlZCBlbnZpcm9ubWVudC4KCjIwMDktMDEtMjcgMjA6MzA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgTWFrZSBnaXQgaWdub3JlIGJhY2t1cCBmaWxlcwoKMjAwOS0wMS0yNiAxNjoxNDo0NyArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIFBsdWcgYSBtZW1vcnkgbGVhayBpbiBhIGRlYnVnIG1lc3NhZ2UuCgoyMDA5LTAxLTIyIDE1OjU5OjQwICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgQ29ycmVjdCByZXR1cm4gdmFsdWUgZnJvbSBnc3RfdWRwX2dldF9hZGRyKCkgd2hlbiBubyBrbm93biBmYW1pbHkgaXMgZm91bmQuCgoyMDA5LTAxLTI2IDA5OjUxOjM2ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXNlIGxpYnNvdXAtZ25vbWUgZm9yIHByb3h5IGNvbmZpZ3VyYXRpb24gaWYgYXZhaWxhYmxlCgkgIElmIGxpYnNvdXAtZ25vbWUgaXMgZm91bmQgdXNlIHRoaXMgYXMgaXQgd2lsbCBnaXZlIHVzCgkgIHRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uLiBPdGhlcndpc2UgdXNlIG5vcm1hbAoJICBsaWJzb3VwLgoJICBUaGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbiB3aWxsIG9ubHkgYmUgdXNlZCBpZgoJICB0aGUgcHJveHkgcHJvcGVydGllcyBhcmUgbm90IHNldCBvbiBzb3VwaHR0cHNyYwoJICBhbmQgaWYgdGhlIGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90CgkgIHNldC4KCSAgRml4ZXMgYnVnICM1NTIxNDAuCgoyMDA5LTAxLTI1IDE5OjI2OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgQWRkIGEgZmV3IG1vcmUgdmlkZW8gZm91cmNjJ3MKCjIwMDktMDEtMjQgMTQ6NDg6MDAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGFzcGVjdHJhdGlvY3JvcCBGaXhlcyBidWcgIzUyNzk1MQoJICBBZGQgdW5pdCB0ZXN0IGZvciBhc3BlY3RyYXRpb2Nyb3AgYW5kIHJlZmFjdG9yIHRoaXMgZWxlbWVudC4gQWRkZWQKCSAgZmluYWxpemUgZnVuY3Rpb24gdG8gY2xlYW51cCBsZWFraW5nIG11dGV4LgoKMjAwOS0wMS0yNSAxNDozNDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgSWdub3JlIGNoZWNrIGJpbmFyaWVzCgoyMDA5LTAxLTI0IDE4OjI4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBTYXZlIHNvbWUgYWxsb2NhdGlvbnMgaWYgdGhlIGVjaG8gZGVsYXkgaXMgaW5jcmVhc2VkIG9mdGVuCgkgIFNhdmUgc29tZSBhbGxvY2F0aW9ucyBpZiB0aGUgZWNobyBkZWxheSBpcyBpbmNyZWFzZWQgb2Z0ZW4KCSAgZHVyaW5nIHBsYXliYWNrIGJ5IGFsd2F5cyBhbGxvY2F0aW5nIGVub3VnaCBtZW1vcnkgdG8gaG9sZAoJICBkYXRhIHVwIHRvIHRoZSBuZXh0IGNvbXBsZXRlIHNlY29uZCwgaS5lLiBpbiB0aGUgd29yc3QgY2FzZQoJICBhbGxvY2F0ZSBtZW1vcnkgZm9yIG9uZSBhZGRpdGlvbmFsIHNlY29uZC4KCjIwMDktMDEtMjQgMTQ6MjU6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHBsdWdpbiB2ZXJzaW9uIGluIGRvY3VtZW50YXRpb24KCjIwMDktMDEtMjMgMjE6NDc6NDAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBGaXggbGluayBpbiBkb2N1bWVudGF0aW9uIG9mIHZpZGVvY3JvcCBlbGVtZW50CgoyMDA5LTAxLTIzIDIxOjQ2OjEzICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGFzcGVjdHJhdGlvY3JvcAoKMjAwOS0wMS0yNCAxMzoyMTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggZm9yIHRoZSBuZXcgZGV2ZWxvcG1lbnQgY3ljbGUKCjIwMDktMDEtMjQgMTE6NTM6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIEFkZCBub3RlIHRoYXQgYXVkaW9lY2hvJ3MgcmV2ZXJiIHNvdW5kcyBtZXRhbGxpYwoJICBBZGQgYSBub3RlIHRvIHRoZSBkb2NzIHRoYXQgYXVkaW9lY2hvJ3MgcmV2ZXJiIHdpbGwKCSAgc291bmQgbWV0YWxsaWMuIFRoaXMgaGFwcGVucyBiZWNhdXNlIGZvciBhIHJlYWwKCSAgcmV2ZXJiIGZpbHRlciBhZGRpdGlvbmFsIGZpbHRlcmluZyBpcyBuZWNlc3NhcnkuCgkgIEFsc28gbm90ZSB3aGljaCB2YWx1ZXMgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZWxheQoJICBwcm9wZXJ0eSB0byBnZXQgYW4gZWNobyBlZmZlY3QuCgoyMDA5LTAxLTIzIDIzOjM4OjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC8uZ2l0aWdub3JlOgoJICBNb3JlIGVudHJpZXMgZm9yIHRoZSBnaXRpZ25vcmVzCgoyMDA5LTAxLTIzIDIwOjM2OjI3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHNraXAgdmlkZW8veC1yYXctZ3JheSBpbiB2aWRlb2Nyb3AgdW5pdCB0ZXN0CgkgIEEgcmVjZW50IGNvbW1pdCBhZGRlZCB2aWRlby94LXJhdy1ncmF5IHN1cHBvcnQgdG8gdmlkZW9jcm9wLiBIb3dldmVyCgkgIHRoaXMgbGV0cyB0aGUgdmlkZW9jcm9wIHVuaXQgdGVzdCBmYWlsLiBCZWNhdXNlIHZpZGVvdGVzdHNyYyBjYW4ndAoJICBnZW5lcmF0ZSB0aGlzIGZvcm1hdC4KCjIwMDktMDEtMjMgMTU6Mzk6NDYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBBZGQgYXNwZWN0cmF0aW9jcm9wIGVsZW1lbnQuIEZpeGVzIGJ1ZyAjNTI3OTUxCgkgIEFkZCBuZXcgYXNwZWN0cmF0aW9jcm9wIGVsZW1lbnQgdGhhdCBjcm9wcyB0aGUgdmlkZW8KCSAgdG8gYSBzcGVjaWZpZWQgYXNwZWN0IHJhdGlvIHVzaW5nIHZpZGVvY3JvcC4KCjIwMDktMDEtMjMgMTA6NDk6MjggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBGaXggbmF2aWdhdGlvbiBldmVudCBmb3J3YXJkaW5nIHdoaWxlIGNyb3BwaW5nLiBGaXhlcyBidWcgIzU2Nzk5Mi4KCSAgRml4IHRoZSBuYXZpZ2F0aW9uIGV2ZW50IGZvcndhcmRpbmcgd2hpbGUgY3JvcHBpbmcgYnkgYWRqdXN0aW5nCgkgIHRoZSBtb3VzZSBwb3NpdGlvbiBieSB0aGUgYW1vdW50IG9mIGNyb3BwZWQgcGl4ZWxzLgoKMjAwOS0wMS0yMyAxMDowNDozOSArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBGaXggbGlua2luZyBvbiBTb2xhcmlzLiBGaXhlcyBidWcgIzU2ODgwOS4KCSAgQ2hlY2sgZm9yIHRoZSBzb2NrZXQgbGlicmFyeSB3aGljaCBpcyBuZWVkZWQKCSAgZm9yIHNvY2tldCgpIG9uIFNvbGFyaXMuCgoyMDA5LTAxLTIyIDIyOjQxOjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgdmVyc2lvbiBudW1iZXIgYWdhaW4gLT4gMC4xMC4xMy4xCgoyMDA5LTAxLTIyIDIyOjQxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCByZWxlYXNlcyAwLjEwLjEyIGFuZCAwLjEwLjEzIHRvIHRoZSBkb2FwIGZpbGUKCjIwMDktMDEtMjIgMTg6MDg6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzbmFwc2hvdC4KCjIwMDktMDEtMjIgMTQ6MjU6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsIC0+IDAuMTAuMTIuMQoKMjAwOS0wMS0yMiAwMToyOTo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMTIKCjIwMDktMDEtMjEgMTc6MjI6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBGaXggZm9yIHNlY3VyaXR5IGFkdmlzb3J5IFRLQURWMjAwOS0weHgKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3dzIHdoaWxlIHJlYWRpbmcgcXVpY2t0aW1lIGhlYWRlcnMuCgkgIFNlY3VyaXR5IGlzc3VlIG5vdGljZWQgYnkgVG9iaWFzIEtsZWluLgoKMjAwOS0wMS0yMSAxMjo1Njo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBGaXggdHlwbyBhbmQgc21hbGwgZmxhdyBpbiBmbGFjIGRlY29kZXIKCjIwMDktMDEtMjIgMTM6NDk6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgRml4IHByZS1jb21taXQgaG9vawoKMjAwOS0wMS0yMiAxMDo0MDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJICBSZW5hbWUgYXVkaW9yZXZlcmIgdG8gYXVkaW9lY2hvLiBGaXhlcyBidWcgIzU2ODM5NS4KCSAgVGhlIGVsZW1lbnQgY2FuIGFkZCBhbiBlY2hvIGFuZCBhIHNpbXBsZSByZXZlcmIgZWZmZWN0IHRvCgkgIGFuIGF1ZGlvIHN0cmVhbSBidXQgZm9yIGEgcmVhbCByZXZlcmIgZmlsdGVyIGl0IHdvdWxkIG5lZWQKCSAgc29tZSBhZGRpdGlvbmFsIGZpbHRlcmluZyB0byBwcmV2ZW50IGEgbWV0YWxsaWMtc291bmRpbmcKCSAgcmVzdWx0LgoKMjAwOS0wMS0yMiAxMjoyMToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgRnJlZSBsZWZ0b3ZlciB1ZHAgcG9ydHMgKGlmIGFueSkgd2hlbiBhIHNldHVwIHJlcXVlc3QgZmFpbHMuCgoyMDA5LTAxLTIyIDA2OjA1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBJbnN0YWxsIGFuZCB1c2UgcHJlLWNvbW1pdCBpbmRlbnRhdGlvbiBob29rIGZyb20gY29tbW9uCgoyMDA5LTAxLTIxIDEzOjI1OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBzb21lIGltcHJvdmVkIGRlYnVnIGxpbmVzLgoKMjAwOS0wMS0yMSAwNDozMTo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2ggOiBVc2UgZ2l0IHN1Ym1vZHVsZQoKMjAwOS0wMS0yMCAxNTozMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogRml4IGVycm9yIGNvZGUgKHRoZSBtZXNzYWdlIHN0cmluZyBhbHNvIG5lZWRzIGxvdmUsIGJ1dCBub3QgdG9kYXkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCk6CgkgIEZpeCBlcnJvciBjb2RlICh0aGUgbWVzc2FnZSBzdHJpbmcgYWxzbyBuZWVkcyBsb3ZlLCBidXQgbm90IHRvZGF5KS4KCjIwMDktMDEtMTkgMTE6NDQ6MzYgKzAwMDAgIEx1b3RhbyBGdSA8bC5mdUBwZW5ndXRyb25peC5kZT4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEFkZCA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0IHRvIHZpZGVvY3JvcCBwbHVnaW4uIEZpeGVzICM1Njc5NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2Fwcyk6CgkgIEFkZCA4Yml0IGdyYXlzY2FsZSBzdXBwb3J0IHRvIHZpZGVvY3JvcCBwbHVnaW4uIEZpeGVzICM1Njc5NTIuCgoyMDA5LTAxLTE5IDExOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGluc3RhbmNlIGluaXQgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IChnc3RfYXVkaW9fcmV2ZXJiX2luaXQpOgoJICBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGluc3RhbmNlIGluaXQgZnVuY3Rpb24uCgoyMDA5LTAxLTE5IDExOjE5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgYW4gZWNoby9yZXZlcmIgZmlsdGVyIHRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgd2l0aCBjb25maWd1cmFibGUgZWNobyBkZWxheSwgaW50ZW5zaXR5IGFuZCBmZWVkYmFjay4gRml4ZXMgYnVnICM1NjcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogKGdzdF9hdWRpb19yZXZlcmJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcmV2ZXJiX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9maW5hbGl6ZSksIChnc3RfYXVkaW9fcmV2ZXJiX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcmV2ZXJiX3NldHVwKSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfc3RvcCksIChnc3RfYXVkaW9fcmV2ZXJiX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JldmVyYi5jOiAoc2V0dXBfcmV2ZXJiKSwKCSAgKGNsZWFudXBfcmV2ZXJiKSwgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvcmV2ZXJiX3N1aXRlKToKCSAgQWRkIGFuIGVjaG8vcmV2ZXJiIGZpbHRlciB0byB0aGUgYXVkaW9meCBwbHVnaW4sIHdpdGggY29uZmlndXJhYmxlCgkgIGVjaG8gZGVsYXksIGludGVuc2l0eSBhbmQgZmVlZGJhY2suIEZpeGVzIGJ1ZyAjNTY3ODc0LgoKMjAwOS0wMS0xOSAxMDoxMzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEltcGxlbWVudCBhIHNpbXBsZSBjb21wZW5zYXRpb24gYWxnb3JpdGhtIGZvciByb3VuZGluZyBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3Jlc2V0X3N0YXRlKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbXBsZW1lbnQgYSBzaW1wbGUgY29tcGVuc2F0aW9uIGFsZ29yaXRobSBmb3Igcm91bmRpbmcgZXJyb3JzLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBhIHNwZWN0cnVtIG1lc3NhZ2UgaXMgcG9zdGVkIG9uIHRoZSBidXMKCSAgZXZlcnkgaW50ZXJ2YWwgbmFub3NlY29uZHMuIEZpeGVzIGJ1ZyAjNTY3OTU1LgoKMjAwOS0wMS0xNSAyMToxNjo0NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOiBMaW5rIGFnYWluc3QgQ29yZVNlcnZpY2VzIChuZWVkZWQgZm9yIG9zeCAxMC40KSBhbmQgZml4IHVwIHRoZSBsaW5rZXIgZmxhZ3MuIEZpeGVzICM1Njc4NTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IENvcmVTZXJ2aWNlcyAobmVlZGVkIGZvciBvc3ggMTAuNCkgYW5kIGZpeCB1cCB0aGUgbGlua2VyCgkgIGZsYWdzLiBGaXhlcyAjNTY3ODUzLgoKMjAwOS0wMS0xNSAxNDo1MzoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2F0Y2ggaW52YWxpZCBhbmQgY29tbW9ubHkgd3JvbmcgcGxheWJhY2sgcmF0ZXMgaW4gdGhlIGVsc3QgYXRvbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpOgoJICBDYXRjaCBpbnZhbGlkIGFuZCBjb21tb25seSB3cm9uZyBwbGF5YmFjayByYXRlcyBpbiB0aGUgZWxzdCBhdG9tcy4KCSAgRml4ZXMgIzU2NzgwMC4KCjIwMDktMDEtMTUgMTE6NDA6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBEb24ndCBjYWxsIGdzdF9mZnRfZjMyX2ZyZWUoKSB3aXRoIE5VTEwgdG8gcHJldmVudCBhIGNyYXNoLiBGaXhlcyBidWcgIzU2NzY0Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpOgoJICBEb24ndCBjYWxsIGdzdF9mZnRfZjMyX2ZyZWUoKSB3aXRoIE5VTEwgdG8gcHJldmVudCBhCgkgIGNyYXNoLiBGaXhlcyBidWcgIzU2NzY0Mi4KCjIwMDktMDEtMTQgMTU6NDQ6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBVc2UgY29ycmVjdCB0eXBlcyBmb3IgZnJhbWUvZmZ0IGNvdW50ZXJzIGFuZCBzb21lIG1pbm9yIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBjb3JyZWN0IHR5cGVzIGZvciBmcmFtZS9mZnQgY291bnRlcnMgYW5kIHNvbWUgbWlub3IKCSAgY2xlYW51cC4KCjIwMDktMDEtMTQgMTU6Mzc6MDcgKzAwMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IEZpeCByZWZjb3VudCBsb29wLCByZXN1bHRpbmcgaW4gYSB0aHJlYWQgbGVhay4gRml4ZXMgYnVnICM1Njc3NDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0IGF0IHBvZXR0ZXJpbmcgZG90IG5ldD4KCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwKCSAgKGdzdF9wdWxzZXByb2JlX2ZyZWUpOgoJICBGaXggcmVmY291bnQgbG9vcCwgcmVzdWx0aW5nIGluIGEgdGhyZWFkIGxlYWsuIEZpeGVzIGJ1ZyAjNTY3NzQ2LgoKMjAwOS0wMS0xNCAxMDo0Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtLzogUG9zdCBhIHNwZWN0cnVtIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZXZlcnkgaW50ZXJ2YWwsIGV2ZW4gaWYgdGhlIGludGVydmFsIGlzIHNtYWxsIHRoYW4gdGhlIGxlbmd0aCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWN0cnVtX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9zZXR1cCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9zdCBhIHNwZWN0cnVtIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZXZlcnkgaW50ZXJ2YWwsIGV2ZW4KCSAgaWYgdGhlIGludGVydmFsIGlzIHNtYWxsIHRoYW4gdGhlIGxlbmd0aCBvZiB0aGUgRkZULgoJICBGaXhlcyBidWcgIzU2NzY0Mi4KCSAgTWFqb3IgY2xlYW51cCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudC4KCjIwMDktMDEtMTMgMTk6MjM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIgZWxlbWVudHMgd2hpY2ggYWxsb3cgZ2VuZXJpYyBJSVIvRklSIGZpbHRlcnMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgcHJvdmlkaW5nIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzogKGdzdF9hdWRpb19maXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3VwZGF0ZV9rZXJuZWwpLCAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9zZXR1cCksIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOiAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfdXBkYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9pbml0KSwgKGdzdF9hdWRpb19paXJfZmlsdGVyX3NldHVwKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmg6CgkgIEFkZCBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIgZWxlbWVudHMgd2hpY2ggYWxsb3cKCSAgZ2VuZXJpYyBJSVIvRklSIGZpbHRlcnMgdG8gYmUgaW1wbGVtZW50ZWQgYnkgcHJvdmlkaW5nIHRoZQoJICBmaWx0ZXIgY29lZmZpY2llbnRzLiBGaXhlcyBidWcgIzU2NzU3Ny4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgYXVkaW9paXJmaWx0ZXIgYW5kIGF1ZGlvZmlyZmlsdGVyCgkgIGVsZW1lbnRzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChvbl9oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvZmlyZmlsdGVyX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2lpcmZpbHRlci5jOiAob25fbWVzc2FnZSksCgkgIChvbl9yYXRlX2NoYW5nZWQpLCAob25faGFuZG9mZiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2lpcmZpbHRlcl9zdWl0ZSk6CgkgICogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2ZpcmZpbHRlci1leGFtcGxlLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChtYWluKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgYW5kIGV4YW1wbGUgYXBwbGljYXRpb25zIGZvciB0aGUgdHdvIGZpbHRlcgoJICBlbGVtZW50cy4KCjIwMDktMDEtMTMgMTk6MDk6MTkgKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3VpbnQ2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGZvciBndWludDY0LgoKMjAwOS0wMS0xMyAxOTowNDowOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOiBvc3hhdWRpbyBwbHVnaW4gbm93IHJlcXVpcmVzIEF1ZGlvVW5pdCBmcmFtZXdvcmssIHNvIGxpbmsgYWdhaW5zdCB0aGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIG9zeGF1ZGlvIHBsdWdpbiBub3cgcmVxdWlyZXMgQXVkaW9Vbml0IGZyYW1ld29yaywgc28gbGluayBhZ2FpbnN0IHRoYXQuCgkgIENsZWFuIHVwIHRhYnMgdiBzcGFjZXMgd2hpbGUgSSdtIHRoZXJlLgoKMjAwOS0wMS0xMyAxNzo0OTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IEFkZCBzb21lIGV4YW1wbGUgY29kZSBmb3IgcHJpbnRpbmcgdGhlIFJUUCBtYW5hZ2VyIHN0YXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiAocHJpbnRfc291cmNlX3N0YXRzKSwKCSAgKHByaW50X3N0YXRzKSwgKG1haW4pOgoJICBBZGQgc29tZSBleGFtcGxlIGNvZGUgZm9yIHByaW50aW5nIHRoZSBSVFAgbWFuYWdlciBzdGF0cy4KCjIwMDktMDEtMTMgMDg6MjQ6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogVXNlIGEgY3VzdG9tIG11dGV4IGZvciBwcm90ZWN0aW5nIHRoZSBpbnN0YW5jZSBmaWVsZHMgaW5zdGVhZCBvZiB0aGUgR3N0T2JqZWN0IGxvY2suIFVzaW5nIHRoZSBsYXR0ZXIgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6IChnc3RfYXVkaW9fY2hlYl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9pbml0KSwgKGdzdF9hdWRpb19jaGViX2JhbmRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOiAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9pbml0KSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOiAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOiAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9pbml0KSwgKGdzdF9hdWRpb193c2luY2xpbWl0X2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkgIFVzZSBhIGN1c3RvbSBtdXRleCBmb3IgcHJvdGVjdGluZyB0aGUgaW5zdGFuY2UgZmllbGRzIGluc3RlYWQgb2YKCSAgdGhlIEdzdE9iamVjdCBsb2NrLiBVc2luZyB0aGUgbGF0dGVyIGNhbiBsZWFkIHRvIGRlYWRsb2NrcywgZXNwZWNpYWxseQoJICB3aXRoIHRoZSBGSVIgZmlsdGVycyB3aGVuIHVwZGF0aW5nIHRoZSBsYXRlbmN5LgoKMjAwOS0wMS0xMSAxOTowMzozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBnZW5lcmljIGF1ZGlvIEZJUiBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9wdXNoX3Jlc2lkdWUpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zZXR1cCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3RyYW5zZm9ybSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3N0YXJ0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc3RvcCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3F1ZXJ5KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcXVlcnlfdHlwZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc2V0X2tlcm5lbCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBnZW5lcmljIGF1ZGlvIEZJUiBmaWx0ZXJzLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIChnc3RfZ3N0X2F1ZGlvX3dzaW5jYmFuZF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9nc3RfYXVkaW9fd3NpbmNiYW5kX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfYnVpbGRfa2VybmVsKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfc2V0dXApLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2J1aWxkX2tlcm5lbCksIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXR1cCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgdGhpcyBuZXcgYmFzZSBjbGFzcyBmb3IgYXVkaW93c2luY2JhbmQgYW5kIGF1ZGlvd3NpbmNsaW1pdC4KCSAgQWxzbyBjbGVhbnVwIGJvdGggZWxlbWVudHMuCgoyMDA5LTAxLTA4IDE4OjE3OjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEluIHB1c2ggbW9kZSwgZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgYmVmb3JlIHdlJ3ZlIGNyZWF0ZWQgYW55IHNyY3BhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgSW4gcHVzaCBtb2RlLCBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBiZWZvcmUgd2UndmUgY3JlYXRlZCBhbnkgc3JjcGFkcy4KCSAgSGFuZGxlIChpbiBwdWxsIG1vZGUpIHNvbWUgZmlsZXMgdGhhdCBoYXZlIGEgdHJ1bmNhdGVkIG1vb3YgYXRvbSB3aGVyZQoJICB0aGUgZmluYWwgc3ViLWF0b20gaXMgYSAnZnJlZScgYXRvbSBhbmQgdGhlIGNvbnRlbnRzIG9mIHRoYXQgYXJlIG5vdAoJICBwcmVzZW50IGluIHRoZSBmaWxlLgoKMjAwOS0wMS0wOCAxNTo1Njo0NiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvOiBTb21lIGNsZWFudXBzLCByZWZhY3RvcmluZyBhbmQgbWlub3IgZW5oYW5jZW1lbnRzIGluIGNhcHMgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBTb21lIGNsZWFudXBzLCByZWZhY3RvcmluZyBhbmQgbWlub3IgZW5oYW5jZW1lbnRzIGluIGNhcHMgaGFuZGxpbmcuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksIChnc3RfbWF0cm9za2FfcGFkX3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9wYWRfZnJlZSksIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6ICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgT25seSByZW1vdmUsIHJlbGVhc2Ugb3IgcmVzZXQgd2hhdCBpcyBhcHByb3ByaWF0ZSB1cG9uIHN0YXRlIGNoYW5nZS4KCjIwMDktMDEtMDcgMjA6Mzg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay4qOiBVc2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZSBjdXJyZW50IHN0cmVhbSBwb2ludGVyLCBhbmQgaWdub3JlIGNhbGxiYWNrcyBmb3Igc3RyZWFtIG9iamVjdHMgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIFVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlIGN1cnJlbnQgc3RyZWFtIHBvaW50ZXIsIGFuZCBpZ25vcmUKCSAgY2FsbGJhY2tzIGZvciBzdHJlYW0gb2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBkZXN0cm95ZWQgYWxyZWFkeS4KCSAgRml4ZXMgcHJvYmxlbXMgd2l0aCB1bnByZXBhcmUvcHJlcGFyZSBjeWNsZXMgY2F1c2VkIGJ5IHRoZSBpbnB1dAoJICBjYXBzIGNoYW5naW5nLCB3aXRob3V0IHJlaW50cm9kdWNpbmcgYnVnICM1NTY5ODYuCgoyMDA5LTAxLTA3IDE2OjA5OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUmVtb3ZlICgpIGZyb20gdHJhbnNsYXRlYWJsZSBzdHJpbmcsIHNvIHRoYXQgaXQgbWFrZXMgbW9yZSBzZW5zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZW1vdmUgKCkgZnJvbSB0cmFuc2xhdGVhYmxlIHN0cmluZywgc28gdGhhdCBpdCBtYWtlcyBtb3JlIHNlbnNlLgoKMjAwOS0wMS0wNyAwOTo0MzoxMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBNaW5vciBmaXgvY2xlYW51cCBpbiBoZWFkZXIgZmllbGQgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKToKCSAgTWlub3IgZml4L2NsZWFudXAgaW4gaGVhZGVyIGZpZWxkIGNhbGN1bGF0aW9uLgoKMjAwOS0wMS0wNiAxNzo0ODoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IFJlbW92ZSBpbnRlcm5hbCB0YWdsaXN0IGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIFJlbW92ZSBpbnRlcm5hbCB0YWdsaXN0IGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMDktMDEtMDYgMTQ6NTA6MjkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogRW5zdXJlIGhlYWRlciBzaXplIGludmFyaWFuY2UgZHVyaW5nIHN1YnNlcXVlbnQgcmV3cml0ZSBieSB1c2luZyB0YWdzIHNuYXBzaG90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgRW5zdXJlIGhlYWRlciBzaXplIGludmFyaWFuY2UgZHVyaW5nIHN1YnNlcXVlbnQgcmV3cml0ZSBieSB1c2luZwoJICB0YWdzIHNuYXBzaG90LgoKMjAwOS0wMS0wNSAxNzozMToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBEb24ndCB3YWl0IGZvciB0aGUgcHVsc2UgbWFpbmxvb3Agd2hlbiBkZXN0cm95aW5nIHRoZSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9zdHJlYW0pOgoJICBEb24ndCB3YWl0IGZvciB0aGUgcHVsc2UgbWFpbmxvb3Agd2hlbiBkZXN0cm95aW5nIHRoZSBzdHJlYW0uCgkgIEZpeGVzIGEgZGVhZGxvY2sgd2hlbiB0aGUgcHVsc2VkYWVtb24gZ29lcyBhd2F5IHdoaWxlIHB1bHNlc2luawoJICBpcyBQTEFZSU5HLiBGaXhlcyBidWcgIzU1Njk4Ni4KCjIwMDktMDEtMDUgMTI6MzA6NDAgKzAwMDAgIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTY2NjE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNhc2NoYSBIYXVlciA8cyBkb3QgaGF1ZXIgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTY2NjE2LgoKMjAwOS0wMS0wNSAxMTo0MjowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IFN0cmVhbWxpbmUgdGFnIGhhbmRsaW5nIGFuZCBwYXNzIHVucGFyc2VkIHRhZ3MgYXMgYmluYXJ5IGJsb2IgaW4gcHJpdmF0ZSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX3RtcG8pLCAocXRkZW11eF90YWdfYWRkX2NvdnIpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF90YWdfYWRkX2Jsb2IpLCAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIFN0cmVhbWxpbmUgdGFnIGhhbmRsaW5nIGFuZCBwYXNzIHVucGFyc2VkIHRhZ3MgYXMgYmluYXJ5IGJsb2IKCSAgaW4gcHJpdmF0ZSB0YWcuCgoyMDA5LTAxLTA1IDEwOjEzOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIElJUiBmaWx0ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9kaXNwb3NlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9jYWxjdWxhdGVfZ2FpbiksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3NldF9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zZXR1cCksIChwcm9jZXNzKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc3RvcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuaDoKCSAgSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgSUlSIGZpbHRlcnMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOiAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19jaGViX2JhbmRfaW5pdCksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnc3RfYXVkaW9fY2hlYl9saW1pdF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9pbml0KSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgIFVzZSB0aGUgSUlSIGZpbHRlciBiYXNlIGNsYXNzIGZvciB0aGUgY2hlYnlzaGV2IGZpbHRlcnMuCgoyMDA5LTAxLTAyIDIwOjM5OjM0ICswMDAwICBKdXN0aW4gS2FybmVnYXMgPGp1c3RpbkBhZmZpbml4LmNvbT4KCgkgIHN5cy9vc3hhdWRpby86IFJld3JpdGUgb3N4YXVkaW8gdG8gd29yayBtb3JlIGZsZXhpYmx5IGFuZCBtb3JlIHJlbGlhYmx5LCB1c2luZyBhIGRpZmZlcmVudCBhYnN0cmFjdGlvbiBsYXllciBvZiBjb3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEp1c3RpbiBLYXJuZWdhcyA8anVzdGluQGFmZmluaXguY29tPiBhbmQKCSAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgUmV3cml0ZSBvc3hhdWRpbyB0byB3b3JrIG1vcmUgZmxleGlibHkgYW5kIG1vcmUgcmVsaWFibHksIHVzaW5nIGEKCSAgZGlmZmVyZW50IGFic3RyYWN0aW9uIGxheWVyIG9mIGNvcmVhdWRpbyB0aGF0IGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgb2YKCSAgZG9pbmcgbG93LWxldmVsIGF1ZGlvIEkvTyBvbiBPU1guCgkgIEZpeGVzIGJ5ZyAjNTY0OTQ4LgoKMjAwOS0wMS0wMiAxNjozMToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDogQWRkIGV4YW1wbGUgUlRQIHRyYW5zY29kaW5nIHBpcGVsaW5lIGZyb20gYW55IGZpbGUgZGVjb2RlZGFibGUgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIEFkZCBleGFtcGxlIFJUUCB0cmFuc2NvZGluZyBwaXBlbGluZSBmcm9tIGFueSBmaWxlIGRlY29kZWRhYmxlIHdpdGgKCSAgdXJpZGVjb2RlYmluLgoKMjAwOS0wMS0wMiAxNToyMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC86IEFkZCB0d28gQyBleGFtcGxlcyBvZiB1c2luZyBnc3RydHBiaW4gYXMgYSBzZW5kZXIgYW5kIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzogKHBhZF9hZGRlZF9jYiksIChtYWluKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOiAobWFpbik6CgkgIEFkZCB0d28gQyBleGFtcGxlcyBvZiB1c2luZyBnc3RydHBiaW4gYXMgYSBzZW5kZXIgYW5kIGEgcmVjZWl2ZXIuCgoyMDA4LTEyLTMxIDExOjIwOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENoYW5nZUxvZzogUmVtb3ZlIGNvbmZsaWN0IG1hcmtlciBmcm9tIENoYW5nZUxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBjb25mbGljdCBtYXJrZXIgZnJvbSBDaGFuZ2VMb2cKCjIwMDgtMTItMjggMDk6NTA6MzEgKzAwMDAgIGpeIDxqQG9pbDIxLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIGNvZGVjIG1hcHBpbmcgZm9yIHh2aWQsIGZtcDQgYW5kIGFjMyB0cmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgb2lsMjEub3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgY29kZWMgbWFwcGluZyBmb3IgeHZpZCwgZm1wNCBhbmQgYWMzIHRyYWNrcy4KCSAgRml4ZXMgIzU2NTg1MAoKMjAwOC0xMi0yMyAxMjoxMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLio6IEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgIEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uLgoJICBTZXQgY2FwcyBvbiB0aGUgcGFkIGFuZCBvbiBhbGwgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzU2NTQ0MS4KCjIwMDgtMTItMTkgMDk6MzY6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBBbmQgcmVtb3ZlIHRlbXBvcmFyeSBjb21tZW50IHBvaW50aW5nIHRvIHRoZSBidWcgdGlja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgQW5kIHJlbW92ZSB0ZW1wb3JhcnkgY29tbWVudCBwb2ludGluZyB0byB0aGUgYnVnIHRpY2tldC4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBNb3ZlIHJlb2NjdXJpbmcgbG9nZ2luZyB0byBMT0cgYW5kIGxvZyBpbnN0YW5jZSB0b28uCgoyMDA4LTEyLTE3IDE3OjI4OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogRG9uJ3QgbGVhayB0aGUgcGFfb3BlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgRG9uJ3QgbGVhayB0aGUgcGFfb3BlcmF0aW9uLgoKMjAwOC0xMi0xNiAxNjoxOToyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUgY3ZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSBjdnMuCgoyMDA4LTEyLTE2IDE2OjA3OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBSZW5hbWUgYXBpIGZyb20gX2ZsdXNoIHRvIF9yZXNldF90YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBSZW5hbWUgYXBpIGZyb20gX2ZsdXNoIHRvIF9yZXNldF90YWdzLgoKMjAwOC0xMi0xNiAxNDoyMjo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogVXNlIG5ldyB0YWdzZXR0ZXIgYXBpIHRvIGZsdXNoIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFVzZSBuZXcgdGFnc2V0dGVyIGFwaSB0byBmbHVzaCB0YWdzLgoKMjAwOC0xMi0xNiAxMzoxNDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTI6NTI6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEluY3JlYXNlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDExOjU3OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLgoKMjAwOC0xMi0xNSAxNTo1OTo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogSW5zdGVhZCBvZiBmaWx0ZXJpbmcgd3JvbmdseSBqdXN0IHVzZSB0aGUgbWVyZ2Vtb2RlLiBBcHBsaWNhdGlvbnMgaXMgdXNlIEtFRVBfQUxMIGlmIHRoZXkgd2FudCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEluc3RlYWQgb2YgZmlsdGVyaW5nIHdyb25nbHkganVzdCB1c2UgdGhlIG1lcmdlbW9kZS4gQXBwbGljYXRpb25zIGlzCgkgIHVzZSBLRUVQX0FMTCBpZiB0aGV5IHdhbnQgdG8gc3VwcmVzcyB0YWctZXZlbnRzLiBGaXhlcyAjNTYzMjIxIGZvcgoJICBhdmkgZm9yIHJlYWwgKEkgaG9wZSkuIEV2ZXJ5b25lIGNoaW1lIGluLCBiZWZvcmUgSSBmaXggdGhlIG90aGVycy4KCjIwMDgtMTItMTUgMTI6NDU6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBBZGQgbm90ZSBhYm91dCBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgQWRkIG5vdGUgYWJvdXQgbWVtbGVhay4KCjIwMDgtMTItMTMgMTY6MjM6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogQSBjb3VwbGUgbW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCBhbnltb3JlIHdpdGggZ2V0dGV4dCAwLjE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgQSBjb3VwbGUgbW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCBhbnltb3JlIHdpdGggZ2V0dGV4dCAwLjE3LgoKMjAwOC0xMi0xMyAxNTozNDowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFN3aXRjaCB0byB1c2luZyBHc3RTdGF0aWNQYWRUZW1wbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxhd19kZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxhd19lbmNfaW5pdCk6CgkgICogZ3N0L2xhdy9hbGF3LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211bGF3ZGVjX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LmM6IChwbHVnaW5faW5pdCk6CgkgIFN3aXRjaCB0byB1c2luZyBHc3RTdGF0aWNQYWRUZW1wbGF0ZS4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2dldF9hZGRyKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIGZyZWUgdGhlIGFkZHJpbmZvIHN0cnVjdHVyZS4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgIERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgR3N0QWRhcHRlci4KCjIwMDgtMTItMTMgMTI6NTg6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdyByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cKCSAgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0bwoJICBkaXN0LgoKMjAwOC0xMi0xMCAxNTowMzoyMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzbWFsbGVyIHNwZWMgZmlsZSB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbGVyIHNwZWMgZmlsZSB1cGRhdGVzCgoyMDA4LTEyLTA5IDE3OjU1OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vcmUgbG9nZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBNb3JlIGxvZ2dpbmcuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgSGFuZGxlIG1vcmUgbWV0YWRhdGEgZmllbGRzLiBCZXR0ZXIgZXN0aW1hdGUgb2YgbWV0YWRhdGEgc2l6ZS4gRG9uJ3QKCSAgbWVyZ2UgcmVjZWl2ZWQgdGFncywgaWYgYXBwbGljYXRpb24gaGFzIHNwZWNpZmllZCB0YWdzIHVzaW5nCgkgIEdTVF9UQUdfTUVSR0VfUkVQTEFDRV9BTEwuIEZpeGVzICM1NjMyMjEgZm9yIGF2aS4KCjIwMDgtMTItMDkgMTQ6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBbHNvIGlnbm9yZSBwdWxzZW1peGVyIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFsc28gaWdub3JlIHB1bHNlbWl4ZXIgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LgoKMjAwOC0xMi0wOSAxNDoxOToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IEFkZCBhbiBFT0kgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIGpwZWcgZnJhbWUgd2hlbiBpdCdzIG1pc3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IChnc3RfcnRwX2pwZWdfZGVwYXlfcHJvY2Vzcyk6CgkgIEFkZCBhbiBFT0kgbWFya2VyIGF0IHRoZSBlbmQgb2YgdGhlIGpwZWcgZnJhbWUgd2hlbiBpdCdzIG1pc3NpbmcuCgkgIEZpeGVzICM1NjMwNTYuCgoyMDA4LTEyLTA5IDEwOjQ3OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogVXBkYXRlIHRoZSB1bml0IHRlc3QgZm9yIHRoZSBuZXcgY29sb3IgdmFsdWVzIGZvciBCVC42MDEgcmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGNoZWNrXzF4MV9idWZmZXIpOgoJICBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIG5ldyBjb2xvciB2YWx1ZXMgZm9yIEJULjYwMSByZWQuCgkgIEZpeGVzIGJ1ZyAjNTYzNTEwLgoKMjAwOC0xMi0wOSAxMDoyODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IFJlc3RvcmUgcHJldmlvdXMgYmVoYXZpb3VyIG9mIG5vdCBwYXNzaW5nIFFvUyBhbmQgbmF2aWdhdGlvbiBldmVudHMgdXBzdHJlYW0sIHdoaWNoIHByZXN1bWFibHkgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFJlc3RvcmUgcHJldmlvdXMgYmVoYXZpb3VyIG9mIG5vdCBwYXNzaW5nIFFvUyBhbmQgbmF2aWdhdGlvbgoJICBldmVudHMgdXBzdHJlYW0sIHdoaWNoIHByZXN1bWFibHkgd2Fzbid0IG1lYW50IHRvIGJlIGNoYW5nZWQuCgoyMDA4LTEyLTA5IDA5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBBZGQgc3JjcGFkcyBvbmx5IHdoZW4gbmVlZGVkIGFuZCByZW1vdmUgdGhlbSBhZ2FpbiB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkuIFRoaXMgcHJldmVudHMgc3RhbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF92aWRlb19wYWQpLAoJICAoZ3N0X2R2ZGVtdXhfYWRkX2F1ZGlvX3BhZCksIChnc3RfZHZkZW11eF9yZW1vdmVfcGFkcyksCgkgIChnc3RfZHZkZW11eF9kZW11eF9hdWRpbyksIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksCgkgIChnc3RfZHZkZW11eF9jaGFpbiksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBzcmNwYWRzIG9ubHkgd2hlbiBuZWVkZWQgYW5kIHJlbW92ZSB0aGVtIGFnYWluIHdoZW4gZ29pbmcKCSAgYmFjayB0byBSRUFEWS4gVGhpcyBwcmV2ZW50cyBzdGFsbGVkIHBpcGVsaW5lcyBpZiB0aGVyZSdzIG5vCgkgIGF1ZGlvIGluc2lkZSB0aGUgRFYgc3RyZWFtLCB3aGljaCBoYXBwZW5zIGZvciBtYW55IE1YRiBmaWxlcy4KCjIwMDgtMTItMDkgMDk6MDk6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IFRoZSBwb3J0cyBpbiBsaWJzb3VwIGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBhbmQgbm90IHNpZ25lZCBpbnRlZ2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJ1bl9zZXJ2ZXIpOgoJICBUaGUgcG9ydHMgaW4gbGlic291cCBhcmUgdW5zaWduZWQgaW50ZWdlcnMgYW5kIG5vdCBzaWduZWQKCSAgaW50ZWdlcnMuCgoyMDA4LTEyLTA4IDE4OjMxOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBGb3J3YXJkIGFsbCBldmVudHMgdXBzdHJlYW0gdW5sZXNzIGl0J3Mgc29tZXRoaW5nIHdlIHJlYWxseSBkb24ndCBoYW5kbGUuIFRoaXMgZml4ZXMgbGF0ZW5jeSBjb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBGb3J3YXJkIGFsbCBldmVudHMgdXBzdHJlYW0gdW5sZXNzIGl0J3Mgc29tZXRoaW5nIHdlIHJlYWxseQoJICBkb24ndCBoYW5kbGUuIFRoaXMgZml4ZXMgbGF0ZW5jeSBjb25maWd1cmF0aW9uIG9mIHBpcGVsaW5lcy4KCjIwMDgtMTItMDggMTg6MjQ6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi86IFJlYWxseSBjYWxsIGR2X2luaXQoKSBleGFjdGx5IG9uZSB0aW1lLCBub3Qgb25lIHRpbWUgZm9yIHRoZSBkZW11eGVyIGFuZCBvbmUgdGltZSBmb3IgdGhlIGRlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3Rkdi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9jbGFzc19pbml0KToKCSAgUmVhbGx5IGNhbGwgZHZfaW5pdCgpIGV4YWN0bHkgb25lIHRpbWUsIG5vdCBvbmUgdGltZSBmb3IKCSAgdGhlIGRlbXV4ZXIgYW5kIG9uZSB0aW1lIGZvciB0aGUgZGVjb2Rlci4KCjIwMDgtMTItMDggMTI6Mzc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogQ29weSBpbmNvbW1pbmcgdGltZXN0YW1wIHRvIG91dGdvaW5nIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgQ29weSBpbmNvbW1pbmcgdGltZXN0YW1wIHRvIG91dGdvaW5nIHBhY2tldHMuCgoyMDA4LTEyLTA4IDEyOjM2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IERvbid0IHRyeSB0byBwdXNoIHBhY2tldHMgYmVmb3JlIHdlIGNvdWxkIGZpbmQgYSB2YWxpZCBjb25maWcgc3RhcnRjb2RlLiBGaXhlcyAjNTYzNTA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgIERvbid0IHRyeSB0byBwdXNoIHBhY2tldHMgYmVmb3JlIHdlIGNvdWxkIGZpbmQgYSB2YWxpZCBjb25maWcKCSAgc3RhcnRjb2RlLiBGaXhlcyAjNTYzNTA5LgoKMjAwOC0xMi0wNyAxOToyMjo0OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IFNldCB0aGUgbWl4ZXIgZmQgYmVmb3JlIGNhbGxpbmcgaW9jdGwoKSBvbiBpdC4gRml4ZXMgYnVnICM1NjM0MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfb3Blbik6CgkgIFNldCB0aGUgbWl4ZXIgZmQgYmVmb3JlIGNhbGxpbmcgaW9jdGwoKSBvbiBpdC4gRml4ZXMgYnVnICM1NjM0MTQuCgoyMDA4LTEyLTA3IDE5OjAxOjM1ICswMDAwICBBbGV4YW5kcmUgUm9zdG92dHNldiA8dGV0cm9taW5vQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSB1c2FnZSBvZiBsaWJ2NGwgb3B0aW9uYWwgYnkgYSBjb25maWd1cmUgcGFyYW1ldGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm8gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2UgdXNhZ2Ugb2YgbGlidjRsIG9wdGlvbmFsIGJ5IGEgY29uZmlndXJlIHBhcmFtZXRlci4KCSAgRml4ZXMgYnVnICM1NjM1MDQuCgoyMDA4LTEyLTA1IDA5OjI0OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgbWF0cm9za2FtdXggYW5kIG1hdHJvc2thZGVtdXggYW5kIHVwZGF0ZSB0aGUgaW5zcGVjdGlvbiB4bWwgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBtYXRyb3NrYW11eCBhbmQgbWF0cm9za2FkZW11eCBhbmQKCSAgdXBkYXRlIHRoZSBpbnNwZWN0aW9uIHhtbCBmaWxlcy4KCjIwMDgtMTItMDQgMjA6MTA6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUKCSAgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgoyMDA4LTEyLTA0IDE5OjQ3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0byBvdXIgTTQgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0bwoJICBvdXIgTTQgbWFjcm9zLgoKMjAwOC0xMS0zMCAxNjoyNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogUHJvdmlkZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgUHJvdmlkZSB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcKCSAgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMjkgMjA6MDU6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOiBGaXggY2xhc3NpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICBGaXggY2xhc3NpZmljYXRpb24uCgoyMDA4LTExLTI5IDEzOjMxOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lcgoJICA8eXNlbGtvd2l0eiBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sCgkgIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzdGlsbCB3b3JrLgoJICBGaXhlcyBidWcgIzU1NjA5MS4KCjIwMDgtMTEtMjggMTU6MTA6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogTWFrZSBnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcigpIGlnbm9yZSBlcnJvcnMgZnJvbSBzZW5kdG8oKSBpbnN0ZWFkIG9mIGJyZWFraW5nIHN0cmVhbWluZy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgTWFrZSBnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcigpIGlnbm9yZSBlcnJvcnMgZnJvbSBzZW5kdG8oKSBpbnN0ZWFkIG9mCgkgIGJyZWFraW5nIHN0cmVhbWluZy4gRW1pdCBhIHdhcm5pbmcgaW5zdGVhZC4gRml4ZXMgIzU2MjU3Mi4KCjIwMDgtMTEtMjcgMTY6NDM6MjQgKzAwMDAgIFJvbiBNY091YXQgPHJtY291YXRAc21hcnR0LmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBiYXNpYyBhbmQgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIGluIHNvdXBodHRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvbiBNY091YXQgPHJtY291YXQgYXQgc21hcnR0IGRvdCBjb20+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYXV0aGVudGljYXRlX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChiYXNpY19hdXRoX2NiKSwKCSAgKGRpZ2VzdF9hdXRoX2NiKSwgKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKSwgKHJ1bl9zZXJ2ZXIpOgoJICBBZGQgc3VwcG9ydCBmb3IgYmFzaWMgYW5kIGRpZ2VzdCBhdXRoZW50aWNhdGlvbiBpbiBzb3VwaHR0cHNyYy4KCSAgRml4ZXMgYnVnICM1NjE3NzUuCgoyMDA4LTExLTI3IDEyOjEzOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jLzogQWRkIHN1cHBvcnQgZm9yIGEtbGF3IGFuZCBtdS1sYXcgZW5jb2RlZCB3YXYgZmlsZXMuIEZpeGVzIGJ1ZyAjNTYyNDM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBlcGlqbiBWYW4gRWVja2hvdWR0CgkgIDxwZXBpam4gZG90IHZhbmVlY2tob3VkdCBhdCBsdWNpYWQgZG90IGNvbT4KCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgKiBnc3Qvd2F2ZW5jL3JpZmYuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEtbGF3IGFuZCBtdS1sYXcgZW5jb2RlZCB3YXYgZmlsZXMuIEZpeGVzIGJ1ZyAjNTYyNDM0LgoKMjAwOC0xMS0yNyAxMToyMjo1NiArMDAwMCAg7J2066y47ZiVIDxpd2luZ3NAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQcmV2ZW50IGZ1cnRoZXIgcmVhZC93cml0ZSBhY3Rpb25zIHRha2VuIHRvIHRoZSBjb25uZWN0LWZhaWxlZCBzb2NrZXQgYnkgZXJyb3Jpbmcgb3V0IHF1aWNrbHkuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTog7J2066y47ZiVIDxpd2luZ3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFByZXZlbnQgZnVydGhlciByZWFkL3dyaXRlIGFjdGlvbnMgdGFrZW4gdG8gdGhlIGNvbm5lY3QtZmFpbGVkIHNvY2tldCBieQoJICBlcnJvcmluZyBvdXQgcXVpY2tseS4gU2VlICM1NjIyNTguCgoyMDA4LTExLTI2IDIxOjE5OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IFNldCBmYWtlc2luayB0byBzeW5jLiBPdGhlcndpc2UgcGVvcGxlIG1pZ2h0IHF1ZXN0aW9uIHRoZSBtZXNzYWdlIGludGVydmFsLiBOZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBTZXQgZmFrZXNpbmsgdG8gc3luYy4gT3RoZXJ3aXNlIHBlb3BsZSBtaWdodCBxdWVzdGlvbiB0aGUgbWVzc2FnZQoJICBpbnRlcnZhbC4gTmV2ZXJ0aGVsZXNzIHRoZSB0aW1lc3RhbXAgaW4gdGhlIG1lc3NhZ2UgaXMgd2hhdCBtYXR0ZXJzLgoKMjAwOC0xMS0yNSAxODoxMzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6IGN2c2lnbm9yZSBuZXdseSBnZW5lcmF0ZWQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgY3ZzaWdub3JlIG5ld2x5IGdlbmVyYXRlZCBmaWxlLgoKMjAwOC0xMS0yNSAxODowMzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggdGhlIGRlc2NyaXB0aW9ucyBhbmQgZml4IHNvbWUgZW1haWwgYWRkcmVzc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IChnc3RfcnRwX2gyNjNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgRml4IHRoZSBkZXNjcmlwdGlvbnMgYW5kIGZpeCBzb21lIGVtYWlsIGFkZHJlc3Nlcy4KCjIwMDgtMTEtMjUgMTc6NDc6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgTVBHMSBhbmQgTVBHMiBmb3VyY2MgdG8gc3VwcG9ydGVkIHF0ZGVtdXggdmlkZW8gY29kZWNzIGFzIEkgZm91bmQgc29tZSB2aWRlbyBjbGlwcyB1c2luZyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6IEFkZCBNUEcxIGFuZCBNUEcyCgkgIGZvdXJjYwoJICB0byBzdXBwb3J0ZWQgcXRkZW11eCB2aWRlbyBjb2RlY3MgYXMgSSBmb3VuZCBzb21lIHZpZGVvIGNsaXBzCgkgIHVzaW5nCgkgIHRob3NlLgoKMjAwOC0xMS0yNSAxNjoyNjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogUG9zdCBhbiBlcnJvciB3aGVuIHdlIGNhbid0IHNldCB0aGUgaW50ZXJuYWwgZ2hvc3RwYWQgdGFyZ2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6IChnc3RfYXV0b19hdWRpb19zcmNfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzogKGdzdF9hdXRvX3ZpZGVvX3NyY19kZXRlY3QpOgoJICBQb3N0IGFuIGVycm9yIHdoZW4gd2UgY2FuJ3Qgc2V0IHRoZSBpbnRlcm5hbCBnaG9zdHBhZCB0YXJnZXQuCgoyMDA4LTExLTI1IDE2OjA2OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogRml4IHJlbmVnb3RpYXRpb24gd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzIHVzaW5nIHRoZSBuZXcgYmFzZXRyYW5zZm9ybSBmZWF0dXJlcy4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEZpeCByZW5lZ290aWF0aW9uIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcyB1c2luZyB0aGUgbmV3IGJhc2V0cmFuc2Zvcm0KCSAgZmVhdHVyZXMuIEZpeGVzICM1NjE1MDIuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wMi10ZXN0LmM6IChtYWtlX3BpcGVsaW5lKSwgKG1haW4pOgoJICBBZGQgY3JhenkgaW50ZXJhY3RpdmUgdGVzdCB1bml0IGZvciBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzLgoKMjAwOC0xMS0yNCAxMjoyMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKG5ld19zZXNzaW9uX3BhZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBVc2UgdGhlIHJlYW5nZXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIHVuY29uZGl0aW9uYWxseS4KCSAgRml4ZXMgIzU2MTYyNS4KCjIwMDgtMTEtMjMgMTU6MDg6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogQ2hhbmdlICNpZiAwIHRvIHNvbWV0aGluZyBtb3JlIGV4cHJlc2l2ZSBhbmQgYWRkIHBvaW50ZXIgdG8gcmVsYXRlZCBidWcgdGlja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIENoYW5nZSAjaWYgMCB0byBzb21ldGhpbmcgbW9yZSBleHByZXNpdmUgYW5kIGFkZCBwb2ludGVyIHRvIHJlbGF0ZWQKCSAgYnVnIHRpY2tldC4KCjIwMDgtMTEtMjMgMTE6MTc6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA4LTExLTIzIDExOjE0OjQyICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR197QklHLExJVFRMRX1fRU5ESUFOIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIHZhcmlhbnRzIGFzIHRoZSBsYXR0ZXIgZG9uJ3QgZXhpc3Qgb24gc29tZSBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgVXNlIEdfe0JJRyxMSVRUTEV9X0VORElBTiBpbnN0ZWFkIG9mIHRoZSBub24tR0xpYiB2YXJpYW50cyBhcwoJICB0aGUgbGF0dGVyIGRvbid0IGV4aXN0IG9uIHNvbWUgc3lzdGVtcyAobWluZ3cpLiBGaXhlcyBidWcgIzU2MTk5Mi4KCjIwMDgtMTEtMjEgMTM6NDM6MjkgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHRyYW5zZmVyTW9kZS5kbmxhLm9yZyBoZWFkZXIgdG8gSFRUUCByZXF1ZXN0cyBhcyB0aGlzIGlzIHJlcXVpcmVkIGJ5IHRoZSBETE5BIHNwZWNzIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWmVlc2hhbiBBbGkgPHplZXNoYW5hayBhdCBnbm9tZSBkb3Qgb3JnPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKToKCSAgQWRkIHRyYW5zZmVyTW9kZS5kbmxhLm9yZyBoZWFkZXIgdG8gSFRUUCByZXF1ZXN0cyBhcyB0aGlzIGlzCgkgIHJlcXVpcmVkIGJ5IHRoZSBETE5BIHNwZWNzIGFuZCBkb2Vzbid0IGh1cnQgaW4gb3RoZXIgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1NjE4MDIuCgoyMDA4LTExLTIwIDIzOjU5OjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEhhbmRsZSB2aWRlbyB3aW5kb3cgcmVzaXppbmcgbW9yZSBjb3JyZWN0bHksIGF2b2lkaW5nIGNyYXNoZXMgd2hlbiBlbWJlZGRpbmcgdGhlIHdpbmRvdyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgSGFuZGxlIHZpZGVvIHdpbmRvdyByZXNpemluZyBtb3JlIGNvcnJlY3RseSwgYXZvaWRpbmcgY3Jhc2hlcyB3aGVuCgkgIGVtYmVkZGluZyB0aGUgd2luZG93IGFuZCByZXNpemluZyBpdC4KCjIwMDgtMTEtMjAgMjI6NTY6NTggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvOiBGaXggbXVsdGl1ZHBzaW5rIG9uIE9TWCBieSBwYXNzaW5nIHRoZSBzcGVjaWZpYyBsZW5ndGggb2YgdGhlIHNvY2tldCwgcmVmYWN0b3IgdGhhdCBpbnRvIGEgZnVuY3Rpb24gc2hhcmVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IG11bHRpdWRwc2luayBvbiBPU1ggYnkgcGFzc2luZyB0aGUgc3BlY2lmaWMgbGVuZ3RoIG9mIHRoZSBzb2NrZXQsCgkgIHJlZmFjdG9yIHRoYXQgaW50byBhIGZ1bmN0aW9uIHNoYXJlZCB3aXRoIHRoZSBzYW1lIHRoaW5nIGluIHVkcHNyYy4KCjIwMDgtMTEtMjAgMjA6MDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHRoZSBzY2FsaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAodWludDY0X2NlaWxpbmdfc2NhbGVfaW50KSwKCSAgKHVpbnQ2NF9jZWlsaW5nX3NjYWxlKSwgKGdzdF93YXZwYXJzZV9jYWxjdWxhdGVfZHVyYXRpb24pLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4IHRoZSBzY2FsaW5nIGNvZGUuCgkgIEZpeCBwYXJzaW5nIG9mIHRoZSBJTkZPIGNodW5rcywgd2Ugd2VyZSByZWFkaW5nIHRoZSB3cm9uZyBudW1iZXIgb2YKCSAgYnl0ZXMuICBGaXhlcyAjNTYxNTgwLgoKMjAwOC0xMS0yMCAxNDozMDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb2YgYW4gdW5zZXQgY29kZWNfaWQgaW4gdGhlIHJlY2VudGx5IGFkZGVkIERpcmFjIHBhdGhzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBvZiBhbiB1bnNldCBjb2RlY19pZCBpbiB0aGUgcmVjZW50bHkKCSAgYWRkZWQgRGlyYWMgcGF0aHMKCjIwMDgtMTEtMjAgMTM6NTg6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEp1c3Qga2VlcCBkaXNhYmxpbmcgZWxlbWVudHMgdGhhdCBoYW5nIHRoZSBzdGF0ZXMgdGVzdCB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEp1c3Qga2VlcCBkaXNhYmxpbmcgZWxlbWVudHMgdGhhdCBoYW5nIHRoZSBzdGF0ZXMgdGVzdCB1bnRpbCBpdAoJICB3b3Jrcy4KCjIwMDgtMTEtMjAgMTM6NDY6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogRG9uJ3QgZmx1c2ggZG93bnN0cmVhbSBhZnRlciBldmVyeSBidWZmZXIgLSB0aGF0J3Mgbm90IHdoYXQgdGhpcyBsaWJwbmcgY2FsbGJhY2sgaXMgZm9yIGF0IGFsbCEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgRG9uJ3QgZmx1c2ggZG93bnN0cmVhbSBhZnRlciBldmVyeSBidWZmZXIgLSB0aGF0J3Mgbm90IHdoYXQKCSAgdGhpcyBsaWJwbmcgY2FsbGJhY2sgaXMgZm9yIGF0IGFsbCEKCjIwMDgtMTEtMTcgMTQ6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFR1cm5zIG91dCB3ZSBkb24ndCBhbHdheXMgZ2V0IHRoZSBmcmFtZSBzaXplcyBpbiBhIHByZWRlZmluZWQgb3JkZXIgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwgKHNvcnRfYnlfZnJhbWVfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBUdXJucyBvdXQgd2UgZG9uJ3QgYWx3YXlzIGdldCB0aGUgZnJhbWUgc2l6ZXMgaW4gYSBwcmVkZWZpbmVkCgkgIG9yZGVyIGZyb20gbG93ZXN0IHRvIGhpZ2hlc3QgcmVzb2x1dGlvbiwgc28gbGV0J3MganVzdCBzb3J0IHRoZQoJICBsaXN0IGJ5IGZyYW1lIHNpemUgb25jZSB3ZSd2ZSBxdWVyaWVkIHRoZSBwb3NzaWJsZSByZXNvbHV0aW9ucwoJICByYXRoZXIgdGhhbiBhc3N1bWUgYW55IHBhcnRpY3VsYXIgb3JkZXIuIEZpeGVzIHByb2JlZCBjYXBzIGZvcgoJICB0aGUgY2FtZXJhIGluIG15IEhQMjEzMyBtaW5pIG5vdGVib29rIGFuZCBtYWtlcyB2NGwyc3JjIGRlZmF1bHQKCSAgdG8gYSBkZWNlbnQgc2l6ZS4KCjIwMDgtMTEtMTYgMTQ6NDE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBNYWtlIG1rdmRlbXV4IGF3YXJlIG9mIEUtQUMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIE1ha2UgbWt2ZGVtdXggYXdhcmUgb2YgRS1BQzMuCgoyMDA4LTExLTE0IDE4OjQxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBhIGpwZWcgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOiAoZ3N0X3J0cF9qcGVnX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2pwZWdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfZmluYWxpemUpLCAoTWFrZVRhYmxlcyksIChNYWtlUXVhbnRIZWFkZXIpLAoJICAoTWFrZUh1ZmZtYW5IZWFkZXIpLCAoTWFrZURSSUhlYWRlciksIChNYWtlSGVhZGVycyksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2pwZWdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2pwZWdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuaDoKCSAgQWRkIGEganBlZyBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgU2V0IHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgb24gdGhlIHBheWxvYWRlciB0byBiZXR0ZXIgZGVmYXVsdHMuCgoyMDA4LTExLTE0IDE1OjQyOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyLmM6IEdpdmUgaXQgYSBwcmltYXJ5IHJhbmsgZm9yIGF1dG92aWRlb3NyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICBHaXZlIGl0IGEgcHJpbWFyeSByYW5rIGZvciBhdXRvdmlkZW9zcmMuCgoyMDA4LTExLTE0IDExOjQxOjU1ICswMDAwICBCam9ybiBPc3RieSA8Ympvcm5vc0BheGlzLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgSlBFRyBwYXlsb2FkZXIuIEZpeGVzICM1NjA3NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmpvcm4gT3N0YnkgPGJqb3Jub3MgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzogKGdzdF9ydHBfanBlZ19wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2pwZWdfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfanBlZ19wYXlfaGVhZGVyX3NpemUpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9yZWFkX3F1YW50X3RhYmxlKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2Nhbl9tYXJrZXIpLCAoZ3N0X3J0cF9qcGVnX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfanBlZ19wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfanBlZ19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBBZGQgSlBFRyBwYXlsb2FkZXIuIEZpeGVzICM1NjA3NTYuCgoyMDA4LTExLTEzIDE3OjQ1OjU5ICswMDAwICBGYWJyaWNpbyBHb2RveSA8c2thcmxsb3RAZ21haWwuY29tPgoKCSAgc3lzLzogRml4IHNvbWUgc3BlbGxpbmcgbWlzdGFrZXMuIEZpeGVzICM1NTY4MDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicmljaW8gR29kb3kgPHNrYXJsbG90IGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3Npbmtfb3Blbik6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9tbWFwKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRml4IHNvbWUgc3BlbGxpbmcgbWlzdGFrZXMuIEZpeGVzICM1NTY4MDIuCgoyMDA4LTExLTEzIDE2OjI0OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHByZXNldHMgZm9yIGVxdWFsaXplci4gRml4ZXMgIzUyMjE4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9Hc3RJaXJFcXVhbGl6ZXIxMEJhbmRzLnByczoKCSAgKiBnc3QvZXF1YWxpemVyL0dzdElpckVxdWFsaXplcjNCYW5kcy5wcnM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBZGQgcHJlc2V0cyBmb3IgZXF1YWxpemVyLiBGaXhlcyAjNTIyMTgzLgoKMjAwOC0xMS0xMyAxNjoxNzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmVtb3ZlIGdvb2dsZSBleHRlbnNpb24gYWdhaW4sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIGJlY2F1c2Ugd2UgbmV2ZXIgc2VuZCBtdWx0aXBsZSB0cmFuc3BvcnRzIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBSZW1vdmUgZ29vZ2xlIGV4dGVuc2lvbiBhZ2FpbiwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB3ZSBuZXZlcgoJICBzZW5kIG11bHRpcGxlIHRyYW5zcG9ydHMgYW55bW9yZS4KCjIwMDgtMTEtMTMgMTY6MTE6MTYgKzAwMDAgIEVyaWMgWmhhbmcgPGNoYW8uemhhbmdAYWNjZXNzLWNvbXBhbnkuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIE5BVCB0cmF2ZXJzYWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEVyaWMgWmhhbmcgPGNoYW8uemhhbmcgYXQgYWNjZXNzLWNvbXBhbnkgZG90IGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9uYXRfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmtzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3NlbmRfZHVtbXlfcGFja2V0cyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgTkFUIHRyYXZlcnNhbCBtZXRob2QuCgkgIElnbm9yZSBFT1MgZnJvbSB0aGUgaW50ZXJuYWwgc2lua3MuCgkgIEltcGxlbWVudCBzZW5kaW5nIGR1bW15IHBhY2tldHMgYXMgYSAoc2ltcGxlKSBtZXRob2QgdG8gb3BlbiB1cAoJICBzb21lIGZpcmV3YWxscy4KCSAgU2VuZCBQTEFZIHJlcXVlc3QgdG8gdGhlIHNlcnZlciBhZnRlciB3ZSBzdGFydGVkIHRoZSB1ZHAgc291cmNlcy4KCSAgRml4ZXMgIzU1OTU0NS4KCjIwMDgtMTEtMTMgMTQ6MDQ6NDAgKzAwMDAgIFlvdGFtIDxzaC55b3RhbUBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRmx1c2ggdGhlIHJlbWFpbmluZyBmcmFtZXMgb24gRU9TLiBGaXhlcyAjNTYwNjQxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdGFtIDxzaCBkb3QgeW90YW0gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICBGbHVzaCB0aGUgcmVtYWluaW5nIGZyYW1lcyBvbiBFT1MuIEZpeGVzICM1NjA2NDEuCgoyMDA4LTExLTEyIDE2OjM3OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBwcmludGYgZm9ybWF0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBwcmludGYgZm9ybWF0dGluZy4KCjIwMDgtMTEtMTIgMTE6NTU6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogUXVldWUgdXAgbmV3IHNlZ21lbnQgZXZlbnRzIGluc3RlYWQgb2Ygc2VuZGluZyB0aGVtIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmggKHN0cnVjdCBfR3N0UVREZW11eCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9kb19zZWVrKTogUXVldWUgdXAgbmV3CgkgIHNlZ21lbnQgZXZlbnRzIGluc3RlYWQgb2Ygc2VuZGluZyB0aGVtIGZyb20gdGhlIHNlZWtpbmcgdGhyZWFkLgoJICBGaXhlcyAjNTU5Mjg4LgoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9wZW5kaW5nX25ld3NlZ21lbnQpOiBOZXcgaGVscGVyLCBzZW5kcyBvdXQKCSAgcXVldWVkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6IFZvaWzDoCwgY2FsbCBpdCBoZXJlLiBPbmx5IG5lZWQgdG8KCSAgY2FsbCBpdCBoZXJlLCBhcyB3ZSBvbmx5IHNlZWsgd2hlbiBsb29waW5nLCBhbmQgb25seSBwdXNoIGluIHRoZQoJICBtb3ZpZSBzdGF0ZS4KCjIwMDgtMTEtMTEgMTk6NTI6MDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgY292ZXIgYW5kIGFsdGVybmF0aXZlIGNvcHlyaWdodCB0YWcsIGFuZCBlbmhhbmNlIHNvbWUgZXhpc3Rpbmcgb25lcyBieSBtYXJraW5nIHRoZW0gYXMgY29udGFpbmVyIGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF90bXBvKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9jb3ZyKSwgKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBjb3ZlciBhbmQgYWx0ZXJuYXRpdmUgY29weXJpZ2h0IHRhZywgYW5kIGVuaGFuY2Ugc29tZSBleGlzdGluZwoJICBvbmVzIGJ5IG1hcmtpbmcgdGhlbSBhcyBjb250YWluZXIgYXRvbXMuCgoyMDA4LTExLTExIDE3OjMzOjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9zZXRfY2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgoyMDA4LTExLTExIDE3OjI5OjAzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lio6IFJlcGxhY2UgRzcyOSBwYXlsb2FkZXIgd2l0aCBhbiBpbXByb3ZlZCB2ZXJzaW9uLiBGaXhlcyAjNTMyNDA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOiAoZ3N0X3J0cF9nNzI5X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyOV9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfcGF5X3NldF9jYXBzKSwgKGdzdF9ydHBfZzcyOV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIFJlcGxhY2UgRzcyOSBwYXlsb2FkZXIgd2l0aCBhbiBpbXByb3ZlZCB2ZXJzaW9uLiBGaXhlcyAjNTMyNDA5LgoKMjAwOC0xMS0xMSAxNjowMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogT25seSBzZW5kIG9uZSB0cmFuc3BvcnQgYXQgYSB0aW1lIGZvciBpbXByb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBicm9rZW4gc2VydmVycy4gU2VlICM1My4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgT25seSBzZW5kIG9uZSB0cmFuc3BvcnQgYXQgYSB0aW1lIGZvciBpbXByb3ZlZCBjb21wYXRpYmlsaXR5IHdpdGggc29tZQoJICBicm9rZW4gc2VydmVycy4gU2VlICM1Mzc4MzIuCgoyMDA4LTExLTExIDE1OjE2OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBPbmx5IHBhdXNlL3BsYXkgaW4gdGhlIHNlZWsgaGFuZGxlciB3aGVuIHRoZSBzb3VyY2Ugd2FzIHBsYXlpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKToKCSAgT25seSBwYXVzZS9wbGF5IGluIHRoZSBzZWVrIGhhbmRsZXIgd2hlbiB0aGUgc291cmNlIHdhcyBwbGF5aW5nLgoJICBGaXhlcyAjNTI5Mzc5LgoKMjAwOC0xMS0xMSAxMjoxODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXV4aW5nIG9mIERpcmFjIHN0cmVhbXMgaWYgdGhlIGlucHV0IGFscmVhZHkgaGFzIHRoZSBmb3JtYXQgd2UgbmVlZCwgaS5lLiBpcyB0aGUgb3V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX2RpcmFjX3BhY2tldCk6CgkgIEZpeCBtdXhpbmcgb2YgRGlyYWMgc3RyZWFtcyBpZiB0aGUgaW5wdXQgYWxyZWFkeSBoYXMgdGhlIGZvcm1hdAoJICB3ZSBuZWVkLCBpLmUuIGlzIHRoZSBvdXRwdXQgb2YgbWF0cm9za2FkZW11eC4KCjIwMDgtMTEtMTEgMTA6MDY6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IERvbid0IHNlZ2ZhdWx0IG9uIHN0cmluZyB0eXBlZCB0YWdzIGJlaW5nIE5VTEwuIEZpeGVzICM1NjAxNTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIERvbid0IHNlZ2ZhdWx0IG9uIHN0cmluZyB0eXBlZCB0YWdzIGJlaW5nIE5VTEwuIEZpeGVzICM1NjAxNTUuCgoyMDA4LTExLTEwIDE2OjQ0OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG1hcHBpbmcgQUFDIHByb2ZpbGUgdG8gTWF0cm9za2EgY29kZWMgaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGFhY19jb2RlY19kYXRhX3RvX2NvZGVjX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbWFwcGluZyBBQUMgcHJvZmlsZSB0byBNYXRyb3NrYSBjb2RlYyBpZC4KCjIwMDgtMTEtMTAgMTY6MzY6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZWZhY3RvciBzb21lIHJhdyBhdWRpbyBjYXBzIGJ1aWxkaW5nLCBhbmQgaGFuZGxlID4xNi1iaXQgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgUmVmYWN0b3Igc29tZSByYXcgYXVkaW8gY2FwcyBidWlsZGluZywgYW5kIGhhbmRsZSA+MTYtYml0IGNhc2VzLgoJICBGaXgvcmVwbGFjZSBidWlsZGluZyBjYXBzIGZyb20gYSBzdHJpbmcgZGVzY3JpcHRpb24uCgoyMDA4LTExLTEwIDEzOjU5OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IE1ha2UgYXV0aG9yIG5hbWUgY29uc2lzdGVudCB3aXRoIG90aGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBNYWtlIGF1dGhvciBuYW1lIGNvbnNpc3RlbnQgd2l0aCBvdGhlcnMuCgoyMDA4LTExLTEwIDEyOjEzOjIxICswMDAwICBFcmljIFpoYW5nIDxjaGFvLnpoYW5nQGFjY2Vzcy1jb21wYW55LmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUGF1c2UgdGhlIFJUU1Agc3RyZWFtIGJlZm9yZSBkb2luZyBhIG5ldyBwbGF5IHJlcXVlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRXJpYyBaaGFuZyA8Y2hhby56aGFuZyBhdCBhY2Nlc3MtY29tcGFueSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgUGF1c2UgdGhlIFJUU1Agc3RyZWFtIGJlZm9yZSBkb2luZyBhIG5ldyBwbGF5IHJlcXVlc3QuCgkgIE1ha2Ugc3VyZSB0aGF0IGFkZGluZyB0aGUgdWRwc2lua3MgZG9lcyBub3QgY2F1c2UgdGhlIHJ0c3BzcmMgdG8gYmVjb21lCgkgIGEgc2luay4gRml4ZXMgIzU1OTU0Ny4KCjIwMDgtMTEtMDUgMTQ6NDI6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEltcGxlbWVudCBEaXJhYyBtdXhpbmcgaW50byBNYXRyb3NrYSBjb21mb3JtaW5nIHRvIHRoZSBzcGVjLCBpLmUuIHB1dCBhbGwgRGlyYWMgcGFja2FnZXMgdXAgdG8gYSBwaWN0dS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX2RpcmFjX3BhY2tldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBJbXBsZW1lbnQgRGlyYWMgbXV4aW5nIGludG8gTWF0cm9za2EgY29tZm9ybWluZyB0byB0aGUgc3BlYywgaS5lLgoJICBwdXQgYWxsIERpcmFjIHBhY2thZ2VzIHVwIHRvIGEgcGljdHVyZSBpbnRvIGEgTWF0cm9za2EgYmxvY2suCgkgIFRPRE86IEltcGxlbWVudCB3cml0aW5nIG9mIHRoZSBSZWZlcmVuY2VCbG9jayBNYXRyb3NrYSBlbGVtZW50cywKCSAgY3VycmVudGx5IHRoZSBEaXJhYyBtdXhpbmcgaXMgb25seSAxMDAlIGNvcnJlY3QgaWYgTWF0cm9za2EgdmVyc2lvbiAyCgkgIGlzIHNlbGVjdGVkIGZvciBtdXhpbmcuCgoyMDA4LTExLTA0IDEyOjMyOjQ4ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBPcHRpb25hbGx5IHVzZSBsaWJ2NGwgdG8gYWNjZXNzIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDUwMzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4sCgkgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGUgYXQgZmVkb3JhcHJvamVjdCBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLAoJICAoZ3N0X3Y0bDJfZ2V0X25vcm0pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldyksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSksCgkgIChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIE9wdGlvbmFsbHkgdXNlIGxpYnY0bCB0byBhY2Nlc3MgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU0NTAzMy4KCjIwMDgtMTEtMDQgMTI6Mjg6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoKMjAwOC0xMC0zMSAxODoxNzo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvTWFrZWZpbGUuYW06IEluY2x1ZGUgJChGTEFDX0NGTEFHUykgaW4gQ0ZMQUdTIHRvIG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBGTEFDIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICBJbmNsdWRlICQoRkxBQ19DRkxBR1MpIGluIENGTEFHUyB0byBtYWtlIHN1cmUgdG8gZmluZCB0aGUgRkxBQyBoZWFkZXJzLgoJICBUaGlzIGZpeGVzIGNvbXBpbGF0aW9uIGlmIEZMQUMgaXMgaW5zdGFsbGVkIGluIGFuIHVuY29tbW9uIGxvY2F0aW9uCgkgIHRoYXQgaXMgbm90IGFscmVhZHkgaGFuZGxlZCBieSBvdGhlciBDRkxBR1MuIEZpeGVzIGJ1ZyAjNTU4NzExLgoKMjAwOC0xMC0zMSAxMDowODo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogR3VhcmQgbW9yZSB1bmNvbW1vbiBmb3JtYXRzIHdpdGggaWZkZWZzIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgb24gb2xkZXIgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2Zvcm1hdF9nZXRfcmFuayk6CgkgIEd1YXJkIG1vcmUgdW5jb21tb24gZm9ybWF0cyB3aXRoIGlmZGVmcyBzbyB0aGF0IHdlIGNhbiBjb21waWxlIG9uIG9sZGVyCgkgIHZlcnNpb25zLgoKMjAwOC0xMC0zMSAxMDowMDoxOCArMDAwMCAgTmljayBIYWRkYWQgPG5pY2tAaGFkZGFkcy5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEludmVydCBvdGhlciB1bmNvbXByZXNzZWQgUkdCIGZvcm1hdHMuIEZpeGVzICM1NTg1NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTmljayBIYWRkYWQgPG5pY2sgYXQgaGFkZGFkcyBkb3QgbmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaXNfdW5jb21wcmVzc2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBJbnZlcnQgb3RoZXIgdW5jb21wcmVzc2VkIFJHQiBmb3JtYXRzLiBGaXhlcyAjNTU4NTU0LgoKMjAwOC0xMC0zMCAxNTowODo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogQWRkIHN1cHBvcnQgZm9yIGZsb2F0L2RvdWJsZSBhcyBpbnB1dCBhbmQgcmVtb3ZlIHRoZSAobm93YWRheXMpIHVzZWxlc3MgcGFyc2luZyBvZiB0aGUgZGVwdGggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZmxvYXQvZG91YmxlIGFzIGlucHV0IGFuZCByZW1vdmUgdGhlIChub3dhZGF5cykKCSAgdXNlbGVzcyBwYXJzaW5nIG9mIHRoZSBkZXB0aCBhcyB3ZSByZXF1aXJlIHdpZHRoPT1kZXB0aC4KCjIwMDgtMTAtMzAgMTA6MzE6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTmFycm93IGRvd24gdGhlIGNhcHMgb2YgdGhlIG1wZWcgYXVkaW8gcGF5L2RlcGF5bG9hZGVycyB0byBvbmx5IGFjY2VwdCBtcGVnIHZlcnNpb24gMS4gRml4ZXMgIzU1ODQyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgTmFycm93IGRvd24gdGhlIGNhcHMgb2YgdGhlIG1wZWcgYXVkaW8gcGF5L2RlcGF5bG9hZGVycyB0byBvbmx5IGFjY2VwdAoJICBtcGVnIHZlcnNpb24gMS4gRml4ZXMgIzU1ODQyNy4KCjIwMDgtMTAtMjkgMTg6Mjg6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBPbmx5IHB1dCBhbiBpbnRlZ3JhbCBhbW91bnQgb2Ygc2FtcGxlcyBpbiB0aGUgUlRQIHBhY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgIE9ubHkgcHV0IGFuIGludGVncmFsIGFtb3VudCBvZiBzYW1wbGVzIGluIHRoZSBSVFAgcGFja2V0LgoJICBGaXhlcyAjNTU2NjQxLgoKMjAwOC0xMC0yOCAxNzo0MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuKjogQWRkIG1ldGhvZCB0byBnZXQgcG9zc2libGUgY2hhbm5lbCBwb3NpdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzogKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X2luZGV4KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkgIEFkZCBtZXRob2QgdG8gZ2V0IHBvc3NpYmxlIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0xMC0yOCAxNzozOTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEFsc28gY29tbWl0IHVwZGF0ZWQgbWFrZWZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgQWxzbyBjb21taXQgdXBkYXRlZCBtYWtlZmlsZQoKMjAwOC0xMC0yOCAxNDo1NjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogRG9uJ3QgYWxsb3cgd2lkdGg9MzIsZGVwdGg9MjQgYXMgaW5wdXQuIFdBViByZXF1aXJlcyB0aGF0IHRoZSB3aWR0aCBpcyB0aGUgbmV4dCBpbnRlZ2VyIG11bHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgRG9uJ3QgYWxsb3cgd2lkdGg9MzIsZGVwdGg9MjQgYXMgaW5wdXQuIFdBViByZXF1aXJlcyB0aGF0IHRoZSB3aWR0aAoJICBpcyB0aGUgbmV4dCBpbnRlZ2VyIG11bHRpcGx5IG9mIDggZnJvbSB0aGUgZGVwdGguCgoyMDA4LTEwLTI4IDEwOjAxOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBtYXBwaW5ncyBmb3IgbXVsdGljaGFubmVsIHN1cHBvcnQuIERvZXMgbm90IGNvbXBsZXRlbHkganVzdCB3b3JrIGJlY2F1c2UgdGhlIGdldGNhcHMgZnVuY3Rpb24gZG9lcyBub3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOiAoY2hlY2tfY2hhbm5lbHMpLAoJICAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfcG9zKSwgKGdzdF9ydHBfY2hhbm5lbHNfZ2V0X2J5X29yZGVyKSwKCSAgKGdzdF9ydHBfY2hhbm5lbHNfY3JlYXRlX2RlZmF1bHQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgQWRkIG1hcHBpbmdzIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gRG9lcyBub3QgY29tcGxldGVseSBqdXN0IHdvcmsKCSAgYmVjYXVzZSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiBkb2VzIG5vdCB5ZXQgcmV0dXJuIHRoZSBhbGxvd2VkIGNoYW5uZWwKCSAgbWFwcGluZ3MuIFNlZSAjNTU2NjQxLgoKMjAwOC0xMC0yOCAwNjo1MDo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vOiBBZGQgbGljZW5zZSBoZWFkZXJzIGluIGFsbCBzb3VyY2UgZmlsZXMuIFJlbW92ZSBmaWx0ZXIuYyBmcm9tCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL1JFQURNRToKCSAgKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2RyYXdtZXRob2RzLmM6CgkgICogZ3N0L2dvb20vZHJhd21ldGhvZHMuaDoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZmlsdGVyc19tbXguczoKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJICAqIGdzdC9nb29tL2dvb21fZnguaDoKCSAgKiBnc3QvZ29vbS9nb29tX2dyYXBoaWMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5jOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3R5cGVkZWZzLmg6CgkgICogZ3N0L2dvb20vZ29vbV92aXN1YWxfZnguaDoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmM6CgkgICogZ3N0L2dvb20vaWZzLmM6CgkgICogZ3N0L2dvb20vaWZzLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzoKCSAgKiBnc3QvZ29vbS9saW5lcy5oOgoJICAqIGdzdC9nb29tL21hdGh0b29scy5jOgoJICAqIGdzdC9nb29tL21hdGh0b29scy5oOgoJICAqIGdzdC9nb29tL21teC5jOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20xLmg6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5oOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkgICogZ3N0L2dvb20vc291bmRfdGVzdGVyLmM6CgkgICogZ3N0L2dvb20vc291bmRfdGVzdGVyLmg6CgkgICogZ3N0L2dvb20vc3VyZjNkLmM6CgkgICogZ3N0L2dvb20vc3VyZjNkLmg6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuaDoKCSAgKiBnc3QvZ29vbS92M2QuYzoKCSAgKiBnc3QvZ29vbS92M2QuaDoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIEFkZCBsaWNlbnNlIGhlYWRlcnMgaW4gYWxsIHNvdXJjZSBmaWxlcy4gUmVtb3ZlIGZpbHRlci5jIGZyb20KCSAgRVhUUkFfRElTVCwgYXMgaXRzIGluIFNPVVJDRVMgYWxyZWFkeS4gTWVudGlvbiB0aGUgZmlsZXMgaW4gdGhlIFJFRE1FCgkgIHdoaWNoIGFyZSBub3QgdXNlZCByaWdodCBub3cuIEZpeGVzICM1NTc3MDkuCgoyMDA4LTEwLTI3IDExOjI4OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogSW1wbGVtZW50IGdldGNhcHMgaW4gcnRwTDE2cGF5LiBGaXhlcyAjNTU2NDg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX0wxNl9wYXlfZ2V0Y2Fwcyk6CgkgIEltcGxlbWVudCBnZXRjYXBzIGluIHJ0cEwxNnBheS4gRml4ZXMgIzU1NjQ4NC4KCjIwMDgtMTAtMjcgMTE6MDM6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IENoZWNrIGlmIGNsb2NrLXJhdGUgYW5kIGNoYW5uZWxzIGFyZSB2YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKToKCSAgQ2hlY2sgaWYgY2xvY2stcmF0ZSBhbmQgY2hhbm5lbHMgYXJlIHZhbGlkLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9jYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgb3V0cHV0IGNhcHMgb24gdGhlIGJ1ZmZlcnMsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IKCSAgdXMuCgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9kdl9kZXBheV9yZXNldCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOiAoZ3N0X3J0cF9nNzI2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgIFRoZSBzdWJjbGFzcyB3aWxsIG1ha2Ugc3VyZSB3ZSBhcmUgbmVnb3RpYXRlZC4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2dzbV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzogKGdzdF9ydHBfZ3NtX3BheV9zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiAoZ3N0X3J0cF9oMjYzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19wYXlfZmx1c2gpLCAoZ3N0X3J0cF9oMjYzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgIERvIHNvbWUgbW9yZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfcnRwX2gyNjNwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgRG8gc29tZSBtb3JlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgRml4IHBvc3NpYmxlIGNhcHMgbGVhay4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2lsYmNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2lua19zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb24gYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNHZfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIEFjdHVhbGx5IHNldCBvdXRwdXQgY2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6IChnc3RfcnRwX21wdl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFNldCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOiAoZ3N0X3J0cF9wY211X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFNldCBvdXRwdXQgY2FwcyBvbiB0aGUgcGFkIGFuZCBoZWFkZXIgYnVmZmVycy4KCSAgU2V0IGR1cmF0aW9uIG9uIG91dHB1dCBidWZmZXJzIGJlY2F1c2Ugd2UgY2FuLgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X3BhcnNlX2lkZW50KToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG91dCBvdXRwdXQgYnVmZmVycywgc3ViY2xhc3MgZG9lcyB0aGF0LgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCksIChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfc2V0Y2Fwcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24sIGRvbid0IGlnbm9yZSBzZXRjYXBzIHJldHVybi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzogKGdzdF9ydHBfdnJhd19wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoKMjAwOC0xMC0yNyAxMDozNTowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGb3J3YXJkIHVua25vd24gZXZlbnRzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgRm9yd2FyZCB1bmtub3duIGV2ZW50cyB1cHN0cmVhbS4KCjIwMDgtMTAtMjcgMTA6MzM6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiBBZGQgc29tZSByZWZjb3VudCBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgQWRkIHNvbWUgcmVmY291bnQgY2hlY2sKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOiAocnRwX3BpcGVsaW5lX3J1bik6CgkgIERvbid0IGlnbm9yZSB0aGUgcmVzdWx0IG9mIHdyaXRlKCksIGZpeGVzIGEgIGNvbXBpbGVyIHdhcm5pbmcgZm9yIG1lLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzogKG1haW4pOgoJICBNYWtlIHRoZSBvdXRwdXQgYSBsaXR0bGUgbW9yZSBwcmV0dHkuCgoyMDA4LTEwLTI3IDA5OjI2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZXNkL2VzZG1vbi5jOiBBZGQgZG9jIGJsb2IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgIEFkZCBkb2MgYmxvYi4KCjIwMDgtMTAtMjcgMDk6MjE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0aGUgZG9jcyBvZiB0aGUgbmV3IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgIEFkZCB0aGUgZG9jcyBvZiB0aGUgbmV3IGVsZW1lbnRzLgoKMjAwOC0xMC0yNyAwOTowNDozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBGaXggIlNpbmNlIiB0YWdzIGluIHRoZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NyY19jbGFzc19pbml0KToKCSAgRml4ICJTaW5jZSIgdGFncyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMTAtMjcgMDk6MDA6MjkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBzb3VwaHR0cHNyYyB0byBhY3QgYXMgYSBsaXZlIHNvdXJjZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBnZXQgdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzb3VwaHR0cHNyYyB0byBhY3QgYXMgYSBsaXZlIHNvdXJjZS4gVGhpcyBtYWtlcyBpdAoJICBwb3NzaWJsZSB0byBnZXQgdGltZXN0YW1wZWQgYnVmZmVycyBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZQoJICAiZG8tdGltZXN0YW1wIiBwcm9wZXJ0eS4gRml4ZXMgYnVnICM1NTYwMTkuCgoyMDA4LTEwLTI3IDA4OjU0OjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IEltcGxlbWVudCBzcmMgcGx1Z2lucy4gTGl0dGxlIGNvZGUvc3RyaW5nIGNsZWFudXAgaW4gdGhlIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSAgSW1wbGVtZW50IHNyYyBwbHVnaW5zLiBMaXR0bGUgY29kZS9zdHJpbmcgY2xlYW51cCBpbiB0aGUgc2lua3MuCgkgIEZpeGVzICM1MjM4MTMuCgoyMDA4LTEwLTI3IDA4OjQ1OjExICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IGEgbWVtb3J5IGxlYWsgd2hlbiBwYWRzIGFyZSByZXF1ZXN0ZWQgYnV0IHRoZSBwaXBlbGluZSBuZXZlciBnb2VzIGludG8gUExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpOgoJICBGaXggYSBtZW1vcnkgbGVhayB3aGVuIHBhZHMgYXJlIHJlcXVlc3RlZCBidXQgdGhlIHBpcGVsaW5lIG5ldmVyCgkgIGdvZXMgaW50byBQTEFZSU5HLgoJICBDb3JyZWN0bHkgcmVtb3ZlIHJlcXVlc3QgcGFkcywgbm8gbWF0dGVyIGlmIHRoZXkgaGF2ZSBjb2xsZWN0ZWQKCSAgZGF0YSBvciBub3QuCgkgIEZpeGVzIGJ1ZyAjNTU3NzEwLgoKMjAwOC0xMC0yNyAwODo0MDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOiBEZWZpbmUgdGhlIGNvcnJlY3QgV0lOVkVSIHNvIGdldGFkZGluZm8oKSBjYW4gYmUgdXNlZCB3aGVuIHVzaW5nIG1pbmd3MzIuIEZpeGVzIGJ1ZyAjNTU3Mjk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBEZWZpbmUgdGhlIGNvcnJlY3QgV0lOVkVSIHNvIGdldGFkZGluZm8oKSBjYW4gYmUgdXNlZCB3aGVuIHVzaW5nCgkgIG1pbmd3MzIuIEZpeGVzIGJ1ZyAjNTU3Mjk0LgoKMjAwOC0xMC0yNyAwODozNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC86IEZpeCAiYXJndW1lbnQgdHlwZSBtaXNtYXRjaCIgY29tcGlsZXIgd2FybmluZ3Mgb24gV2luZG93cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8bHJuMTk4NiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfcmVuZGVyKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCAiYXJndW1lbnQgdHlwZSBtaXNtYXRjaCIgY29tcGlsZXIgd2FybmluZ3Mgb24gV2luZG93cy4KCSAgRml4ZXMgYnVnICM1NTcyOTMuCgoyMDA4LTEwLTI3IDA4OjMwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBjYWxjdWxhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIgYnV0IG9ubHkgd2hlbiBpdCdzIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHVwZGF0ZV9jb2VmZmljaWVudHMpOgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIKCSAgYnV0IG9ubHkgd2hlbiBpdCdzIG5lZWRlZC4gRml4ZXMgYnVnICM1NTcyNjAuCgoyMDA4LTEwLTI2IDIwOjA1OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoKMjAwOC0xMC0yNiAyMDowNDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QtcGx1Z2lucy1nb29kLmRvYXA6IEZpeCB2ZXJzaW9uIG51bWJlciBvZiAwLjEwLjExIHJlbGVhc2UgaW4gZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgRml4IHZlcnNpb24gbnVtYmVyIG9mIDAuMTAuMTEgcmVsZWFzZSBpbiBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTEgPT09CgoyMDA4LTEwLTI0IDIyOjQxOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4xMQoKMjAwOC0xMC0yNCAyMjoyMDo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0xMC0yNCAxNjozMDo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC4xMC40IHByZS1yZWxlYXNlCgoyMDA4LTEwLTIxIDEyOjQyOjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCBWUFJQIGNodW5rIHNldHVwIGluIGF2aW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4IFZQUlAgY2h1bmsgc2V0dXAgaW4gYXZpbXV4LgoJICBGaXhlczogIzU1NjAxMAoJICBQYXRjaCBCeTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoyMDA4LTEwLTIxIDEyOjM4OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IHN1cHBvcnQgZHluYW1pY2FsbHkgY2hhbmdpbmcgcHJvcGVydGllcyBpbiB2aWRlb2JveAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgc3VwcG9ydCBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzIGluIHZpZGVvYm94CgkgIEZpeGVkOiAjNTU3MDg1CgkgIFBhdGNoIEJ5OiBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKMjAwOC0xMC0xNiAxNzoxMDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoKMjAwOC0xMC0xNiAxNTozMDoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgcnVuIHRoZSBzdGF0ZXMgdGVzdCBvbiBwdWxzZXNyYyBhbmQgcHVsc2VzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCBydW4gdGhlIHN0YXRlcyB0ZXN0IG9uIHB1bHNlc3JjIGFuZCBwdWxzZXNpbmsKCjIwMDgtMTAtMTYgMTE6NTI6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC4xMC4yIHByZS1yZWxlYXNlIGJ1bXAgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBvbiAyMDA4LTEwLTExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuMTAuMiBwcmUtcmVsZWFzZSBidW1wIHRoYXQgYWN0dWFsbHkgd2VudAoJICBvdXQgb24gMjAwOC0xMC0xMQoKMjAwOC0xMC0xNSAxNTo0MjoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU2tpcCBlbnRyaWVzIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIG91dHB1dCBwYWQgeWV0LCB0aGVyZWJ5IGF2b2lkaW5nIGNhbGxpbmcgcGFkIGZ1bmN0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgU2tpcCBlbnRyaWVzIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIG91dHB1dCBwYWQgeWV0LCB0aGVyZWJ5CgkgIGF2b2lkaW5nIGNhbGxpbmcgcGFkIGZ1bmN0aW9ucyB3aXRoIGEgTlVMTCBwYWQuCgkgIEZpeGVzICM1NTY0MjQKCjIwMDgtMTAtMTUgMDk6Mzk6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcmV2aW91cyB3cm9uZyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJldmlvdXMgd3JvbmcgY29tbWl0CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgRml4ZXMgIzU1NjM4MQoKMjAwOC0xMC0xNSAwOToyNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIEZpeGVzICM1NTYzODEKCjIwMDgtMTAtMTMgMTg6MTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIHVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hNTJkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2Ftcm5iL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdmRuYXYvTWFrZWZpbGUuYW06CgkgICogZXh0L2R2ZHJlYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L21hZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NpZHBsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FjM3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hc2ZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkbHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3ViL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZWM5NTgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnc3RyZWFtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsbWVkaWEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N5bmFlc3RoZXNpYS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgdWdseS4KCjIwMDgtMTAtMTAgMTI6Mjg6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZsYWMvOiBDYXN0IHNvbWUgc2l6ZV90IGFyZ3VtZW50cyB0byBndWludCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiA2NC1iaXQgc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYyAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgQ2FzdCBzb21lIHNpemVfdCBhcmd1bWVudHMgdG8gZ3VpbnQgdG8gYXZvaWQgY29tcGlsZXIKCSAgd2FybmluZ3Mgb24gNjQtYml0IHN5c3RlbXMuCgoyMDA4LTEwLTA5IDE0OjI3OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZXR1cm4gVFJVRSBpbnN0ZWFkIG9mIEZBTFNFIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIgd2hlbiB3ZSBzd2FsbG93ZWQgdGhlIGV2ZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KToKCSAgUmV0dXJuIFRSVUUgaW5zdGVhZCBvZiBGQUxTRSBmcm9tIHRoZSBldmVudCBoYW5kbGVyIHdoZW4gd2Ugc3dhbGxvd2VkIHRoZQoJICBldmVudC4KCjIwMDgtMTAtMDggMTU6NTk6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgcmVtb3ZlIG9sZCBDRElPIHBsdWdpbiBub3cgaW4gdWdseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCBDRElPIHBsdWdpbiBub3cgaW4gdWdseQoKMjAwOC0xMC0wOCAxNDo0NzoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmVzZXQgaGVhZGVyIHN0YXRlLiBGaXhlcyAjNTU1MzIxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgIFJlc2V0IGhlYWRlciBzdGF0ZS4gRml4ZXMgIzU1NTMyMS4KCjIwMDgtMTAtMDggMTM6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEZvciB0aW1lc3RhbXBpbmcgYXVkaW8gcGFja2V0cyB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBhbW91bnQgb2YgYmxvY2tzIGluIG9uZSBlbnRyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEZvciB0aW1lc3RhbXBpbmcgYXVkaW8gcGFja2V0cyB3ZSBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IHRoZQoJICBhbW91bnQgb2YgYmxvY2tzIGluIG9uZSBlbnRyeSB1c2luZyB0aGUgYmxvY2thbGlnbi4gRml4ZXMgc29tZSBzeW5jCgkgIGlzc3VlcyB3aXRoIHplcm8tcGFkZGVkIGF1ZGlvIGJsb2NrcyBpbiB0aGUgYmVnaW5uaW5nIG9mIGF2aSBmaWxlcy4KCjIwMDgtMTAtMDggMTA6NDI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBJbXBsZW1lbnQgREVGQVVMVCBhbmQgQlVGRkVSIHBvc2l0aW9uIHF1ZXJpZXMuIFNlZSAjNTU1MjYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpX2ZpbGVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IERFRkFVTFQgYW5kIEJVRkZFUiBwb3NpdGlvbiBxdWVyaWVzLiBTZWUgIzU1NTI2MC4KCjIwMDgtMTAtMDggMDk6Mjk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggYnVpbGQgZm9yIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIFhEYW1hZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdG9wKToKCSAgRml4IGJ1aWxkIGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBYRGFtYWdlLgoKMjAwOC0xMC0wNyAwOTo1ODoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzL3J0cC86IEFkZCBzb21lIG1vcmUgSDI2M3Agc2VydmVyIGFuZCBjbGllbnQgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3Auc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkgIEFkZCBzb21lIG1vcmUgSDI2M3Agc2VydmVyIGFuZCBjbGllbnQgZXhhbXBsZXMuCgoyMDA4LTEwLTAzIDE3OjAzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIGJhc2UuCgoyMDA4LTEwLTAzIDE2OjEzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlLzogUmV0dXJuIC0xIGluc3RlYWQgb2YgMCBpbiBlcnJvciBjYXNlcy4gRml4ZXMgIzU1NDc3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua193cml0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfcmVhZCk6CgkgIFJldHVybiAtMSBpbnN0ZWFkIG9mIDAgaW4gZXJyb3IgY2FzZXMuIEZpeGVzICM1NTQ3NzEuCgoyMDA4LTEwLTAzIDE1OjU0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogU3RvcCBsZWFraW5nIHRoZSBjdXJzb3IgaW1hZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19zdGFydCksCgkgIChnc3RfeGltYWdlX3NyY19zdG9wKSwgKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBTdG9wIGxlYWtpbmcgdGhlIGN1cnNvciBpbWFnZS4KCSAgVW5yZWYgdGhlIGxhc3RfeGltYWdlIGFuZCB0aGUgY2FjaGVkIGN1cnNvciBpbWFnZSBvbiBzaHV0ZG93bi4KCSAgRml4ZXMgIzU1MTU3MC4KCjIwMDgtMTAtMDMgMTE6MzI6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6IEdldHRpbmcgdGhlIENsYXNzIGZyb20gYW4gaW5zdGFuY2UgaXMgbm90IGp1c3QgYSBtYXR0ZXIgb2YgY2FzdGluZyBpdCB0byB0aGUgY2xhc3Mgc3RydWN0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBHZXR0aW5nIHRoZSBDbGFzcyBmcm9tIGFuIGluc3RhbmNlIGlzIG5vdCBqdXN0IGEgbWF0dGVyIG9mIGNhc3RpbmcgaXQgdG8KCSAgdGhlIGNsYXNzIHN0cnVjdCBidXQgaXQgaW52b2x2ZXMgY2FsbGluZyBHX09CSkVDVF9HRVRfQ0xBU1Mgb24gdGhlCgkgIGluc3RhbmNlLiBGaXhlcyAjNTQ5Nzg0LgoKMjAwOC0xMC0wMSAyMToyMjoyNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggbGlicyBmb3IgbGlua2luZyBkaXJlY3Rzb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggbGlicyBmb3IgbGlua2luZyBkaXJlY3Rzb3VuZC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEZpeCBidWZmZXIgc2l6aW5nIHRvIHByZXZlbnQgcmFjaW5nIHRoZSByaW5nYnVmZmVyIGF0IHN0YXJ0dXAuCgkgIEFkZCB2b2x1bWUgcHJvcGVydHkuCgoyMDA4LTA5LTI3IDAwOjQzOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogRml4IHByb2JsZW1zIHdpdGggcHVsc2VzaW5rIHJhbmRvbWx5IGVycm9yaW5nIHdpdGggY29kZSAnT0snIGFmdGVyIGEgZm9ybWF0IGNoYW5nZSBvbiB0aGUgc3RyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCBwcm9ibGVtcyB3aXRoIHB1bHNlc2luayByYW5kb21seSBlcnJvcmluZyB3aXRoIGNvZGUgJ09LJyBhZnRlciBhCgkgIGZvcm1hdCBjaGFuZ2Ugb24gdGhlIHN0cmVhbSBieSB3YWl0aW5nIHdoZW4gZGlzY29ubmVjdGluZyB0aGUgc3RyZWFtLgoKMjAwOC0wOS0yNiAxNDo0NDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogTWFyayBESVNDT05UIG9uIG91dHB1dCBidWZmZXJzIHdoZW4gdGhlIG1hcmtlciBiaXQgc2lnbmFscyBhIG5ldyB0YWxrIHNwdXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICBNYXJrIERJU0NPTlQgb24gb3V0cHV0IGJ1ZmZlcnMgd2hlbiB0aGUgbWFya2VyIGJpdCBzaWduYWxzIGEgbmV3IHRhbGsKCSAgc3B1cnQuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgU2V0IHRoZSBtYXJrZXIgYml0IGZvciBidWZmZXJzIHdpdGggYSBESVNDT05UIGZsYWcgdG8gc2lnbmFsIGEgdGFsawoJICBzcHVydC4KCjIwMDgtMDktMjYgMTM6NTU6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgTVA0QS1MQVRNIHBheWxvYWRlciB0byBtYXRjaCB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9tcDRhX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfaW5pdCksIChnc3RfcnRwX21wNGFfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0YV9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0YV9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX21wNGFfcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX21wNGFfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuaDoKCSAgQWRkZWQgTVA0QS1MQVRNIHBheWxvYWRlciB0byBtYXRjaCB0aGUgZGVwYXlsb2FkZXIuCgoyMDA4LTA5LTI1IDE1OjExOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBIYW5kbGUgc2VnbWVudHMgYSBsaXR0bGUgYmV0dGVyLiBGaXhlcyAjNTM3MzYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9zaW5rX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnRzIGEgbGl0dGxlIGJldHRlci4gRml4ZXMgIzUzNzM2MS4KCjIwMDgtMDktMjUgMTI6MDc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGFzc3VtZSB0aGUgc2VydmVyIHN1cHBvcnRzIFBBVVNFIGJ5IGRlZmF1bHQuIEZpeGVzICM1NTEwNDguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpOgoJICBEb24ndCBhc3N1bWUgdGhlIHNlcnZlciBzdXBwb3J0cyBQQVVTRSBieSBkZWZhdWx0LiBGaXhlcyAjNTUxMDQ4LgoKMjAwOC0wOS0yNSAxMTozMDozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFN3aXRjaCBvbiB0aGUgc29ja2V0IGZhbWlseSB0byBnZXQgdGhlIGFkZHJsZW4gc2l6ZSByaWdodC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX3NldF91cmkpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFN3aXRjaCBvbiB0aGUgc29ja2V0IGZhbWlseSB0byBnZXQgdGhlIGFkZHJsZW4gc2l6ZSByaWdodC4KCjIwMDgtMDktMjUgMTA6MzQ6MzkgKzAwMDAgIERhbmllbCBGcmFua2UgPGRmQGRmcmFua2UudXM+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBPUyBYJ3MgYmluZCgpIGltcGxlbWVudGF0aW9uIGlzIHBpY2t5IGFib3V0IGl0cyBhZGRybGVuIHBhcmFtZXRlciBhbmQgZmFpbHMgd2l0aCBFSU5WQUwgaWYgaXQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRnJhbmtlIDxkZiBhdCBkZnJhbmtlIGRvdCB1cz4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIE9TIFgncyBiaW5kKCkgaW1wbGVtZW50YXRpb24gaXMgcGlja3kgYWJvdXQgaXRzIGFkZHJsZW4gcGFyYW1ldGVyIGFuZAoJICBmYWlscyB3aXRoIEVJTlZBTCBpZiBpdCBpcyBsYXJnZXIgdGhhbiBleHBlY3RlZCBmb3IgdGhlIHNvY2tldCdzIGFkZHJlc3MKCSAgZmFtaWx5LiBTZXQgdGhlIGxlbmd0aCB0byB0aGUgZXhwZWN0ZWQgbGVuZ3RoIGluc3RlYWQuIEZpeGVzICM1NTMxOTEuCgoyMDA4LTA5LTIzIDE4OjA4OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgY2Fubm90IGRvIGRlc3JpYmUgb3Igd2hlbiB0aGUgZGVzY3JpYmUgcmVzdWx0IGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgY2Fubm90IGRvIGRlc3JpYmUgb3Igd2hlbiB0aGUgZGVzY3JpYmUgcmVzdWx0CgkgIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBTRFAgbWVzc2FnZS4KCjIwMDgtMDktMjMgMTc6MzE6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggc2V0dGluZyB0aGUgcW9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpOgoJICBGaXggc2V0dGluZyB0aGUgcW9zLgoKMjAwOC0wOS0xNyAxNDo1MDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSAnYnJva2VuJyBmaWxlcyBvdXQgdGhlcmUgaGF2ZSBhdG9tIGxlbmd0aHMgb2YgemVyby4uLiB3aGljaCBiYXNpY2FsbHkgcmVzdWx0cyBpbiBxdGRlbXV4IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFNvbWUgJ2Jyb2tlbicgZmlsZXMgb3V0IHRoZXJlIGhhdmUgYXRvbSBsZW5ndGhzIG9mIHplcm8uLi4KCSAgd2hpY2ggYmFzaWNhbGx5IHJlc3VsdHMgaW4gcXRkZW11eCBjb25zdW1pbmcgdGhhdCBhdG9tIGFnYWluIGFuZCBhZ2FpbgoJICB1bnRpbCB0aGUgKmVuZCBvZiBuaWdodCogIQoJICBEZXRlY3QgdGhhdCBhbmQgZW1pdHMgYW4gYWRlcXVhdGUgZWxlbWVudCBlcnJvciBtZXNzYWdlLgoKMjAwOC0wOS0xNyAxMzo0OTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggYnVpbGQgZmxhZ3Mgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIGZsYWdzIG9yZGVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGb3JtYXQgZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIFB1bGwgaW4gdW5pc3RkLmgKCjIwMDgtMDktMTUgMjE6MTA6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS4qOiBIYW5kbGUgaW50ZXJsZWF2ZWQgc3RyZWFtcyBieSByZW9yZGVyaW5nIEFVIGluIGEgcXVldWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsZWFyX3F1ZXVlKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9mbHVzaF9xdWV1ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcXVldWUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgSGFuZGxlIGludGVybGVhdmVkIHN0cmVhbXMgYnkgcmVvcmRlcmluZyBBVSBpbiBhIHF1ZXVlLgoKMjAwOC0wOS0xNSAxNjowNDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IENoYW5nZSBzb21lIG9mIHRoZSByYW5nZXMgaW4gdGhlIGNhcHMsIG1vc3RseSBmb3IgdGhlIGFtb3VudCBvZiBiaXRzIHdlIGNhbiB1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfYnNfcGFyc2VfaW5pdCksCgkgIChnc3RfYnNfcGFyc2VfcmVhZCksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIENoYW5nZSBzb21lIG9mIHRoZSByYW5nZXMgaW4gdGhlIGNhcHMsIG1vc3RseSBmb3IgdGhlIGFtb3VudCBvZiBiaXRzIHdlCgkgIGNhbiB1c2UuCgkgIEFkZGVkIGEgbGl0dGxlIGJpdHN0cmVhbSBwYXJzZSBhbmQgdXNlIGl0IHRvIHBhcnNlIHRoZSBBVSBoZWFkZXIgZmllbGRzLgoJICBDaGVjayBmb3IgbWFsZm9ybWVkIGFuZCB3cm9uZ2x5IHNpemVkIHBhY2tldHMgYmV0dGVyLgoJICBJbXBsZW1lbnQgbW9yZSBoZWFkZXIgZmllbGQgcGFyc2luZy4KCSAgSGFuZGxlIHRoZSBzaXplIG9mIGZyYWdtZW50ZWQgcGFja2V0cyBjb3JyZWN0bHkuCgoyMDA4LTA5LTE0IDExOjMyOjE1ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbWFwcGluZyBmb3IgJ3RpZmYnID0+IGltYWdlL3RpZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBtYXBwaW5nIGZvciAndGlmZicgPT4gaW1hZ2UvdGlmZgoJICBGaXhlcyAjNTUyMjEzCgoyMDA4LTA5LTExIDExOjI2OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3JhdzEzOTQvOiBQcmV0ZW5kIHRvIGNhcmUgYWJvdXQgdGhlIHJlc3VsdCBvZiB3cml0ZSgpIHdoaWNoIHdvcmtzIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChTRU5EX0NPTU1BTkQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKFNFTkRfQ09NTUFORCk6CgkgIFByZXRlbmQgdG8gY2FyZSBhYm91dCB0aGUgcmVzdWx0IG9mIHdyaXRlKCkgd2hpY2ggd29ya3MgYXJvdW5kCgkgIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wOS0wNCAwOToyNTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogTWFrZSBzdXJlIHRoZSBkZXNpcmVkIGRlZmF1bHQgdmFsdWVzIGFyZSBhY3R1YWxseSBzZXQsIG5vdCBvbmx5IHJlZ2lzdGVyZWQgYXMgZGVmYXVsdHMgKGFjdHVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfY2xhc3NfaW5pdCk6CgkgIE1ha2Ugc3VyZSB0aGUgZGVzaXJlZCBkZWZhdWx0IHZhbHVlcyBhcmUgYWN0dWFsbHkgc2V0LCBub3Qgb25seQoJICByZWdpc3RlcmVkIGFzIGRlZmF1bHRzIChhY3R1YWwgcHJvYmxlbSBpcyB0aGF0IHRoZSBzdGVyZW8tc3BlY2lmaWMKCSAgdmFsdWVzIGFyZSBvbmx5IHVwZGF0ZWQgaWYgY2hhbm5lbHM9PTIsIHdoaWNoIGlzIG5vdCB0aGUgY2FzZSB5ZXQKCSAgd2hlbiB0aGUgb2JqZWN0IGlzIGNyZWF0ZWQsIHNvIHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlCgkgIG1pZC1zaWRlLXN0ZXJlbyBhbmQgbG9vc2UtbWlkLXNpZGUtc3RlcmVvIHNldHRpbmdzIGFyZSBuZXZlcgoJICBzZXQgaW4gX3VwZGF0ZV9xdWFsaXR5KCkpLiBNYWtlcyBmbGFjZW5jIGNyZWF0ZSBzbWFsbGVyIGZpbGVzIGJ5CgkgIGRlZmF1bHQgKGZvciBzdGVyZW8gaW5wdXQpLCBhbmQgZml4ZXMgIzU1MDc5MS4KCjIwMDgtMDktMDMgMTI6Mzk6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8vbWoyIG1pbWUtdHlwZSBhbmQgaXRzIGFkZGl0aW9uYWwgYXRvbXMvYm94ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3BhcnNlX25vZGUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdmlkZW8vbWoyIG1pbWUtdHlwZSBhbmQgaXRzIGFkZGl0aW9uYWwgYXRvbXMvYm94ZXMuCgkgIEZpeGVzICM1NTA2NDYuCgoyMDA4LTA5LTAzIDExOjEwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IEFkZCB3YXJuaW5nIHdoZW4gdGFncyBwYXJhbWV0ZXIgaXMgdW5wYXJzYWJsZSBhbmQgZ2l2ZSBleGFtcGxlIGZvciBxdW90aW5nIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgIEFkZCB3YXJuaW5nIHdoZW4gdGFncyBwYXJhbWV0ZXIgaXMgdW5wYXJzYWJsZSBhbmQgZ2l2ZSBleGFtcGxlIGZvcgoJICBxdW90aW5nIGluIHRoZSBkb2NzLgoKMjAwOC0wOS0wMiAxNToyNzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIG1hcHBpbmcgZm9yIElNQSBMb2tpIFNETCBNSlBFRyBBRFBDTSBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIG1hcHBpbmcgZm9yIElNQSBMb2tpIFNETCBNSlBFRyBBRFBDTSBjb2RlYy4KCSAgQWRkIHNvbWUgYWx0ZXJuYXRpdmUgYnl0ZXN3YXBwZWQgbWFwcGluZ3MgdGhhdCBzZWVtIHRvIHBvcCB1cCBzb21ldGltZXMuCgkgIEZpeGVzICM1NTAyODguCgoyMDA4LTA5LTAyIDA5OjQwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vOiBBZGQgJ2NhJyB0byBMSU5HVUFTOyBhZGQgc29tZSBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zIGFuZCBzb21lIGZpbGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRyYW5zbGF0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkICdjYScgdG8gTElOR1VBUzsgYWRkIHNvbWUgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucyBhbmQgc29tZQoJICBmaWxlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZCBieSB0cmFuc2xhdGlvbiB0b29scy4KCjIwMDgtMDktMDIgMDg6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC86IFVzZSBpbnRlZ2VyIGVuY29kaW5nIGFuZCBkZWNvZGluZyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHRoZSBpbnRlZ2VyIGlucHV0IHRvIGZsb2F0IGluIHRoZSBlbGVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZW5jb2RlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgVXNlIGludGVnZXIgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcKCSAgdGhlIGludGVnZXIgaW5wdXQgdG8gZmxvYXQgaW4gdGhlIGVsZW1lbnQuIFRoZSBsaWJzcGVleCBpbnRlZ2VyCgkgIGZ1bmN0aW9ucyBhcmUgZG9pbmcgdGhpcyBmb3IgdXMgYWxyZWFkeSBvciwgaWYgbGlic3BlZXggd2FzIGNvbXBpbGVkCgkgIGluIGludGVnZXIgbW9kZSwgdGhleSdyZSBkb2luZyBldmVyeXRoaW5nIHVzaW5nIGludGVnZXIgYXJpdGhtZXRpY3MuCgkgIEFsc28gc2F2ZXMgc29tZSBjb3B5aW5nIGFyb3VuZC4KCjIwMDgtMDktMDEgMTM6Mjk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDA4LTA4LTMxIDE3OjA5OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGFuZCBzdHJlYW0gZGlzY29udGludWl0aWVzIGNvcnJlY3RseS4gVGhpcyBvbmx5IGhhcyBhbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBhbmQgc3RyZWFtIGRpc2NvbnRpbnVpdGllcwoJICBjb3JyZWN0bHkuIFRoaXMgb25seSBoYXMgYW4gZWZmZWN0IGlmIHdlJ3JlIG11eGluZyBpbnRvCgkgIGEgY29udGFpbmVyIGZvcm1hdCBhcyB0aGUgcmF3IFdhdlBhY2sgc3RyZWFtIG11c3QgY29udGFpbgoJICBjb250aW5vdXMgc2FtcGxlIG51bWJlcnMuCgoyMDA4LTA4LTMxIDE1OjAyOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQ29ycmVjdCB0aGUgdGltZXN0YW1wIGFuZCBncmFudWxlcG9zIGNhbGN1bGF0aW9uIGJ5IG9uZSBTcGVleCBmcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2VuY29kZSk6CgkgIENvcnJlY3QgdGhlIHRpbWVzdGFtcCBhbmQgZ3JhbnVsZXBvcyBjYWxjdWxhdGlvbiBieSBvbmUgU3BlZXgKCSAgZnJhbWUuCgoyMDA4LTA4LTMxIDE0OjM5OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kCgkgIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4gdmFyaW91cyBjYWxjdWxhdGlvbnM6IHRoZQoJICBncmFudWxlcG9zIGlzIHRoZSBzYW1wbGUgbnVtYmVyIG9mIHRoZSBfbGFzdF8gc2FtcGxlIGluIGEgZnJhbWUsIG5vdAoJICB0aGUgZmlyc3QuCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtldmVudCksCgkgIChnc3Rfc3BlZXhfZW5jX2VuY29kZSksIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgaW4gdGhlIGVuY29kZXIgYW5kIGRldGVjdC9oYW5kbGUKCSAgc3RyZWFtIGRpc2NvbnRpbnVpdGllcy4gRml4ZXMgYnVnICM1NDcwNzUuCgoyMDA4LTA4LTMxIDA4OjMyOjQ1ICswMDAwICBDcmFpZyBLZW9naCA8Y3NrZW9naEBhZGFtLmNvbS5hdT4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBwYXNzaW5nIGEgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcgaW5zdGVhZCBvZiAiJXMiIGFuZCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENyYWlnIEtlb2doIDxjc2tlb2doIGF0IGFkYW0gZG90IGNvbSBkb3QgYXU+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiAoZ3N0X2NtbWxfcGFyc2VyX3BhcnNlX2NodW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBwYXNzaW5nIGEgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcKCSAgaW5zdGVhZCBvZiAiJXMiIGFuZCB0aGVuIHRoZSBzdHJpbmcuIFRoaXMgaXMgb25seSBleHBvc2VkIGJ5IC1XZm9ybWF0PTIKCSAgYXMgdXNlZCBieSBkZWZhdWx0IG9uIFVidW50dS4gRml4ZXMgYnVnICM1NTAwMTUuCgoyMDA4LTA4LTMwIDE0OjE1OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZSBzdHVmZiBjb21waWxlIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6IChnc3RfaGR2MTM5NHNyY19jcmVhdGUpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2dldF91bml0X3NpemUpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnZW5lcmF0ZV9jb2VmZmljaWVudHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpOgoJICBNYWtlIHN0dWZmIGNvbXBpbGUgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgoyMDA4LTA4LTI5IDAwOjI4OjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGF3LzogUmVmIGNhcHMgYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSwgc2luY2UgdGhhdCB0YWtlcyBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy5jOgoJICAqIGdzdC9sYXcvbXVsYXcuYzoKCSAgUmVmIGNhcHMgYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSwgc2luY2UgdGhhdCB0YWtlcwoJICBvd25lcnNoaXAuCgoyMDA4LTA4LTI4IDEwOjA5OjE2ICswMDAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC86IENvbnZlcnQgYXVkaW8veC1hZHBjbSB0byBhbmQgZnJvbSB0aGUgYXVkaW8vRzcyNi1YIGluIHRoZSBtdXhlciBhbmQgZGVtdXhlci4gRml4ZXMgIzU0OTU1MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2dldF9taW1lKToKCSAgQ29udmVydCBhdWRpby94LWFkcGNtIHRvIGFuZCBmcm9tIHRoZSBhdWRpby9HNzI2LVggaW4gdGhlIG11eGVyIGFuZAoJICBkZW11eGVyLiBGaXhlcyAjNTQ5NTUxLgoKMjAwOC0wOC0yNyAxNjoxMjozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3hhdWRpby86IEZpeCB0aGUgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfc2VsZWN0X2RldmljZSk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlciksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19zZWxlY3RfZGV2aWNlKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOiAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgRml4IHRoZSBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA4LTI3IDE1OjQyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IFNtYWxsIGRvY3MgZml4OiBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSwgd2UgbmVlZCB0byBwYXNzIGlyYWRpby1tb2RlPXRydWUgdG8gdGhlIHNvdXJjZSwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBTbWFsbCBkb2NzIGZpeDogaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUsIHdlIG5lZWQgdG8gcGFzcwoJICBpcmFkaW8tbW9kZT10cnVlIHRvIHRoZSBzb3VyY2UsIHNvIHRoZSBzZXJ2ZXIgYWN0dWFsbHkgc2VuZHMKCSAgYW4gSUNZIHN0cmVhbS4KCjIwMDgtMDgtMjcgMDA6MDg6MjAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOiBPb3BzLiBSZXZlcnQgbW9yZSBjb21wbGV0ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgT29wcy4gUmV2ZXJ0IG1vcmUgY29tcGxldGVseS4KCjIwMDgtMDgtMjYgMjM6NTc6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOiBSZXZlcnQgYWNjaWRlbnRhbCBlbGVtZW50IHJlbmFtZSBmcm9tIHRlc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBlbGVtZW50IHJlbmFtZSBmcm9tIHRlc3RpbmcuCgoyMDA4LTA4LTI2IDIzOjUzOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDogUHVsbCBpbiAwLjEwLjEwIGRvYXAgZW50cnkgZnJvbSByZWxlYXNlIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIFB1bGwgaW4gMC4xMC4xMCBkb2FwIGVudHJ5IGZyb20gcmVsZWFzZSBicmFuY2gKCjIwMDgtMDgtMjYgMjM6MDU6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdmVyc2lvbiBudW1iZXIgdG8gcmVmbGVjdCAwLjEwLjEwIHJlbGVhc2UgZnJvbSBicmFuY2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHZlcnNpb24gbnVtYmVyIHRvIHJlZmxlY3QgMC4xMC4xMCByZWxlYXNlIGZyb20KCSAgYnJhbmNoLgoKMjAwOC0wOC0yNiAyMToxMzowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvLzogUmV3cml0ZSBjYXBzIHNldHRpbmcgYW5kIHJpbmcgYnVmZmVyIGluaXRpYWxpc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIFJld3JpdGUgY2FwcyBzZXR0aW5nIGFuZCByaW5nIGJ1ZmZlciBpbml0aWFsaXNhdGlvbi4KCSAgUHJldmlvdXNseSB3ZSBuZXZlciB0b2xkIENvcmVBdWRpbyB3aGF0IGZvcm1hdCB3ZSB3ZXJlIGdvaW5nIHRvIHNlbmQgaXQsCgkgIHNvIGl0IG9ubHkgd29ya2VkIGR1ZSB0byBsdWNrLCBhbmQgbm90IGF0IGFsbCBvbiBzb21lIGhhcmR3YXJlLgoJICBOb3cgd2UgZXhwbGljaXRseSBhZHZlcnRpc2Ugd2hhdCBmb3JtYXRzIHRoZSBoYXJkd2FyZSBzdXBwb3J0cywgYW5kIHRoZW4KCSAgY29uZmlndXJlIHRoZSBzZWxlY3RlZCBvbmUgY29ycmVjdGx5LgoKMjAwOC0wOC0yNiAxMjoyNzoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggbWVtb3J5IGxlYWtzLiBTbWFsbCBjb2RlIGNsZWFudXBzIDogTm8gbmVlZCBmb3IgZW1wdHkgX2luaXQoKS4gTm8gbmVlZCB0byBtZW1zZXQgaW5zdGFuY2Ugc3RydWN0dXJlcy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBtZW1vcnkgbGVha3MuIFNtYWxsIGNvZGUgY2xlYW51cHMgOiBObyBuZWVkIGZvciBlbXB0eSBfaW5pdCgpLiBObwoJICBuZWVkIHRvIG1lbXNldCBpbnN0YW5jZSBzdHJ1Y3R1cmVzLiBTb21lIG1vcmUgRklYTUUncy4KCjIwMDgtMDgtMjYgMDg6MTE6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDgtMDgtMjYgMDg6MDA6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IElnbm9yZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vLmN2c2lnbm9yZToKCSAgKiBnc3QvZ29vbTJrMS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgZmlsZXMuCgoyMDA4LTA4LTI2IDA3OjUxOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDgtMjYgMDU6NDI6MTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBvYnZpb3VzIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggb2J2aW91cyBtZW1sZWFrLgoKMjAwOC0wOC0yNSAxNDoxNTo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBSZWFsW0F1ZGlvfFZpZGVvXSBzdXBwb3J0IHRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgIEFkZCBSZWFsW0F1ZGlvfFZpZGVvXSBzdXBwb3J0IHRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIEl0IHdvcmtzIGZpbmUgZm9yOgoJICAqIGRlY29kaW5nIHJlYWwgYXVkaW8vdmlkZW8gc3RyZWFtcyBjb250YWluZWQgaW4gbWt2CgkgICogJ3RyYW5zbXV4aW5nJyByZWFsICgucm0pIGZpbGVzIGludG8gLm1rdiBmaWxlcwoJICBJdCB3aWxsIG5vdCB3b3JrIHRob3VnaCBmb3IgZW5jb2RpbmcgcmVhbFthdWRpby92aWRlb10gc3RyZWFtcyB0aGF0CgkgIGRvbid0IGNvbnRhaW4gdGhlICdtZHByX2RhdGEnIGV4dHJhIGRhdGEgb24gdGhlIGNhcHMuCgkgIFRoZSByZWFzb24gd2h5IHRoaXMgd2lsbCBub3Qgd29yayBpcyBiZWNhdXNlIEkgbmV2ZXIgaW50ZW5kZWQgdG8KCSAgZHVwbGljYXRlIHZpcnR1YWxseSBhbGwgdGhlICdtZHByJyBibG9jayBjcmVhdGlvbiBpbnRvIG1rdm11eC4KCSAgRml4ZXMgIzUzNjA2NwoKMjAwOC0wOC0yNSAwOTo0ODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBUaGUgZW5jb2RlciBjYW4ndCByZWFsbHkgcmVuZWdvdGlhdGUgYXQgdGhlIHRpbWUgdGhleSBwZXJmb3JtIGEgcGFkLWFsbG9jIHNvIG1ha2UgdGhlIHNyY3BhZHMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19pbml0KSwgKGdzdF9hbGF3X2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgIFRoZSBlbmNvZGVyIGNhbid0IHJlYWxseSByZW5lZ290aWF0ZSBhdCB0aGUgdGltZSB0aGV5IHBlcmZvcm0gYQoJICBwYWQtYWxsb2Mgc28gbWFrZSB0aGUgc3JjcGFkcyB1c2UgZml4ZWQgY2Fwcy4KCSAgQ2hlY2sgdGhlIGJ1ZmZlciBzaXplIGFmdGVyIGEgcGFkLWFsbG9jIGJlY2F1c2UgdGhlIHJldHVybmVkIHNpemUgbWlnaHQKCSAgbm90IGJlIHJpZ2h0IHdoZW4gdGhlIGRvd25zdHJlYW0gZWxlbWVudCBkb2VzIG5vdCBrbm93IHRoZSBzaXplIG9mIHRoZQoJICBuZXcgYnVmZmVyIChjYXBzZmlsdGVyKS4gRml4ZXMgIzU0OTA3My4KCjIwMDgtMDgtMjMgMTU6NDM6NDkgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IHY0bDJzcmMgZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgIm5vcm0iIHNvIGRvbid0IHRyeSB0byBub3RpZnkgYWJvdXQgY2hhbmdlcyB0byB0aGF0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwbyBkb3QgYXJnaW9sYXMgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpOgoJICB2NGwyc3JjIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IG5hbWVkICJub3JtIiBzbyBkb24ndCB0cnkgdG8gbm90aWZ5CgkgIGFib3V0IGNoYW5nZXMgdG8gdGhhdCBwcm9wZXJ0eS4gVGhlICJub3JtIiBwcm9wZXJ0eSBhbmQgcmVsYXRlZAoJICBjb2RlIGFyZSBjb21tZW50ZWQgb3V0IGN1cnJlbnRseS4gRml4ZXMgYnVnICM1NDkwOTAuCgoyMDA4LTA4LTIzIDE1OjMzOjQ5ICswMDAwICBNaWtlIFJ1cHJlY2h0IDxjbWFpa3VAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBSZXByb2JlIGRldmljZXMgYWdhaW4gaW5zdGVhZCBvZiB0YWtpbmcgYSBjYWNoZWQgbGlzdCBhcyBuZXcgZGV2aWNlcyBjb3VsZCd2ZSBiZWVuIHBsdWdnZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWlrZSBSdXByZWNodCA8Y21haWt1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgIFJlcHJvYmUgZGV2aWNlcyBhZ2FpbiBpbnN0ZWFkIG9mIHRha2luZyBhIGNhY2hlZCBsaXN0IGFzIG5ldwoJICBkZXZpY2VzIGNvdWxkJ3ZlIGJlZW4gcGx1Z2dlZCBpbi4gRml4ZXMgYnVnICM1NDkwNjIuCgoyMDA4LTA4LTIyIDE2OjA0OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbTogRG9uJ3QgbGluayB0aGUgYXV0b2RldGVjdCBwbHVnaW4gd2l0aCBHQ29uZiBhcyBpdCBkb2Vzbid0IHVzZSBHQ29uZi4gRml4ZXMgYnVnICM1NDU0NjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICBEb24ndCBsaW5rIHRoZSBhdXRvZGV0ZWN0IHBsdWdpbiB3aXRoIEdDb25mIGFzIGl0IGRvZXNuJ3QKCSAgdXNlIEdDb25mLiBGaXhlcyBidWcgIzU0NTQ2My4KCjIwMDgtMDgtMjIgMTI6MjQ6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogQ2hhbmdlIHNvbWUgR1NUX0VMRU1FTlRfRVJST1JzIHRvIEdTVF9FUlJPUl9PQkpFQ1QgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBpZ25vcmUgZXJyb3JzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9yZWFkX3VpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9zaW50KSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBDaGFuZ2Ugc29tZSBHU1RfRUxFTUVOVF9FUlJPUnMgdG8gR1NUX0VSUk9SX09CSkVDVCB0byBtYWtlIGl0CgkgIHBvc3NpYmxlIHRvIGlnbm9yZSBlcnJvcnMgYW5kIG5vdCBwb3N0IGFueSBFUlJPUiBtZXNzYWdlcyBvbgoJICB0aGUgYnVzLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKToKCSAgSWdub3JlIGFueSBlcnJvcnMgYW5kIG5vdCBqdXN0IEVPUyB3aGVuIHBhcnNpbmcgdGhlIGNvbnRlbnRzIG9mCgkgIGEgU2Vla0hlYWQuIEVycm9ycyBoZXJlIGFyZSB1c3VhbGx5IGNhdXNlZCBieSB0cnVuY2F0ZWQgZmlsZXMKCSAgYW5kIHBsYXliYWNrIG9mIHRoZSBmaWxlIHdvcmtzIGZpbmUuIEZpeGVzIHBsYXliYWNrIG9mIHRoZQoJICBhdWRpb19vbmx5X2NoYXB0ZXJfc2Vla2Jyb2tlbi5ta2EgZmlsZSBmcm9tIHRoZSBNUGxheWVyIHNhbXBsZXMKCSAgYXJjaGl2ZS4KCjIwMDgtMDgtMjIgMTE6Mjk6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXVsdGlwYXJ0LzogQ29uZm9ybSB0byBSRkMyMDQ2LiBhdWRpby9iYXNpYyBpcyBtdWxhdyA4MDAwSHogbW9uby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIENvbmZvcm0gdG8gUkZDMjA0Ni4gYXVkaW8vYmFzaWMgaXMgbXVsYXcgODAwMEh6IG1vbm8uCgoyMDA4LTA4LTIxIDIxOjU2OjE5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsCgkgIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIEZpeCB0d28gbW9yZSBidWZmZXIgcmVmIGxlYWtzLgoKMjAwOC0wOC0yMSAxNToyODowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZpeCBidWZmZXIgcmVmIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEZpeCBidWZmZXIgcmVmIGxlYWsuCgoyMDA4LTA4LTIxIDEzOjI3OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0LiB3YXZlbmMgc3RpbGwgc3VwcG9ydHMgd2lkdGghPWRlcHRoIGZvciAzMiBiaXQgd2lkdGguIFRoYW5rcyBUaW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdC4gd2F2ZW5jIHN0aWxsIHN1cHBvcnRzIHdpZHRoIT1kZXB0aCBmb3IgMzIgYml0CgkgIHdpZHRoLiBUaGFua3MgVGltLgoKMjAwOC0wOC0yMSAxMzoyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIHRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHVua25vd24gb25seSB1c2UgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIGZpcnN0IGxhY2UgYW5kIHVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBJZiB0aGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB1bmtub3duIG9ubHkgdXNlIHRoZSB0aW1lc3RhbXAgZm9yIHRoZQoJICBmaXJzdCBsYWNlIGFuZCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyBkdXJhdGlvbiBmb3IgdGhlIGZvbGxvd2luZwoJICBsYWNlcy4gT3RoZXJ3aXNlIGV2ZXJ5IGxhY2UgaGFzIHRoZSBzYW1lIHRpbWVzdGFtcCB3aGljaCBsZWFkcyB0bwoJICB2YXJpb3VzIHByb2JsZW1zLiBSZWFsbHkgZml4ZXMgYnVnICM1NDg4MzEuCgoyMDA4LTA4LTIxIDEyOjU2OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBJZiB3ZSdyZSBub3QgYWxsb3dpbmcgd2lkdGghPWRlcHRoIGluIHdhdmVuYyB3ZSBzaG91bGQgYWxzbyBkaXNhYmxlIHRoZSBjb2RlIHRoYXQgd2FzIGFkZGVkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBJZiB3ZSdyZSBub3QgYWxsb3dpbmcgd2lkdGghPWRlcHRoIGluIHdhdmVuYyB3ZSBzaG91bGQgYWxzbyBkaXNhYmxlCgkgIHRoZSBjb2RlIHRoYXQgd2FzIGFkZGVkIHRvIHN1cHBvcnQgd2lkdGghPWRlcHRoLgoKMjAwOC0wOC0yMSAxMjo1Mjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IERvbid0IGNhbGN1bGF0ZSB0aGUgZGVmYXVsdCBkdXJhdGlvbiBvZiBhIGZyYW1lIGZyb20gdGhlIGF1ZGlvIHNhbXBsaW5nIHJhdGUuIFRoaXMgb25sLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIGRlZmF1bHQgZHVyYXRpb24gb2YgYSBmcmFtZSBmcm9tIHRoZSBhdWRpbyBzYW1wbGluZwoJICByYXRlLiBUaGlzIG9ubHkgd29ya3MgZm9yIHJhdyBhdWRpbyBpZiBldmVyeSBmcmFtZSBjb250YWlucyBhIHNpbmdsZQoJICBzYW1wbGUgYW5kIHJlc3VsdHMgaW4gYnJva2VuIGJ1ZmZlciBkdXJhdGlvbnMgZm9yIG90aGVyIGZvcm1hdHMKCSAgaWYgbm8gc3BlY2lmaWVkIGRlZmF1bHQgZHVyYXRpb24gaXMgZ2l2ZW4gb3IgdGhlIGJsb2NrcyBoYXZlIG5vCgkgIGR1cmF0aW9uLiBGaXhlcyBidWcgIzU0ODgzMS4KCjIwMDgtMDgtMjEgMTI6MzQ6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBBbGxvdyB6ZXJvIHNpemVkIGJsb2NrcyBpbnN0ZWFkIG9mIHJldHVybmluZyBHU1RfRkxPV19PSy4gU3VjaCBibG9ja3MgYXJlIHVzZWQgZm9yIHRleC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgQWxsb3cgemVybyBzaXplZCBibG9ja3MgaW5zdGVhZCBvZiByZXR1cm5pbmcgR1NUX0ZMT1dfT0suIFN1Y2ggYmxvY2tzCgkgIGFyZSB1c2VkIGZvciB0ZXh0L3BsYWluIHN1YnRpdGxlcyBhcyBhIGdhcC1maWxsZXIgaW4gc29tZSBmaWxlcy4KCjIwMDgtMDgtMjEgMTI6MTI6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBTOTEwIGFuZCBQV0MgZm9ybWF0cyB3aXRoIGEgbG93IHByaW9yaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIFM5MTAgYW5kIFBXQyBmb3JtYXRzIHdpdGggYSBsb3cgcHJpb3JpdHkuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZm9ybWF0X2dldF9yYW5rKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIEFkZCBtb3JlIGRlYnVnZ2luZy4KCjIwMDgtMDgtMjAgMjE6NTQ6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IEZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG9sZGVyIGxpYmZsYWMgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkZXIgbGliZmxhYyB2ZXJzaW9ucy4KCjIwMDgtMDgtMjAgMTc6NDY6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFVzZSBHU1RfQk9JTEVSUExBVEUgZXZlcnl3aGVyZSBhbmQgZml4IGNvZGluZyBzdHlsZSBhdCBzb21lIHBsYWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZW1peGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOiAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOiAoZ3N0X3B1bHNlcHJvYmVfb3Blbik6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdCksIChnc3RfcHVsc2VzaW5rX29wZW4pLAoJICAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfd3JpdGUpLAoJICAoZ3N0X3B1bHNlc2lua19kZWxheSksIChnc3RfcHVsc2VzaW5rX3Jlc2V0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19pbml0KToKCSAgVXNlIEdTVF9CT0lMRVJQTEFURSBldmVyeXdoZXJlIGFuZCBmaXggY29kaW5nIHN0eWxlIGF0IHNvbWUgcGxhY2VzLgoJICBGaXggYSBsb2NraW5nIGlzc3VlIGluIHB1bHNlc2luaydzIHByZXBhcmUgZnVuY3Rpb24uCgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2NoYW5uZWxfbWFwX3RvX2dzdCk6CgkgIENoZWNrIGlmIHRoZSBjcmVhdGVkIGNoYW5uZWwgbGF5b3V0IGlzIHZhbGlkIGZvciBHU3RyZWFtZXIuCgoyMDA4LTA4LTIwIDE3OjQyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOiBUaGluZ3MgdGhhdCBjYW4gaGFwcGVuIHdoZW4geW91ciBicmFpbiBpcyBpbiBnb29nbGUgbW9kZSB0cnlpbmcgdG8gZGVhbCB3aXRoIHRoZWlyIGdvb2dsZSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSAgVGhpbmdzIHRoYXQgY2FuIGhhcHBlbiB3aGVuIHlvdXIgYnJhaW4gaXMgaW4gZ29vZ2xlIG1vZGUgdHJ5aW5nIHRvCgkgIGRlYWwgd2l0aCB0aGVpciBnb29nbGUgcnRzcCBzZXJ2ZXIgZXh0ZW5zaW9ucyBhbmQgdHJ5aW5nIHRvIHR5cGUgeW91cgoJICBnb29nbGUgbWFpbCBhY2NvdW50LgoKMjAwOC0wOC0yMCAxNzozMDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIGdvb2dsZSBSVFNQIGV4dGVuc2lvbiwgaXQgY2FuIG9ubHkgaGFuZGxlIHVkcCBhbmQgcmVzcG9uZHMgd2l0aCB1bnN1cHBvcnRlZCBpZiB3ZSBkbyBhbnl0aGluZyBlbHNlLiBGaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOiAoZ3N0X3J0c3BfZ29vZ2xlX2JlZm9yZV9zZW5kKSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9hZnRlcl9zZW5kKSwgKGdzdF9ydHNwX2dvb2dsZV9nZXRfdHJhbnNwb3J0cyksCgkgIChfZG9faW5pdCksIChnc3RfcnRzcF9nb29nbGVfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9jbGFzc19pbml0KSwgKGdzdF9ydHNwX2dvb2dsZV9pbml0KSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9maW5hbGl6ZSksIChnc3RfcnRzcF9nb29nbGVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHNwX2dvb2dsZV9leHRlbnNpb25faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5oOgoJICBBZGQgZ29vZ2xlIFJUU1AgZXh0ZW5zaW9uLCBpdCBjYW4gb25seSBoYW5kbGUgdWRwIGFuZCByZXNwb25kcyB3aXRoCgkgIHVuc3VwcG9ydGVkIGlmIHdlIGRvIGFueXRoaW5nIGVsc2UuIEZpeGVzICM1NDY0NjUuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICBNYWtlIHRyYW5zcG9ydCBzZXR1cCBjb2RlIGEgYml0IGJldHRlciB1c2luZyBHU3RyaW5nLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoJICBDaGVjayBmb3IgY2xvc2VkIGNvbm5lY3Rpb25zIGJlZm9yZSBkb2luZyBhbnl0aGluZyBvbiB0aGVtLgoKMjAwOC0wOC0yMCAxNzoxNzo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogSWYgZG93bnN0cmVhbSBwcm92aWRlcyBubyBjaGFubmVsIGxheW91dCBhbmQgPjIgY2hhbm5lbHMgc2hvdWxkIGJlIHVzZWQgdXNlIHRoZSBkZWZhdWx0IGxheW91dCB0aGF0IHB1bHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3B1bHNlc3JjX25lZ290aWF0ZSksCgkgIChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2dzdF90b19jaGFubmVsX21hcCksCgkgIChnc3RfcHVsc2VfY2hhbm5lbF9tYXBfdG9fZ3N0KToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIElmIGRvd25zdHJlYW0gcHJvdmlkZXMgbm8gY2hhbm5lbCBsYXlvdXQgYW5kID4yIGNoYW5uZWxzIHNob3VsZCBiZQoJICB1c2VkIHVzZSB0aGUgZGVmYXVsdCBsYXlvdXQgdGhhdCBwdWxzZWF1ZGlvIGNob29zZXMgYW5kIGFsc28KCSAgYWRkIHRoaXMgbGF5b3V0IHRvIHRoZSBjYXBzLiBGaXhlcyBidWcgIzU0NzI1OC4KCjIwMDgtMDgtMjAgMTE6NTE6MzggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC86IEF2b2lkIGxlYWtpbmcgaW50ZXJuYWxseSBhbGxvY2F0ZWQgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIHNldHRpbmcgY3VzdG9tIGZpbGUgZGVzY3JpcHRvcnMuIEZpeGVzICM1NDMxMDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9keW51ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHludWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfZmluYWxpemUpLAoJICAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBBdm9pZCBsZWFraW5nIGludGVybmFsbHkgYWxsb2NhdGVkIGZpbGUgZGVzY3JpcHRvcnMgd2hlbiBzZXR0aW5nCgkgIGN1c3RvbSBmaWxlIGRlc2NyaXB0b3JzLiBGaXhlcyAjNTQzMTAxLgoKMjAwOC0wOC0yMCAxMTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgdHJ5IHRvIGNvbmZpZ3VyZSBSVENQIGJhY2sgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgZGlkIG5vdCBnaXZlIHVzIGEgdmFsaWQgcG9ydCBudS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgRG9uJ3QgdHJ5IHRvIGNvbmZpZ3VyZSBSVENQIGJhY2sgdG8gdGhlIHNlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgZGlkIG5vdAoJICBnaXZlIHVzIGEgdmFsaWQgcG9ydCBudW1iZXIuCgoyMDA4LTA4LTIwIDEwOjU5OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFVzZSBuZXcgYmFzZXRyYW5zZm9ybSBtZXRob2QgdG8gcmVuZWdvdGlhdGUuIEZpeGVzICM1NDQ5NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGJhc2V0cmFuc2Zvcm0gbWV0aG9kIHRvIHJlbmVnb3RpYXRlLiBGaXhlcyAjNTQ0OTU2LgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzogKG1ha2VfcGlwZWxpbmUpLCAobWFpbik6CgkgIEFkZCB2aWRlb2JveCByZW5lZ290aWF0aW9uIGV4YW1wbGUuCgoyMDA4LTA4LTE5IDIxOjAzOjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJlbW92ZSBkZXB0aCByYW5nZXMgYW5kIHJlcGxhY2Ugd2l0aCBzYW5lIHZhbHVlcy4gIEZpeGVzICM1NDg1MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJlbW92ZSBkZXB0aCByYW5nZXMgYW5kIHJlcGxhY2UKCSAgd2l0aCBzYW5lIHZhbHVlcy4gIEZpeGVzICM1NDg1MzAuCgoyMDA4LTA4LTE4IDE1OjA1OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBUaGUgYnl0ZXNfcGVyX3NhbXBsZSBhbmQgc2lsZW5jZV9zYW1wbGUgZmllbGRzIG9mIHRoZSBHc3RSaW5nQnVmZmVyU3BlYyBhcmUgYWxyZWFkeSBmaWxsZWQgd2l0aCB0aGUgY29ycmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgVGhlIGJ5dGVzX3Blcl9zYW1wbGUgYW5kIHNpbGVuY2Vfc2FtcGxlIGZpZWxkcyBvZiB0aGUgR3N0UmluZ0J1ZmZlclNwZWMKCSAgYXJlIGFscmVhZHkgZmlsbGVkIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVzIGJ5CgkgIGdzdF9yaW5nX2J1ZmZlcl9wYXJzZV9jYXBzKCkgc28gdGhlcmUncyBubyBuZWVkIHRvIHNldCB0aGVtIGFnYWluCgkgIHdpdGggd3JvbmcgdmFsdWVzLgoKMjAwOC0wOC0xNiAxNDo1NDo1NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU29tZSBBVkkgMi4wIChPRE1MKSBmaWxlcyBkb24ndCByZXNwZWN0IHRoZSAnc3BlY2lmaWNhdGlvbnMnIGNvbXBsZXRlbHkgYW5kIGluc3RlYWQgb2YgdXNpbmcgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpOgoJICBTb21lIEFWSSAyLjAgKE9ETUwpIGZpbGVzIGRvbid0IHJlc3BlY3QgdGhlICdzcGVjaWZpY2F0aW9ucycgY29tcGxldGVseQoJICBhbmQgaW5zdGVhZCBvZiB1c2luZyB0aGUgJ2l4IyMnIG5vbWVuY2xhdHVyZSwgdXNlICcjI2l4Jy4KCSAgVGhleSdyZSBzdGlsbCB2YWxpZCB0aG91Z2gsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIGFuZCBpbmRleGVzIGZvcgoJICB2aXJ0dWFsbHkgYWxsIHRoZSBPRE1MIGZpbGVzIEkgaGF2ZS4KCjIwMDgtMDgtMTUgMTc6MjY6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogVXBkYXRlIHRoZSB2b3JiaXMgUlRQIHBheS9kZXBheSB0byBSRkMgNTIxNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBVcGRhdGUgdGhlIHZvcmJpcyBSVFAgcGF5L2RlcGF5IHRvIFJGQyA1MjE1LgoJICBGaXhlcyAjNTQ3ODQyLgoKMjAwOC0wOC0xNCAyMjowNzowMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnaGR2NicgYXMgYSBIRFYgZm9ybWF0IGZvciAxMDgwaS82MCB3aXRoIDM6MiBwdWxsZG93biwgaS5lLiwgMjRwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnaGR2NicgYXMgYSBIRFYgZm9ybWF0IGZvciAxMDgwaS82MAoJICB3aXRoIDM6MiBwdWxsZG93biwgaS5lLiwgMjRwLgoKMjAwOC0wOC0xNCAxMjo0NzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEZpeCBjb21waWxhdGlvbiBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBjb21waWxhdGlvbiBzb21lIG1vcmUuCgoyMDA4LTA4LTE0IDExOjQ0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIC1iYXNlIENWUyBmb3Igd2F2cGFyc2UgYWNpZCBjaHVuayBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICBSZXF1aXJlIC1iYXNlIENWUyBmb3Igd2F2cGFyc2UgYWNpZCBjaHVuayBwYXJzaW5nLgoKMjAwOC0wOC0xMyAxMzo1NzowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay4qOiBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSB0byBwdWxzZXNpbmsgdG9vIGFuZCBjdXJyZW50bHkgY29tbWVudGVkIG91dCBhbmQgbm90IHdvcmtpbmcgc3VwcG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXQpLCAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF92b2x1bWUpLCAoZ3N0X3B1bHNlc2lua19nZXRfdm9sdW1lKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSksIChnc3RfcHVsc2VzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBBZGQgImRldmljZS1uYW1lIiBwcm9wZXJ0eSB0byBwdWxzZXNpbmsgdG9vIGFuZCBjdXJyZW50bHkgY29tbWVudGVkCgkgIG91dCBhbmQgbm90IHdvcmtpbmcgc3VwcG9ydCBmb3IgYSAidm9sdW1lIiBwcm9wZXJ0eS4KCjIwMDgtMDgtMTMgMTM6MTc6MTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBtb3JlIGNkaW8gc3R1ZmYgKG1vdmVkIHRvIHVnbHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIG1vcmUgY2RpbyBzdHVmZiAobW92ZWQgdG8gdWdseSkKCjIwMDgtMDgtMTMgMTI6Mzc6MjYgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmM6IEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCB3aGljaCBwcm92aWRlcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZyBmb3IgdGhlIGF1ZGlvIGRldmljZSwgdG8gbWFrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCB3aGljaCBwcm92aWRlcyBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZwoJICBmb3IgdGhlIGF1ZGlvIGRldmljZSwgdG8gbWFrZSBpdCBtb3JlIGNvbnNpc3RlbiB3aXRoIG90aGVyIGF1ZGlvCgkgIHNvdXJjZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE5LgoKMjAwOC0wOC0xMyAxMjozNDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYnkgaW5jbHVkaW5nIHRoZSBwYXJlbnQgb2JqZWN0IGluIHB1bHNlbWl4ZXJjdHJsIGFuZCBwdWxzZXByb2JlIG9iamVjdHMgYW5kIHVzaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfZnJlZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9vcGVuKSwKCSAgKGdzdF9wdWxzZXByb2JlX2VudW1lcmF0ZSksIChnc3RfcHVsc2Vwcm9iZV9uZXcpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZnJlZSksIChnc3RfcHVsc2Vwcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfcHVsc2Vwcm9iZV9wcm9iZV9wcm9wZXJ0eSksIChnc3RfcHVsc2Vwcm9iZV9nZXRfdmFsdWVzKToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfaW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW5pdCksIChnc3RfcHVsc2VzcmNfZGVsYXkpLAoJICAoZ3N0X3B1bHNlc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGJ5IGluY2x1ZGluZyB0aGUgcGFyZW50IG9iamVjdCBpbiBwdWxzZW1peGVyY3RybAoJICBhbmQgcHVsc2Vwcm9iZSBvYmplY3RzIGFuZCB1c2luZyBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfV0FSTklORy4KCSAgVXNlIHRoZSBwYXJlbnQgR09iamVjdCBzdWJjbGFzcyBpbnN0ZWFkIG9mIGEgcmFuZG9tIHN0cnVjdCBhcyBHT2JqZWN0CgkgIHBhcmFtZXRlciBmb3IgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lELiBUaGlzIGZpeGVzIGEgY3Jhc2gKCSAgd2hlbiBwcm9iaW5nIGZvciBhbm90aGVyIHByb3BlcnR5IHRoYW4gImRldmljZSIuCgoyMDA4LTA4LTEzIDEyOjIxOjIyICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KToKCSAgRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZwoJICBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwcm9wZXJ0eSBjaGFuZ2VzLiBGaXhlcyBidWcgIzU0NzUxOC4KCjIwMDgtMDgtMTMgMTI6MTE6MzQgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZyBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpOgoJICBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nCgkgIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHByb3BlcnR5IGNoYW5nZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE4LgoKMjAwOC0wOC0xMyAxMjowMTowMSArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvOiBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2Ugb24gcHVsc2VzaW5rIGZvciBkZXRlY3Rpbmcgc2luayBkZXZpY2VzIGFuZCBvbiBwdWxzZXNyYyBmb3IgZGV0ZWN0aW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNpbmtfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzaW5rX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNyY19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19maW5hbGl6ZSksIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgSW1wbGVtZW50IEdzdFByb3BlcnR5UHJvYmUgaW50ZXJmYWNlIG9uIHB1bHNlc2luayBmb3IgZGV0ZWN0aW5nCgkgIHNpbmsgZGV2aWNlcyBhbmQgb24gcHVsc2VzcmMgZm9yIGRldGVjdGluZyBzb3VyY2UgZGV2aWNlcy4KCSAgRml4ZXMgYnVncyAjNTQ3MjI3IGFuZCAjNTQ3MjE3LgoKMjAwOC0wOC0xMyAwOToxNzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IERvbid0IHRlcm1pbmF0ZSBvbiBmYWJzKGluKT4xLjAuIEluaXQgZG91YmxlcyBhcyBkb3VibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRG9uJ3QgdGVybWluYXRlIG9uIGZhYnMoaW4pPjEuMC4gSW5pdCBkb3VibGVzIGFzIGRvdWJsZXMuCgoyMDA4LTA4LTEzIDA4OjMzOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBQcm9wZXJseSBzZXQgdGhlIG1heGltdW0gbGF0ZW5jeSB2YWx1ZSwgaW4gdGhlIHNhbWUgd2F5IGl0IGlzIGRvbmUgaW4gdjRsc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19xdWVyeSk6CgkgIFByb3Blcmx5IHNldCB0aGUgbWF4aW11bSBsYXRlbmN5IHZhbHVlLCBpbiB0aGUgc2FtZSB3YXkgaXQgaXMgZG9uZSBpbgoJICB2NGxzcmMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTaW1wbGlmeSBmcmFjdGlvbiBlcXVhbGl0eSBjaGVjaywgbm8gbmVlZCB0byB1c2UgR1ZhbHVlcyBmb3IgdGhpcy4KCjIwMDgtMDgtMTIgMTI6MDQ6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCB3YXJuaW5nIG1lc3NhZ2VzIHN0YXRpbmcgZXhhY3RseSB3aHkgdGhlIGxhdGVuY3kgcXVlcnkgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19xdWVyeSk6CgkgIEFkZCB3YXJuaW5nIG1lc3NhZ2VzIHN0YXRpbmcgZXhhY3RseSB3aHkgdGhlIGxhdGVuY3kgcXVlcnkgZmFpbGVkLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKToKCSAgSW4gc29tZSBjYXNlcywgdGhlIG5lZ290aWF0ZWQgZnJhbWVyYXRlIG1pZ2h0IGJlIHRoZSBkZWZhdWx0IG9uZSB3aGljaAoJICBpcyBhbHJlYWR5IHNldCBpbnRlcm5hbGx5LiBCdXQgd2Ugc3RpbGwgbmVlZCB0byBtYXJrIGl0IGRvd24gaW4gZnBzX24KCSAgYW5kIGZwc19kIHNvIHRoYXQgdGhlIGxhdGVuY3kgcXVlcnkgY2FuIGhhcHBlbiBwcm9wZXJseS4KCjIwMDgtMDgtMTIgMTE6Mjg6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6IFdob29wcywgZm9yZ290IG9uZSBkb2MgZmlsZSBmb3IgcGVvcGxlIHdobyBjYW4ndC9kb24ndCBidWlsZCB0aGUgcmF3MTM5NCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgV2hvb3BzLCBmb3Jnb3Qgb25lIGRvYyBmaWxlIGZvciBwZW9wbGUgd2hvIGNhbid0L2Rvbid0IGJ1aWxkIHRoZQoJICByYXcxMzk0IHBsdWdpbi4KCjIwMDgtMDgtMTIgMDk6MjI6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUHVsbCBjaGFuZ2VzIGZyb20gMC4xMC45LjIgcHJlLXJlbGVhc2UgYnJhbmNoIG1vdmluZyB0aGUgbGliY2RpbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuaDoKCSAgUHVsbCBjaGFuZ2VzIGZyb20gMC4xMC45LjIgcHJlLXJlbGVhc2UgYnJhbmNoIG1vdmluZyB0aGUgbGliY2RpbwoJICBDRERBIHNvdXJjZSB0byAtdWdseS4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL2lkLnBvOgoJICBQdWxsIGluIG5ldyB0cmFuc2xhdGlvbiBmcm9tIDAuMTAuOS4yIHJlbGVhc2UgYnJhbmNoLgoKMjAwOC0wOC0xMSAxNTowNToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEludGVncmF0ZSBkb2N1bWVudGF0aW9uIGZvciBuZXcgaGR2MTM5NHNyYyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgSW50ZWdyYXRlIGRvY3VtZW50YXRpb24gZm9yIG5ldyBoZHYxMzk0c3JjIGVsZW1lbnQuCgoyMDA4LTA4LTExIDE0OjM2OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3JhdzEzOTQvOiBtcGVnMi10cyAoSERWKSB2YXJpYW50IG9mIGZpcmV3aXJlIGNhcHR1cmUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2Jhc2VfaW5pdCksIChnc3RfaGR2MTM5NHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2hkdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfaGR2MTM5NHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2hkdjEzOTRzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2Zyb21fcmF3MTM5NGhhbmRsZSksCgkgIChnc3RfaGR2MTM5NHNyY19pZWM2MTg4M19yZWNlaXZlKSwgKGdzdF9oZHYxMzk0c3JjX2J1c19yZXNldCksCgkgIChnc3RfaGR2MTM5NHNyY19jcmVhdGUpLCAoZ3N0X2hkdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfc3RhcnQpLCAoZ3N0X2hkdjEzOTRzcmNfc3RvcCksCgkgIChnc3RfaGR2MTM5NHNyY191bmxvY2spLCAoZ3N0X2hkdjEzOTRzcmNfdXBkYXRlX2RldmljZV9uYW1lKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfdHlwZSksIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfZ2V0X3VyaSksIChnc3RfaGR2MTM5NHNyY191cmlfc2V0X3VyaSksCgkgIChnc3RfaGR2MTM5NHNyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmg6CgkgIG1wZWcyLXRzIChIRFYpIHZhcmlhbnQgb2YgZmlyZXdpcmUgY2FwdHVyZSBlbGVtZW50LgoJICBGaXhlcyAjMzUwODMwCgoyMDA4LTA4LTExIDEwOjUzOjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IEZpeCBjb21waWxhdGlvbiAoYWxzbyBrbm93biBhcyB0aGUgY2xhc3NpYyAnZml4IGNvZGUgdGhhdCBzb21lb25lIGNvbW1pdHRlZCB3aXRob3V0IGNvbXBpbGluZyBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX21lc3NhZ2VfbmV3KToKCSAgRml4IGNvbXBpbGF0aW9uIChhbHNvIGtub3duIGFzIHRoZSBjbGFzc2ljICdmaXggY29kZSB0aGF0IHNvbWVvbmUKCSAgY29tbWl0dGVkIHdpdGhvdXQgY29tcGlsaW5nIGl0IGZpcnN0JykuCgoyMDA4LTA4LTEwIDE5OjQwOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBBZGQgYSB0ZXN0IGZvciBsZXZlbCBpbiBzdGVyZW8gbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWRkIGEgdGVzdCBmb3IgbGV2ZWwgaW4gc3RlcmVvIG1vZGUuCgoyMDA4LTA4LTEwIDE5OjM1OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS86IERlbW8gaG93IHRvIGRyYXcgYW5hbHl6ZXIgcmVzdWx0cyBzeW5jZWQgdG8gdGhlIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIERlbW8gaG93IHRvIGRyYXcgYW5hbHl6ZXIgcmVzdWx0cyBzeW5jZWQgdG8gdGhlIGNsb2NrLgoKMjAwOC0wOC0xMCAxNTo1Mjo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IExpdHRsZSByZW5hbWluZyAobCAtPiBsZXZlbCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBMaXR0bGUgcmVuYW1pbmcgKGwgLT4gbGV2ZWwpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBbHNvIHNlbmQgZnVsbCB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBoZXJlLgoKMjAwOC0wOC0xMCAxMTozMjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFNlbmQgc2FtZSB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBhcyB2aWRlb2FuYWx5c2lzLiBUaGlzIGdpdmVzIGFwcGxpY2F0aW9ucyBiZXR0ZXIgY2hhbmNlIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBTZW5kIHNhbWUgdGltZXN0YW1wL2R1cmF0aW9uIGRldGFpbHMgYXMgdmlkZW9hbmFseXNpcy4gVGhpcyBnaXZlcwoJICBhcHBsaWNhdGlvbnMgYmV0dGVyIGNoYW5jZSB0byBzeW5jIGFuYWx5c2lzIHJlc3VsdHMgd2l0aCBwbGF5YmFjay4KCjIwMDgtMDgtMDkgMTQ6MDI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogV2UgbmVlZCB0byBkcm9wIG9uZSBhZGRpdGlvbmFsIGJ1ZmZlciBmb3IgRkxBQyBhcyB0aGUgZkxhQyBtYXJrZXIgYW5kIFNUUkVBTUlORk8gYmxvY2sgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGZsYWNfc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSk6CgkgIFdlIG5lZWQgdG8gZHJvcCBvbmUgYWRkaXRpb25hbCBidWZmZXIgZm9yIEZMQUMgYXMgdGhlIGZMYUMKCSAgbWFya2VyIGFuZCBTVFJFQU1JTkZPIGJsb2NrIGFyZSBtZXJnZWQgaW50byBvbmUgYnVmZmVyIGluIHRoZSBjYXBzLgoJICBBbHNvIGRvbid0IHByZXRlbmQgdG8gc3VwcG9ydCBORVdTRUdNRU5UIGV2ZW50cywgb3RoZXJ3aXNlIHdlCgkgIHdpbGwgbW9zdCBwcm9iYWJseSB3cml0ZSBzb21lIGludmFsaWQgZGF0YS4KCjIwMDgtMDgtMDkgMTM6NDg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBGTEFDIGludG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZmxhY19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEZMQUMgaW50byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBGaXhlcyBidWcgIzMxMTU4Ni4KCjIwMDgtMDgtMDkgMDg6NTg6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogQWN0dWFsbHkgcHJvdmlkZSB0aGUgdmFyaWFibGVzIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2NoZWNrX2Rpc2NvbnQpOgoJICBBY3R1YWxseSBwcm92aWRlIHRoZSB2YXJpYWJsZXMgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nLgoKMjAwOC0wOC0wOCAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IENsb3NlIHRoZSBjdXJyZW50IHNlZ21lbnQgaWYgd2UncmUgZG9pbmcgYSBub24tZmx1c2hpbmcgc2VlayBhbmQgc2VuZCB0aGUgY2xvc2Utc2VnbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgQ2xvc2UgdGhlIGN1cnJlbnQgc2VnbWVudCBpZiB3ZSdyZSBkb2luZyBhIG5vbi1mbHVzaGluZyBzZWVrIGFuZCBzZW5kCgkgIHRoZSBjbG9zZS1zZWdtZW50IGFuZCB0aGUgbmV3IHNlZ21lbnQgb2YgdGhlIHNlZWsgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZC4KCjIwMDgtMDgtMDggMTU6MjA6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgY29ycmVjdGx5LCBtYXJrIGhlYWRlciBwYWNrZXRzIGFzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfY2hlY2tfZGlzY29udCksIChnc3RfZmxhY19lbmNfY2hhaW4pLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBjb3JyZWN0bHksIG1hcmsgaGVhZGVyIHBhY2tldHMgYXMKCSAgSU5fQ0FQUyBhbmQgcHJpbnQgYSB3YXJuaW5nIGFuZCBzdWdnZXN0IHVzaW5nIGF1ZGlvcmF0ZSBpZiBzdHJlYW0KCSAgZGlzY29udGludWl0aWVzIGFyZSBkZXRlY3RlZC4gV2hlbiBGTEFDIHN1cHBvcnRzIGZsdXNoaW5nIHRoZSBlbmNvZGVyCgkgIHNvbWVob3cgdGhpcyBzaG91bGQgYmUgZG9uZSBmb3IgZGlzY29udGludWl0aWVzIGluc3RlYWQuCgkgIFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0LgoKMjAwOC0wOC0wNyAxNzoxNDozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgcHVsc2VhdWRpbyB0byBwbHVnaW5zIGxpc3QgaW4gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcHVsc2VhdWRpbyB0byBwbHVnaW5zIGxpc3QgaW4gc3BlYyBmaWxlCgoyMDA4LTA4LTA3IDE2OjE0OjQyICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9kdmRyZWFkL2R2ZHJlYWRzcmMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2FzZmRlbXV4L2dzdGFzZi5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wOC0wNyAxNjoxMzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBJZiBzZWVraW5nIGZhaWxlZCByZXR1cm4gdGhlIGFwcHJvcGlhdGUgcmV0dXJuIHZhbHVlIHRvIEZMQUMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKToKCSAgSWYgc2Vla2luZyBmYWlsZWQgcmV0dXJuIHRoZSBhcHByb3BpYXRlIHJldHVybiB2YWx1ZSB0byBGTEFDLgoJICBPdGhlcndpc2UgaXQgdGhpbmtzIHNlZWtpbmcgd2FzIHN1Y2Nlc3NmdWxsIGFuZCB0cmllcyB0byByZXdyaXRlCgkgIHBhcnRzIG9mIHRoZSBoZWFkZXJzIHdoaWNoIHRoZW4gZ2V0IGFwcGVuZGVkIHRvIHRoZSBvdXRwdXQuCgoyMDA4LTA4LTA3IDE2OjExOjAwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9lc2QvZ3N0ZXNkLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA4LTA3IDE0OjQwOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFkZCBGSVhNRSBmb3IgMC4xMSB0byBzaW1wbHkgb3V0cHV0IGV2ZXJ5dGhpbmcgd2l0aCB3aWR0aD0zMiBhcyBnaXZlbiBieSBGTEFDIGFuZCBsZXQgYXVkaW9jb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBBZGQgRklYTUUgZm9yIDAuMTEgdG8gc2ltcGx5IG91dHB1dCBldmVyeXRoaW5nIHdpdGggd2lkdGg9MzIgYXMgZ2l2ZW4KCSAgYnkgRkxBQyBhbmQgbGV0IGF1ZGlvY29udmVydCBoYW5kbGUgdGhlIGNvbnZlcnNpb25zIGluc3RlYWQgb2YgZG9pbmcKCSAgdGhlbSBpbiBmbGFjZGVjLgoKMjAwOC0wOC0wNyAxMDoyMjozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFdoZW4gb3V0cHV0dGluZyBhIHBhZCB0ZW1wbGF0ZSByYW5nZSBmb3IgdGhlIHNpemUsIGluY2x1ZGUgYSBmcmFtZXJhdGUgcmFuZ2UgdG9vLCB0byBhdm9pZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgV2hlbiBvdXRwdXR0aW5nIGEgcGFkIHRlbXBsYXRlIHJhbmdlIGZvciB0aGUgc2l6ZSwgaW5jbHVkZSBhIGZyYW1lcmF0ZQoJICByYW5nZSB0b28sIHRvIGF2b2lkICdub3QgYSByZWFsIHN1YnNldCBvZiB0ZW1wbGF0ZSBjYXBzJyBlcnJvcnMuCgoyMDA4LTA4LTA2IDE1OjM0OjU1ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvOiBQb3J0IGZsYWN0YWcgdG8gMC4xMCwgYWRkIGRvY3VtZW50YXRpb24gZm9yIGl0IGFuZCBjbGVhbiBpdCB1cCBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfZmxhY190YWdfYmFzZV9pbml0KSwgKGdzdF9mbGFjX3RhZ19jbGFzc19pbml0KSwKCSAgKGdzdF9mbGFjX3RhZ19kaXNwb3NlKSwgKGdzdF9mbGFjX3RhZ19pbml0KSwKCSAgKGdzdF9mbGFjX3RhZ19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfdGFnX2NoYWluKSwKCSAgKGdzdF9mbGFjX3RhZ19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuaDoKCSAgUG9ydCBmbGFjdGFnIHRvIDAuMTAsIGFkZCBkb2N1bWVudGF0aW9uIGZvciBpdCBhbmQgY2xlYW4gaXQgdXAgYSBiaXQuCgkgIEZpeGVzIGJ1ZyAjNDEzODQxLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBBZGQgZmxhY3RhZyBhbmQgZmxhY2VuYyB0byB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgbWFyawoJICB0aGUgcHJpdmF0ZSBwYXJ0cyBvZiB0aGUgZmxhY2RlYyBpbnN0YW5jZSBzdHJ1Y3R1cmUgYXMgcHJpdmF0ZS4KCSAgQWxzbyB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgaW4gZmxhY2RlYyBhbmQKCSAgZmxhY2VuYy4KCjIwMDgtMDgtMDYgMTM6MTI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGF1ZGlvL3gtcWRtIGZvciBjYXBzLiBDb2xsZWN0IHNvbWUgaW5mbyAtIG1wbGF5ZXIgaGFzIGEgZGVjb2RlciBmb3IgaXQgYnV0IGZmbXBlZyBkb2VzIG5vdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBVc2UgYXVkaW8veC1xZG0gZm9yIGNhcHMuIENvbGxlY3Qgc29tZSBpbmZvIC0gbXBsYXllciBoYXMgYSBkZWNvZGVyCgkgIGZvciBpdCBidXQgZmZtcGVnIGRvZXMgbm90LgoKMjAwOC0wOC0wNSAxNTowNTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSB0aGUgbGlzdCBjaHVuayBhbmQgdXNlIGdzdF9yaWZmX3BhcnNlX2luZm8oKSB0byBwYXJzZSB0aGUgaW5mbyBzdWItY2h1bmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBIYW5kbGUgdGhlIGxpc3QgY2h1bmsgYW5kIHVzZSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgdG8gcGFyc2UgdGhlIGluZm8KCSAgc3ViLWNodW5rLgoKMjAwOC0wOC0wNSAxNDoyMjoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEhhbmRsZSB0aGUgYWNpZCBjaHVuayBhbmQgc2VuZCB0ZW1wbyBhcyBwYXJ0IG9mIHRhZ3MuIE90aGVyIGZpZWxkcyBhcmUgaW50ZXJlc3RpbmcgdG9vLCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBIYW5kbGUgdGhlIGFjaWQgY2h1bmsgYW5kIHNlbmQgdGVtcG8gYXMgcGFydCBvZiB0YWdzLiBPdGhlciBmaWVsZHMgYXJlCgkgIGludGVyZXN0aW5nIHRvbywgYnV0IG5lZWQgbW9yZSB0YWctZGVmaW5pdGlvbnMuIEZpeGVzICM1NDU0MzMuCgoyMDA4LTA4LTA1IDE0OjE2OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVmYWN0b3Igd2F2cGFyc2UuIENhbGwgX3Jlc2V0KCkgZnJvbSBkaXNwb3NlKCkgYW5kIG1vdmUgb2xkIGNvZGUgZnJvbSBkaXNwb3NlIGludG8gcmVzZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJlZmFjdG9yIHdhdnBhcnNlLiBDYWxsIF9yZXNldCgpIGZyb20gZGlzcG9zZSgpIGFuZCBtb3ZlIG9sZCBjb2RlIGZyb20KCSAgZGlzcG9zZSBpbnRvIHJlc2V0LiBUaGlzIHdheSB3ZSBkb24ndCBsZWFrIHRhZ2xpc3RzIHdoZW4gd2UgYWJvcnQKCSAgcGFyc2luZy4gRml4IHNvbWUgY29tbWVudHMuIE1vdmUgY29kZSBmb3Igc2tpcHBpbmcgYSBjaHVuayBpbnRvIGV4dHJhCgkgIGZ1bmN0aW9uLiBSZXBsYWNlIGNodW5rIHNpemVzIHdpdGggYSBjb25zdCB0byBlYXNlIHJlYWRhYmlsaXR5LgoKMjAwOC0wOC0wNSAxMzo1Nzo1NyArMDAwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6ekB5YWhvby5mcj4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW1wcm92ZSB1ZHAgcG9ydCBzZXR1cC4gRml4ZXMgIzU0NTcxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBdXJlbGllbiBHcmltYXVkIDxnc3RlbHp6IGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpOgoJICBJbXByb3ZlIHVkcCBwb3J0IHNldHVwLiBGaXhlcyAjNTQ1NzEwLgoKMjAwOC0wOC0wNSAxMzo1NDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgTVAxUyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAxc19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXAxc19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSAgQWRkIE1QMVMgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgU29tZSBtb3JlIHNhbXBsZSBydHNwIHN0cmVhbXMuCgoyMDA4LTA4LTA1IDA4OjQzOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGFub3RoZXIgVVJMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgYW5vdGhlciBVUkwuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTA4LTA0IDA5OjE2OjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFByb3ZpZGUgY2JTaXplIGZpZWxkIGZvciBhdWRpbyBleHRyYV9kYXRhIHNpemUsIGFuZCB0YWtlIGNhcmUgdG8gcGFkIGV4dHJhX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgUHJvdmlkZSBjYlNpemUgZmllbGQgZm9yIGF1ZGlvIGV4dHJhX2RhdGEgc2l6ZSwgYW5kIHRha2UgY2FyZSB0bwoJICBwYWQgZXh0cmFfZGF0YS4KCjIwMDgtMDgtMDQgMDc6MjM6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF97c3RhcnQsc3RvcH1fdGFzayBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBnc3RfcGFkX3tzdGFydCxzdG9wfV90YXNrIGluc3RlYWQgb2YgaGFyZC1jb2RlZAoJICBUUlVFLgoKMjAwOC0wOC0wNCAwNzoxNzozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQga2V5d29yZCB0YWcgc3VwcG9ydC4gRml4ZXMgIzUyMDY5NCBmb3IgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEFkZCBrZXl3b3JkIHRhZyBzdXBwb3J0LiBGaXhlcyAjNTIwNjk0IGZvciBxdGRlbXV4LgoKMjAwOC0wOC0wNCAwNzowNTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgdG1wbyB0YWcgKEJQTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRtcG8gdGFnIChCUE0pLgoKMjAwOC0wOC0wMyAxMjoyMzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBTZXQgYW4gZXN0aW1hdGUgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHdpbGwgYmUgZW5jb2RlZCBpZiBwb3NzaWJsZSB0byBoZWxwIGRlY29kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19xdWVyeV9wZWVyX3RvdGFsX3NhbXBsZXMpLAoJICAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spOgoJICBTZXQgYW4gZXN0aW1hdGUgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHdpbGwgYmUgZW5jb2RlZAoJICBpZiBwb3NzaWJsZSB0byBoZWxwIGRlY29kZXJzIGlmIHRoZSBzdHJlYW1pbmZvIGNhbid0IGJlIHJld3JpdHRlbgoJICBsYXRlciAobGlrZSB3aGVuIG11eGluZyBpbnRvIE9nZyBjb250YWluZXJzKS4KCSAgQWRkIGEgd2FybmluZyBpZiB3ZSBnZXQgaGVhZGVyIHBhY2tldHMgYWZ0ZXIgZGF0YSBwYWNrZXRzIGFzIHRob3NlCgkgIHdpbGwgZ2V0IGxvc3Qgd2hlbiBtdXhpbmcgaW50byBPZ2csIGkuZS4gcmV3cml0aW5nIHRoZSBoZWFkZXJzIGRvZXNuJ3QKCSAgd29yay4KCjIwMDgtMDgtMDMgMTE6Mzg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogU3VwcG9ydCBkZWNvZGluZyBvZiBhbGwgZGVwdGhzIGJldHdlZW4gNCBhbmQgMzIgYml0cyBhbmQgcmVhZCB0aGUgZGVwdGggZnJvbSB0aGUgc3RyZWFtaW5mbyBoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgU3VwcG9ydCBkZWNvZGluZyBvZiBhbGwgZGVwdGhzIGJldHdlZW4gNCBhbmQgMzIgYml0cyBhbmQgcmVhZCB0aGUKCSAgZGVwdGggZnJvbSB0aGUgc3RyZWFtaW5mbyBoZWFkZXIgaWYgbmVlZGVkLiBBbHNvIHN1cHBvcnQgYWxsIHNhbXBsaW5nCgkgIHJhdGVzIGJldHdlZW4gMSBhbmQgNjU1MzUwIEh6LgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKGdzdF9mbGFjX2VuY19jYXBzX2FwcGVuZF9zdHJ1Y3R1cmVfd2l0aF93aWR0aHMpLAoJICAoZ3N0X2ZsYWNfZW5jX3NpbmtfZ2V0Y2FwcyksIChnc3RfZmxhY19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjX2VuY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTdXBwb3J0IGVuY29kaW5nIGluIGFsbCBiaXQgZGVwdGhzIHN1cHBvcnRlZCBieSB0aGUgc3RyZWFtYWJsZQoJICBzdWJmb3JtYXQgKGkuZS4gOCwgMTIsIDE2LCAyMCBhbmQgMjQgYml0cykgYW5kIGFsbCBzYW1wbGluZyByYXRlcwoJICBiZXR3ZWVuIDEgSHogYW5kIDY1NTM1MCBIei4KCjIwMDgtMDgtMDMgMDk6MjM6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogU3VwcG9ydCBlbmNvZGluZyBvZiB1cCB0byA4IGNoYW5uZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfaW5pdCksCgkgIChnc3RfZmxhY19lbmNfc2lua19nZXRjYXBzKToKCSAgU3VwcG9ydCBlbmNvZGluZyBvZiB1cCB0byA4IGNoYW5uZWxzLgoKMjAwOC0wOC0wMiAyMTozOTowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEZpeCBzZWVraW5nIHJhY2UgY29uZGl0aW9uIGluICM1NDAzMDAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBGaXggc2Vla2luZyByYWNlIGNvbmRpdGlvbiBpbiAjNTQwMzAwCgkgIFBhdGNoIEJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCjIwMDgtMDgtMDIgMTg6MzU6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIHJlY2VpdmluZyBhIFNFRUsgZXZlbnQgb24gYSBzcGVjaWZpYyBwYWQgZmlyc3Qgc2VhcmNoIGZvciBhIHNlZWsgdGFibGUgZW50cnkgZm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXaGVuIHJlY2VpdmluZyBhIFNFRUsgZXZlbnQgb24gYSBzcGVjaWZpYyBwYWQgZmlyc3Qgc2VhcmNoIGZvciBhIHNlZWsKCSAgdGFibGUgZW50cnkgZm9yIHRoZSBzdHJlYW0gb2YgdGhlIHBhZCBhbmQgdGhlbiBmYWxsIGJhY2sgdG8gYW4gZW50cnkKCSAgZm9yIGEgZGlmZmVyZW50IHN0cmVhbS4KCjIwMDgtMDgtMDIgMTg6MjA6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEJ1aWxkIGRlcGVuZCBvbiBjb3JlIENWUyBmb3IgdGhlIGF0dGFjaG1lbnQgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOiAoZ3N0X21hdHJvc2thX3JlZ2lzdGVyX3RhZ3MpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQnVpbGQgZGVwZW5kIG9uIGNvcmUgQ1ZTIGZvciB0aGUgYXR0YWNobWVudCB0YWcuCgoyMDA4LTA4LTAyIDE4OjE4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEZWNvZGUgdGhlIGNvZGVjIHByaXZhdGUgZGF0YSBhbmQgZm9sbG93aW5nIENvbnRlbnRFbmNvZGluZyBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2x6by5jOiAoZ2V0X2J5dGUpLCAoZ2V0X2xlbiksIChjb3B5KSwKCSAgKGNvcHlfYmFja3B0ciksIChsem8xeF9kZWNvZGUpLCAobWFpbik6CgkgICogZ3N0L21hdHJvc2thL2x6by5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlY29tcHJlc3NfZGF0YSksIChnc3RfbWF0cm9za2FfZGVjb2RlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9jb250ZW50X2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRGVjb2RlIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgYW5kIGZvbGxvd2luZyBDb250ZW50RW5jb2RpbmcgaWYKCSAgbmVjZXNzYXJ5LgoJICBTdXBwb3J0IGJ6aXAyLCBsem8gYW5kIGhlYWRlciBzdHJpcHBlZCBjb21wcmVzc2lvbi4gRm9yIGx6byB1c2UgdGhlCgkgIGZmbXBlZyBsem8gaW1wbGVtZW50YXRpb24gYXMgbGlibHpvIGlzIEdQTCBsaWNlbnNlZC4KCSAgRml4IHpsaWIgZGVjb21wcmVzc2lvbi4KCjIwMDgtMDgtMDIgMTg6MTE6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG11eGluZyBvZiBNUDMvTVAyIHdpdGggZGlmZmVyZW50IE1QRUcgdmVyc2lvbnMgYnkgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uIG9mIGEgZnJhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgRml4IG11eGluZyBvZiBNUDMvTVAyIHdpdGggZGlmZmVyZW50IE1QRUcgdmVyc2lvbnMgYnkgY2FsY3VsYXRpbmcgdGhlCgkgIGR1cmF0aW9uIG9mIGEgZnJhbWUgd2l0aCB0aGUgbmV3IG1wZWdhdWRpb3ZlcnNpb24gY2FwcyBmaWVsZC4KCjIwMDgtMDgtMDIgMTg6MDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC4qOiBBbGxvdyBhbiBpbmZpbml0ZSBudW1iZXIgb2Ygc3RyZWFtIGluc2lkZSBNYXRyb3NrYSBjb250YWluZXJzIGFuZCB1c2UgYSBHUHRyQXJyYXkgZm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N0cmVhbV9mcm9tX251bSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdHJhY2tudW1iZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgQWxsb3cgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHN0cmVhbSBpbnNpZGUgTWF0cm9za2EgY29udGFpbmVycyBhbmQgdXNlCgkgIGEgR1B0ckFycmF5IGZvciBzdG9yaW5nIHRoZW0gaW5zdGVhZCBvZiBhbGxvd2luZyAib25seSIgMTI3IHN0cmVhbXMuCgoyMDA4LTA4LTAyIDE4OjAxOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggaW5kZW50aW9uIGV2ZXJ5d2hlcmUuIEEgYnJva2VuIGluZGVudCB2ZXJzaW9uIGhhcyBhZGRlZCBuZXdsaW5lcyBhZnRlciBldmVyeSBzaW5nbGUgZGVjbGFyYXRpb24gc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9lYm1sX3JlYWRfY2hhbmdlX3N0YXRlKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZXZlbF91cCksCgkgIChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpLCAoZ3N0X2VibWxfcmVhZF9za2lwKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksIChfZXh0MmRibCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLCAoZ3N0X2VibWxfcmVhZF9kYXRlKSwKCSAgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKSwgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3NpemUpLCAoZ3N0X2VibWxfd3JpdGVfdWludCksCgkgIChnc3RfZWJtbF93cml0ZV9zaW50KSwgKGdzdF9lYm1sX3dyaXRlX2FzY2lpKSwKCSAgKGdzdF9lYm1sX3dyaXRlX21hc3Rlcl9zdGFydCksIChnc3RfZWJtbF93cml0ZV9tYXN0ZXJfZmluaXNoKSwKCSAgKGdzdF9lYm1sX3JlcGxhY2VfdWludCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwgKGdzdF9tYXRyb3NrYV9lYm1sbnVtX3VpbnQpLAoJICAoZ3N0X21hdHJvc2thX2VibWxudW1fc2ludCksIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX21wZWdfc2VxX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKHhpcGgzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodm9yYmlzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodGhlb3JhX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKSwgKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRml4IGluZGVudGlvbiBldmVyeXdoZXJlLiBBIGJyb2tlbiBpbmRlbnQgdmVyc2lvbiBoYXMgYWRkZWQgbmV3bGluZXMKCSAgYWZ0ZXIgZXZlcnkgc2luZ2xlIGRlY2xhcmF0aW9uIHNvbWUgdGltZSBhZ28uCgoyMDA4LTA4LTAyIDE3OjU5OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgbm8gVHJhY2tzIGFyZSBmb3VuZCBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgaXQgYWdhaW4gdW50aWwgdGhlIGVuZCBvZiB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIElmIG5vIFRyYWNrcyBhcmUgZm91bmQgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIGl0IGFnYWluIHVudGlsIHRoZQoJICBlbmQgb2YgdGltZS4KCjIwMDgtMDgtMDIgMTc6NTc6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggZGVtdXhpbmcgb2YgcmF3IGludGVnZXIgYXVkaW8uIFRoZSBzYW1wbGVzIGFyZSB1bnNpZ25lZCBvbmx5IGZvciA4IGJpdCBhbmQgc2lnbmVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGRlbXV4aW5nIG9mIHJhdyBpbnRlZ2VyIGF1ZGlvLiBUaGUgc2FtcGxlcyBhcmUgdW5zaWduZWQgb25seSBmb3IgOAoJICBiaXQgYW5kIHNpZ25lZCBvdGhlcndpc2UsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4KCjIwMDgtMDgtMDIgMTc6NTQ6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIG1vcmUgcmF3IFlVViBmb3JtYXRzIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBtb3JlIHJhdyBZVVYgZm9ybWF0cyB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDgtMDgtMDIgMTc6NTI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgZmxvYXQgYXVkaW8gbm93IHRoYXQgdGhlIHNwZWMgZGVmaW5lcyB0aGUgZW5kaWFubmVzcyBhbmQgYWRkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgZmxvYXQgYXVkaW8gbm93IHRoYXQgdGhlIHNwZWMgZGVmaW5lcyB0aGUKCSAgZW5kaWFubmVzcyBhbmQgYWRkIHN1cHBvcnQgZm9yIG11eGluZyByYXcgaW50ZWdlciBhdWRpbyB3aXRoIDI0IGFuZAoJICAzMiBiaXRzLgoJICBBbGxvdyBtdXhpbmcgb2YgbW9yZSB0aGFuIDggYXVkaW8gY2hhbm5lbHMuCgoyMDA4LTA4LTAyIDE3OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBsb2NraW5nIHRvIHRoZSBnbG9iYWwgYXJyYXkgb2YgdXNlZCB0cmFjayBVSURzIHRvIHByZXZlbnQgcmFuZG9tIGNyYXNoZXMgaWYgbW9yZSB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfdWlkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIEFkZCBsb2NraW5nIHRvIHRoZSBnbG9iYWwgYXJyYXkgb2YgdXNlZCB0cmFjayBVSURzIHRvIHByZXZlbnQgcmFuZG9tCgkgIGNyYXNoZXMgaWYgbW9yZSB0aGFuIGEgc2luZ2xlIG1hdHJvc211eCBpbnN0YW5jZSBpcyB1c2VkLgoJICBVc2UgNjQgYml0IHZhbHVlcyBmb3IgdGhlIHRyYWNrIFVJRHMuCgkgIFVzZSB0aGUgZ2xvYmFsIEdSYW5kb20gb2YgR0xpYiBpbnN0ZWFkIG9mIGNyZWF0aW5nIG91ciBvd24gb25lCgkgIGZvciB0aGUgZmV3IHJhbmRvbSBudW1iZXJzIHdlIG5lZWQgZXZlcnkgc2luZ2xlIHRpbWUuCgoyMDA4LTA4LTAyIDE3OjE4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IEFsd2F5cyBwb3N0IHRoZSBhdWRpby1jb2RlYyB0YWcsIG5vdCBvbmx5IGlmIG90aGVyIHRhZ3MgYXJlIHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKToKCSAgQWx3YXlzIHBvc3QgdGhlIGF1ZGlvLWNvZGVjIHRhZywgbm90IG9ubHkgaWYgb3RoZXIgdGFncyBhcmUgcHJlc2VudC4KCjIwMDgtMDgtMDEgMjM6MjY6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoKMjAwOC0wOC0wMSAxNTo1ODo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbWlzc2luZyBnc3RyZWFtZXIgcGx1Z2lucyB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGdzdHJlYW1lciBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC45ID09PQoKMjAwOC0wNy0zMSAyMjoxMDoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOQoKMjAwOC0wNy0zMSAyMTo1MDo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDctMzEgMjE6MjY6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgdGhyb3cgYW4gZXJyb3Igd2hlbiBzb3VwIGNvbXBsZXRlcyBhIG1zZyB3aXRoIHN0YXR1cyAnY2FuY2VsbGVkJywgYXMgdGhhdCBpbmRpY2F0ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIERvbid0IHRocm93IGFuIGVycm9yIHdoZW4gc291cCBjb21wbGV0ZXMgYSBtc2cgd2l0aCBzdGF0dXMKCSAgJ2NhbmNlbGxlZCcsIGFzIHRoYXQgaW5kaWNhdGVzIHdlIGNhbmNlbGxlZCBhIHJlcXVlc3Qgd2hpbGUKCSAgc2h1dHRpbmcgZG93biBvciBzZWVraW5nLCBhbmQgaXQncyBub3QgYW4gZXJyb3IuCgkgIEZpeGVzOiAjNTQwMzAwIGFnYWluLgoKMjAwOC0wNy0zMSAxNDoyNDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBVc2UgdGhlIGRlZmF1bHQgZm9yIHRoZSBzdHJpY3QtaXNvIHByb3BlcnR5IHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfbGFtZV9nZXRfZGVmYXVsdF9zZXR0aW5ncyk6CgkgIFVzZSB0aGUgZGVmYXVsdCBmb3IgdGhlIHN0cmljdC1pc28gcHJvcGVydHkgdG9vLgoJICBBbGxvdyBhIGJpdHJhdGUgc2V0dGluZyBvZiAwLCB3aGljaCBsZXRzIGxhbWUgY2hvb3NlIHRoZSBkZWZhdWx0IHZhbHVlCgkgIGFuZCB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBzZXQgdGhlIGNvbXByZXNzaW9uLXJhdGlvIHByb3BlcnR5LgoKMjAwOC0wNy0yOSAxNjo1NzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBHZXQgdGhlIGRlZmF1bHRzIHNldHRpbmdzIG9mIExBTUUgaW4gdGhlIHBsdWdpbiBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBhbmQgcmV0dXJuIEZBTFNFIGhlcmUgaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLCAoZ3N0X2xhbWVfaW5pdCksCgkgIChnc3RfbGFtZV9jaGFpbiksIChnc3RfbGFtZV9nZXRfZGVmYXVsdF9zZXR0aW5ncyksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBHZXQgdGhlIGRlZmF1bHRzIHNldHRpbmdzIG9mIExBTUUgaW4gdGhlIHBsdWdpbiBpbml0aWFsaXphdGlvbgoJICBmdW5jdGlvbiBhbmQgcmV0dXJuIEZBTFNFIGhlcmUgaWYgc29tZXRoaW5nIGdvZXMgd3JvbmcuIFRoaXMgcmVtb3ZlcwoJICB0aGUgaGFja3kgZmFpbGluZyBpbnN0YW5jZSBpbml0IGZ1bmN0aW9uLgoJICBVc2UgTEFNRXMgZGVmYXVsdCB2YWx1ZSBmb3IgYWxsIHNldHRpbmdzIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgc29tZQoJICBvZiB0aGVtLiBPdmVyd3JpdGluZyBzb21lIG9mIHRoZW0gZ2l2ZXMgdW5leHBlY3RlZCByZXN1bHRzIGlmIG9uZSBvbmx5CgkgIHNldHMgYSBwcmVzZXQuIEZpeGVzIGJ1ZyAjNDk4MDA0LgoKMjAwOC0wNy0yOCAyMDoxNzo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDctMjcgMTU6NTY6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogVXNlIExBTUUncyBkZWZhdWx0IGZvciB0aGUgbWluL21heC9tZWFuIFZCUiBiaXRyYXRlLiBTZXR0aW5nIG91ciBvd24gZGVmYXVsdHMgd2lsbCByZXN0cmljdCB0aGUgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9pbml0KToKCSAgVXNlIExBTUUncyBkZWZhdWx0IGZvciB0aGUgbWluL21heC9tZWFuIFZCUiBiaXRyYXRlLiBTZXR0aW5nIG91ciBvd24KCSAgZGVmYXVsdHMgd2lsbCByZXN0cmljdCB0aGUgYml0cmF0ZSB3aGVuIHVzaW5nIHRoZSBwcmVzZXRzIGluIGEgYmFkIHdheS4KCSAgRml4ZXMgYnVnICM0OTgwMDQuCgoyMDA4LTA3LTI3IDExOjAxOjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQdXQgdGhlIE1QRUcgYXVkaW8gdmVyc2lvbiBpbnRvIHRoZSBjYXBzIGFzICJtcGVnYXVkaW92ZXJzaW9uIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2lua19zZXRjYXBzKToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKG1wM190eXBlX2ZyYW1lX2xlbmd0aF9mcm9tX2hlYWRlciksIChtcDNfY2Fwc19jcmVhdGUpLAoJICAoZ3N0X21wM3BhcnNlX2NoYWluKToKCSAgUHV0IHRoZSBNUEVHIGF1ZGlvIHZlcnNpb24gaW50byB0aGUgY2FwcyBhcyAibXBlZ2F1ZGlvdmVyc2lvbiIuCgkgIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gIm1wZWd2ZXJzaW9uIi4KCjIwMDgtMDctMjUgMTQ6NTA6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzZWdtZW50LXN0b3AgcmVncmVzc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIEZpeCBzZWdtZW50LXN0b3AgcmVncmVzc2lvbi4KCSAgQWRkIGRvY3VtZW50YXRpb24gcmVnYXJkaW5nIHNlZ21lbnRzIGluIHF1aWNrdGltZSBmaWxlcyBieSBXaW0gVGF5bWFucy4KCSAgRml4ZXMgIzU0NDUwOQoKMjAwOC0wNy0yNCAyMzo1NTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3B0X0JSLnBvOgoJICBBZGQgcHRfQlIgdHJhbnNsYXRpb24KCjIwMDgtMDctMjMgMjI6MDE6MjAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nb29tLzogRml4IGJ1aWxkIHdpdGggTVNWQzogaW5jbHVkZSBnbGliLmggdG8gZGVmaW5lIGlubGluZSBhcHByb3ByaWF0ZWx5LCB1c2UgaGVhZGVyIGd1YXJkcyB3aGVyZSBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICBGaXggYnVpbGQgd2l0aCBNU1ZDOiBpbmNsdWRlIGdsaWIuaCB0byBkZWZpbmUgaW5saW5lIGFwcHJvcHJpYXRlbHksCgkgIHVzZSBoZWFkZXIgZ3VhcmRzIHdoZXJlIG5lZWRlZC4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgRml4IGJ1aWxkIHdpdGggTVNWQzogdXNlIFdTQSogY29uc3RhbnRzL2Z1bmN0aW9ucyB3aGVyZSBhcHByb3ByaWF0ZSwgdXNlCgkgIGdfc25wcmludGYgcmF0aGVyIHRoYW4gc25wcmludGYuCgkgIEZpeGVzICM1NDQ0MzMuCgoyMDA4LTA3LTIyIDE4OjI1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IEZpeCBidWlsZCB3aXRoIGxhbWUgPj0gMy45Ny4gVGhlIHBhZGRpbmcgdHlwZSBhbmQgY3dsaW1pdCBzZXR0aW5ncyBhcmUgZGVwcmVjYXRlZCBub3cgYW5kIHRoZSBmdW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksIChnc3RfbGFtZV9pbml0KSwKCSAgKGdzdF9sYW1lX3NldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfc2V0dXApOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgRml4IGJ1aWxkIHdpdGggbGFtZSA+PSAzLjk3LiBUaGUgcGFkZGluZyB0eXBlIGFuZCBjd2xpbWl0IHNldHRpbmdzCgkgIGFyZSBkZXByZWNhdGVkIG5vdyBhbmQgdGhlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgaGlkZGVuIGluIHRoZQoJICBoZWFkZXJzIHNvIGRlcHJlY2F0ZSB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIGZvciB0aGVtIGFuZCByZW1vdmUgdGhlbQoJICBpbiAwLjExLiBGaXhlcyBidWcgIzU0NDAzOS4KCjIwMDgtMDctMjIgMDY6MzI6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuKjogU2VudCB0YWdzIGluIF90cmFuc2Zvcm1faXAoKSBpbnN0ZWFkIG9mIF9zdGFydCgpLiBGaXhlcyAjNTQzNDA0IHBhcnRpYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSAgU2VudCB0YWdzIGluIF90cmFuc2Zvcm1faXAoKSBpbnN0ZWFkIG9mIF9zdGFydCgpLiBGaXhlcyAjNTQzNDA0CgkgIHBhcnRpYWxseS4KCjIwMDgtMDctMTkgMTQ6MTI6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMiBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4yIHByZS1yZWxlYXNlCgoyMDA4LTA3LTE5IDEzOjUwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRmluaXNoIGhvb2tpbmcgdXAgcHVsc2VhdWRpbyBwbHVnaW4gdG8gdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpbmlzaCBob29raW5nIHVwIHB1bHNlYXVkaW8gcGx1Z2luIHRvIHRoZSBidWlsZC4KCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGVycm9yLgoKMjAwOC0wNy0xOSAxMzoyMzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby86IEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2x0LnBvOgoJICBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMKCSAgZmlsZS4KCjIwMDgtMDctMTkgMTM6MDg6NDIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggU291cCBIVFRQIHNvdXJjZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBGaXggU291cCBIVFRQIHNvdXJjZSBzZWVraW5nLgoJICBQYXRjaCBCeTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgIEZpeGVzOiAjNTQwMzAwCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgSWdub3JlIG5ldyBjaGVjayBwcm9ncmFtcy4KCjIwMDgtMDctMTkgMDE6MDE6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSByZXBsYXlnYWluIGFuZCBpbnRlcmxlYXZlIHBsdWdpbnMgZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgcmVwbGF5Z2FpbiBhbmQgaW50ZXJsZWF2ZSBwbHVnaW5zIGZyb20gLWJhZC4KCSAgRml4ZXM6ICM1NDM0MDYKCSAgRml4ZXM6ICM1MzYyMjgKCjIwMDgtMDctMTggMjA6MDM6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXZlcnQgSVNPIGJhc2UgbWVkaWEgc3BlYyBiYXNlZCBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmV2ZXJ0IElTTyBiYXNlIG1lZGlhIHNwZWMgYmFzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9uLgoJICBGaXhlcyAjNTQzMzAwLgoKMjAwOC0wNy0xNyAxNjo0Mjo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IG1pbm9yIGJ1aWxkIGlzc3VlcyBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IG1pbm9yIGJ1aWxkIGlzc3VlcyBvbiBtYWNvc3guCgkgIEZpeGVzICM1NDMwNTQKCjIwMDgtMDctMTcgMTQ6NDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBPbmx5IHVzZSAtV25vLWF0dHJpYnV0ZXMgKHdoaWNoIGlzIHRoZXJlIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIHRoZSB0YWdsaWIgMS41IGhlYWRlcnMpIGlmIHRoZSBjKysgY29tcGlsZXIgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOjoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOjoKCSAgT25seSB1c2UgLVduby1hdHRyaWJ1dGVzICh3aGljaCBpcyB0aGVyZSB0byB3b3JrIGFyb3VuZCBhCgkgIGJ1ZyBpbiB0aGUgdGFnbGliIDEuNSBoZWFkZXJzKSBpZiB0aGUgYysrIGNvbXBpbGVyIGFjdHVhbGx5CgkgIHN1cHBvcnRzIGl0ICgjNTQzMjU1KS4KCjIwMDgtMDctMTcgMTM6NTQ6MzggKzAwMDAgIEJlbm9pdCBGb3VldCA8YmVub2l0LmZvdWV0QHB1cnBsZWxhYnMuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBdm9pZCBjb21waWxlciB3YXJuaW5nIGJ5IGluaXRpYWxpc2luZyB2YXJpYWJsZSB0byBOVUxMICgjNTQzMjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCZW5vaXQgRm91ZXQgPGJlbm9pdC5mb3VldCBwdXJwbGVsYWJzIGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBBdm9pZCBjb21waWxlciB3YXJuaW5nIGJ5IGluaXRpYWxpc2luZyB2YXJpYWJsZSB0byBOVUxMICgjNTQzMjU5KS4KCjIwMDgtMDctMTQgMTc6MTc6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogRG9uJ3QgcGFzcyBOVUxMIHRhZ2xpc3RzIHRvIGdzdF90YWdfbGlzdF9pc19lbXB0eSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IChnc3RfdGFnX2luamVjdF9zdGFydCk6CgkgIERvbid0IHBhc3MgTlVMTCB0YWdsaXN0cyB0byBnc3RfdGFnX2xpc3RfaXNfZW1wdHkoKS4KCjIwMDgtMDctMTQgMTc6MTU6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzogKHJ0cF9waXBlbGluZV9jcmVhdGUpLAoJICAocnRwX3BpcGVsaW5lX3J1bik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoKMjAwOC0wNy0xNCAxNjoyODoyNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFsaWduIGRvY3VtZW50YXRpb24gd2l0aCByZWFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIEFsaWduIGRvY3VtZW50YXRpb24gd2l0aCByZWFsaXR5LgoKMjAwOC0wNy0xNCAxMzoxMToxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBFQUlfQUREUkZBTUlMWSB3YXMgb2Jzb2xldGVkIGluIEJTRCBhdCBzb21lIHBvaW50LiBEZWZpbmUgaXQgdG8gdGhlIG9sZCB2YWx1ZSAoMSkgaWYgaXQncyBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgRUFJX0FERFJGQU1JTFkgd2FzIG9ic29sZXRlZCBpbiBCU0QgYXQgc29tZSBwb2ludC4gRGVmaW5lIGl0IHRvIHRoZQoJICBvbGQgdmFsdWUgKDEpIGlmIGl0J3Mgbm90IGRlZmluZWQgd2hpY2ggc2hvdWxkIG5vdCBjYXVzZSBhbnkgcHJvYmxlbXMKCSAgYXMgd2UncmUgdXNpbmcgaXQgaW50ZXJuYWwgb25seSBhbnl3YXkuCgoyMDA4LTA3LTE0IDEzOjAyOjQ4ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGJ1aWxkIG9mIGF2aWRlbXV4IG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yaWZmX3BhcnNlX3ZwcnApOgoJICBGaXggYnVpbGQgb2YgYXZpZGVtdXggb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLgoKMjAwOC0wNy0xMCAyMDo0Nzo1NiArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAbGNjLnVmY2cuZWR1LmJyPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb3JyZWN0bHkgZGlzdGluZ3Vpc2ggOGJpdCB2cyAxNmJpdCByYXcgYXVkaW8uICBGaXhlcyAjNTQyNDEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzIGF0IGxjYyBkb3QgdWZjZyBkb3QgZWR1IGRvdCBicj4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBDb3JyZWN0bHkgZGlzdGluZ3Vpc2ggOGJpdCB2cyAxNmJpdCByYXcgYXVkaW8uICBGaXhlcyAjNTQyNDEwLgoKMjAwOC0wNy0wOCAyMTowNToxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcyB1c2luZyBkaXNwbGF5IHdpZHRoIGFuZCBoZWlnaHQgcHJvdmlkZWQgaW4gdHJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzIHVzaW5nIGRpc3BsYXkgd2lkdGggYW5kIGhlaWdodAoJICBwcm92aWRlZCBpbiB0cmFjay4KCjIwMDgtMDctMDggMTM6NTk6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLiBGaXhlcyBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlCgkgIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4gRml4ZXMgYnVnICM1MTY1MDkuCgoyMDA4LTA3LTA4IDEyOjUxOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgYW5kIHZhcmlhYmxlIGxlbmd0aCBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGFuZCB2YXJpYWJsZSBsZW5ndGggYXJyYXlzLgoKMjAwOC0wNy0wNyAyMToyODo1OCArMDAwMCAgRGFuaWVsIERyYWtlIDxkc2RAZ2VudG9vLm9yZz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogVHJ5IHByb2dyZXNzaXZlIHZpZGVvIGlmIGludGVybGFjZWQgZmFpbHMuIEZpeGVzIGJ1ZyAjNTQxOTU2IGFuZCB0aGUgdXNhZ2Ugb2YgdjRsMnNyYyBvbiBPTFBDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBEcmFrZSA8ZHNkIGF0IGdlbnRvbyBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBUcnkgcHJvZ3Jlc3NpdmUgdmlkZW8gaWYgaW50ZXJsYWNlZCBmYWlscy4gRml4ZXMgYnVnICM1NDE5NTYKCSAgYW5kIHRoZSB1c2FnZSBvZiB2NGwyc3JjIG9uIE9MUEMuCgoyMDA4LTA3LTA3IDE1OjM0OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuKjogUmV2ZXJ0IGxhc3QgY2hhbmdlOiBPbmx5IHRoZSBqaXR0ZXJidWZmZXIgaXMgYWJsZSB0byBjb252ZXJ0IFJUUCB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICBSZXZlcnQgbGFzdCBjaGFuZ2U6IE9ubHkgdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIGNvbnZlcnQgUlRQIHRvCgkgIEdzdHJlYW1lciB0aW1lc3RhbXBzIGFuZCBub3JtYWwgKGRlKXBheWxvYWRlcnMgc2hvdWxkIHNpbXBseSBjb3B5IGl0LgoJICBSZW9wZW5zIGJ1ZyAjNTQxNzg3LgoKMjAwOC0wNy0wNyAxMDozMDo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgYXRvaSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCjIwMDgtMDctMDcgMTA6MTY6MDcgKzAwMDAgIFRvbWFzeiBHcm9iZWxueSA8dG9tYXN6QGdyb2JlbG55Lm9zd2llY2VuaWEubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lio6IFRha2UgdGltZXN0YW1wIGZyb20gdGhlIFJUUCBwYWNrZXQgYXMgYSBmaXJzdCBzdGVwIHRvIGZpeCBwcm9ibGVtcyB3aXRoIHRyYW5zbWlzc2lvbiBvdmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tYXN6IEdyb2JlbG55IDx0b21hc3ogYXQgZ3JvYmVsbnkgZG90IG9zd2llY2VuaWEgZG90IG5ldD4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICBUYWtlIHRpbWVzdGFtcCBmcm9tIHRoZSBSVFAgcGFja2V0IGFzIGEgZmlyc3Qgc3RlcCB0byBmaXggcHJvYmxlbXMKCSAgd2l0aCB0cmFuc21pc3Npb24gb3ZlciBSVFAgd2hlbiB0aGUgbmV0d29yayBpcyBub3QgcmVsaWFibGUuCgkgIEZpeGVzIGJ1ZyAjNTQxNzg3LgoKMjAwOC0wNy0wNSAxOTowMToyOCArMDAwMCAgVGVybyBTYWFybmkgPHRlcm8uc2Fhcm5pQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBwYXJzaW5nIG9mIHVkcDovLyBVUklzIGNvbnRhaW5pbmcgSVB2NiBhZGRyZXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGVybyBTYWFybmkgPHRlcm8gZG90IHNhYXJuaSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3NldF91cmkpOgoJICBGaXggcGFyc2luZyBvZiB1ZHA6Ly8gVVJJcyBjb250YWluaW5nIElQdjYgYWRkcmVzc2VzLgoJICBGaXhlcyBidWcgIzU0MTY1MC4KCjIwMDgtMDctMDQgMjA6NDM6MDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IERvIG5vdCBsZWFrIGluY29taW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICBEbyBub3QgbGVhayBpbmNvbWluZyBidWZmZXJzLgoKMjAwOC0wNy0wMyAxOToyNzo1MyArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIG9mIHRoZSBSVFAgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMiBmb3IgaHRvbnMoKSBhbmQgaHRvbmwoKS4gRml4ZXMgYnVnICM1NDE0MTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkIG9mIHRoZSBSVFAgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMgoJICBmb3IgaHRvbnMoKSBhbmQgaHRvbmwoKS4gRml4ZXMgYnVnICM1NDE0MTIuCgoyMDA4LTA3LTAyIDA5OjUxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCBpZiB0aGUgcGFkJ3MgdHJhY2sgaGFzIGEgZGVmYXVsdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdCBpZiB0aGUKCSAgcGFkJ3MgdHJhY2sgaGFzIGEgZGVmYXVsdCBmcmFtZSBkdXJhdGlvbiBzZXQuCgkgIEZpeCBzZWVraW5nIG5vdyB0aGF0IHRoZSBzZWdtZW50J3MgZHVyYXRpb24gZG9lc24ndCBjb250YWluIHRoZQoJICAocG9zc2libHkgd3Jvbmcgb3IgaW5hY2N1cmF0ZSkgZHVyYXRpb24gb2YgdGhlIE1hdHJvc2thIGZpbGUuCgoyMDA4LTA3LTAyIDA5OjA0OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFVzZSBOQU4gY29uc3RhbnQgaW5zdGVhZCBvZiAwLjAvMC4wIGlmIHBvc3NpYmxlLiBOQU4gaXMgZGVmaW5lZCBpbiBtYXRoLmggZXhjZXB0IG9uIE1TVkMgd2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoX2V4dDJkYmwpOgoJICBVc2UgTkFOIGNvbnN0YW50IGluc3RlYWQgb2YgMC4wLzAuMCBpZiBwb3NzaWJsZS4gTkFOIGlzIGRlZmluZWQKCSAgaW4gbWF0aC5oIGV4Y2VwdCBvbiBNU1ZDIHdoZXJlIGl0IGlzIGRlZmluZWQgaW4geG1hdGguaC4KCSAgRml4ZXMgY29tcGlsYXRpb24gd2l0aCBNU1ZDLgoKMjAwOC0wNy0wMiAwODo1NzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IERvbid0IHNldCB0aGUgc2VnbWVudCBkdXJhdGlvbiB0byB0aGUgZHVyYXRpb24gZnJvbSB0aGUgTWF0cm9za2EgaGVhZGVyIGFzIHRoaXMgdmFsdWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIERvbid0IHNldCB0aGUgc2VnbWVudCBkdXJhdGlvbiB0byB0aGUgZHVyYXRpb24gZnJvbSB0aGUgTWF0cm9za2EKCSAgaGVhZGVyIGFzIHRoaXMgdmFsdWUgY291bGQgYmUgd3JvbmcgYW5kIGlzIGp1c3QgaW5mb3JtYXRpb25hbC4KCjIwMDgtMDctMDIgMDg6NDc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBubyBUcmFja3MgZWxlbWVudCBpcyBmb3VuZCB1bnRpbCB0aGUgZmlyc3QgQ2x1c3RlciBpcyBmb3VuZCBzZWFyY2ggaXQgYW5kIGVycm9yIG91dC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIElmIG5vIFRyYWNrcyBlbGVtZW50IGlzIGZvdW5kIHVudGlsIHRoZSBmaXJzdCBDbHVzdGVyIGlzIGZvdW5kCgkgIHNlYXJjaCBpdCBhbmQgZXJyb3Igb3V0IGlmIG5vbmUgaXMgZm91bmQgaW4gdGhlIGNvbXBsZXRlIGZpbGUuCgoyMDA4LTA3LTAyIDA4OjE0OjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogUmVzeW5jIG5vbi1zdWJ0aXRsZSB0cmFja3MgdG9vIGlmIGEgdG9vIGxhcmdlIGdhcCBjb21wYXJlZCB0byBvdGhlciB0cmFja3MgaXMgZGV0ZWN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIFJlc3luYyBub24tc3VidGl0bGUgdHJhY2tzIHRvbyBpZiBhIHRvbyBsYXJnZSBnYXAgY29tcGFyZWQgdG8gb3RoZXIKCSAgdHJhY2tzIGlzIGRldGVjdGVkLgoKMjAwOC0wNy0wMSAxMzoyODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGQgcmF3IHZpZGVvIHBheSBhbmQgZGVwYXlsb2FkZXJzLCBzZWUgUkZDNDE3NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6IChnc3RfcnRwX3ZyYXdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdnJhd19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfdnJhd19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfdnJhd19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOiAoZ3N0X3J0cF92cmF3X3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX3ZyYXdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9pbml0KSwgKGdzdF9ydHBfdnJhd19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF92cmF3X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdnJhd19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgQWRkIHJhdyB2aWRlbyBwYXkgYW5kIGRlcGF5bG9hZGVycywgc2VlIFJGQzQxNzUuCgoyMDA4LTA2LTMwIDIyOjUzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIGJ1ZmZlcl9hbGxvYyBmYWlscyAtIHJldHVybiB3aGF0ZXZlciBpdCByZXR1cm5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gYnVmZmVyX2FsbG9jIGZhaWxzIC0gcmV0dXJuCgkgIHdoYXRldmVyIGl0IHJldHVybmVkLgoKMjAwOC0wNi0yOSAxOTo1Mjo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2F2aS1pZHMuaDogQWRkIHZwcnAgY2h1bmsgcmVsYXRlZCBzdHJ1Y3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSAgQWRkIHZwcnAgY2h1bmsgcmVsYXRlZCBzdHJ1Y3R1cmVzLgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmlmZl9wYXJzZV92cHJwKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKToKCSAgUGFyc2Ugb3B0aW9uYWwgdnBycCBjaHVuayBhbmQgYWRkIGNhbGN1bGF0ZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIHRvIGNhcHMuICBGaXhlcyAjNTM5NDgyLgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3BhZF9yZXNldCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICBBZGQgYSB2cHJwIGNodW5rIGlmIG5vbi10cml2YWwgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3ZpZGVkIGluIGNhcHMuCgoyMDA4LTA2LTI4IDE5OjMxOjQ2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiBBZGp1c3QgYXZpbXV4IHVuaXQgdGVzdCBhY2NvcmRpbmcgdG8gaW5jcmVhc2VkIHN0cmVhbWhlYWRlciBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKGNoZWNrX2F2aW11eF9wYWQpOgoJICBBZGp1c3QgYXZpbXV4IHVuaXQgdGVzdCBhY2NvcmRpbmcgdG8gaW5jcmVhc2VkIHN0cmVhbWhlYWRlciBzaXplLgoKMjAwOC0wNi0yNyAxODoxMTowMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBEaXJhYyBzdHJlYW0gdHlwZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBEaXJhYyBzdHJlYW0gdHlwZQoKMjAwOC0wNi0yNyAxNToyNTowMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBBZGQgOCBieXRlcyB0byBjdXJyZW50IHN0cmVhbWhlYWRlciB0byBtYWtlIGZvciBhIGNvbXBsZXRlIG9uZSBhbmQgdG8gbWFrZSBtb3JlIHBsYXllcnMgaGFwcHkuICAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIEFkZCA4IGJ5dGVzIHRvIGN1cnJlbnQgc3RyZWFtaGVhZGVyIHRvIG1ha2UgZm9yIGEgY29tcGxldGUgb25lCgkgIGFuZCB0byBtYWtlIG1vcmUgcGxheWVycyBoYXBweS4gIEZpeGVzICM1MTk0NjAuCgoyMDA4LTA2LTI2IDE2OjM2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBEb24ndCBpbmNsdWRlIHVudXNlZCBnc3R2NGwyeG92ZXJsYXkuaC4gRml4ZXMgYnVpbGQgaW4gY2FzZSB3aGVyZSBYMTEgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOjoKCSAgRG9uJ3QgaW5jbHVkZSB1bnVzZWQgZ3N0djRsMnhvdmVybGF5LmguIEZpeGVzIGJ1aWxkCgkgIGluIGNhc2Ugd2hlcmUgWDExIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQuCgoyMDA4LTA2LTI2IDEwOjA3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2LmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDgtMDYtMjYgMDk6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYzogTWFya2luZyByYW5rIG9mIGR2ZGVjIGFzIEdTVF9SQU5LX01BUkdJTkFMIHNpbmNlIGl0J3MgdGhlIHNsb3dlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIE1hcmtpbmcgcmFuayBvZiBkdmRlYyBhcyBHU1RfUkFOS19NQVJHSU5BTCBzaW5jZSBpdCdzIHRoZSBzbG93ZXN0CgkgIERWIGRlY29kZXIgYXZhaWxhYmxlLgoJICBGaXhlcyAjNTMyMzkzCgoyMDA4LTA2LTI1IDA4OjEyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDYWxsIGdldHNvY2tuYW1lKCkgYWZ0ZXIgdGhlIGNhbGwgdG8gYmluZCgpIHRvIGdldCB1cGRhdGVkIHZhbHVlcyBmb3IgdGhlIHBvcnQsIGV0Yy4gVGhpcyBmaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBDYWxsIGdldHNvY2tuYW1lKCkgYWZ0ZXIgdGhlIGNhbGwgdG8gYmluZCgpIHRvIGdldCB1cGRhdGVkIHZhbHVlcwoJICBmb3IgdGhlIHBvcnQsIGV0Yy4gVGhpcyBmaXhlcyB0aGUgdXNhZ2Ugb2YgdWRwc3JjIG9uIGFub255bW91cwoJICBiaW5kaW5nIGFuZCBpdCdzIHVzYWdlIGJ5IHJ0c3BzcmMuIEZpeGVzIGJ1Z3MgIzUzOTM3MiwgIzUzOTU0OC4KCSAgVGhhbmtzIHRvIEF1cmVsaWVuIEdyaW1hdWQgZm9yIHBvaW50aW5nIG91dCB0aGUgb2J2aW91cyBmaXguCgoyMDA4LTA2LTI1IDA3OjU3OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gaWRlbnRpdHkgdGhhdCBpcyBmaXhlZCBpbiAwLjEwLjIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAoYnVzX2hhbmRsZXIpOgoJICBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gaWRlbnRpdHkgdGhhdCBpcyBmaXhlZCBpbiAwLjEwLjIwLgoKMjAwOC0wNi0yNSAwNjozNjo1OCArMDAwMCAgSmFzb24gRG9uZW5mZWxkIDxCdWdaaWxsYUB6eDJjNC5jb20+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggSFRUUCBhdXRoIHN1cHBvcnQgd2l0aCB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYXNvbiBEb25lbmZlbGQgPEJ1Z1ppbGxhIGF0IHp4MmM0IGRvdCBjb20+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKToKCSAgRml4IEhUVFAgYXV0aCBzdXBwb3J0IHdpdGggdXNlci9wYXNzd29yZCBwYXNzZWQgdmlhIHRoZSBVUkkuCgkgIEZpeGVzIGJ1ZyAjNTQwMDY3LgoKMjAwOC0wNi0yNCAxNTo0MjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCjIwMDgtMDYtMjMgMTY6MTM6NDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBidWdneSBmb3JtYXQgc3RyaW5ncyBpbiBtYWNyb3MuIChtYWtlcyBpdCBidWlsZCBvbiBPUyBYIGFnYWluLi4uKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0yMyAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKTogRml4IGJ1Z2d5CgkgIGZvcm1hdCBzdHJpbmdzIGluIG1hY3Jvcy4gKG1ha2VzIGl0IGJ1aWxkIG9uIE9TIFggYWdhaW4uLi4pCgoyMDA4LTA2LTIwIDE2OjI0OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC86IEFkZGVkIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIEFkZGVkIGRlYnVnLgoKMjAwOC0wNi0yMCAxNToyMTo1OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgc3dpdGNoIHY0bDJzcmMgZnJvbSBleHBlcmltZW50YWwgdG8gbm9ybWFsIGJ1aWxkLiBGaXhlcyAjNTM2ODMxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzd2l0Y2ggdjRsMnNyYyBmcm9tIGV4cGVyaW1lbnRhbCB0byBub3JtYWwgYnVpbGQuIEZpeGVzICM1MzY4MzEKCjIwMDgtMDYtMTkgMTE6MjQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBzbyB0aGF0IHdlIGNhbiBjb21waWxlIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2Fwcyk6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBhZ2Fpbi4KCjIwMDgtMDYtMTkgMTE6MDY6MjkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IE5vIG5lZWQgdG8gY2hlY2sgZm9yIGF1ZGlvL0c3MjMgYW5kIGF1ZGlvLzMyS0FEUENNIGhlcmUgYXMgdGhleSBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpOgoJICBObyBuZWVkIHRvIGNoZWNrIGZvciBhdWRpby9HNzIzIGFuZCBhdWRpby8zMktBRFBDTSBoZXJlIGFzIHRoZXkgYXJlCgkgIG5vIGxvbmdlciBzdXBwb3J0ZWQuCgoyMDA4LTA2LTE5IDEwOjU4OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogVXNlIEdfR0lOVDY0X0NPTlNUQU5ULCB0aGlzIGZpeGVzIHRoZSBkdXJhdGlvbiBxdWVyeSBvbiBmaWxlcyB3aXRob3V0IGtub3duIGxlbmd0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBVc2UgR19HSU5UNjRfQ09OU1RBTlQsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIHF1ZXJ5IG9uIGZpbGVzIHdpdGhvdXQKCSAga25vd24gbGVuZ3RoLgoKMjAwOC0wNi0xOSAxMDo0ODo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IGRlbXV4aW5nIG9mIFdhdlBhY2sgZmlsZXMuIE11eGluZyBpcyBzdGlsbCBicm9rZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBGaXggZGVtdXhpbmcgb2YgV2F2UGFjayBmaWxlcy4gTXV4aW5nIGlzIHN0aWxsIGJyb2tlbi4KCjIwMDgtMDYtMTkgMDk6MTI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBhICJ2ZnVuYyIgdG8gdGhlIHRyYWNrIGNvbnRleHQgZm9yIHBvc3Rwcm9jZXNzaW5nIGZyYW1lcyBhbmQgY29udmVydCB0aGUgd2F2cGFjayBhbmQgc3VidGl0bGUgcG9zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfbXBlZ19zZXFfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgYSAidmZ1bmMiIHRvIHRoZSB0cmFjayBjb250ZXh0IGZvciBwb3N0cHJvY2Vzc2luZyBmcmFtZXMgYW5kCgkgIGNvbnZlcnQgdGhlIHdhdnBhY2sgYW5kIHN1YnRpdGxlIHBvc3Rwcm9jZXNzaW5nIHRvIHRoaXMgdmZ1bmMuCgkgIENvcHkgYnVmZmVyIGZsYWdzIGluIHRob3NlIGZ1bmN0aW9ucyB0byB0aGUgbmV3IGJ1ZmZlcnMgdG9vLgoJICBQYXJzZSBDb2RlY1N0YXRlIGVsZW1lbnRzIG9mIEJsb2Nrcy4KCSAgQWRkIGEgcG9zdHByb2Nlc3NpbmcgZnVuY3Rpb24gZm9yIE1QRUcgdmlkZW8gdGhhdCBhZGRzIHRoZSBzZXF1ZW5jZQoJICBoZWFkZXIgZnJvbSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIG9yIGNvZGVjIHN0YXRlIHRvIHRoZSBmcmFtZXMgaWYKCSAgaXQncyBub3QgYWxyZWFkeSB0aGVyZS4KCjIwMDgtMDYtMTkgMDg6MjI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJZiBhIGdhcCBvZiBtb3JlIHRoYW4gMS8yIHNlY29uZCBpcyBmb3VuZCBpbiBvbmUgc3RyZWFtIHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgSWYgYSBnYXAgb2YgbW9yZSB0aGFuIDEvMiBzZWNvbmQgaXMgZm91bmQgaW4gb25lIHN0cmVhbSBzZW5kIGEKCSAgTkVXU0VHTUVOVCBldmVudCB0byBub3Qgc3RhbGwgdGhlIHBpcGVsaW5lIGlmIHRoZSBnYXAgaXMgdG9vIGxhcmdlLgoJICBUaGlzIGFsc28gZml4ZXMgTWF0cm9za2EgZmlsZXMgd2hlcmUgdGhlIGZpcnN0IGJ1ZmZlciBkb2Vzbid0IHN0YXJ0CgkgIGF0IHRpbWVzdGFtcCAwLiBGaXhlcyBidWcgIzQyOTMyMi4KCSAgVGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdGhlIGRlZmF1bHQgZHVyYXRpb24gbXVsdGlwbGllZCB3aXRoIHRoZQoJICBudW1iZXIgb2YgbGFjZXMuIEV2ZXJ5IGxhY2UgaXMgb25lIGZyYW1lIGFuZCB0aGUgZGVmYXVsdCBkdXJhdGlvbgoJICBpcyB0aGUgZHVyYXRpb24gb2Ygb25lIGZyYW1lLiBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgdXNlCgkgIGxhY2luZyBmb3Igc29tZSB0cmFja3MuCgoyMDA4LTA2LTE4IDIwOjA5OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXBkYXRlIEZJWE1FL1RPRE9zIGFuZCBvbmx5IGlnbm9yZSBFT1MgYXQgdGhlIGNlbnRyYWwsIGltcG9ydGFudCBwbGFjZSBpbnN0ZWFkIG9mIHNldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KToKCSAgVXBkYXRlIEZJWE1FL1RPRE9zIGFuZCBvbmx5IGlnbm9yZSBFT1MgYXQgdGhlIGNlbnRyYWwsIGltcG9ydGFudCBwbGFjZQoJICBpbnN0ZWFkIG9mIHNldmVyYWwgcGxhY2VzLgoKMjAwOC0wNi0xOCAxNjo1NTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBGaXggY2FwcywgU2VlICM1Mzg4OTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBGaXggY2FwcywgU2VlICM1Mzg4OTEuCgoyMDA4LTA2LTE4IDEwOjI4OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZXZlcnl3aGVyZSBhbmQgZml4IHRoZSBFT1MgbG9naWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdHJlYW1fZnJvbV9udW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2Rpbmdfb3JkZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdHJhY2tudW1iZXJfdW5pcXVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0IGV2ZXJ5d2hlcmUgYW5kIGZpeCB0aGUgRU9TIGxvZ2ljLgoJICBDaGVjayB0aGUgdmFsdWVzIG9mIHRoZSBDb250ZW50RW5jb2RpbmcgZWxlbWVudHMgbW9yZSBzdHJpY3RseSBhbmQKCSAgZG9uJ3QgdXNlIHRyYWNrcyBmb3Igd2hpY2ggaXQncyBpbnZhbGlkLgoJICBDaGVjayB0aGF0IHRoZSB0cmFjayBudW1iZXIgaXMgdW5pcXVlIGZvciB0aGlzIHN0cmVhbS4KCSAgQ2hlY2sgdGhhdCBzZWVrIHBvc2l0aW9ucyBhcmUgYmVsb3cgR19NQVhJTlQ2NCBhcyBvdXIgc2Vla3MgYXJlCgkgIGludDY0LWJhc2VkIGFuZCBvdmVyZmxvd3Mgd2lsbCBmYWlsIGJhZGx5LgoJICBBZnRlciBzZWVrcyBhbHNvIGRvbid0IHB1c2ggU2ltcGxlQmxvY2tzIHVudGlsIHRoZSBmaXJzdCBvbmUKCSAgY29udGFpbmluZyBhIGtleWZyYW1lIGlzIGZvdW5kLiBCZWZvcmUgdGhpcyB3YXMgZG9uZSBvbmx5IGZvciBub3JtYWwKCSAgQmxvY2tzLgoJICBVcGRhdGUgc29tZSBGSVhNRS9UT0RPcy4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF91dGY4KSwgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfdmlkZW9fY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBSZW1vdmUgZXllIG1vZGUgYW5kIGRvbid0IHBhcnNlIGl0IGFueW1vcmUuIFdlIGNhbid0IHVzZSB0aGF0CgkgIGluZm9ybWF0aW9uIGluIEdTdHJlYW1lciB5ZXQgc28gaXQncyB1c2VsZXNzLgoKMjAwOC0wNi0xOCAxMDoxMjo1NyArMDAwMCAgbWVyc2FkIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgRzcyNiBwYXkvZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTM4ODkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG1lcnNhZCA8bWVyc2FkIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzogKGdzdF9ydHBfZzcyNl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9nNzI2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9nNzI2X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyNl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkgIEFkZGVkIEc3MjYgcGF5L2RlcGF5bG9hZGVycy4gRml4ZXMgIzUzODg5MS4KCjIwMDgtMDYtMTcgMTA6MTQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBTb21lIG1vcmUgdXJscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgU29tZSBtb3JlIHVybHMuCgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIEFkZCBhIGNvbW1lbnQKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEZpeCB0eXBvLCBhZGQgYXVkaW9yZXNhbXBsZSB0byB0aGUgcGlwZWxpbmUuCgoyMDA4LTA2LTE3IDEwOjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYm1uZy86IFNvbWV3aGF0IHBvcnQgbW5nZW5jIGFuZCBtbmdkZWMgdG8gMC4xMC4gRG9lcyBub3Qgd29yayB5ZXQgYW5kIGhhcyBtYW55IGJpdHMgaWZkZWZmZWQgb3V0IHN0aWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbW5nX2RlY19jbGFzc19pbml0KSwgKGdzdF9tbmdfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbW5nX2RlY19pbml0KSwgKGdzdF9tbmdfZGVjX3NyY19nZXRjYXBzKSwgKGdzdF9tbmdfZGVjX2xvb3ApLAoJICAoZ3N0X21uZ19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tbmdfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChtbmdkZWNfZXJyb3IpLCAobW5nZGVjX29wZW5zdHJlYW0pLCAobW5nZGVjX2Nsb3Nlc3RyZWFtKSwKCSAgKGdzdF9tbmdfZGVjX3NpbmtfZXZlbnQpLCAobW5nZGVjX3JlYWRkYXRhKSwgKG1uZ2RlY19zZXR0aW1lciksCgkgIChtbmdkZWNfcHJvY2Vzc2hlYWRlciksIChtbmdkZWNfZ2V0Y2FudmFzbGluZSksIChtbmdkZWNfcmVmcmVzaCksCgkgIChnc3RfbW5nX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfbW5nX2VuY19jbGFzc19pbml0KSwgKGdzdF9tbmdfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbW5nX2VuY19pbml0KSwgKGdzdF9tbmdfZW5jX2NoYWluKSwKCSAgKGdzdF9tbmdfZW5jX2dldF9wcm9wZXJ0eSksIChnc3RfbW5nX2VuY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIFNvbWV3aGF0IHBvcnQgbW5nZW5jIGFuZCBtbmdkZWMgdG8gMC4xMC4gRG9lcyBub3Qgd29yayB5ZXQgYW5kIGhhcyBtYW55CgkgIGJpdHMgaWZkZWZmZWQgb3V0IHN0aWxsLgoKMjAwOC0wNi0xNiAxMTozNDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFdoZW4gY29tcGFyaW5nIGluZGV4IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGltZSBjb21wYXJlIHRoZWlyIGJsb2NrIG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfaW5kZXhfY29tcGFyZSk6CgkgIFdoZW4gY29tcGFyaW5nIGluZGV4IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGltZSBjb21wYXJlIHRoZWlyCgkgIGJsb2NrIG51bWJlci4KCjIwMDgtMDYtMTYgMTE6MzE6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2hlZF9maWxlKQoJICBJbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDYtMTYgMTA6NTk6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFBhcnNlIEF0dGFjaG1lbnRzIGFuZCBwb3N0IHRoZW0gYXMgR1NUX1RBR19JTUFHRSBpZiB3ZSBkZXRlY3QgaXQgYXMgaW1hZ2UgYW5kIG90aGVyd2lzZSBhcyBHU1RfVEFHX0FUVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6IChnc3RfbWF0cm9za2FfcmVnaXN0ZXJfdGFncyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQYXJzZSBBdHRhY2htZW50cyBhbmQgcG9zdCB0aGVtIGFzIEdTVF9UQUdfSU1BR0UgaWYgd2UgZGV0ZWN0CgkgIGl0IGFzIGltYWdlIGFuZCBvdGhlcndpc2UgYXMgR1NUX1RBR19BVFRBQ0hNRU5ULiBJbmNsdWRlIGZpbGVuYW1lCgkgIGFuZCBkZXNjcmlwdGlvbiBvZiB0aGUgYXR0YWNobWVudHMgaW4gdGhlIGNhcHMuIEZpeGVzIGJ1ZyAjNTM3NjIyLgoKMjAwOC0wNi0xNiAxMDowOTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgbW9kZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWV4X2VuY19jbGFzc19pbml0KSwgKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9zcGVleF9lbmNfZ2V0X2xhdGVuY3kpLCAoZ3N0X3NwZWV4X2VuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4X2VuY19zcmNfcXVlcnkpLCAoZ3N0X3NwZWV4X2VuY19pbml0KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0dXApLCAoZ3N0X3NwZWV4X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X3Byb3BlcnR5KToKCSAgQWRkIG1vZGUgcHJvcGVydHkuCgkgIFNvbWUgY2xlYW51cHMsIGFkZCBtb3JlIGRlYnVnIGluZm8uCgkgIEFkZCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNi0xNiAwOTo1NDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCBpbnN0ZWFkIG9mIEdTVF9GTE9XX0VSUk9SIG9uIHNob3J0IHJlYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpOgoJICBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCBpbnN0ZWFkIG9mIEdTVF9GTE9XX0VSUk9SIG9uIHNob3J0IHJlYWRzLgoJICBJZiB3ZSBnZXQgbGVzcyBieXRlcyB0aGFuIHJlcXVlc3RlZCB3ZSBjYW4ndCBkbyBhbnl0aGluZyBleGNlcHQgZG9pbmcKCSAgb3VyIEVPUyBsb2dpYy4KCjIwMDgtMDYtMTUgMTk6MDk6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFVzZSBhIEdBcnJheSBmb3Igc3RvcmluZyB0aGUgQ3VlIChpLmUuIHNlZWspIGluZm9ybWF0aW9uLCBzdG9yZSB0aGUgQ3VlVHJhY2tQb3NpdGlvbnMgZm9yIGV2ZXJ5IHRyYWNrLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfaW5kZXhfY29tcGFyZSksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFVzZSBhIEdBcnJheSBmb3Igc3RvcmluZyB0aGUgQ3VlIChpLmUuIHNlZWspIGluZm9ybWF0aW9uLCBzdG9yZQoJICB0aGUgQ3VlVHJhY2tQb3NpdGlvbnMgZm9yIGV2ZXJ5IHRyYWNrLCBzdG9yZSB0aGUgYmxvY2sgbnVtYmVyCgkgIGFuZCBvcHRpbWl6ZSBzZWFyY2hpbmcgaW4gdGhlIGFycmF5IGJ5IHNvcnRpbmcgaXQgYWZ0ZXIgdGhlIGxhc3QKCSAgZWxlbWVudCB3YXMgYWRkZWQuCgkgIEZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrIHdoZW4gdHJ5aW5nIHRvIHBhcnNlIGEgdGFncyBlbGVtZW50IHRoYXQgd2FzCgkgIGFscmVhZHkgcGFyc2VkLgoKMjAwOC0wNi0xNSAxNToyOToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBEb24ndCB3cml0ZSBhbm90aGVyIFNlZWtIZWFkIHdoaWNoIGluZGV4ZXMgYWxsIENsdXN0ZXJzIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuIFRoaXMgaXNuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgRG9uJ3Qgd3JpdGUgYW5vdGhlciBTZWVrSGVhZCB3aGljaCBpbmRleGVzIGFsbCBDbHVzdGVycyB0byB0aGUgZW5kIG9mCgkgIHRoZSBmaWxlLiBUaGlzIGlzbid0IHVzZWZ1bCBmb3IgYW55dGhpbmcgYW5kIGp1c3QgaW5jcmVhc2VzIGZpbGVzaXplLgoKMjAwOC0wNi0xNSAxNTowMTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBQcmV2ZW50IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHdoZW4gcmVhZGluZyBmbG9hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKF9leHQyZGJsKSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpOgoJICBQcmV2ZW50IHVuYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHdoZW4gcmVhZGluZyBmbG9hdHMuCgoyMDA4LTA2LTE1IDE0OjA4OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBNYWtlIHN1cmUgdGhhdCBldmVyeSBUYWdzIGVsZW1lbnQgaXMgb25seSBwYXJzZWQgb25jZSBhbmQgaXQncyBjb250YWluaW5nIHRhZ3MgYXJlIG9ubHkgcG9zdGVkIG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgTWFrZSBzdXJlIHRoYXQgZXZlcnkgVGFncyBlbGVtZW50IGlzIG9ubHkgcGFyc2VkIG9uY2UgYW5kIGl0J3MKCSAgY29udGFpbmluZyB0YWdzIGFyZSBvbmx5IHBvc3RlZCBvbmNlLgoKMjAwOC0wNi0xNSAwOTo0MzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogSGFuZGxlIEVCTUwgZWxlbWVudHMgbGlrZSBWb2lkIG9yIENSQzMyIGluIHRoZSBFYm1sUmVhZCBiYXNlIGNsYXNzIGFscmVhZHkuIFRoZXkncmUgbm90IHVzZWZ1bCBpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9hdHRhY2htZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2hhcHRlcnMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSGFuZGxlIEVCTUwgZWxlbWVudHMgbGlrZSBWb2lkIG9yIENSQzMyIGluIHRoZSBFYm1sUmVhZCBiYXNlIGNsYXNzCgkgIGFscmVhZHkuIFRoZXkncmUgbm90IHVzZWZ1bCBpbiB0aGUgbWF0cm9za2EgcGFyc2VyIGFuZCBvbmx5IGNhdXNlCgkgIGFkZGl0aW9uYWwgY29kZS4KCjIwMDgtMDYtMTQgMTU6NTE6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IFJldmVyc2UgdGhlIGxldmVsIGxpc3QgYXMgd2UgdXN1YWxseSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSBmaXJzdCBlbGVtZW50IG9yIHdhbnQgdG8gYWRkIGEgbmV3IGZpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9sZXZlbF9mcmVlKSwKCSAgKGdzdF9lYm1sX2ZpbmFsaXplKSwgKGdzdF9lYm1sX3JlYWRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZXZlbF91cCksIChnc3RfZWJtbF9yZWFkX21hc3Rlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KToKCSAgUmV2ZXJzZSB0aGUgbGV2ZWwgbGlzdCBhcyB3ZSB1c3VhbGx5IGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlCgkgIGZpcnN0IGVsZW1lbnQgb3Igd2FudCB0byBhZGQgYSBuZXcgZmlyc3QgZWxlbWVudC4gSGF2aW5nIHRoZQoJICBmaXJzdCBlbGVtZW50IHN0b3JlZCBhdCB0aGUgZW5kIGFuZCBjYWxsaW5nIGdfbGlzdF9sYXN0KCkgYW5kCgkgIGdfbGlzdF9hcHBlbmQoKSBpcyBtb3JlIGV4cGVuc2l2ZS4KCSAgQWxzbyB1c2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIHRoZSBHc3RFYm1sTGV2ZWwgc3RydWN0cy4KCjIwMDgtMDYtMTMgMjE6MTM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IERvbid0IHVucmVmIE5VTEwgdGFnbGlzdCBpbiBmaW5hbGl6ZS4gRG9uJ3QgdXNlIGMrKyBzdHlsZSBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiAoZ3N0X3RhZ19pbmplY3RfZmluYWxpemUpLAoJICAoZ3N0X3RhZ19pbmplY3RfY2xhc3NfaW5pdCksIChnc3RfdGFnX2luamVjdF9pbml0KToKCSAgRG9uJ3QgdW5yZWYgTlVMTCB0YWdsaXN0IGluIGZpbmFsaXplLiBEb24ndCB1c2UgYysrIHN0eWxlCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xMyAxOToxNDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogVXNlIGdzdF92YWx1ZV9zZXJpYWxpemUoKSBhbmQgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplKCkgZm9yIHRyYW5zZm9ybWluZyB0YWdzIGZyb20gc29tZSBHVHlwZSB0byBhIHN0cmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBVc2UgZ3N0X3ZhbHVlX3NlcmlhbGl6ZSgpIGFuZCBnc3RfdmFsdWVfZGVzZXJpYWxpemUoKSBmb3IgdHJhbnNmb3JtaW5nCgkgIHRhZ3MgZnJvbSBzb21lIEdUeXBlIHRvIGEgc3RyaW5nIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gVGhlIGRlZmF1bHQKCSAgdHJhbnNmb3JtYXRpb25zIGluIEdMaWIgZG9uJ3QgaW5jbHVkZSB0cmFuc2Zvcm1hdGlvbnMgZnJvbSBzdHJpbmcgdG8KCSAgbnVtYmVyIHR5cGVzLgoKMjAwOC0wNi0xMyAxOTowNzowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lio6IE9ubHkgcGFyc2UgVHJhY2tzLCBTZWVrSGVhZCBhbmQgU2VnbWVudEluZm8gZWxlbWVudHMgb25jZSBidXQgYWxsb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIE9ubHkgcGFyc2UgVHJhY2tzLCBTZWVrSGVhZCBhbmQgU2VnbWVudEluZm8gZWxlbWVudHMgb25jZSBidXQgYWxsb3cKCSAgVGFncyBtdWx0aXBsZSB0aW1lcy4gVGhlIGZpcnN0IG9uZXMgY2FuIGFwcGVhciBtb3JlIHRoYW4gb25jZSBidXQgbXVzdAoJICBjb250YWluIHRoZSBzYW1lIGNvbnRlbnQgYXMgdGhlIGZpcnN0IGZvciBiYWNrdXAgcHVycG9zZXMgc28gd2UgaWdub3JlCgkgIGFsbCBidXQgdGhlIGZpcnN0IG9uZS4gVGFncyBjYW4gYXBwZWFyIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50CgkgIGNvbnRlbnQuCgkgIEp1bXAgdG8gYWxsIGVsZW1lbnRzIGV4Y2VwdCBDbHVzdGVycyB0aGF0IGFyZSBhdmFpbGFibGUgZnJvbSBhCgkgIFNlZWtIZWFkIHRvIG1ha2UgaXQgbW9yZSBsaWtlbHkgdG8gaGF2ZSBhbGwgcmVxdWlyZWQgaW5mb3JtYXRpb25zCgkgIGJlZm9yZSBnZXR0aW5nIHRvIHRoZSBmaXJzdCBDbHVzdGVycy4KCSAgQWRkIGR1bW15IGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBBdHRhY2htZW50cyBhbmQgQ2hhcHRlcnMuCgoyMDA4LTA2LTEzIDE0OjMzOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi86IE1vcmUgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTMgMTE6NTQ6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBhdXRvbWF0aWMgam9pbi9sZWF2ZSBvZiBtdWx0aWNhc3QgZ3JvdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYXV0b21hdGljIGpvaW4vbGVhdmUgb2YgbXVsdGljYXN0IGdyb3Vwcy4KCSAgQWRkIEdfTElLRUxZLgoJICBSZW1vdmUgc2V0dGluZyBjYXBzIG9uIGJ1ZmZlcnMgZXhwbGljaXRseSwgYmFzZXNyYyBkb2VzIHRoYXQgZm9yIHVzIG5vdy4KCSAgSW1wcm92ZSBkZWJ1ZyBpbmZvLgoJICBDb252ZXJ0IHNvbWUgbm9uLWZhdGFsIGVycm9yIGludG8gd2FybmluZ3MuCgkgIFVzZSBnX250b2hzIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgkgIExlYXZlIG11bHRpY2FzdCBncm91cHMgd2hlbiBzdG9wcGluZy4KCSAgV2hlbiB1c2luZyBleHRlcm5hbCBzb2NrZXRzLCB1c2UgZ2V0c29ja25hbWUoKSBvbiB0aGVtIHRvIGZpbGwgdXAgdGhlCgkgIGFkZHIgc3RydWN0dXJlIGJlZm9yZSBjYWxsaW5nIG1ldGhvZHMgdGhhdCB1c2UgdGhlIHN0cnVjdHVyZS4KCSAgU2hvdWxkIGFsbCBmaXggIzUzNjkwMy4KCSAgQVBJOiBHc3RVRFBTcmM6OmF1dG8tbXVsdGljYXN0IHByb3BlcnR5CgoyMDA4LTA2LTEzIDExOjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiBVc2UgZ19udG9obCBmb3IgYmV0dGVyIHBvcnRhYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2lzX211bHRpY2FzdCk6CgkgIFVzZSBnX250b2hsIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgoyMDA4LTA2LTEzIDExOjQ1OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IGEgdHlwbyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgRml4IGEgdHlwbyBhbmQgZG8gc29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDgtMDYtMTMgMDk6Mzk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IE1ha2UgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBtYW5kYXRvcnkgb24gdGhlIGNhcHMgYW5kIG9ubHkgYWNjZXB0IGlubGluZSBmb3Igbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHRoZSBkZWxpdmVyeS1tZXRob2QgbWFuZGF0b3J5IG9uIHRoZSBjYXBzIGFuZCBvbmx5IGFjY2VwdCBpbmxpbmUKCSAgZm9yIG5vdy4KCSAgUmV2ZXJzZSBzdHJjbXAgY2hlY2tzIGZvciBkZWxpdmVyeS1tZXRob2QuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgZGVsaXZlcnkgbWV0aG9kIG9wdGlvbmFsIHdoZW4gcGFyc2luZyBjYXBzIGFuZCBub3RlIHRoaXMgaW4gdGhlCgkgIGNhcHMuCgkgIFJldmVyc2Ugc3RyY21wIGNoZWNrcyBmb3IgZGVsaXZlcnktbWV0aG9kLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIFVwZGF0ZSBhIGNvbW1lbnQgdG8gbm90ZSB0aGF0IHRoZSBkZWxpdmVyeS1tZXRob2QgaXMgb3B0aW9uYWwsCgkgIEZpeGVzICM1Mzc2NzUuCgoyMDA4LTA2LTEzIDA2OjU3OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBSZXN0b3JlIGFscGhhYmV0aWNhbCBvcmRlciBpbiBzZWN0aW9uIGZpbGUuIERvY3VtZW50IG1hZCAoaXQgd2FzIGluY2x1ZGVkIGluIGRvY3MgYWxyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLXVnbHktcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLXVnbHktcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2E1MmRlYy9nc3RhNTJkZWMuYzoKCSAgKiBleHQvYW1ybmIvYW1ybmJkZWMuYzoKCSAgKiBleHQvYW1ybmIvYW1ybmJlbmMuYzoKCSAgKiBleHQvYW1ybmIvYW1ybmJwYXJzZS5jOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgKiBleHQvbWFkL2dzdG1hZC5jOgoJICAqIGV4dC9zaWRwbGF5L2dzdHNpZGRlYy5jYzoKCSAgKiBnc3QvYXNmZGVtdXgvZ3N0cnRzcHdtcy5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3JlYWxtZWRpYS9yYWRlbXV4LmM6CgkgICogZ3N0L3JlYWxtZWRpYS9yZHRtYW5hZ2VyLmM6CgkgICogZ3N0L3JlYWxtZWRpYS9ydHNwcmVhbC5jOgoJICAqIGdzdC9zeW5hZXN0aGVzaWEvZ3N0c3luYWVzdGhlc2lhLmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIFJlc3RvcmUgYWxwaGFiZXRpY2FsIG9yZGVyIGluIHNlY3Rpb24KCSAgZmlsZS4gRG9jdW1lbnQgbWFkIChpdCB3YXMgaW5jbHVkZWQgaW4gZG9jcyBhbHJlYWR5KS4KCSAgRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXggZm9yIGV4YW1wbGVzCgkgIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlIGhhdmUgc2V2ZXJhbAoJICB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMyAwNTo1MjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgKiBleHQvc2lkcGxheS9nc3RzaWRkZWMuY2M6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdHhpbmdtdXguYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgoyMDA4LTA2LTEyIDE3OjMwOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBTZXQgdWRwc3JjIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIG11bHRpY2FzdCBncm91cHMgdG8gUEFVU0VEIGluc3RlYWQgb2YgbGVhdmluZyB0aGVtIGluIFJFQURZLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpOgoJICBTZXQgdWRwc3JjIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIG11bHRpY2FzdCBncm91cHMgdG8gUEFVU0VEIGluc3RlYWQgb2YKCSAgbGVhdmluZyB0aGVtIGluIFJFQURZLiBGaXhlcyAjNTM3ODMyLgoKMjAwOC0wNi0xMiAxMjoxNDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2ltcGxpZnkgY29kZS4gZ3N0X3RhZ19saXN0X21lcmdlKCkgZG9lcyB0aGUgTlVMTCBjaGVja3MuIEFkZCBhIEZJWE1FIGZvciBhIHJhbmRvbSBjb25zdGFudCBpbiB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFNpbXBsaWZ5IGNvZGUuIGdzdF90YWdfbGlzdF9tZXJnZSgpIGRvZXMgdGhlIE5VTEwgY2hlY2tzLiBBZGQgYSBGSVhNRQoJICBmb3IgYSByYW5kb20gY29uc3RhbnQgaW4gdGFnbXV4aW5nIGNvZGUuCgoyMDA4LTA2LTExIDE0OjI4OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lio6IE5vdyBhY3R1YWxseSBhZGRpbmcgdGhlIG5ldyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJICBOb3cgYWN0dWFsbHkgYWRkaW5nIHRoZSBuZXcgZWxlbWVudC4KCjIwMDgtMDYtMTEgMTQ6MTE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbW92ZSBkdW1teSBwbHVnaW5faW5pdC4gUmVtb3ZlIHNvbWUgdW5kZWZpbmVkIGVudHJpZXMgZnJvbSBkb2MtIHNlY3Rpb24gZmlsZS4gQWRkIHRhZ2luamVjdCBlbGVtZW50IGFuZCByZWJ1aWxkIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmM6CgkgICogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBSZW1vdmUgZHVtbXkgcGx1Z2luX2luaXQuIFJlbW92ZSBzb21lIHVuZGVmaW5lZCBlbnRyaWVzIGZyb20gZG9jLQoJICBzZWN0aW9uIGZpbGUuIEFkZCB0YWdpbmplY3QgZWxlbWVudCBhbmQgcmVidWlsZCBkb2NzIGZvciBpdC4KCjIwMDgtMDYtMTEgMTE6Mjc6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXBkYXRlIHRoZSBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgd2hlbiBwYWRzIGFyZSBhZGRlZCBvciByZW1vdmVkLiBUaGlzIHdpbGwgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFVwZGF0ZSB0aGUgY291bnRlciBmb3IgdGhlIG51bWJlciBvZiBzdHJlYW1zIHdoZW4gcGFkcyBhcmUgYWRkZWQgb3IKCSAgcmVtb3ZlZC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IGEgc2VlayB0YWJsZSBpcyBnZW5lcmF0ZWQgZm9yCgkgIGZpbGVzIHdpdGgganVzdCBvbmUgYXVkaW8gc3RyZWFtLgoKMjAwOC0wNi0xMSAxMToxODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHNvbWUgbW9yZSB0YWdzLCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyk6CgkgIEFkZCBzb21lIG1vcmUgdGFncywgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0CgkgIEdWYWx1ZSB0cmFuc2Zvcm1hdGlvbiBoYXMgc3VjY2VlZGVkIGJlZm9yZSB1c2luZyB0aGUgcmVzdWx0CgkgIGFzIGEgdGFnLgoKMjAwOC0wNi0xMSAwODo1NjoxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IFRoZSBUaGVvcmEgUlRQIHBheWxvYWRlciBvbmx5IHN1cHBvcnRzIHRoZSAiaW5saW5lIiBkZWxpZXZlcnkgbWV0aG9kIHNvIGxldCdzIGRlY2xhcmUgdGhpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIFRoZSBUaGVvcmEgUlRQIHBheWxvYWRlciBvbmx5IHN1cHBvcnRzIHRoZSAiaW5saW5lIiBkZWxpZXZlcnkgbWV0aG9kCgkgIHNvIGxldCdzIGRlY2xhcmUgdGhpcyBvbiB0aGUgY2FwcyBvZiB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZS4KCSAgRml4ZXMgYnVnICM1Mzc2NzUuCgoyMDA4LTA2LTEwIDE3OjIwOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBSZW1vdmUgYm9ndXMgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLCAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIFJlbW92ZSBib2d1cyBjaGVjay4KCjIwMDgtMDYtMTAgMTY6MjU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFVzZSBzdHJlYW1fdGltZSB0byBzeW5jaHJvbml6ZSB0aGUgb2JqZWN0IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICBVc2Ugc3RyZWFtX3RpbWUgdG8gc3luY2hyb25pemUgdGhlIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBVc2UgcnVubmluZ190aW1lIG9mIHRoZSBtYXN0ZXIgcGFkIHRvIHRpbWVzdGFtcCBvdXRnb2luZyBidWZmZXJzLgoJICBGaXggdGhlIGluaXRpYWwgc2VnbWVudCBldmVudCB0byBleHRlbmQgYW4gdW5rbm93biBhbW91bnQgb2YgdGltZS4KCSAgRml4ZXMgIzUzNzM2MS4KCjIwMDgtMDYtMTAgMTE6MDU6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFRyeSB0byBpZ25vcmUgdW5wYXJzYWJsZS91bmtub3duIHN0cmVhbXMgYW5kIGdpdmUgYSB3YXJuaW5nIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LiBGaXhlcyAjNTMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICBUcnkgdG8gaWdub3JlIHVucGFyc2FibGUvdW5rbm93biBzdHJlYW1zIGFuZCBnaXZlIGEgd2FybmluZyBpbnN0ZWFkIG9mCgkgIGVycm9yaW5nIG91dC4gRml4ZXMgIzUzNzM3Ny4KCjIwMDgtMDYtMTAgMTA6NDQ6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IFVzZSBHRE9VQkxFX1RPX0JFKCkgaW5zdGVhZCBvZiAocHJvYmFibHkgc2xvd2VyKSBjdXN0b20gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2Zsb2F0KToKCSAgVXNlIEdET1VCTEVfVE9fQkUoKSBpbnN0ZWFkIG9mIChwcm9iYWJseSBzbG93ZXIpIGN1c3RvbSBjb2RlLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfZnJlZSksIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKSwgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iYXNlX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV91aWQpLCAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdWJ0aXRsZV9wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9zZXRfcHJvcGVydHkpOgoJICBBZGQgbWFueSBGSVhNRXMvVE9ET3MgYWxsIG92ZXIgdGhlIG1hdHJvc2thIG11eGVyIGFuZCBkZW11eGVyCgkgIGVsZW1lbnRzLCBkbyBzb21lIGNoZWNrcyBmb3IgdmFsaWQgdmFsdWVzIGluIHRoZSBkZW11eGVyLCBoYW5kbGUKCSAgdHJhY2t0aW1lY29kZXNjYWxlIGluIHRoZSBkZW11eGVyLCBzZXQgY29ycmVjdCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsCgkgIHNldHRpbmdzIGluIHRoZSBkZW11eGVyLCByZXZpZXcgYW5kIGFkZCBhbGwgbWlzc2luZyBtYXRyb3NrYQoJICBJRHMgYW5kIHNvbWUgbW9yZSByYXcgWVVWIGZvcm1hdHMsIGFuZCBzb21lIHRyaXZpYWwgY2xlYW51cC4KCjIwMDgtMDYtMTAgMDg6NTk6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFNvbWUgc21hbGxlciBjbGVhbnVwLiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUywgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgYW5kIGZpeCBjb2Rpbmcgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2Jhc2VfaW5pdCksIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfcHJlcGFyZSk6CgkgIFNvbWUgc21hbGxlciBjbGVhbnVwLiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUywKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYSBiaXQKCSAgbW9yZS4KCjIwMDgtMDYtMTAgMDg6MjI6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIHRvIHRoZSBwdWxzZWF1ZGlvIHBsdWdpbiBhbmQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gdG8gdGhlIHB1bHNlYXVkaW8gcGx1Z2luIGFuZCBydW4gbWFrZSB1cGRhdGUKCSAgaW4gZG9jcy9wbHVnaW5zLgoKMjAwOC0wNi0xMCAwNjo1Mjo0NCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IEltcHJvdmVtZW50cyBmb3IgdGhlIFN1bkF1ZGlvIG1peGVyIGJ5IGhhbmRsaW5nIG11dGUgYXMgbm8gZ2FpbiBmb3IgdHJhY2tzIHRoYXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICBJbXByb3ZlbWVudHMgZm9yIHRoZSBTdW5BdWRpbyBtaXhlciBieSBoYW5kbGluZyBtdXRlIGFzIG5vIGdhaW4KCSAgZm9yIHRyYWNrcyB0aGF0IGhhdmUgYSBnYWluIHByb3BlcnR5IGJ1dCBubyBtdXRlIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzUzNjA2Ny4KCjIwMDgtMDYtMTAgMDY6NDU6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBwdWxzZWF1ZGlvIEdTdHJlYW1lciBlbGVtZW50IGZyb20gZ3N0LXB1bHNlLiBEZXZlbG9wbWVudCB3aWxsIGNvbnRpbnVlIGhlcmUgaW5zdGVhZCBvZiBwdWxzZWF1ZGlvIFNWTi4gRml4ZXMgYnVnIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VtaXhlcl9pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VtaXhlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VtaXhlcl9pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX2ZpbmFsaXplKSwgKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VtaXhlcl9nZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9jb250ZXh0X3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2lua19pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc291cmNlX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWJzY3JpYmVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zdWNjZXNzX2NiKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2Nsb3NlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfZnJlZSksIChnc3RfcHVsc2VtaXhlcl9jdHJsX2xpc3RfdHJhY2tzKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCksIChyZXN0YXJ0X3RpbWVfZXZlbnQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfdm9sdW1lKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF9yZWNvcmQpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfbXV0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5jOiAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl90cmFja19pbml0KSwgKGdzdF9wdWxzZW1peGVyX3RyYWNrX25ldyk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9jb250ZXh0X3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXByb2JlX3NpbmtfaW5mb19jYiksIChnc3RfcHVsc2Vwcm9iZV9zb3VyY2VfaW5mb19jYiksCgkgIChnc3RfcHVsc2Vwcm9iZV9pbnZhbGlkYXRlKSwgKGdzdF9wdWxzZXByb2JlX29wZW4pLAoJICAoZ3N0X3B1bHNlcHJvYmVfZW51bWVyYXRlKSwgKGdzdF9wdWxzZXByb2JlX2Nsb3NlKSwKCSAgKGdzdF9wdWxzZXByb2JlX25ldyksIChnc3RfcHVsc2Vwcm9iZV9mcmVlKSwKCSAgKGdzdF9wdWxzZXByb2JlX2dldF9wcm9wZXJ0aWVzKSwgKGdzdF9wdWxzZXByb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF9wdWxzZXByb2JlX3Byb2JlX3Byb3BlcnR5KSwgKGdzdF9wdWxzZXByb2JlX2dldF92YWx1ZXMpLAoJICAoZ3N0X3B1bHNlcHJvYmVfc2V0X3NlcnZlcik6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X3B1bHNlc2lua19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfZGVzdHJveV9zdHJlYW0pLCAoZ3N0X3B1bHNlc2lua19kZXN0cm95X2NvbnRleHQpLAoJICAoZ3N0X3B1bHNlc2lua19maW5hbGl6ZSksIChnc3RfcHVsc2VzaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19jb250ZXh0X3N0YXRlX2NiKSwgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX3N0YXRlX2NiKSwKCSAgKGdzdF9wdWxzZXNpbmtfc3RyZWFtX3JlcXVlc3RfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19zdHJlYW1fbGF0ZW5jeV91cGRhdGVfY2IpLCAoZ3N0X3B1bHNlc2lua19vcGVuKSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xvc2UpLCAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwKCSAgKGdzdF9wdWxzZXNpbmtfdW5wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfd3JpdGUpLAoJICAoZ3N0X3B1bHNlc2lua19kZWxheSksIChnc3RfcHVsc2VzaW5rX3N1Y2Nlc3NfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19yZXNldCksIChnc3RfcHVsc2VzaW5rX2NoYW5nZV90aXRsZSksCgkgIChnc3RfcHVsc2VzaW5rX2V2ZW50KSwgKGdzdF9wdWxzZXNpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzcmNfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZGVzdHJveV9zdHJlYW0pLCAoZ3N0X3B1bHNlc3JjX2Rlc3Ryb3lfY29udGV4dCksCgkgIChnc3RfcHVsc2VzcmNfZmluYWxpemUpLCAoZ3N0X3B1bHNlc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNyY19jb250ZXh0X3N0YXRlX2NiKSwgKGdzdF9wdWxzZXNyY19zdHJlYW1fc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlc3JjX3N0cmVhbV9yZXF1ZXN0X2NiKSwgKGdzdF9wdWxzZXNyY19vcGVuKSwKCSAgKGdzdF9wdWxzZXNyY19jbG9zZSksIChnc3RfcHVsc2VzcmNfcHJlcGFyZSksCgkgIChnc3RfcHVsc2VzcmNfdW5wcmVwYXJlKSwgKGdzdF9wdWxzZXNyY19yZWFkKSwKCSAgKGdzdF9wdWxzZXNyY19kZWxheSksIChnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9wdWxzZXNyY19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5jOiAoZ3N0X3B1bHNlX2ZpbGxfc2FtcGxlX3NwZWMpLAoJICAoZ3N0X3B1bHNlX2NsaWVudF9uYW1lKSwgKGdzdF9wdWxzZV9nc3RfdG9fY2hhbm5lbF9tYXApOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgQWRkIHB1bHNlYXVkaW8gR1N0cmVhbWVyIGVsZW1lbnQgZnJvbSBnc3QtcHVsc2UuIERldmVsb3BtZW50IHdpbGwKCSAgY29udGludWUgaGVyZSBpbnN0ZWFkIG9mIHB1bHNlYXVkaW8gU1ZOLiBGaXhlcyBidWcgIzQwMDY3OS4KCSAgT25seSBjaGFuZ2VzIG92ZXIgZ3N0LXB1bHNlIFNWTiBhcmUgYWRkZWQgY29weXJpZ2h0IHRvIHRoZSB0b3Agb2YKCSAgZmlsZXMgYW5kIGNvZGluZyBzdHlsZSBjaGFuZ2VzLgoKMjAwOC0wNi0wOSAyMDowMjowNSArMDAwMCAgQmVuamFtaW4gS2FtcG1hbm4gPGJlbmphbWluQGZsdWVuZG8uY29tPgoKCSAgZXh0L2NkaW8vOiBBbHNvIGV4dHJhY3QgYWxidW0gdGl0bGUgYW5kIGFsYnVtIGdlbnJlIGZyb20gQ0QtVEVYVCBpZiBhdmFpbGFibGUgKCM1MzcwMjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJlbmphbWluIEthbXBtYW5uICA8YmVuamFtaW4gYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzogKGdzdF9jZGlvX2dldF9jZHRleHQpLAoJICAoZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzKToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBBbHNvIGV4dHJhY3QgYWxidW0gdGl0bGUgYW5kIGFsYnVtIGdlbnJlIGZyb20gQ0QtVEVYVCBpZgoJICBhdmFpbGFibGUgKCM1MzcwMjEpLgoKMjAwOC0wNi0wOSAwODo1MjowNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIG5lZ290aWF0aW9uIGEgYml0IG1vcmUgYnkgcGlja2luZyB0aGUgc21hbGxlc3QgcG9zc2libGUgcmVzb2x1dGlvbiB0aGF0IGlzIGxhcmdlciB0aGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBJbXByb3ZlIG5lZ290aWF0aW9uIGEgYml0IG1vcmUgYnkgcGlja2luZyB0aGUgc21hbGxlc3QgcG9zc2libGUKCSAgcmVzb2x1dGlvbiB0aGF0IGlzIGxhcmdlciB0aGFuIHRoZSByZXNvbHV0aW9uIHNwZWNpZmllZCBpbiB0aGUKCSAgZmlyc3QgY2FwcyBlbnRyeSBvZiB0aGUgcGVlciBjYXBzLiBGaXhlcyBidWcgIzUzNjk5NC4KCjIwMDgtMDYtMDkgMDg6NDI6NDkgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0lUIGtlcm5lbHMgdGhhdCBkZXByZWNhdGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdJVCBrZXJuZWxzIHRoYXQgZGVwcmVjYXRlZAoJICBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSLiBGaXhlcyBidWcgIzUzNjMxNy4KCjIwMDgtMDYtMDcgMTg6NDg6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZXF1aXJlIGxpYmNkaW8gPj0gMC43Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBSZXF1aXJlIGxpYmNkaW8gPj0gMC43Ni4KCjIwMDgtMDYtMDUgMTE6MDc6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UKCSAgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseSBhbmQgZGl2aWRlL211bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdG8gZ2V0IHRoZSBjb3JyZWN0IHJlc3VsdC4KCjIwMDgtMDYtMDUgMDk6NDU6MDAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENhdGNoIFVORVhQRUNURUQgd2hlbiBkb3duc3RyZWFtIGhhcyByZWFjaGVkIGVuZCBvZiBzZWdtZW50IGluIHJldmVyc2UgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBDYXRjaCBVTkVYUEVDVEVEIHdoZW4gZG93bnN0cmVhbSBoYXMgcmVhY2hlZCBlbmQgb2YKCSAgc2VnbWVudCBpbiByZXZlcnNlIG1vZGUuCgoyMDA4LTA2LTA0IDE4OjA4OjM1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHR5cG8gaW4gY29tbWVudAoKMjAwOC0wNi0wNCAxODowMzoyNCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBmcmFtZSBvcmRlciB3ZSBuZWVkIHRvIHB1c2ggdGlsbCB0aGUgbmV4dCBrZXlmcmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB0aGUgZnJhbWUgb3JkZXIgd2UgbmVlZCB0byBwdXNoIHRpbGwKCSAgdGhlIG5leHQga2V5ZnJhbWUKCjIwMDgtMDYtMDQgMTc6Mzk6MzEgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUHJvdmlkZSBhIGN1c3RvbSBuZWdvdGlhdGlvbiBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdG8gcGljayB0aGUgaGlnaGVzdCBwb3NzaWJsZSBmcmFtZXJhdGUgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfbmVnb3RpYXRlKToKCSAgUHJvdmlkZSBhIGN1c3RvbSBuZWdvdGlhdGlvbiBmdW5jdGlvbiB0byBtYWtlIHN1cmUgdG8gcGljayB0aGUgaGlnaGVzdAoJICBwb3NzaWJsZSBmcmFtZXJhdGUgYW5kIHJlc29sdXRpb24uIEZpeGVzIGJ1ZyAjNTM2NjQ2LgoKMjAwOC0wNi0wNCAxNjo0OToyNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogU2V0IEVPUyB3aGVuIGdvaW5nIG91dCBvZiB0aGUgc2VnbWVudCBpbiByZXZlcnNlIHBsYXliYWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgU2V0IEVPUyB3aGVuIGdvaW5nIG91dCBvZiB0aGUgc2VnbWVudCBpbiByZXZlcnNlIHBsYXliYWNrCgoyMDA4LTA2LTA0IDE1OjE5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbTogQWRkIC1Xbm8tYXR0cmlidXRlcyB0byBDWFhGTEFHUyB0byBzdXBwcmVzcyB3YXJuaW5nIGNhdXNlZCBieSB0YWdsaWIgaGVhZGVycyAod2l0aCBnY2MgNC4zLjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOjoKCSAgQWRkIC1Xbm8tYXR0cmlidXRlcyB0byBDWFhGTEFHUyB0byBzdXBwcmVzcyB3YXJuaW5nIGNhdXNlZCBieQoJICB0YWdsaWIgaGVhZGVycyAod2l0aCBnY2MgNC4zLjEpLgoKMjAwOC0wNi0wNCAxMTo1OToxOCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSB0aGUgbmV3IGdzdF9ydHNwX2Nvbm5lY3Rpb25fZ2V0X2lwKCkgdG8gYWNjZXNzIHRoZSBJUCBhZGRyZXNzIG9mIGEgR3N0UlRTUENvbm5lY3Rpb24gc2luY2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIFVzZSB0aGUgbmV3IGdzdF9ydHNwX2Nvbm5lY3Rpb25fZ2V0X2lwKCkgdG8gYWNjZXNzIHRoZSBJUCBhZGRyZXNzCgkgIG9mIGEgR3N0UlRTUENvbm5lY3Rpb24gc2luY2UgaXQgaXMgYSBwcml2YXRlIG1lbWJlci4KCjIwMDgtMDYtMDQgMTA6NDI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IHV0aWxpdHkgZnVuY3Rpb25zIGluIGxpYmdzdHRhZyB0byBwcm9jZXNzIGNvdmVyYXJ0ICgjNTEyMzMzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlcik6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgVXNlIG5ldyB1dGlsaXR5IGZ1bmN0aW9ucyBpbiBsaWJnc3R0YWcgdG8gcHJvY2VzcyBjb3ZlcmFydCAoIzUxMjMzMykuCgoyMDA4LTA2LTA0IDA4OjU0OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFdlIGFjdHVhbGx5IHN1cHBvcnQgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcy4gVGhlIGNvbnZlcnNpb24gdG8gbm9ybWFsLCBpbnRlcmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgV2UgYWN0dWFsbHkgc3VwcG9ydCBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzLiBUaGUKCSAgY29udmVyc2lvbiB0byBub3JtYWwsIGludGVybGVhdmVkIHN0ZXJlbyBpcyBkb25lIGJ5IGxpYmZsYWMuCgoyMDA4LTA2LTA0IDA3OjM2OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBVbnJlZiB0aGUgd3JpdGUgY2FjaGUgaW4gZmluYWxpemUgaWYgaXQgd2FzIHNldCBhbmQgYWRkIGFkZCAiRklYTUUiIHRvIGEgY29tbWVudCB0aGF0IG5lZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2ZpbmFsaXplKSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NldF9jYWNoZSk6CgkgIFVucmVmIHRoZSB3cml0ZSBjYWNoZSBpbiBmaW5hbGl6ZSBpZiBpdCB3YXMgc2V0IGFuZCBhZGQgYWRkICJGSVhNRSIKCSAgdG8gYSBjb21tZW50IHRoYXQgbmVlZHMgaXQuCgoyMDA4LTA2LTA0IDA2OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgc2luayBwYWRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZQoJICByZXF1ZXN0ZWQgc2luayBwYWRzIHRvIGd1YXJhbnR1ZWUgYSB1bmlxdWUgbmFtZS4gQWRkIGEgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRvIEdzdEludGVybGVhdmVQYWQgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zCgkgIHRvIHJldHJpZXZlIHRoZSBjaGFubmVsIG51bWJlciBpbiB0aGUgb3V0cHV0IGZvciBldmVyeSBwYWQuCgkgIFVzZSBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljX3NpbXBsZSgpIGluc3RlYWQgb2YKCSAgZ190eXBlX3JlZ2lzdGVyX3N0YXRpYygpIHRvIHNhdmUgc29tZSByZWxvY2F0aW9ucy4KCjIwMDgtMDYtMDMgMTQ6MzU6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZW4gZ29pbmcgZnJvbSBQQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgYXMgd2Ugb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBGaXhlcyBidWcgIzUzNjI1OC4KCjIwMDgtMDYtMDMgMDk6MDM6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIgdGhlIEdzdEludGVybGVhdmVQYWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIChnc3RfaW50ZXJsZWF2ZV9jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyCgkgIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHR5cGUgZnJvbSBhIHRocmVhZHNhZmUgY29udGV4dC4KCjIwMDgtMDYtMDIgMTY6MTA6MDAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrLiBGaXhlcyAjNTM1MzAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X3ByZXYpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjay4gRml4ZXMgIzUzNTMwMC4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA4LTA2LTAyIDEyOjQyOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZQoJICBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgaW5wdXQgYXMgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9mIHRoZSBvdXRwdXQuCgkgIEZpeCBzb21lIGJyb2tlbiBsb2dpYyBhbmQgbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBjb3JyZWN0IGhhbmRsaW5nIG9mIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0wNi0wMiAxMjoyMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBXaGVuIHVzaW5nIGdzdF9lbGVtZW50X2l0ZXJhdGVfcGFkcygpIG9uZSBoYXMgdG8gdW5yZWYgZXZlcnkgcGFkIGFmdGVyIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfdmlkZW9taXhlcl9xdWVyeV9sYXRlbmN5KToKCSAgV2hlbiB1c2luZyBnc3RfZWxlbWVudF9pdGVyYXRlX3BhZHMoKSBvbmUgaGFzIHRvIHVucmVmIGV2ZXJ5IHBhZAoJICBhZnRlciB1c2FnZS4KCjIwMDgtMDUtMzEgMTY6NTM6MjMgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogSW1wcm92ZSBtZXRhLWRhdGEgaGFuZGxpbmcsIGFkZCAnY29tbWVudCcsICdkZXNjcmlwdGlvbicgYW5kICdjb3B5cmlnaHQnIHRhZyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBJbXByb3ZlIG1ldGEtZGF0YSBoYW5kbGluZywgYWRkICdjb21tZW50JywgJ2Rlc2NyaXB0aW9uJyBhbmQKCSAgJ2NvcHlyaWdodCcgdGFnIGhhbmRsaW5nLgoJICBGaXhlcyAjNTM1OTM1CgoyMDA4LTA1LTMxIDE1OjMwOjQxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHdlIHdlIGRvbid0IGNsaXAgdGhlIHNlZ21lbnQncyBzdG9wIHVzaW5nIHRoZSBtYWluIHNlZ21lbnQgZHVyYXRpb24gYXMgdGhhdCBjb3VsZCBjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNS0zMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfc2Vla190b19wcmV2aW91c19rZXlmcmFtZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X2xvb3ApOiBNYWtlIHN1cmUgd2UKCSAgd2UgZG9uJ3QgY2xpcCB0aGUgc2VnbWVudCdzIHN0b3AgdXNpbmcgdGhlIG1haW4gc2VnbWVudCBkdXJhdGlvbgoJICBhcwoJICB0aGF0IGNvdWxkIGNyb3AgcXVpdGUgc29tZSB2aWRlbyBmcmFtZXMuIE1ha2UgcmV2ZXJzZSBwbGF5YmFjawoJICBzdXBwb3J0CgkgIG1vcmUgcm9idXN0IGFuZCBzdXBwb3J0IGVkaXQgbGlzdHMuIFN1cHBvcnQgc2Vla2luZyB0byB0aGUgbGFzdAoJICBmcmFtZSwKCSAgYW5kIGZpeCByZXZlcnNlIGxvb3BpbmcgcGxheWJhY2suIEFkZCBzb21lIGRlYnVnZ2luZy4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IFVwZGF0ZWQuCgoyMDA4LTA1LTMxIDA4OjM3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBjbGlwIGZsb2F0L2RvdWJsZSBzYW1wbGVzLCBjb3JyZWN0bHkgdW5zZXQgcGFzc3Rocm91Z2ggbW9kZSBhbmQgdXNlIGJldHRlciByb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IGNsaXAgZmxvYXQvZG91YmxlIHNhbXBsZXMsIGNvcnJlY3RseSB1bnNldCBwYXNzdGhyb3VnaCBtb2RlCgkgIGFuZCB1c2UgYmV0dGVyIHJvdW5kaW5nIGZvciBpbnRlZ2VyIHNhbXBsZXMuCgoyMDA4LTA1LTMwIDExOjAzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBVcGRhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgb25seSB3aGVuIG5lZWRlZCBpbiB0aGUgdHJhbnNmb3JtX2lwIGZ1bmN0aW9uIGFuZCBjb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKHNldF9wYXNzdGhyb3VnaCksICh1cGRhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBVcGRhdGUgdGhlIGZpbHRlciBjb2VmZmljaWVudHMgb25seSB3aGVuIG5lZWRlZCBpbiB0aGUgdHJhbnNmb3JtX2lwCgkgIGZ1bmN0aW9uIGFuZCBjb3JyZWN0bHkgc2V0IHRoZSBlbGVtZW50IGludG8gcGFzc3Rocm91Z2ggbW9kZSBpZiB0aGUKCSAgZ2FpbiBvZiBhbGwgYmFuZHMgaXMgMC4KCjIwMDgtMDUtMjkgMTE6MzA6MTYgKzAwMDAgIFNlYmFzdGlhbiBLZWxsZXIgPHNlYmFzdGlhbi1rZWxsZXJAZ214LmRlPgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IFRyeSB0byBza2lwIHBpeGVscyBvciBhcmVhcyB0aGF0IGFyZSB0b28gZGFyayBvciB0b28gYnJpZ2h0IGZvciB1cyB0byBkbyBtZWFuaW5nZnVsbCBjb2xvciBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIEtlbGxlciA8c2ViYXN0aWFuLWtlbGxlciBhdCBnbXggZG90IGRlPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2luaXQpLAoJICAoZ3N0X2FscGhhX3NldF9wcm9wZXJ0eSksIChnc3RfYWxwaGFfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hbHBoYV9jaHJvbWFfa2V5X2F5dXYpLCAoZ3N0X2FscGhhX2Nocm9tYWtleV9yb3dfaTQyMCk6CgkgIFRyeSB0byBza2lwIHBpeGVscyBvciBhcmVhcyB0aGF0IGFyZSB0b28gZGFyayBvciB0b28gYnJpZ2h0IGZvciB1cyB0byBkbwoJICBtZWFuaW5nZnVsbCBjb2xvciBkZXRlY3Rpb24uCgkgIEFkZGVkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgc2Vuc2l0aXZpdHkgdG8gbGlnaHQgYW5kIGRhcmtuZXNzLgoJICBBZGRlZCBzb21lIHNtYWxsIGNsZWFudXBzLiBGaXhlcyAjNTEyMzQ1LgoKMjAwOC0wNS0yOCAyMDowMTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCB0aGluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgSWdub3JlIHNvbWUgbW9yZSBnZW5lcmF0ZWQgdGhpbmdzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBPU1MgZWxlbWVudHMgaW4gdGhlIHN0YXRlIGNoYW5nZXMgdGVzdCB0b28uCgoyMDA4LTA1LTI4IDE2OjIyOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIFNNUFRFIGVmZmVjdCBlbGVtZW50cyB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBTTVBURSBlZmZlY3QgZWxlbWVudHMgdG8gZG9jcy4KCjIwMDgtMDUtMjggMTQ6MzE6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IHdoYXRzIGZpcnN0IHNob3duIG9uIHRoZSBmZG8gcGx1Z2luIGRvY3MgcGFnZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIERvY3VtZW50IHdoYXRzIGZpcnN0IHNob3duIG9uIHRoZSBmZG8gcGx1Z2luIGRvY3MgcGFnZSA6KQoKMjAwOC0wNS0yOCAxNDowNzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVuYW1lIGF1ZGlvdm9pY2UgdG8gYXVkaW9rYXJhb2tlIGFuZCBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5oOgoJICBSZW5hbWUgYXVkaW92b2ljZSB0byBhdWRpb2thcmFva2UgYW5kIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjggMTM6Mjg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IGFhc2luayBhbmQgY2FjYXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgRG9jdW1lbnQgYWFzaW5rIGFuZCBjYWNhc2luay4KCjIwMDgtMDUtMjggMDg6MzY6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogZHVyYXRpb24gYW5kIGxhdGVuY3kgcXVlcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfdmlkZW9taXhlcl9xdWVyeV9sYXRlbmN5KSwgKGdzdF92aWRlb21peGVyX3F1ZXJ5KSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW1wbGVtZW50IHBvc2l0aW9uIChpbiB0aW1lKSwgZHVyYXRpb24gYW5kIGxhdGVuY3kgcXVlcmllcy4KCjIwMDgtMDUtMjggMDg6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDUtMjcgMTc6NTU6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IEltcGxlbWVudCBwcm9wZXIgc2Vlay9uZXdzZWdtZW50IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksIChmb3J3YXJkX2V2ZW50X2Z1bmMpLAoJICAoZm9yd2FyZF9ldmVudCksIChnc3RfdmlkZW9taXhlcl9zcmNfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2lua19ldmVudCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbXBsZW1lbnQgcHJvcGVyIHNlZWsvbmV3c2VnbWVudCBoYW5kbGluZy4KCSAgQmFzZWQgb24gYWRkZXIncyBpbXBsZW1lbnRhdGlvbi4KCSAgRml4ZXMgIzUzNTEyMQoKMjAwOC0wNS0yNiAxNjoyNToxNSArMDAwMCAgal4gPGpAb2lsMjEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY2FwcyBmb3IgRFZDUFJPNTAgYW5kIERWQ1BSTyBIRCBQQUwvTlRTQy4gU2VlICM1MjY0ODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgb2lsMjEgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgY2FwcyBmb3IgRFZDUFJPNTAgYW5kIERWQ1BSTyBIRCBQQUwvTlRTQy4gU2VlICM1MjY0ODEuCgoyMDA4LTA1LTI2IDE1OjUxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgc2ltcGxlIHZvaWNlIHJlbW92YWwgZWxlbWVudC4gWWF5IGthcmFva2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmM6IChnc3RfYXVkaW9fdm9pY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb192b2ljZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb192b2ljZV9pbml0KSwKCSAgKHVwZGF0ZV9maWx0ZXIpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fdm9pY2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb192b2ljZV9zZXR1cCksCgkgIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2ludCksIChnc3RfYXVkaW9fdm9pY2VfdHJhbnNmb3JtX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuaDoKCSAgQWRkIHNpbXBsZSB2b2ljZSByZW1vdmFsIGVsZW1lbnQuIFlheSBrYXJhb2tlLgoKMjAwOC0wNS0yNiAxNTozOToyNiArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCBwb3RlbnRpYWwgY2FwcyBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgRml4IHBvdGVudGlhbCBjYXBzIGxlYWsuCgkgIElmIHdlIGNhbid0IGdldCB0aGUgZnJhbWVyYXRlIHdpdGggYW4gaW9jdGwsIHRyeSB0byBnZXQgaXQgd2l0aCB0aGUKCSAgY3VycmVudCBub3JtLiBGaXhlcyAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxNToxNDo1NSArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IElmIHdlIGZhaWwgdG8gZ2V0IHRoZSBmcmFtZSBpbnRlcnZhbHMsIHNpbXBseSBkb24ndCB0b3VjaCB0aGUgZnJhbWVyYXRlcyBvbiB0aGUgdGVtcGxhdGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGRvdCBjb20gZG90IGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIElmIHdlIGZhaWwgdG8gZ2V0IHRoZSBmcmFtZSBpbnRlcnZhbHMsIHNpbXBseSBkb24ndCB0b3VjaCB0aGUgZnJhbWVyYXRlcwoJICBvbiB0aGUgdGVtcGxhdGUgY2FwcyBpbnN0ZWFkIG9mIGRpc2NhcmRpbmcgdGhlIGZvcm1hdC4gU2VlICM1MjAwOTIuCgoyMDA4LTA1LTI2IDE0OjUyOjUxICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIE5WMTIsIE5WMjEgYW5kIGJheWVyIHN1cHBvcnQuIFNlZSAjNTIwMDkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2NhcHNfaW5mbyk6CgkgIEFkZCBOVjEyLCBOVjIxIGFuZCBiYXllciBzdXBwb3J0LiBTZWUgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTM6NTE6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVuYnJlYWsgc2VnbWVudCBhY3RpdmF0aW9uIGFnYWluLiBGaXhlcyAjNTMxNjcyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFVuYnJlYWsgc2VnbWVudCBhY3RpdmF0aW9uIGFnYWluLiBGaXhlcyAjNTMxNjcyLgoKMjAwOC0wNS0yNiAxMDoyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfMjQpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KSwKCSAgKGZvcndhcmRfZXZlbnRfZnVuYyksIChmb3J3YXJkX2V2ZW50KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBpbnRlcmxlYXZlIHVzaW5nIEdzdENvbGxlY3RwYWRzLiBUaGlzIG5ldyB2ZXJzaW9uCgkgIGFsc28gc3VwcG9ydHMgYWxtb3N0IGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgaGFzIGJldHRlciBjYXBzCgkgIG5lZ290aWF0aW9uLiBGaXhlcyBidWcgIzUwNjU5NC4KCSAgQWxzbyB1cGRhdGUgZG9jcyBhbmQgYWRkIHNvbWUgbW9yZSBleGFtcGxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMiksIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksCgkgIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBleHRlbnNpdmUgdW5pdCB0ZXN0cyBmb3IgaW50ZXJsZWF2ZS4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTI1IDE2OjA5OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy86IFNldCB0aGUgY2hhbm5lbCBsYXlvdXQgd2hlbiBkZWNvZGluZyBGTEFDIGZpbGVzIHdpdGggbW9yZSB0aGFuIDIgY2hhbm5lbHMgYXMgZGVmaW5lZCBieSB0aGUgRkxBQyBzcGVjLiBGaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3dyaXRlKToKCSAgU2V0IHRoZSBjaGFubmVsIGxheW91dCB3aGVuIGRlY29kaW5nIEZMQUMgZmlsZXMgd2l0aCBtb3JlIHRoYW4gMgoJICBjaGFubmVscyBhcyBkZWZpbmVkIGJ5IHRoZSBGTEFDIHNwZWMuIEZpeGVzIGJ1ZyAjNTM0NTcwLgoJICBBbHNvIGRvbid0IHRyeSB0byBkZWNvZGUgbGVmdC9zaWRlLCByaWdodC9zaWRlIGFuZCBtaWQvc2lkZSBmaWxlcwoJICBhcyB3ZSBkb24ndCBzdXBwb3J0IHRoaXMgYXQgYWxsLgoKMjAwOC0wNS0yNCAxMjo1NTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgbmVlZCAtYmFzZSBDVlMgKHJ0c3ApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIG5lZWQgLWJhc2UgQ1ZTIChydHNwKS4KCjIwMDgtMDUtMjIgMTk6NDc6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdAoJICBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBwYXJhcHJhcGggYWJvdXQgdXNpbmcgYSBxdWV1ZSBhbmQgYXVkaW9jb252ZXJ0IGFmdGVyIHRoZSBzb3VyY2UKCSAgcGFkcyB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjIgMTg6NTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkIGFuZCB0aGUgZGVmYXVsdCBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkCgkgIGFuZCB0aGUgZGVmYXVsdCBnZXRjYXBzKCkgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29ycmVjdCByZXN1bHRzIGZvcgoJICBvdXIgc3JjIHBhZHMuCgkgIENvbXBsZXRlIGRvY3VtZW50YXRpb24gYW5kIGFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTA1LTIyIDE0OjQ5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3VkcC9NYWtlZmlsZS5hbTogQWRkIC1EX0dOVV9TT1VSQ0UgdG8gQ0ZMQUdTIHNvIHdlIGdldCB0aGluZ3MgbGlrZSBFQUlfQUREUkZBTUlMWSB3aGVuIGluY2x1ZGluZyBuZXRkYi5oIHdoZW4gYnVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgIEFkZCAtRF9HTlVfU09VUkNFIHRvIENGTEFHUyBzbyB3ZSBnZXQgdGhpbmdzIGxpa2UgRUFJX0FERFJGQU1JTFkKCSAgd2hlbiBpbmNsdWRpbmcgbmV0ZGIuaCB3aGVuIGJ1aWxkaW5nIGFnYWluc3QgZ2xpYmMgPj0gMi44LgoKMjAwOC0wNS0yMiAxMToxOTowMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOiBGaXggZGVidWcgc3RhdGVtZW50IGFyZ3VtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDUtMjIgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzogKGdzdF9zbXB0ZV9hbHBoYV9zZXRjYXBzKTogRml4CgkgIGRlYnVnIHN0YXRlbWVudCBhcmd1bWVudHMuCgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfam9pbl9ncm91cCksCgkgIChnc3RfdWRwX2xlYXZlX2dyb3VwKTogRml4IElQIGFuZCBJUFY2IG9wdGlvbnMgdG8gbWFrZSBpdCB3b3JrCgkgIG9uIG1vcmUgcGxhdGZvcm1zLgoKMjAwOC0wNS0yMSAxNzo1MTowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCwgYmFkIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpLCAodGVhcmRvd25fc2lua19wYWQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKToKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCwgYmFkIG1ldGhvZC4KCjIwMDgtMDUtMjEgMTc6Mzk6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksIChnc3RfcnRzcHNyY19za2lwX2x3cyksCgkgIChnc3RfcnRzcHNyY191bnNraXBfbHdzKSwgKGdzdF9ydHNwc3JjX3NraXBfY29tbWFzKSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfaXRlbSksIChnc3RfcnRzcF9kZWNvZGVfcXVvdGVkX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKSwgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpLAoJICAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKToKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9wYWQoKSwgaXQncyBhIGJhZCBtZXRob2QuCgoyMDA4LTA1LTIxIDE3OjM1OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC86IEpvaW5pbmcgYSBtdWx0aWNhc3QgZ3JvdXAgYW5kIHNldHRpbmcgdGhlIGxvb3AvdHRsIHByb3BlcnRpZXMgYXJlIHRvdGFsbHkgdW5yZWxhdGVkIHRhc2tzIGFyZSBtdXN0IGJlIHNlcGFyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9zZXRfbG9vcF90dGwpLAoJICAoZ3N0X3VkcF9qb2luX2dyb3VwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBKb2luaW5nIGEgbXVsdGljYXN0IGdyb3VwIGFuZCBzZXR0aW5nIHRoZSBsb29wL3R0bCBwcm9wZXJ0aWVzIGFyZQoJICB0b3RhbGx5IHVucmVsYXRlZCB0YXNrcyBhcmUgbXVzdCBiZSBzZXBhcmF0ZWQuCgoyMDA4LTA1LTIxIDE0OjA5OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBbHNvIHN1cHBvcnQgYWxhdy9tdWxhdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQWxzbyBzdXBwb3J0IGFsYXcvbXVsYXcuCgoyMDA4LTA1LTIxIDEzOjQ3OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIGEgZml4bWUgZm9yIHRoZSBhdXRvLW11bHRpY2FzdCBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldHVwX3Fvc19kc2NwKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgYSBmaXhtZSBmb3IgdGhlIGF1dG8tbXVsdGljYXN0IHByb3BlcnR5LgoJICBGaXggc29tZSBjb25mdXNpbmcgZGVidWcgbWVzc2FnZXMuCgkgIERpc2FibGUgc2V0dGluZyBhIHFvcyB2YWx1ZSBieSBkZWZhdWx0LgoKMjAwOC0wNS0yMSAxMTozODoxNyArMDAwMCAgR3VzdGFmIFLDpG50aWzDpCA8Zy5yYW50aWxhQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IElnbm9yZSBFUEVSTSBlcnJvcnMgZnJvbSBzZW5kdG8uIEZpeGVzICM1MzM2MTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR3VzdGFmIFLDpG50aWzDpCA8ZyBkb3QgcmFudGlsYSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgIElnbm9yZSBFUEVSTSBlcnJvcnMgZnJvbSBzZW5kdG8uIEZpeGVzICM1MzM2MTkuCgoyMDA4LTA1LTIxIDEwOjUxOjUyICswMDAwICBIZW5yaWsgRXJpa3Nzb24gPGhlbnJpa2VuQGF4aXMuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuKjogQWRkIHFvcy1kc2NwIHByb3BlcnR5IHRvIG1hbmFnZSB0aGUgUXVhbGl0eSBvZiBzZXJ2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhlbnJpayBFcmlrc3NvbiA8aGVucmlrZW4gYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBxb3MtZHNjcCBwcm9wZXJ0eSB0byBtYW5hZ2UgdGhlIFF1YWxpdHkgb2Ygc2VydmljZS4KCjIwMDgtMDUtMjEgMTA6MDk6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IEltcHJvdmUgZGVidWdnaW5nIG9mIHRoZSBpZGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2Vzcyk6CgkgIEltcHJvdmUgZGVidWdnaW5nIG9mIHRoZSBpZGVudC4KCjIwMDgtMDUtMjEgMDk6NTY6MDIgKzAwMDAgIEJydW5vIFNhbnRvcyA8YnJ1bm9mQHVhLnB0PgoKCSAgZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy4qOiBQcm92aWRlIGEgYnVuY2ggb2YgaGVscGVyIG1ldGhvZHMgdG8gZGVhbCB3aXRoIElQdjQgYW5kIElQdjYgdHJhbnNwYXJlbnRseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcnVubyBTYW50b3MgPGJydW5vZiBhdCB1YSBkb3QgcHQ+CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9nZXRfYWRkciksCgkgIChnc3RfdWRwX2pvaW5fZ3JvdXApLCAoZ3N0X3VkcF9sZWF2ZV9ncm91cCksCgkgIChnc3RfdWRwX2lzX211bHRpY2FzdCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBQcm92aWRlIGEgYnVuY2ggb2YgaGVscGVyIG1ldGhvZHMgdG8gZGVhbCB3aXRoIElQdjQgYW5kIElQdjYKCSAgdHJhbnNwYXJlbnRseS4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChqb2luX211bHRpY2FzdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIG11bHRpY2FzdCBUVEwgYW5kIGxvb3BiYWNrIHByb3BlcnRpZXMuCgkgIFVzZSB0aGUgaGVscGVyIG1ldGhvZHMgdG8gaW1wbGVtZW50IGlwNCBhbmQgaXA2LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBVc2UgdGhlIGhlbHBlciBtZXRob2RzIHRvIGltcGxlbWVudCBpcDQgYW5kIGlwNi4KCSAgRml4ZXMgIzUxNTk2Mi4KCjIwMDgtMDUtMjEgMDk6Mzg6NDggKzAwMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aUBheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguKjogRG9uJ3QgYmxpbmRseSBjb3B5IHRoZSBtaW1lLXR5cGUgYXMgdGhlIGNhcHMgbmFtZSBiZWNhdXNlIHRoZXkgbm90IGFsd2F5cyBtYXAgZGlyZWN0bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrIGRvdCByYWRpemkgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2dldF9nc3RuYW1lKSwKCSAgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIERvbid0IGJsaW5kbHkgY29weSB0aGUgbWltZS10eXBlIGFzIHRoZSBjYXBzIG5hbWUgYmVjYXVzZSB0aGV5IG5vdAoJICBhbHdheXMgbWFwIGRpcmVjdGx5LiBJbnN0ZWFkIHVzZSBhIGhhc2h0YWJsZSB3aXRoIGNvbW1vbiBtYXBwaW5ncy4KCSAgRml4ZXMgIzUzMzI4Ny4KCjIwMDgtMDUtMjAgMTc6Mjc6MzUgKzAwMDAgIE1pY2hhZWwgTWVla3MgPG1tZWVrc0B4aW1pYW4ub3JnPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFdoZW4gd2UgcG9zdCBhbiBlcnJvciwgd2UgbXVzdCByZXR1cm4gLTEgdG8gbGV0IHRoZSBwYXJlbnQga25vdyB0aGF0IHdlIGNhbm5vdCB3cml0ZSB0aGUgc2VnbWVudCBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfd3JpdGUpOgoJICBXaGVuIHdlIHBvc3QgYW4gZXJyb3IsIHdlIG11c3QgcmV0dXJuIC0xIHRvIGxldCB0aGUgcGFyZW50IGtub3cgdGhhdCB3ZQoJICBjYW5ub3Qgd3JpdGUgdGhlIHNlZ21lbnQgZWxzZSBpdCB3aWxsIGxvb3AgYW5kIGNvbnRpbnVlIHRvIGNhbGwgdXMgYWdhaW4KCSAgZm9yZXZlci4gUGF0Y2ggYnkgTWljaGFlbCBNZWVrcy4KCjIwMDgtMDUtMjAgMTQ6MjQ6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogQWRkIG1pc3NpbmcgaW5jdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBBZGQgbWlzc2luZyBpbmN1ZGVzLgoKMjAwOC0wNS0yMCAxMzo1Nzo0NCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogQ29ycmVjdCBhIHR5cG8gKHNpbmxlIC0+IHNpbmdsZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X2gyNjRfc2Nhbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIENvcnJlY3QgYSB0eXBvIChzaW5sZSAtPiBzaW5nbGUpLgoKMjAwOC0wNS0yMCAxMTozMzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lio6IEFkZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBxdWlja3RpbWUtbGlrZSBBVkMgb3V0cHV0IGluIGFkZGl0aW9uIHRvIHRoZSBleGlzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBBZGQgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgcXVpY2t0aW1lLWxpa2UgQVZDIG91dHB1dCBpbgoJICBhZGRpdGlvbiB0byB0aGUgZXhpc3RpbmcgYnl0ZXN0cmVhbSBvdXRwdXQuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfaDI2NF9zY2FuX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfaDI2NF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X3BheV9wYXlsb2FkX25hbCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBNYWtlIHRoZSBwYXJzaW5nIG1vZGUgY29uZmlndXJhYmxlLCBmb3Igc29tZSBpbnB1dHMgd2UgZG9uJ3QgbmVlZCB0bwoJICBzY2FuIGV2ZXJ5IGJ5dGUgZm9yIHN0YXJ0IGNvZGVzLgoJICBPbmx5IHNldCB0aGUgbWFya2VyIGJpdCBvbiBBQ0NFU1MgdW5pdHMuCgoyMDA4LTA1LTIwIDEwOjQ3OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVc2UgYSBiaWdnZXIgdHlwZSBpbiBpbnRlZ2VyIG1vZGUgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyB0byBwcmV2ZW50IG92ZXJmbG93cy4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgVXNlIGEgYmlnZ2VyIHR5cGUgaW4gaW50ZWdlciBtb2RlIGZvciB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdHMgdG8KCSAgcHJldmVudCBvdmVyZmxvd3MuIFRoaXMgZml4ZXMgdGhlIGNyaXBwbGVkIHNvdW5kIHdoZW4gdXNpbmcgdGhlCgkgIGVxdWFsaXplciBpbiBpbnRlZ2VyIG1vZGUuIEZpeGVzIGJ1ZyAjNTEwODY1LgoKMjAwOC0wNS0yMCAxMDo0MjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLio6IEluc3RlYWQgb2YgYSByYW5kb20gbnVtYmVyIGZvciB0aGUgcmVxdWVzdCBwYWQgaWQncywgdXNlIGEgY291bnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgSW5zdGVhZCBvZiBhIHJhbmRvbSBudW1iZXIgZm9yIHRoZSByZXF1ZXN0IHBhZCBpZCdzLAoJICB1c2UgYSBjb3VudGVyLgoJICBSZWdpc3RlciB0aGUgdmlkZW9taXhlcnBhZCBjbGFzcyBmcm9tIHRoZSBlbGVtZW50J3MgY2xhc3NfaW5pdAoJICB3aGVyZSBpdCdzIHNhZmVyLCBhbmQgYWxsb3dzIHRoZSBkb2NzIGdlbmVyYXRvciB0byBzY2FuIGl0LgoKMjAwOC0wNS0yMCAwOToyOToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IEFkZCBuZXcgcGx1Z2luIHRoYXQgYWRkcyB0aGUgU01QVEUgdHJhbnNpdGlvbiBpbiB0aGUgYWxwaGEgY2hhbm5lbCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkgIChnc3Rfc21wdGVfYWxwaGFfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfdHlwZSksIChnc3Rfc21wdGVfYWxwaGFfYmFzZV9pbml0KSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9zbXB0ZV9hbHBoYV91cGRhdGVfbWFzayksCgkgIChnc3Rfc21wdGVfYWxwaGFfc2V0Y2FwcyksIChnc3Rfc21wdGVfYWxwaGFfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfaW5pdCksIChnc3Rfc21wdGVfYWxwaGFfZmluYWxpemUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2RvX2F5dXYpLCAoZ3N0X3NtcHRlX2FscGhhX2RvX2k0MjApLAoJICAoZ3N0X3NtcHRlX2FscGhhX3RyYW5zZm9ybSksIChnc3Rfc21wdGVfYWxwaGFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NtcHRlX2FscGhhX3BsdWdpbl9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJICAqIGdzdC9zbXB0ZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBwbHVnaW4gdGhhdCBhZGRzIHRoZSBTTVBURSB0cmFuc2l0aW9uIGluIHRoZSBhbHBoYSBjaGFubmVsIG9mCgkgIEk0MjAgYW5kIEFZVVYgZnJhbWVzIHNvIHRoYXQgdGhleSBjYW4gYmUgYmxlbmRlZCB3aXRoIHZpZGVvbWl4ZXIgbGF0ZXIKCSAgb24uIFVzZXMgYWxsIG5pY2V0aWVzIHN1Y2ggYXMgdXNpbmcgYmFzZSB0cmFuc2Zvcm0gZm9yIGVmZmljaWVudCBhbGxvYwoJICBhbmQgbmVnb3RpYXRpb24uIEl0IGN1cnJlbnRseSByZXF1aXJlcyBHc3RDb250cm9sbGVyIHRvIGNvbnRyb2wgdGhlCgkgIHBvc2l0aW9uIGluIHRoZSB0cmFuc2l0aW9uIGVmZmVjdC4KCjIwMDgtMDUtMTkgMjE6MDU6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRyeSB1c2luZyB0aGF5dGFucyBuZXcgbWVjaGFuaXNtIHRvIGdldCBleHRyYSBjbGFzc2VzIGludG8gcGx1Z2luIGRvY3MuIEFwYXJlbnRseSB3b3JrcyBmb3IgdGhlIEVxLiBGb3IgVmlkZW9NaXhlciB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBUcnkgdXNpbmcgdGhheXRhbnMgbmV3IG1lY2hhbmlzbSB0byBnZXQgZXh0cmEgY2xhc3NlcyBpbnRvIHBsdWdpbgoJICBkb2NzLiBBcGFyZW50bHkgd29ya3MgZm9yIHRoZSBFcS4gRm9yIFZpZGVvTWl4ZXIgdGhlIEdPYmplY3Qgc3R1ZmYgaXMKCSAgbWlzc2luZyBzdGlsbC4KCjIwMDgtMDUtMTkgMTI6MzI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUKCSAgdGhhdCB0aGUgb3JpZ2luYWwgY2hhbm5lbCBwb3NpdGlvbiBpcyBzZXQgb24gdGhlIG91dHB1dC4KCjIwMDgtMDUtMTkgMDc6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbiB0aGUgbW9ubyBvdXRwdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24KCSAgdGhlIG1vbm8gb3V0cHV0IGJ1ZmZlcnMgb3Igc2hvdWxkIGJlIGRyb3BwZWQuCgoyMDA4LTA1LTE4IDE5OjI3OjU5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNldCBwcm9wZXIgcmF0ZSBpbiBhdmkgc3RyZWFtIGhlYWRlciBmb3IgUENNIGF1ZGlvLCBhbmQgYWxzbyBkbyBzb21lIG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBjYXBzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2Fwcyk6CgkgIFNldCBwcm9wZXIgcmF0ZSBpbiBhdmkgc3RyZWFtIGhlYWRlciBmb3IgUENNIGF1ZGlvLCBhbmQgYWxzbyBkbyBzb21lCgkgIG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBjYXBzIGluIHRoaXMgY2FzZS4gIEZpeGVzICM1MTE0ODkuCgoyMDA4LTA1LTE3IDE5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZSBkb3duc3RyZWFtIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZQoJICBkb3duc3RyZWFtIHdpbGwgbmV2ZXIgZ2V0IHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wNS0xNyAxNDowNTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpIHJldHVybnMgc29tZXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKToKCSAgQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkKCSAgcmV0dXJucyBzb21ldGhpbmcsIGV2ZW4gaWYgdGhleSdyZSBub3Qgc2V0IGluIHRoZSBjYXBzLiBUaGlzIG1ha2VzCgkgIHN1cmUgdGhhdCB0aGUgb3V0cHV0IGNoYW5uZWxzIGNhbiBiZSBpbnRlcmxlYXZlZCBhZ2FpbiBjb3JyZWN0bHkKCSAgaW4gdGhlIG1vbm8vc3RlcmVvIGNhc2VzIHRvby4KCSAgRG9uJ3QgYXNrIGZvciB0aGUgcGVlcmNhcHMgb2YgdGhlIGN1cnJlbnQgcGFkIGluIGdldGNhcHMoKSBhcyB0aGlzCgkgIG1pZ2h0IGNhbGwgZ2V0Y2FwcygpIGFnYWluIGFuZCBkZWFkbG9jay4KCjIwMDgtMDUtMTcgMTA6Mzg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogRG9uJ3QgaW5jbHVkZSB0aGUgZ3N0djRsMnhvdmVybGF5LmggaGVhZGVyIGFzIHRoZSBYT3ZlcmxheSBzdXBwb3J0IGlzbid0IGltcGxlbWVudGVkIGF0IGFsbCB5ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIERvbid0IGluY2x1ZGUgdGhlIGdzdHY0bDJ4b3ZlcmxheS5oIGhlYWRlciBhcyB0aGUgWE92ZXJsYXkgc3VwcG9ydAoJICBpc24ndCBpbXBsZW1lbnRlZCBhdCBhbGwgeWV0IGFuZCB0aGlzIHJlcXVpcmVzIFggaGVhZGVycyB0byBiZQoJICBpbnN0YWxsZWQuIEZpeGVzIGJ1ZyAjNTMzMjY0LgoKMjAwOC0wNS0xNiAyMTo1NjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbiBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbgoJICBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIERvbid0IGFsbG93IGNoYW5nZXMgb2YgdGhlIGNoYW5uZWwgcG9zaXRpb25zIGFuZCBzZXQgdGhlIHBvc2l0aW9uIG9mCgkgIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgb24gdGhlIHNyYyBwYWQgY2Fwcy4KCSAgR2VuZXJhbCBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKToKCSAgQ2hlY2sgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBvdXRwdXQgYnVmZmVyIGNhcHMuCgoyMDA4LTA1LTE2IDE3OjUwOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMDUtMTQgMTg6Mjg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBTbWFsbCBjb21tZW50IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBTbWFsbCBjb21tZW50IGFkZGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZGVjb2RlX25hbCksIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9wYXlsb2FkX25hbCksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBEZWJ1ZyBzdHJpbmcgY2xlYW51cHMgKHJlbW92ZSB0cmFpbGluZyBcbikKCSAgUmVmYWN0b3IgYW5kIGNsZWFuIHVwIHRoZSBwYXlsb2FkZXIgYSBiaXQgYW5kIG1ha2Ugc3VyZSB0aGF0IHdlIG9ubHkKCSAgcHV0IG9uZSBOQUwgdW5pdCBpbiBhbiBSVFAgcGFja2V0IGV2ZW4gaWYgdGhlIGlucHV0IGJ1ZmZlciBjb250YWlucwoJICBtdWx0aXBsZSBOQUwgdW5pdHMuCgkgIEFkZCBzdXBvcnQgZm9yIEFWQyBmb3JtYXQgaW5wdXQuCgoyMDA4LTA1LTE0IDE3OjU4OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgcHJvZmlsZS1sZXZlbC1pZCBhbmQgc3Byb3AtcGFyYW1ldGVyLXNldHMgdXNpbmcgcHJvcGVydGllcyBpbiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeSBwcm9maWxlLWxldmVsLWlkIGFuZCBzcHJvcC1wYXJhbWV0ZXItc2V0cwoJICB1c2luZyBwcm9wZXJ0aWVzIGluIGNhc2UgdGhleSBhcmUgbm90IGF2YWlsYWJsZSBpbi1zdHJlYW0uCgoyMDA4LTA1LTE0IDE0OjE5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcwoJICB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIHZhbGdyaW5kL2xpYmMgYWZ0ZXIgX2V4aXQgZm9yIHNvbWUKCSAgcmVhc29uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAocGFkc19jcmVhdGVkKSwKCSAgKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksIChzcmNfaGFuZG9mZl9mbG9hdDMyXzhjaCksCgkgIChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpLAoJICAobWFrZV9mYWtlX3NyY184Y2hhbnNfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgYml0cyBJIGhhZCBsb2NhbGx5LgoKMjAwOC0wNS0xNCAxMjo1MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGxhZHNwYSBmcm8gcGx1Z2luLWRvY3MsIGl0cyBpbiBnc3QtcGx1Z2lucy1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgUmVtb3ZlIGxhZHNwYSBmcm8gcGx1Z2luLWRvY3MsIGl0cyBpbiBnc3QtcGx1Z2lucy1iYWQuCgoyMDA4LTA1LTE0IDA3OjMyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgIFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoJICBnZW5lcmF0aW9uLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgIERvbid0IHVzZSBhbGxvY2EsIGFsbG93IGNhcHMgY2hhbmdlcyBhcyBsb25nIGFzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgZG9lcyBub3QgY2hhbmdlLCBkb24ndCB1c2UgZ193YXJuaW5nLCByZXR1cm4gTk9UX05FR09USUFURUQgYXMgZWFybHkKCSAgYXMgcG9zc2libGUgYW5kIHNvbWUgb3RoZXIgY2xlYW51cC4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIERvIHNvbWUgcmFuZG9tIGNsZWFudXAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfY2hhaW5fZnVuYyksIChkZWludGVybGVhdmVfcGFkX2FkZGVkKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQuCgoyMDA4LTA1LTEzIDIwOjI1OjIwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFNlbmQgYW4gaW5pdGlhbCBCWVRFIHNlZ21lbnQgdG8gaW5mb3JtIGRvd25zdHJlYW0gb2YgbGF0ZXIgc2Vla2luZywgYW5kIHRvIGZvcmVnbyBzeW5jIGF0dGVtcHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSk6CgkgIFNlbmQgYW4gaW5pdGlhbCBCWVRFIHNlZ21lbnQgdG8gaW5mb3JtIGRvd25zdHJlYW0gb2YgbGF0ZXIgc2Vla2luZywKCSAgYW5kIHRvIGZvcmVnbyBzeW5jIGF0dGVtcHRzLgoKMjAwOC0wNS0xMyAwODo1OTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IEZpeCB3cm9uZyBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKToKCSAgRml4IHdyb25nIGNhcHMgc3RyaW5nLgoKMjAwOC0wNS0xMyAwODozNTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBHNzI5IHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjlfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwZzcyOXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cGc3MjlwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwZzcyOXBheV9pbml0KSwKCSAgKGdzdF9ydHBnNzI5cGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9nNzI5X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5Lmg6CgkgIEFkZGVkIEc3MjkgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MDkuCgoyMDA4LTA1LTEzIDA4OjIxOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IEZpeCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25jZWFsbWVudCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zaW5rX2V2ZW50KToKCSAgRml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZHVyYXRpb24gb2YgdGhlIGNvbmNlYWxtZW50IHBhY2tldHMuCgoyMDA4LTA1LTEyIDE4OjI3OjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEFkZCBEViBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQyMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6IChnc3RfcnRwX2R2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2R2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9kdl9kZXBheV9pbml0KSwKCSAgKHBhcnNlX2VuY29kZSksIChnc3RfcnRwX2R2X2RlcGF5X3NldGNhcHMpLAoJICAoY2FsY3VsYXRlX2RpZmJsb2NrX2xvY2F0aW9uKSwgKGdzdF9ydHBfZHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2R2X2RlcGF5X3Jlc2V0KSwgKGdzdF9ydHBfZHZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzogKGdzdF9kdl9wYXlfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2R2X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9kdl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2R2X3BheV9pbml0KSwgKGdzdF9kdl9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdl9wYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfZHZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X2R2X3BheV9uZWdvdGlhdGUpLCAoaW5jbHVkZV9kaWYpLAoJICAoZ3N0X3J0cF9kdl9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2R2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJICBBZGQgRFYgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MjMuCgoyMDA4LTA1LTEyIDE2OjM1OjM5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBDb252ZXJ0IHN1YnRpdGxlIHBhbGV0dGUgaW5mbyBpbiBWb2JTdWIgcHJpdmF0ZSBkYXRhIGZyb20gVm9iU3ViJ3MgKGJ1Z2d5KSBSR0IgdG8gWVVWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2R2ZF9jbHV0X2NoYW5nZV9ldmVudCk6CgkgIENvbnZlcnQgc3VidGl0bGUgcGFsZXR0ZSBpbmZvIGluIFZvYlN1YiBwcml2YXRlIGRhdGEgZnJvbSBWb2JTdWIncwoJICAoYnVnZ3kpIFJHQiB0byBZVVYuCgoyMDA4LTA1LTEyIDE1OjI2OjAxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IERvIG5vdCBsZWF2ZSBmb3VyY2Mgc3RyZWFtIGhlYWRlciBmaWVsZCBlbXB0eSB1cG9uIHJlc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KToKCSAgRG8gbm90IGxlYXZlIGZvdXJjYyBzdHJlYW0gaGVhZGVyIGZpZWxkIGVtcHR5IHVwb24gcmVzZXQuCgkgIEZpeGVzICM1MTkzMDEuCgoyMDA4LTA1LTExIDE0OjQzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBnb29tMmsxIGludG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgQWRkIGdvb20yazEgaW50byB0aGUgZG9jcy4KCjIwMDgtMDUtMDggMTY6NTg6MDIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFN1cHBvcnQgRGlnZXN0IGF1dGhlbnRpY2F0aW9uLiBGaXhlcyAjNTMyMDY1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyAgPHdvdXRlciBhdCBtaW5kIGJlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9sd3MpLCAoZ3N0X3J0c3BzcmNfdW5za2lwX2x3cyksCgkgIChnc3RfcnRzcHNyY19za2lwX2NvbW1hcyksIChnc3RfcnRzcHNyY19za2lwX2l0ZW0pLAoJICAoZ3N0X3J0c3BfZGVjb2RlX3F1b3RlZF9zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSksIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKToKCSAgU3VwcG9ydCBEaWdlc3QgYXV0aGVudGljYXRpb24uIEZpeGVzICM1MzIwNjUuCgoyMDA4LTA1LTA4IDEwOjIwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogQWxzbyBzdXBwb3J0IDMyYml0IChlLmcuIHdoZSBoYXZpbmcgaXQgYWZ0ZXIgJ21hZCcpLiBBZGQgbW9yZSBub3RlcyBhYm91dCB3aGF0cyBuZWVkZWQgZm9yIGxpYm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIEFsc28gc3VwcG9ydCAzMmJpdCAoZS5nLiB3aGUgaGF2aW5nIGl0IGFmdGVyICdtYWQnKS4gQWRkIG1vcmUgbm90ZXMKCSAgYWJvdXQgd2hhdHMgbmVlZGVkIGZvciBsaWJvaWwgYWNjZWxlcmF0aW9uLiBTaW1wbGlmeSBkb2NzIGEgYml0LgoKMjAwOC0wNS0wOCAwODoxNTozNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVcGRhdGUgdGhlIHRyYWNrIGR1cmF0aW9uIGlmIHRoZSBvbGQgb25lIHdhcyBpbnZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBVcGRhdGUgdGhlIHRyYWNrIGR1cmF0aW9uIGlmIHRoZSBvbGQgb25lIHdhcyBpbnZhbGlkLgoJICBGaXhlcyBidWcgIzUzMjExNy4KCjIwMDgtMDUtMDcgMTY6MzY6MDQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYyAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKTogVXNlIEdTVF9TVFJfTlVMTCB3aGVuIHRyeWluZyB0byBwcmludCBzcHMgYW5kIHBwcyBzdHJpbmdzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmMgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3Bwcyk6CgkgIFVzZSBHU1RfU1RSX05VTEwgd2hlbiB0cnlpbmcgdG8gcHJpbnQgc3BzIGFuZCBwcHMgc3RyaW5ncyB0aGF0IGNvdWxkCgkgIGJlIE5VTEwsIGFzIHRoaXMgbWlnaHQgY3Jhc2ggb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA4LTA1LTA3IDE1OjMzOjUyICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOiBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOgoJICBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSUQgaGFzIGFscmVhZHkgYmVlbgoJICBzZXQgYWZ0ZXIgY3JlYXRpbmcgdGhlIGNsaXBwZXIuCgoyMDA4LTA1LTA3IDE1OjI4OjA2ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6IEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bAoJICBJRGlyZWN0RHJhd1N1cmZhY2U3X0xvY2soKSBjYWxsLgoJICBJZiBzdXJmYWNlIGlzIGxvc3QsIHJldHVybiBHU1RfRkxPV19PSy4KCjIwMDgtMDUtMDcgMTU6MTk6NDcgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBXbmRQcm9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBJbXByb3ZlZCBXaW5kb3dzIG1lc3NhZ2UgbG9vcCBhbmQgZml4ZWQgd2luZG93IGRlc3RydWN0aW9uIGlzc3VlLgoJICBXaGVuIHRoZSB3aW5kb3cgd2hpY2ggRGlyZWN0RHJhdyBpcyByZW5kZXJpbmcgdG8gaXMgZGVzdHJveWVkLCB0aGUKCSAgcmVuZGVyL3Nob3dfZnJhbWUgZnVuY3Rpb24gd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNTowOToxMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKTogRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKToKCSAgRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBpcyBub3cKCSAgcmVsZWFzZWQgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNDo1NjoyMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgc28gdGhhdCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyB1c2VzIHRoZSByaWdodAoJICB3aWR0aC9oZWlnaHQuCgkgIEVzcGVjaWFsbHkgd2hlbiBsb29raW5nIHRocm91Z2ggdGhlIHBvb2wgb2YgYnVmZmVycywgbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHdpZHRoL2hlaWdodCBvZiBjYXBzIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgYWxyZWFkeSBuZWdvdGlhdGVkCgkgIGRpbWVuc2lvbnMuCgkgIEZvciBleGFtcGxlIGlmIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhcHMgaXMgcmVxdWVzdGVkLCBpLmUuCgkgIGhpZ2hlciByZXNvbHV0aW9uLCB0aGUgY2FsbGVyIHdvdWxkIGdldCBhIGJ1ZmZlciB3aXRoIHRoZSBvbGQKCSAgZGltZW5zaW9ucyBhbmQgdGh1cyBjb3JydXB0IHRoZSBoZWFwLgoKMjAwOC0wNS0wNyAxNDo0MzozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgkgIFRoZSByaWdodCBmaXggdGhpcyB0aW1lLgoKMjAwOC0wNS0wNyAxNDozOTo0NSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBSZXZlcnRpbmcgcHJldmlvdXMgY29tbWl0LCBpdCBoYWQgaXQgYWxsIG1peGVkIHVwLCB3YXMgZm9yIGEgZGlmZmVyZW50CgkgIHBhdGNoIChtYWpvciBhdXRvbWF0aW9uIHNjcmV3LXVwKS4gU29ycnkhCgoyMDA4LTA1LTA3IDEzOjQ4OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxMToyMjo1MSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZCBzdHlsZSBjb25zaXN0ZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQKCSAgc3R5bGUgY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRlcGF5bG9hZGVyLgoKMjAwOC0wNS0wNyAwOTo1MjozNCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZCBzdHlsZSBjb25zaXN0ZW50IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgQWRkZWQgbWlzc2luZyBzdGRsaWIuaCBpbmNsdWRlIGZvciBzdHJ0b2woKSwgYW5kIG1hZGUgaW5jbHVkZSBvcmRlcmluZyBhbmQKCSAgc3R5bGUgY29uc2lzdGVudCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRlcGF5bG9hZGVyLgoKMjAwOC0wNS0wNyAwODowMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIGNvcmUvYmFzZSB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgY29yZS9iYXNlIHZlcnNpb25zLgoKMjAwOC0wNS0wNiAwOTozMzo0NiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gUFBDNjQuIEZpeGVzIGJ1ZyAjNDk5MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gUFBDNjQuIEZpeGVzIGJ1ZyAjNDk5MzE4LgoKMjAwOC0wNS0wNSAxMToxOToxMyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIGZpbGUgZGVzY3JpcHRvcnMgb24gZXJyb3IuIEZpeGVzICM1MzE1MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICBEb24ndCBsZWFrIGZpbGUgZGVzY3JpcHRvcnMgb24gZXJyb3IuIEZpeGVzICM1MzE1MzIuCgoyMDA4LTA1LTAzIDA5OjE4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2NvbmYvOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhIGZha2VzaW5rL2Zha2VzcmMgY29tcGxhaW4gaW5zdGVhZCBvZiB1bnJlZmZpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhIGZha2VzaW5rL2Zha2VzcmMgY29tcGxhaW4gaW5zdGVhZCBvZiB1bnJlZmZpbmcKCSAgTlVMTCBwb2ludGVycyBhbmQgY3Jhc2hpbmcgbGF0ZXIuIFNlZSBidWcgIzUzMDUzNS4KCjIwMDgtMDUtMDIgMTI6NDQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBndWFyZCBhZ2FpbnN0IHNtYWxsIHBheWxvYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWcgaW5mbyBhbmQgZ3VhcmQgYWdhaW5zdCBzbWFsbCBwYXlsb2Fkcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3Byb2Nlc3MpOgoJICBTZXQgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVycyBiZWNhdXNlIHdlIGNhbi4KCjIwMDgtMDUtMDIgMTI6Mzk6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZXggY2hhbm5lbHMgYW5kIHJhdGUuIEZpeGVzICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfc3BlZXhfZW5jX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19jaGFpbik6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWV4IGNoYW5uZWxzIGFuZCByYXRlLiBGaXhlcyAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMjozNDoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZWMgY2hhbm5lbHMgYW5kIHJhdGUuIFNlZSAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfZ2V0Y2Fwcyk6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIHNwZWVjIGNoYW5uZWxzIGFuZCByYXRlLiBTZWUgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTI6MjQ6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgSUxCQyBtb2RlLiBTZWUgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cGlsYmNwYXlfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBpbGJjcGF5X3NpbmtfZ2V0Y2Fwcyk6CgkgIEFkZCBuZWdvdGlhdGlvbiBmb3IgdGhlIElMQkMgbW9kZS4gU2VlICM0NjUxNDYuCgoyMDA4LTA1LTAyIDExOjMyOjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBJbmNsdWRlIHN0ZGxpYiB0byBmaXggdGhlIGJ1aWxkLiBVc2UgZ19mcmVlIGluc3RlYWQgb2YgZnJlZSwgbGlic291cCB1c2VzIGdsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgc3RkbGliIHRvIGZpeCB0aGUgYnVpbGQuIFVzZSBnX2ZyZWUgaW5zdGVhZCBvZiBmcmVlLCBsaWJzb3VwCgkgIHVzZXMgZ2xpYi4KCjIwMDgtMDUtMDIgMDk6MDk6NTggKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbW9yZSBtcGVnMiB2YXJpYW50cy4gRml4ZXMgIzUzMDg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8akBib290bGFiLm9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgbW9yZSBtcGVnMiB2YXJpYW50cy4gRml4ZXMgIzUzMDg4Ni4KCjIwMDgtMDUtMDEgMTA6NTI6MTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhIGNvIHVrPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZQoJICBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cyBvbiB3aW4zMiAoIzUyOTQ1NCkuCgoyMDA4LTA0LTMwIDEyOjE4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBlcnJvciBjb2RlIGZvciBlbmNyeXB0ZWQgc3RyZWFtcyAod2hpY2ggcmVxdWlyZXMgY29yZSBDVlMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIG5ldyBlcnJvciBjb2RlIGZvciBlbmNyeXB0ZWQgc3RyZWFtcyAod2hpY2ggcmVxdWlyZXMgY29yZSBDVlMpLgoKMjAwOC0wNC0zMCAxMjoxMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHN3YXBwZWQgcGFkIHRlbXBsYXRlIG5hbWVzLCBzcG90dGVkIGJ5IFRoaWFnbyBTb3VzYSBTYW50b3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ZpZGVvc3JjX3RlbXBsYXRlKSwKCSAgKGdzdF9xdGRlbXV4X2F1ZGlvc3JjX3RlbXBsYXRlKToKCSAgRml4IHN3YXBwZWQgcGFkIHRlbXBsYXRlIG5hbWVzLCBzcG90dGVkIGJ5IFRoaWFnbyBTb3VzYSBTYW50b3MuCgoyMDA4LTA0LTMwIDA5OjQ4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFByb2R1Y2UgY29uY2VhbG1lbnQgZGF0YSB3aGVuIHRpbWUgcHJvZ3Jlc3NlcyBpbiBhIHNlZ21lbnQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgUHJvZHVjZSBjb25jZWFsbWVudCBkYXRhIHdoZW4gdGltZSBwcm9ncmVzc2VzIGluIGEgc2VnbWVudCB1cGRhdGUuCgoyMDA4LTA0LTI5IDE0OjExOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFRyeSB0byBwcmVzZXJ2ZSBpbnB1dCB0aW1lc3RhbXBzIHdoZW4gd2UgY2FuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwKCSAgKHNwZWV4X2RlY19jaGFpbik6CgkgIFRyeSB0byBwcmVzZXJ2ZSBpbnB1dCB0aW1lc3RhbXBzIHdoZW4gd2UgY2FuLgoJICBEbyBiZWdpbm5pbmdzIG9mIGVycm9yIGNvbmNlYWxtZW50LgoKMjAwOC0wNC0yOCAyMjozODoxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IE1TVkMgZG9lc24ndCBwcm92aWRlIHJpbnQoKSwgZGVmaW5lIGFuIGFkZXF1YXRlIHJlcGxhY2VtZW50IGxvY2FsbHkgYXMgZWxzZXdoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgTVNWQyBkb2Vzbid0IHByb3ZpZGUgcmludCgpLCBkZWZpbmUgYW4gYWRlcXVhdGUgcmVwbGFjZW1lbnQgbG9jYWxseSBhcwoJICBlbHNld2hlcmUuCgoyMDA4LTA0LTI4IDExOjE2OjMyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBwcmludGYgZm9ybWF0IHRvIHBhY2lmeSBNYWMgT1NYJ3MgZ2NjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0yOCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKTogRml4IHByaW50ZgoJICBmb3JtYXQgdG8gcGFjaWZ5IE1hYyBPU1gncyBnY2MuCgoyMDA4LTA0LTI1IDE5OjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogQnJpbmcgcm5kYnVmZmVyc2l6ZSBlbGVtZW50IGludG8gYSBzdGF0ZSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBtb3ZlIGl0IHRvIC1iYWQgaW1tZWRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChERUZBVUxUX1NFRUQpLCAoREVGQVVMVF9NSU4pLAoJICAoREVGQVVMVF9NQVgpLCAoc3JjX3RlbXBsYXRlKSwgKHNpbmtfdGVtcGxhdGUpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9iYXNlX2luaXQpLCAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfaW5pdCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2FjdGl2YXRlKSwKCSAgKGdzdF9ybmRfYnVmZmVyX3NpemVfbG9vcCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX3BsdWdpbl9pbml0KToKCSAgQnJpbmcgcm5kYnVmZmVyc2l6ZSBlbGVtZW50IGludG8gYSBzdGF0ZSB0aGF0IGRvZXNuJ3QgcmVxdWlyZSB1cwoJICB0byBtb3ZlIGl0IHRvIC1iYWQgaW1tZWRpYXRlbHkuIEZvciBvbmUsIGZpeCB1cCBkZWZhdWx0IG1pbi9tYXgKCSAgdmFsdWVzIHNvIHRoYXQgdGhlIGVsZW1lbnQgYWN0dWFsbCB3b3JrcyB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMuCgkgIEFsc28sIGRvbid0IGlnbm9yZSBmbG93IHJldHVybiB2YWx1ZXMgYW5kIGRvIHNvbWUga2luZCBvZiBtaW5pbWFsCgkgIGVvcyBsb2dpYy4gQWxsb3cgbWluPW1heCB0byBwdWxsIGZpeGVkLXNpemVkIGJ1ZmZlcnMuIEJ1bmNoIG9mCgkgIG90aGVyIGdyYXR1aXRpb3VzIGNsZWFuLXVwcy4KCjIwMDgtMDQtMjUgMTk6MjQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jcyBmb3IgZ2RrcGl4YnVmc2luazsgdXBkYXRlIGRvY3MgdG8gQ1ZTIHZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBBZGQgZG9jcyBmb3IgZ2RrcGl4YnVmc2luazsgdXBkYXRlIGRvY3MgdG8gQ1ZTIHZlcnNpb24uCgoyMDA4LTA0LTI1IDE4OjQ1OjMzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOiBSZW1vdmUgdGVzdCBzeW5jLW9mZnNldCBieSBkZWZhdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIFJlbW92ZSB0ZXN0IHN5bmMtb2Zmc2V0IGJ5IGRlZmF1bHQuCgoyMDA4LTA0LTI1IDEzOjMxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIEdMaWIgdmVyc2lvbnMgb2YgaHRvbmwsIGh0b25zLCBudG9obCBhbmQgbnRvaHMgaW4gb3JkZXIgdG8gYXZvaWQgcHJvYmxlbXMgb24gd2luMzIgKCM1Mjk3MDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19jaGFpbik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVzZSBHTGliIHZlcnNpb25zIG9mIGh0b25sLCBodG9ucywgbnRvaGwgYW5kIG50b2hzIGluIG9yZGVyCgkgIHRvIGF2b2lkIHByb2JsZW1zIG9uIHdpbjMyICgjNTI5NzA3KS4KCjIwMDgtMDQtMjUgMTI6NTI6NDQgKzAwMDAgIEplc8O6cyBDb3JyaXVzIDxqZXN1c0Bzb2Z0Y2F0YWxhLm9yZz4KCgkgIGdzdC9nb29tLzogRml4IGJ1aWxkIHdpdGggbWluZ3czMjogdXNlIHJhbmQoKSBpbnN0ZWFkIG9mIHJhbmRvbSgpIGFuZCByZXBsYWNlIGJ6ZXJvKCkgd2l0aCBtZW1zZXQoKS4gRml4ZXMgIzUyOTY5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZXPDunMgQ29ycml1cyA8amVzdXMgYXQgc29mdGNhdGFsYSBvcmc+CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbVZlY3Rvcik6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChpbml0X2J1ZmZlcnMpOgoJICBGaXggYnVpbGQgd2l0aCBtaW5ndzMyOiB1c2UgcmFuZCgpIGluc3RlYWQgb2YgcmFuZG9tKCkgYW5kCgkgIHJlcGxhY2UgYnplcm8oKSB3aXRoIG1lbXNldCgpLiBGaXhlcyAjNTI5NjkyLgoKMjAwOC0wNC0yNSAwNzo1NjoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHR5cG8gaW4gY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyk6CgkgIEZpeCB0eXBvIGluIGNvbW1lbnRzLgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBBZGQgc29tZSBtb3JlIGRvY3MgYW5kIGZpeCBleGFtcGxlcy4KCjIwMDgtMDQtMjQgMjI6MDQ6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGFuZCB1bmlzdGQuaCBmb3IgbWtkdGVtcC4gU29tZSBwbGF0Zm9ybXMgaGF2ZSBpdCBkZWNsYXJlZCBpbiB0aGUgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBhbmQgdW5pc3RkLmggZm9yIG1rZHRlbXAuIFNvbWUgcGxhdGZvcm1zIGhhdmUgaXQKCSAgZGVjbGFyZWQgaW4gdGhlIGZvcm1lciwgc29tZSBoYXZlIGl0IGRlY2xhcmVkIGluIHRoZSBsYXR0ZXIuCgoyMDA4LTA0LTI0IDIyOjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cy5jOiAobWQ1X2dldF92YWx1ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2Fwcyk6CgkgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIGZ1bmN0aW9ucy4KCjIwMDgtMDQtMjQgMjE6MTc6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICA9PT0gcmVsZWFzZSAwLjEwLjggPT09Cgo9PT0gcmVsZWFzZSAwLjEwLjggPT09CgoyMDA4LTA0LTIzIDIzOjQwOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkgIFJlbGVhc2UgMC4xMC44IGEgbGl0dGxlIGhhcmRlciAoZWRpdGVkIHRoZSByZWxlYXNlIG5vdGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjggYSBsaXR0bGUgaGFyZGVyIChlZGl0ZWQgdGhlIHJlbGVhc2Ugbm90ZXMpCgoyMDA4LTA0LTIzIDIzOjI2OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjgKCjIwMDgtMDQtMjMgMjM6MTg6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA0LTIyIDAwOjI5OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuNCBwcmUtcmVsZWFzZQoKMjAwOC0wNC0yMiAwMDoxODo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IEZyZWUgYSBidW5jaCBvZiBzdHVmZiwgYW5kIGluaXRpYWxpc2UgdGhpbmdzIHRvIGZpeCBsZWFrcyBhbmQgdmFsZ3JpbmQgd2FybmluZ3MgaW4gdGhlIHRlc3RzdWl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6IChnb29tX3BsdWdpbl9wYXJhbWV0ZXJzX2ZyZWUpOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IChjb252b2x2ZV9pbml0KSwgKGNvbnZvbHZlX2ZyZWUpOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJWaXN1YWxGWFdyYXBwZXJfZnJlZSk6CgkgICogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6IChmc19mcmVlKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9pbml0KSwgKGdvb21fY2xvc2UpOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9maW5hbGl6ZSk6CgkgICogZ3N0L2dvb20vbGluZXMuYzogKGdvb21fbGluZXNfZnJlZSk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHBsdWdpbl9pbmZvX2luaXQpLCAocGx1Z2luX2luZm9fZnJlZSk6CgkgICogZ3N0L2dvb20vc3VyZjNkLmM6IChncmlkM2RfZnJlZSk6CgkgICogZ3N0L2dvb20vc3VyZjNkLmg6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5jOiAodGVudGFjbGVfZnJlZSk6CgkgIEZyZWUgYSBidW5jaCBvZiBzdHVmZiwgYW5kIGluaXRpYWxpc2UgdGhpbmdzIHRvIGZpeCBsZWFrcwoJICBhbmQgdmFsZ3JpbmQgd2FybmluZ3MgaW4gdGhlIHRlc3RzdWl0ZS4KCSAgRml4ZXM6ICM1MjkyNjgKCjIwMDgtMDQtMjEgMjE6NTQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoKMjAwOC0wNC0yMSAwODoyMToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUmVmIGNhcHMgYXMgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHJlcXVlc3RfcHRfbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksIChyZXF1ZXN0X3B0X21hcCksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfY2Fwcyk6CgkgIFJlZiBjYXBzIGFzIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoZSByZXF1ZXN0X3B0X21hcCBzaWduYWwuCgkgIFJlbW92ZSBzb21lIGNhcHMgd2VpcmRuZXNzIHdoZW4gY29uZmlndXJpbmcgYSBzdHJlYW0uIFNlZSAjNTI4MjQ1LgoKMjAwOC0wNC0xOCAxODo0Nzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOiBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoKMjAwOC0wNC0xNyAyMzowMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjMgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMTcgMjI6MzI6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgc29tZSBtb3JlIGVsZW1lbnRzIGluIHRoZSBzdGF0ZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBzb21lIG1vcmUgZWxlbWVudHMgaW4gdGhlIHN0YXRlIHRlc3QuCgkgIEFkZCBhIGRlZmluZSBzbyB0aGUgc291cCB0ZXN0IGNhbiBmaW5kIHRoZSB0ZXN0IGZpbGVzCgkgIGl0IG5lZWRzIGF0IHJ1bnRpbWUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl9zZXJ2ZXIpOgoJICBBZGQgYSBkZWZpbmUgc28gdGhlIHNvdXAgdGVzdCBjYW4gZmluZCB0aGUgdGVzdCBmaWxlcwoJICBpdCBuZWVkcyBhdCBydW50aW1lLgoKMjAwOC0wNC0xNyAxODowODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiBEb24ndCBldmVyIGRyYXcgdGhlIEdPT00gbG9nby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzogKGNvbnZvbHZlX2FwcGx5KToKCSAgRG9uJ3QgZXZlciBkcmF3IHRoZSBHT09NIGxvZ28uCgkgIEZpeGVzOiAjNTI4NjE1CgoyMDA4LTA0LTE3IDEwOjI0OjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0LzogZ3N0X2F0b21pY19pbnRfc2V0ID09PiBnX2F0b21pY19pbnRfc2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZ3N0X2F0b21pY19pbnRfc2V0ID09PiBnX2F0b21pY19pbnRfc2V0CgoyMDA4LTA0LTE2IDEwOjMxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgU3RyaXAgb3V0IHRoZSBjb25maWcvc2NyaXB0IHBhcnNpbmcgc3R1ZmYsIHdlIGRvbid0IG5lZWQgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2RlZmF1bHRfc2NyaXB0cy5oOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGNob29zZV9hX2dvb21fbGluZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2dvb21zbC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9oYXNoLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hhc2guaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGVhcC5jOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX3ByaXZhdGUuaDoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBTdHJpcCBvdXQgdGhlIGNvbmZpZy9zY3JpcHQgcGFyc2luZyBzdHVmZiwgd2UgZG9uJ3QgbmVlZCBpdC4KCSAgRml4ZXMgIzUyNzk5OS4KCjIwMDgtMDQtMTUgMTY6NTg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiBEaXNhYmxlIGFsdGl2ZWMgb3B0aW1pc2F0aW9ucyBmb3IgMzItYml0IFBQQyBhcyB3ZWxsIHRvIG1ha2UgdGhpbmdzIGJ1aWxkIHByb3Blcmx5IG9uIGFsbCBQUEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBEaXNhYmxlIGFsdGl2ZWMgb3B0aW1pc2F0aW9ucyBmb3IgMzItYml0IFBQQyBhcyB3ZWxsIHRvIG1ha2UKCSAgdGhpbmdzIGJ1aWxkIHByb3Blcmx5IG9uIGFsbCBQUEMgc3lzdGVtcy4gRml4ZXMgIzUyODE0MwoKMjAwOC0wNC0xNCAyMDowMTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjogVXBkYXRlIGZvciBzb3VwaHR0cHNyYyBwbHVnaW4gd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3Igc291cGh0dHBzcmMgcGx1Z2luIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZC4KCjIwMDgtMDQtMTQgMTM6Mzg6MzIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IG9wZW4tZW5kZWQgc2Vla3MgaW4gbWF0cm9za2FkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEZpeCBvcGVuLWVuZGVkIHNlZWtzIGluIG1hdHJvc2thZGVtdXgKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgIEZpeGVzOiAjNTI2NTU3CgoyMDA4LTA0LTEzIDIzOjEzOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgc291cCB0ZXN0IGNlcnRpZmljYXRlcyB0byB0aGUgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIHRvIHRoZSBkaXN0LgoKMjAwOC0wNC0xMyAxNzo0Mzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IFJlbW92ZSBMQURTUEEgcmVmZXJlbmNlIEkgbWlzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBMQURTUEEgcmVmZXJlbmNlIEkgbWlzc2VkLgoKMjAwOC0wNC0xMyAxMzowNjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogR2l2ZSBzb3VwaHR0cHNyYyBHU1RfUkFOS19QUklNQVJZIHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgSFRUUCBzb3VyY2Ugb3ZlciBnbm9tZS12ZnMgYW5kIGV2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChwbHVnaW5faW5pdCk6CgkgIEdpdmUgc291cGh0dHBzcmMgR1NUX1JBTktfUFJJTUFSWSB0byBtYWtlIGl0IHRoZSBkZWZhdWx0IEhUVFAgc291cmNlCgkgIG92ZXIgZ25vbWUtdmZzIGFuZCBldmVyeXRoaW5nIGVsc2UuIEZpeGVzIGJ1ZyAjNTI3ODQ4LgoKMjAwOC0wNC0xMiAyMzo0NzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgTEFEU1BBIHBsdWdpbi4gRml4ZXM6ICM1MTU5NzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIExBRFNQQSBwbHVnaW4uIEZpeGVzOiAjNTE1OTc4CgoyMDA4LTA0LTEyIDIzOjMwOjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgc291cCBwbHVnaW4gZnJvbSAtYmFkIChGaXhlczogIzUyMzEyNCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSBzb3VwIHBsdWdpbiBmcm9tIC1iYWQgKEZpeGVzOiAjNTIzMTI0KQoKMjAwOC0wNC0xMSAxMTowODozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCB0aGUgQ2hhbmdlbG9nIC0gYWN0dWFsbHkgc3BlZXggPD0gMS4xLjEyIGFyZSB2dWxuZXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRoZSBDaGFuZ2Vsb2cgLSBhY3R1YWxseSBzcGVleCA8PSAxLjEuMTIgYXJlIHZ1bG5lcmFibGUuCgoyMDA4LTA0LTExIDEwOjMyOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBGaXggYm91bmRzIGNoZWNraW5nIG9mIG1vZGUgaW4gU3BlZXggaGVhZGVyLCB3aGljaCBtYXkgcHJvZHVjZSBuZWdhdGl2ZSBudW1iZXJzIGluIHNwZWV4IDwgMS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpOgoJICBGaXggYm91bmRzIGNoZWNraW5nIG9mIG1vZGUgaW4gU3BlZXggaGVhZGVyLCB3aGljaCBtYXkKCSAgcHJvZHVjZSBuZWdhdGl2ZSBudW1iZXJzIGluIHNwZWV4IDwgMS4xLjEyCgoyMDA4LTA0LTEwIDA3OjExOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzIGFuZCBjaGVjayBmb3IgTlVMTCBjYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzCgkgIGFuZCBjaGVjayBmb3IgTlVMTCBjYXBzIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgVGhlIHJlYWwgZml4IHdvdWxkIGJlIHRvIGltcGxlbWVudCBhbiBzaG91dGNhc3Qgc2VydmVyIGZvciB0aGUgdW5pdCB0ZXN0CgkgIGluc3RlYWQgb2YgcmVseWluZyBvbiBhIHdvcmtpbmcgaW50ZXJuZXQgY29ubmVjdGlvbi4KCSAgRml4ZXMgYnVnICM1MjE3NDkuCgoyMDA4LTA0LTA5IDE2OjExOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBSZW1vdmUgYSBidW5jaCBvZiBmb250L3RleHQgcmVsYXRlZCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ2ZvbnRsaWIuYzoKCSAgKiBnc3QvZ29vbS9nZm9udGxpYi5oOgoJICAqIGdzdC9nb29tL2dmb250cmxlLmM6CgkgICogZ3N0L2dvb20vZ2ZvbnRybGUuaDoKCSAgKiBnc3QvZ29vbS9nb29tLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX3VwZGF0ZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBSZW1vdmUgYSBidW5jaCBvZiBmb250L3RleHQgcmVsYXRlZCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZC4KCjIwMDgtMDQtMDkgMTQ6MDI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENoYW5nZSBsaWNlbnNlIG9mIHRoZXNlIGZpbGVzIHRvIExHUEwsIGFzIHBlcm1pdHRlZCBieSB0aGUgYXV0aG9yLCBHdWlsbGF1bWUgQm9yaW9zLiBTZWUgIzUxNTA3My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLnM6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuczoKCSAgQ2hhbmdlIGxpY2Vuc2Ugb2YgdGhlc2UgZmlsZXMgdG8gTEdQTCwgYXMgcGVybWl0dGVkIGJ5IHRoZQoJICBhdXRob3IsIEd1aWxsYXVtZSBCb3Jpb3MuIFNlZSAjNTE1MDczLgoKMjAwOC0wNC0wOSAxMzozMToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dvb20vOiBBcyBoaW50ZWQgaW4gQnVnICM1MTgyMTMsIHJldmVydCBvbmUgY2hhbmdlIGFuZCBmaXggd2FybmluZ3MgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJICBBcyBoaW50ZWQgaW4gQnVnICM1MTgyMTMsIHJldmVydCBvbmUgY2hhbmdlIGFuZCBmaXggd2FybmluZ3MgcHJvcGVybHkuCgkgIFRoaXMgZml4ZXMgYm90aCAjNTE4MjEzIGFuZCAjNTIwMDczIGZvciBtZS4KCjIwMDgtMDQtMDkgMTI6MDI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IHRoZSBGb3J0ZSBidWlsZCBieSBtYWtpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24gc2lnbmF0dXJlcyBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICBGaXggdGhlIEZvcnRlIGJ1aWxkIGJ5IG1ha2luZyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBzaWduYXR1cmVzCgkgIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA0LTA4IDE5OjQ5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy86IE1vcmUgbG9nZ2luZyB3aGVuIHByb2JpbmcgKHNlZSAjNTE4NDc0KSwgc29tZSBjb21tZW50cyBpbiBfcmVzZXQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzogKGdzdF9vc3NfaGVscGVyX3JhdGVfY2hlY2tfcmF0ZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfcmVzZXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19yZXNldCk6CgkgIE1vcmUgbG9nZ2luZyB3aGVuIHByb2JpbmcgKHNlZSAjNTE4NDc0KSwgc29tZSBjb21tZW50cyBpbiBfcmVzZXQoKS4KCjIwMDgtMDQtMDcgMTc6MTg6NDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IEZpeCBidWlsZCBiZWNhdXNlIG9mIGEgYmFkIGFyZ3VtZW50IG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMDcgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpOiBGaXggYnVpbGQKCSAgYmVjYXVzZSBvZiBhIGJhZCBhcmd1bWVudCBudW1iZXIuCgoyMDA4LTA0LTA2IDE4OjI4OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBJbnRlcmFjdGl2ZSB0ZXN0IGFwcCBmb3IgZ2RrcGl4YnVmc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgSW50ZXJhY3RpdmUgdGVzdCBhcHAgZm9yIGdka3BpeGJ1ZnNpbmsuCgoyMDA4LTA0LTA2IDA5OjAxOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYik6CgkgIE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBHU1RfU09VUF9IVFRQX1NSQ19TRVNTSU9OX0lPX1NUQVRVU19SVU5OSU5HLiBGaXhlcyBidWcgIzUyNjMzNy4KCjIwMDgtMDQtMDYgMDg6NTc6NTkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBGaXhlcyBidWcgIzUyNjI0Ny4KCjIwMDgtMDQtMDUgMTI6MDA6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaGFsL2hhbC5jOiBEb24ndCBtdW5nZSBkZXZpY2Ugc3RyaW5nIHRvICdkZWZhdWx0OngnIGZvciBjYXB0dXJlIGRldmljZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9hbHNhX2VsZW1lbnQpOgoJICBEb24ndCBtdW5nZSBkZXZpY2Ugc3RyaW5nIHRvICdkZWZhdWx0OngnIGZvciBjYXB0dXJlIGRldmljZXMuCgkgIEZpeGVzICM1MjU4MzMuCgoyMDA4LTA0LTA0IDE5OjAwOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWx3YXlzIHVzZSBHU2xpY2UgYXMgd2UgYWN0dWFsbHkgZGVwZW5kIG9uIEdMaWIgMi4xMiBhbHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X2ZyZWUpOgoJICBBbHdheXMgdXNlIEdTbGljZSBhcyB3ZSBhY3R1YWxseSBkZXBlbmQgb24gR0xpYiAyLjEyIGFscmVhZHkuCgoyMDA4LTA0LTA0IDExOjI2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjEwLjE4IGZvciBBUkdCIGNhcHMgcGFyc2luZyBmaXhlcyBpbiBsaWJnc3R2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUvYmFzZSAwLjEwLjE4IGZvciBBUkdCIGNhcHMgcGFyc2luZyBmaXhlcyBpbiBsaWJnc3R2aWRlby4KCSAgQWxzbyBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50IHRvIHRoZSBjdXJyZW50IGRlLWZhY3RvIHJlcXVpcmVtZW50CgkgIChpZS4gMi4xMikuCgoyMDA4LTA0LTA0IDEwOjMyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IFBhcnNlIGNvZGVjX2RhdGEgZm9yIGZ1dHVyZSBBVkMgY29tcGF0aWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChlbmNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBQYXJzZSBjb2RlY19kYXRhIGZvciBmdXR1cmUgQVZDIGNvbXBhdGliaWxpdHkuCgkgIEZhaWwgd2hlbiB3ZSBlbmNvdW50ZXIgQVZDIGRhdGEgZm9yIG5vdy4KCjIwMDgtMDQtMDQgMDk6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVuYW1lIHByb3BlcnR5IGVudW1zIGFuZCBkZWZhdWx0IGRlZmluZXMgZm9yIHRoZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSBwcm9wZXJ0eSBuYW1lcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KToKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGFuZCBkZWZhdWx0IGRlZmluZXMgZm9yIHRoZSBwcm9wZXJ0aWVzIHRvIG1hdGNoCgkgIHRoZSBwcm9wZXJ0eSBuYW1lcyBhbmQgcmVwaHJhc2UgcHJvcGVydHkgZGVzY3JpcHRpb25zIHRvIG1ha2UgdGhlbSBhCgkgIGJpdCBjbGVhcmVyIChob3BlZnVsbHkpLiBTZWUgIzUxODE4OC4KCjIwMDgtMDQtMDMgMjI6NTk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIGdka3BpeGJ1ZnNpbmsgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZGtwaXhidWZzaW5rLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGdka3BpeGJ1ZnNpbmsgZWxlbWVudC4KCjIwMDgtMDQtMDMgMjI6NTA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi86IEFkZCBnZGtwaXhidWZzaW5rIGVsZW1lbnQgZm9yIGVhc3kgc25hcHNob3R0aW5nICgjNTI1OTQ2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICAoZ3N0X2dka19waXhidWZfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3N0YXJ0KSwgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc3RvcCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcGl4YnVmX2Rlc3Ryb3lfbm90aWZ5KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0X3BpeGJ1Zl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2hhbmRsZV9idWZmZXIpLCAoZ3N0X2dka19waXhidWZfc2lua19wcmVyb2xsKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfcmVuZGVyKSwgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIEFkZCBnZGtwaXhidWZzaW5rIGVsZW1lbnQgZm9yIGVhc3kgc25hcHNob3R0aW5nICgjNTI1OTQ2KS4KCjIwMDgtMDQtMDMgMjA6MjU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IEJ1bXAgdGltZW91dCBmcm9tIDMgdG8gNjAgc2Vjb25kcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogKHdhdnBhY2tfc3VpdGUpOgoJICBCdW1wIHRpbWVvdXQgZnJvbSAzIHRvIDYwIHNlY29uZHMuCgoyMDA4LTA0LTAzIDIwOjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOiBSZW1vdmUgdXNlbGVzcyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICBBZGQgbmV3IHRlc3QgdG8gLmN2c2lnbm9yZS4KCjIwMDgtMDQtMDMgMjA6MDU6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCB0aGF0IGVuY29kZXMgYW5kIGRlY29kZXMgc29tZSBkYXRhLCBjaGVja3MgdGhhdCBpdCBpcyBzdGlsbCB0aGUgc2FtZSBhbmQgdGhhdCBhbGwgdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAoYnVzX2hhbmRsZXIpLAoJICAoaWRlbnRpdHlfaGFuZG9mZiksIChmYWtlc2lua19oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2tfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgdGhhdCBlbmNvZGVzIGFuZCBkZWNvZGVzIHNvbWUgZGF0YSwgY2hlY2tzIHRoYXQgaXQKCSAgaXMgc3RpbGwgdGhlIHNhbWUgYW5kIHRoYXQgYWxsIHRpbWVzdGFtcHMvb2Zmc2V0cyBhcmUgcGVyZmVjdC4KCjIwMDgtMDQtMDMgMTg6Mjg6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBpbmRleCBlbnRyaWVzIGFuZCB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfbmV3KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2VudHJ5X2ZyZWUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCk6CgkgIFVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgaW5kZXggZW50cmllcyBhbmQgdXNlCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoKMjAwOC0wNC0wMiAyMjozNzoyOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IHVwIGNvcHlyaWdodHMgKCM1MjU4NjApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgRml4IHVwIGNvcHlyaWdodHMgKCM1MjU4NjApLgoKMjAwOC0wNC0wMiAxNjoxMDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgbmV3IGdvb20gcGx1Z2luIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5ldyBnb29tIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMDgtMDQtMDIgMTU6NDI6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9nb29tc2wuYzogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZyZWFkKCkgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOiAoZ3NsX3JlYWRfZmlsZSk6CgkgIENoZWNrIHJldHVybiB2YWx1ZSBvZiBmcmVhZCgpIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wNC0wMSAxMTowMDo0MyArMDAwMCAgbWVyc2FkIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvbGF3LzogTWFrZSBuZWdvdGlhdGlvbiBhIGJpdCBtb2Rlcm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogbWVyc2FkIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3X2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2FsYXdfZGVjX2NoYWluKSwgKGdzdF9hbGF3X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X211bGF3ZGVjX2NoYWluKSwgKGdzdF9tdWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgIE1ha2UgbmVnb3RpYXRpb24gYSBiaXQgbW9kZXJuLgoJICBVc2UgcGFkX2FsbG9jLiBGaXhlcyAjNTI1MzU5LgoKMjAwOC0wMy0zMSAyMjowNjoxNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvZ29vbS94bW14LmM6IEZpeCBjb25zdHJhaW50cyBvbiBhc20gY29kZSBzbyB0aGF0IGl0IGNvbXBpbGVzIGNvbnNpc3RlbnRseS4gIEZpeGVzICM1MjIyNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3htbXguYzogRml4IGNvbnN0cmFpbnRzIG9uIGFzbSBjb2RlIHNvIHRoYXQgaXQKCSAgY29tcGlsZXMgY29uc2lzdGVudGx5LiAgRml4ZXMgIzUyMjI3OC4KCjIwMDgtMDMtMjcgMDk6MzY6NTggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEZpeCB1cCB0aGUgbWl4ZXIgdHJhY2tzIHRvIHVzZSBhIHZvbHVtZSByYW5nZSBvZiAwLTI1NSwgd2hpY2ggaXMgd2hhdCB0aGUgc3VuIGF1ZGlvIEFQSSB1c2VzLiBUaGlzIHNpbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2dldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6IChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBGaXggdXAgdGhlIG1peGVyIHRyYWNrcyB0byB1c2UgYSB2b2x1bWUgcmFuZ2Ugb2YgMC0yNTUsIHdoaWNoIGlzIHdoYXQKCSAgdGhlIHN1biBhdWRpbyBBUEkgdXNlcy4gVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGFuZCBhdm9pZHMgcm91bmRpbmcKCSAgZXJyb3JzLiBGaXhlcyAjNTI0NTkzLgoKMjAwOC0wMy0yNiAxNToxMDowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgQWRkIGRldmljZS1mZCBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGFwcHMgdG8gY2FsbCBpb2N0bCdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRldmljZS1mZCBwcm9wZXJ0eSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGFwcHMgdG8gY2FsbCBpb2N0bCdzLgoKMjAwOC0wMy0yNSAxNjo0NDoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVW5icmVhayBzdHJlYW1pbmcgbW9kZSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKToKCSAgVW5icmVhayBzdHJlYW1pbmcgbW9kZSBhZ2Fpbi4KCjIwMDgtMDMtMjUgMTI6Mzk6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IFJlbW92ZSBzdXBlcmZsdW91cyBERUJVRyBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgREVCVUcgbWFjcm8uCgoyMDA4LTAzLTI1IDEyOjMzOjA5ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIHN1cHBvcnRzIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBiZWZvcmUgdHJ5aW5nIHRvIHNldCBpdCBhbmQgdGhlbiBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gY29tIGhrPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGZyYWN0aW9uc19hcmVfZXF1YWwpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2Ugc3VwcG9ydHMgc2V0dGluZyB0aGUgZnJhbWVyYXRlIGJlZm9yZQoJICB0cnlpbmcgdG8gc2V0IGl0IGFuZCB0aGVuIHBvc3RpbmcgYSB3YXJuaW5nIG9yIGVycm9yIGlmIGl0IGRvZXNuJ3QKCSAgd29yayAoIzUxNjY0OSwgIzUyMDA5MikuIEFsc28gY29tcGFyZSBmcmFjdGlvbnMgbW9yZSBjb3JyZWN0bHkuCgoyMDA4LTAzLTI0IDEyOjMyOjU5ICswMDAwICBSZW5lIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYyAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2dhcF9idWZmZXJzKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jICh0ZXN0X2dhcCksIChyZ2xpbWl0ZXJfc3VpdGUpOgoJICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGdhcC1hd2FyZW5lc3MuCgoyMDA4LTAzLTIzIDEzOjMxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSBwcGMgYXNzZW1ibGVyIG9wdGltaXNhdGlvbnMgZnJvbSB0aGUgYnVpbGQgdW50aWwgdGhleSBhY3R1YWxseSBidWlsZCAodGhleSBhbHNvIHNlZW0gdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcHBjIGFzc2VtYmxlciBvcHRpbWlzYXRpb25zIGZyb20gdGhlIGJ1aWxkIHVudGlsIHRoZXkKCSAgYWN0dWFsbHkgYnVpbGQgKHRoZXkgYWxzbyBzZWVtIHRvIGhhdmUgR1BMIGhlYWRlcnMpLgoKMjAwOC0wMy0yMyAxMjo0ODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIG00L01ha2VmaWxlLmFtOiBCZXR0ZXIgbm90IGRpc3QgZmlsZXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChscmludCptNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBCZXR0ZXIgbm90IGRpc3QgZmlsZXMgdGhhdCBkb24ndCBleGlzdCBhbnkgbG9uZ2VyIChscmludCptNCkuCgoyMDA4LTAzLTIyIDE5OjI2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgR0lPIGFuZCBHbm9tZVZGUyBhcyB0aGV5IHByb3ZpZGUgYXV0aGVudGljYXRpb24uCgkgIERvbid0IGxlYWsgdGhlIGljeSBjYXBzIGlmIHdlIGFscmVhZHkgc2V0IHRoZW0gYW5kIGdldCBhIG5ldwoJICBpY3ktbWV0YWludCBoZWFkZXIuCgkgIFRyeSBoYXJkZXIgdG8gc2V0IHRoZSBpY3kgY2FwcyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBoYXZlIGNvcnJlY3QKCSAgY2FwcyBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhbHJlYWR5LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgQ2hlY2sgdGhhdCB3ZSBnZXQgYSBidWZmZXIgd2l0aCBhcHBsaWNhdGlvbi94LWljeSBjYXBzIGlmIGlyYWRpby1tb2RlCgkgIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgYW4gaWNlY2FzdCBVUkwuCgoyMDA4LTAzLTIyIDE4OjE4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgRml4ZXMgYnVnICM1MjM4NTQuCgoyMDA4LTAzLTIxIDEzOjM2OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgbHJpbnQvbHJpbnRmIGNoZWNrcy4gV2UgZG9uJ3QgdXNlIGl0IGFueXdoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogbTQvbHJpbnQubTQ6CgkgICogbTQvbHJpbnRmLm00OgoJICBSZW1vdmUgbHJpbnQvbHJpbnRmIGNoZWNrcy4gV2UgZG9uJ3QgdXNlIGl0IGFueXdoZXJlLgoKMjAwOC0wMy0xOSAxOTo1Njo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZyZWV6ZS86IEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZyZWV6ZS9GQVE6CgkgICogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIEZBUS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYi4KCjIwMDgtMDMtMTggMTU6MDM6MDYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0KCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfbmV3KTogQWN0dWFsbHkgc2V0IGEgbG9jayBvbiB0aGUKCSAgdGFzaywgd2hvb3BkZWUuCgkgIChjb2NvYV9ldmVudF9sb29wKTogUGFjaWZ5IHRoZSB0YXltYW5zIGJ5IHVwcGluZyB0aGUgdXNsZWVwYWdlIHRvCgkgIDIgbXMuCgoyMDA4LTAzLTE4IDExOjUwOjA4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X25ldywgY29jb2FfZXZlbnRfbG9vcCk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oIChzdHJ1Y3QgX0dzdE9TWFZpZGVvU2luayk6IElmIHdlCgkgIG5lZWQgdG8gcnVuIGFuIGV2ZW50IGxvb3AsIGRvIHNvIGluIGEgdGFzayBpbnN0ZWFkIG9mIGFzc3VtaW5nCgkgIHRoYXQgdGhlcmUgd2lsbCBiZSBhIEdNYWluTG9vcC4gRml4ZXMgIzUyMzEzNC4KCjIwMDgtMDMtMTcgMTk6NTA6NTggKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBNYWtlIHN1cmUgdGhlIHByb2JlZCBmcmFtZSBzaXplcyBhcmUgcmV2ZXJzZWQgaW4gdGhlIHJlc3VsdGluZyBjYXBzIGFsc28gd2hlbiB1c2luZyBWNEwyX0ZSLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBjb20gaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIE1ha2Ugc3VyZSB0aGUgcHJvYmVkIGZyYW1lIHNpemVzIGFyZSByZXZlcnNlZCBpbiB0aGUgcmVzdWx0aW5nCgkgIGNhcHMgYWxzbyB3aGVuIHVzaW5nIFY0TDJfRlJNU0laRV9TVEVQV0lTRSAoc28gdGhleSBlbmQgdXAKCSAgaGlnaGVzdCByZXNvbHV0aW9uIGZpcnN0KTsgYWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICAoUGFydGx5IGZpeGVzICM1MjAwOTIpCgoyMDA4LTAzLTE3IDE1OjU2OjAxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDYWxsIFdTQVN0YXJ0dXAoKSBhbmQgV1NBQ2xlYW51cCBiZWZvcmUgdXNpbmcgdGhlIFdpbnNvY2sgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpOgoJICBDYWxsIFdTQVN0YXJ0dXAoKSBhbmQgV1NBQ2xlYW51cCBiZWZvcmUgdXNpbmcgdGhlIFdpbnNvY2sgQVBJLgoJICBTZWUgIzUyMDgwOC4KCjIwMDgtMDMtMTYgMTU6MDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRXJtLCB0aGUgYnVmZmVyLXNpemUgaXMganVzdCBndWludCwgbm8gbmVlZCBmb3IgdGhlIHNwZWNpYWwgZm9ybWF0IHNwZWNpZmllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBFcm0sIHRoZSBidWZmZXItc2l6ZSBpcyBqdXN0IGd1aW50LCBubyBuZWVkIGZvciB0aGUgc3BlY2lhbCBmb3JtYXQKCSAgc3BlY2lmaWVyLgoKMjAwOC0wMy0xNiAxNDozNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogU21hbGwgZml4ZXMgdG8gYnVpbGQgbW9yZSBvbiBQUEM6IGlmZGVmIG91dCBjb2RlIHRoYXQgdXNlcyB1bmtub3duIGRlZmluZTsgYWRkIG5ld2xpbmUgYXQgZW5kIG9mIGhlYWRlciBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3BwY196b29tX3VsdGltYXRlLmg6CgkgIFNtYWxsIGZpeGVzIHRvIGJ1aWxkIG1vcmUgb24gUFBDOiBpZmRlZiBvdXQgY29kZSB0aGF0IHVzZXMgdW5rbm93bgoJICBkZWZpbmU7IGFkZCBuZXdsaW5lIGF0IGVuZCBvZiBoZWFkZXIgZmlsZSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBBc3NlbWJsZXIgY29kZSBzdGlsbCBkb2Vzbid0IGJ1aWxkIHRob3VnaC4KCjIwMDgtMDMtMTYgMTQ6MDQ6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHVwIG15IGxhc3QgY29tbWl0LiBVc2UgR19HVUlOVDMyX0ZPUk1BVCBmb3IgdGhlIGd1aW50MzIgZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEZpeCB1cCBteSBsYXN0IGNvbW1pdC4gVXNlIEdfR1VJTlQzMl9GT1JNQVQgZm9yIHRoZSBndWludDMyIGRlYnVnIGxvZy4KCSAgQWxzbyBkb3duZ3JhZGUgYSBHU1RfV0FSTklORyB0byBHU1RfREVCVUcgYW5kIGFkZCBhIGNvbW1lbnQuCgoyMDA4LTAzLTE1IDIyOjEwOjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENodW5rc2l6ZSBpcyB1aW50MzIuIEZpeCBmb3JtYXQgc3BlY2lmaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIENodW5rc2l6ZSBpcyB1aW50MzIuIEZpeCBmb3JtYXQgc3BlY2lmaWVyLgoKMjAwOC0wMy0xNCAxNTo1MzowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRzcC9DT1BZSU5HLk1JVDoKCSAgZml4IGxpY2Vuc2UgZmlsZSwgcmVtb3ZlIGV4dHJhIGxpbmUgY29waWVkIG92ZXIgYnkgbWlzdGFrZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGxpY2Vuc2UgZmlsZSwgcmVtb3ZlIGV4dHJhIGxpbmUgY29waWVkIG92ZXIgYnkgbWlzdGFrZQoKMjAwOC0wMy0xMyAxNDozMDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMuCgoyMDA4LTAzLTEzIDA5OjQ1OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoKMjAwOC0wMy0xMSAyMzoxMjowNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLio6IENhY2hlIHByb2JlZCBjYXBzLCBzbyBfZ2V0X2NhcHMoKSBkdXJpbmcgcmVjb3JkaW5nIGRvZXNuJ3QgY2F1c2UgaW9jdGwgY2FsbHMgd2hpY2ggbWF5IGRpc3J1cHQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2luaXQpLCAoZ3N0X29zc19zcmNfZ2V0Y2FwcyksCgkgIChnc3Rfb3NzX3NyY19jbG9zZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgQ2FjaGUgcHJvYmVkIGNhcHMsIHNvIF9nZXRfY2FwcygpIGR1cmluZyByZWNvcmRpbmcgZG9lc24ndCBjYXVzZQoJICBpb2N0bCBjYWxscyB3aGljaCBtYXkgZGlzcnVwdCB0aGUgcmVjb3JkaW5nIChmaXhlcyAjNTIxODc1KS4KCjIwMDgtMDMtMTEgMTY6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBhIERJU0NPTlQgYWZ0ZXIgYSBzZWVrIGJ5IHNldHRpbmcgdGhlIHNhbXBsZSBpbmRleCB0byBhbiB1bmRlZmluZWQgdmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBhIERJU0NPTlQgYWZ0ZXIgYSBzZWVrIGJ5IHNldHRpbmcgdGhlIHNhbXBsZQoJICBpbmRleCB0byBhbiB1bmRlZmluZWQgdmFsdWUgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMy0xMSAxNToxODo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDogRml4IHVwIElTX0ZPTyBtYWNyb3MsIHdoaWNoIG1ha2VzIGd0ay1kb2MgbXVjaCBoYXBwaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmg6IChHU1RfSVNfQVZJX1NVQlRJVExFKSwKCSAgKEdTVF9JU19BVklfU1VCVElUTEVfQ0xBU1MpOgoJICBGaXggdXAgSVNfRk9PIG1hY3Jvcywgd2hpY2ggbWFrZXMgZ3RrLWRvYyBtdWNoIGhhcHBpZXIuCgoyMDA4LTAzLTA4IDE5OjI5OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IE1vdmUgdGhlIC1sZ3N0Zm9vIHdoZXJlIGl0IGJlbG9uZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSAtbGdzdGZvbyB3aGVyZSBpdCBiZWxvbmdzLgoKMjAwOC0wMy0wOCAxOToxNDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA4LTAzLTA4IDA0OjQwOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDogQWRkIElEIGZvciBFQk1MIENSQzMyIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSAgQWRkIElEIGZvciBFQk1MIENSQzMyIGVsZW1lbnRzLgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9maW5hbGl6ZSksCgkgIChnc3RfZWJtbF9yZWFkX2NsYXNzX2luaXQpLCAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCksIChfZXh0MmRibCksIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwKCSAgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgU3VwcG9ydCByZWFkaW5nIDgwYml0IGZsb2F0cywgYWRkIGZpbmFsaXplIG1ldGhvZCB0byBjbGVhbiB1cAoJICBpbiBhbnkgY2FzZSwgc3VwcG9ydCByZWFkaW5nIGxlbmd0aC9pZCBlbGVtZW50cyB3aXRoIGFueSBsZW5ndGgKCSAgYXMgbG9uZyBhcyBpdCdzIHNtYWxsZXIgdGhhbiBvdXIgc3VwcG9ydGVkIG1heGltdW0sIGRvbid0IGxlYWsKCSAgYnVmZmVycyBpZiByZWFkaW5nIGFzIG11Y2ggZGF0YSBhcyB3ZSB3YW50ZWQgZmFpbGVkIGFuZCBzb21lCgkgIHNtYWxsZXIgY2xlYW51cC4KCjIwMDgtMDMtMDggMDQ6MjE6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogQ2hlY2sgdGhhdCBhIGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggYmVmb3JlIHJlYWRpbmcgZnJvbSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIENoZWNrIHRoYXQgYSBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoIGJlZm9yZSByZWFkaW5nIGZyb20gaXQuCgkgIEZpeGVzIGJ1ZyAjNTIxMTAyLgoKMjAwOC0wMy0wNyAxNTo1NDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBjb21waWxhdGlvbiBhZnRlciByZW1vdmluZyB0aGUgR3N0UG9sbE1vZGUgZnJvbSB0aGUgY29uc3RydWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIHJlbW92aW5nIHRoZSBHc3RQb2xsTW9kZSBmcm9tIHRoZQoJICBjb25zdHJ1Y3Rvci4KCjIwMDgtMDMtMDcgMTM6MDg6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENoZWNrIGZvciBzaW5oKCksIGNvc2goKSBhbmQgYXNpbmgoKSBhbmQgZGVmaW5lIG91ciBvd24gaW1wbGVtZW50YXRpb25zIGlmIHRoZXkncmUgbm90IGF2YWlsYWJsZS4gRml4ZXMgYnVnICM1MjA4ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9tYXRoX2NvbXBhdC5oOgoJICBDaGVjayBmb3Igc2luaCgpLCBjb3NoKCkgYW5kIGFzaW5oKCkgYW5kIGRlZmluZSBvdXIgb3duCgkgIGltcGxlbWVudGF0aW9ucyBpZiB0aGV5J3JlIG5vdCBhdmFpbGFibGUuIEZpeGVzIGJ1ZyAjNTIwODgwLgoKMjAwOC0wMy0wNyAxMjo0MDoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBVbnJlZiB0aGUgYnVmZmVycyBvbmx5IG9uY2Ugd2hlbiBoYW5kbGluZyBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhfZW5jX2NoYWluKToKCSAgVW5yZWYgdGhlIGJ1ZmZlcnMgb25seSBvbmNlIHdoZW4gaGFuZGxpbmcgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoJICBGaXhlcyBidWcgIzUyMDc2NC4KCjIwMDgtMDMtMDcgMTA6MDE6NDAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBQcm9wZXJseSBiYWxhbmNlIFdTQV9DbGVhbnVwIHdpdGggV1NBX1N0YXJ0dXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfZmluYWxpemUpLCAoZ3N0X3VkcHNyY19zdGFydCksCgkgIChnc3RfdWRwc3JjX3N0b3ApOgoJICBQcm9wZXJseSBiYWxhbmNlIFdTQV9DbGVhbnVwIHdpdGggV1NBX1N0YXJ0dXAuCgkgIEFsc28gbWFrZSB0aGUgcG9sbCBjb250cm9sbGFibGUgb24gd2luZG93cy4gRml4ZXMgIzUyMDg4OC4KCjIwMDgtMDMtMDYgMTk6NDc6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1bGxfcmFuZ2UgaW4gYSBtb3JlIGdyYW51bGFyIHdheSB0byBwcm9wZXJseSBzaHV0IGRvd24gb24gc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3B1bGxfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpLCAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX3NraXApLCAoZ3N0X2VibWxfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX3VpbnQpLCAoZ3N0X2VibWxfcmVhZF9zaW50KSwKCSAgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLCAoZ3N0X2VibWxfcmVhZF9hc2NpaSksIChnc3RfZWJtbF9yZWFkX3V0ZjgpLAoJICAoZ3N0X2VibWxfcmVhZF9kYXRlKSwgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYmluYXJ5KSwgKGdzdF9lYm1sX3JlYWRfaGVhZGVyKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX3RyYWNrcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBIYW5kbGUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1bGxfcmFuZ2UgaW4gYSBtb3JlIGdyYW51bGFyIHdheSB0byBwcm9wZXJseQoJICBzaHV0IGRvd24gb24gc2Vla3MuCgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHB1c2guCgkgIEltcGxlbWVudCBwcm9wZXIgZXJyb3IgaGFuZGxpbmcuCgkgIFByZXBhcmUgZm9yIGhhbmRsaW5nIHNlZWtpbmcgY29ycmVjdGx5LgoKMjAwOC0wMy0wMyAyMjowMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFVzZSBHSU5UNjQgZm9ybWF0dGluZyBjb25zdGFudHMgZnJvbSBHTElCLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIFVzZSBHSU5UNjQgZm9ybWF0dGluZyBjb25zdGFudHMgZnJvbSBHTElCLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBBZGQgc29tZSBndWFyZHMgdG8gYXZvaWQgYSBwb3NzaWJsZSBkaXZpc2lvbiBieSAwIGFuZCBjcmFzaGluZwoJICB3aXRoIE5VTEwgZXZlbnRzIG9uIHNvbWUgc3lzdGVtcy4KCSAgVXNlIGdzdF9nZG91YmxlX3RvX2d1aW50NjQgc29tZXdoZXJlIGluc3RlYWQgb2YgYW4gaW1wbGljaXQKCSAgY29udmVyc2lvbi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIENoZWNrIGZvciBpbnZhbGlkIHRpbWVzdGFtcHMgaW4gYSBidW5jaCBvZiBwbGFjZXMgdG8gYXZvaWQKCSAgd3JpdGluZyBib2d1cyBkdXJhdGlvbnMgaW50byB0aGUgb3V0cHV0IGZpbGUuCgkgIEZpeCBzb21lIGRvdWJsZTwtPmdpbnQ2NCBjb252ZXJzaW9ucyB0aGF0IHdlcmVuJ3QgdXNpbmcKCSAgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZQoKMjAwOC0wMy0wMyAxMzowMzo0MyArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IE1vdmUgdGhlIGNoZWNrcyBmb3IgYmlzb24sIGZsZXggYW5kIGFzIHRvIHRoZSBwcm9ncmFtIHNlY3Rpb24gYW5kIHRoZSBjaGVjayBmb3IgZ2NjIGlubGluZSBhc20gdG8gdGhlIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNb3ZlIHRoZSBjaGVja3MgZm9yIGJpc29uLCBmbGV4IGFuZCBhcyB0byB0aGUgcHJvZ3JhbSBzZWN0aW9uIGFuZCB0aGUKCSAgY2hlY2sgZm9yIGdjYyBpbmxpbmUgYXNtIHRvIHRoZSBjb21waWxlciBjaGFyYWN0ZXJpc3RpY3Mgc2VjdGlvbi4KCjIwMDgtMDMtMDMgMTI6MTA6NTUgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaAoJICBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNDk4MjIyKQoKMjAwOC0wMi0yOSAxMjozNToyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCBjYWxsIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKSB1bmxlc3Mgd2UgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgIERvbid0IGNhbGwgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpIHVubGVzcyB3ZSBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwOC0wMi0yOSAwNjoxODo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggRGlyYWMgbWFwcGluZy4gIEkgaGFkIHByZXZpb3VzbHkgYWRkZWQgYSBWZlctdHlwZSBtYXBwaW5nLCBidXQgaXQgbG9va3MgbGlrZSBEaXJhYyB3aWxsIGdldCBhIG5hdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgRml4IERpcmFjIG1hcHBpbmcuICBJIGhhZCBwcmV2aW91c2x5IGFkZGVkIGEgVmZXLXR5cGUKCSAgbWFwcGluZywgYnV0IGl0IGxvb2tzIGxpa2UgRGlyYWMgd2lsbCBnZXQgYSBuYXRpdmUgTWF0cm9za2EKCSAgbWFwcGluZywgYW5kIHRoaXMgaXMgdGhlIG1vc3QgbGlrZWx5IG1ldGhvZC4KCjIwMDgtMDItMjggMjM6NTY6MzAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWRkIERpcmFjIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFkZCBEaXJhYyBlbmNvZGluZwoKMjAwOC0wMi0yOCAxMTo1MToyNCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBQb3J0IHRvIEdzdFBvbGwuIFNlZSAjNTA1NDE3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3VubG9jayksCgkgIChnc3RfdWRwc3JjX3VubG9ja19zdG9wKSwgKGdzdF91ZHBzcmNfc3RvcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgUG9ydCB0byBHc3RQb2xsLiBTZWUgIzUwNTQxNy4KCjIwMDgtMDItMjggMDg6Mzc6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCB3aGVuIHRoZSBjYXBzIGFyZSBub3Qgc2V0IHlldCBvbiB0aGUgc3JjcGFkLiBXZSBuZWVkIHJhdGUgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIHdoZW4gdGhlIGNhcHMgYXJlIG5vdCBzZXQKCSAgeWV0IG9uIHRoZSBzcmNwYWQuIFdlIG5lZWQgcmF0ZSBhbmQgY2hhbm5lbHMgYmVmb3JlIHdlCgkgIGNhbiBkbyBhbnkgcHJvY2Vzc2luZy4gRml4ZXMgYnVnICM1MTkwODguCgoyMDA4LTAyLTI2IDEwOjA5OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGV0ZWN0IGFuZCBpbmRpY2F0ZSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IHN5bnRheCBpcyBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGV0ZWN0IGFuZCBpbmRpY2F0ZSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IHN5bnRheCBpcwoJICBhdmFpbGFibGUuCgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21zbC5jOgoJICAqIGdzdC9nb29tL2lmcy5jOgoJICAqIGdzdC9nb29tL21teC5jOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBGaXggdmFyaW91cyBHQ0MtaXNtcywgYW5kIG9ubHkgYnVpbGQgdGhlIGlubGluZSBhc3NlbWJseQoJICB3aXRoIGNvbXBpbGVycyB0aGF0IHN1cHBvcnQgR0NDIGlubGluZSBhc3NlbWJseS4KCSAgRml4IGEgY291cGxlIG9mIG90aGVyIHdhcm5pbmdzIHNob3duIHdpdGggRm9ydGUuCgoyMDA4LTAyLTI2IDA1OjM2OjE3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4KCSAgdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgoyMDA4LTAyLTI1IDEyOjAzOjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS94bW14LmM6IFVzZSAnZW1tcycgaW5zdGVhZCBvZiAnZmVtbXMnIHRvIG5vdCBjcmFzaCBvbiBjcHVzIHRoYXQgZG8gbm90IGltcGxlbWVudCB0aGlzIDNkbm93IHNwZWNpZmljIGluc3RydWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20veG1teC5jOgoJICBVc2UgJ2VtbXMnIGluc3RlYWQgb2YgJ2ZlbW1zJyB0byBub3QgY3Jhc2ggb24gY3B1cyB0aGF0IGRvIG5vdAoJICBpbXBsZW1lbnQgdGhpcyAzZG5vdyBzcGVjaWZpYyBpbnN0cnVjdGlvbi4KCjIwMDgtMDItMjUgMTA6MzI6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IFVzZSBleHRlbmRlZCBNTVggZm9yIGRyYXdfbGluZSgpIHRvbyBpZiBhdmFpbGFibGUsIG5vdCBvbmx5IG5vcm1hbCBNTVguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IChzZXRPcHRpbWl6ZWRNZXRob2RzKToKCSAgVXNlIGV4dGVuZGVkIE1NWCBmb3IgZHJhd19saW5lKCkgdG9vIGlmIGF2YWlsYWJsZSwgbm90IG9ubHkKCSAgbm9ybWFsIE1NWC4KCjIwMDgtMDItMjUgMDY6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcGVnL2dzdGpwZWcuYzogUmVtb3ZlIChjb21tZW50ZWQgb3V0KSBzbW9rZSB0eXBlZmluZGVyLiBUaGlzIGlzIGluIGJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSAoY29tbWVudGVkIG91dCkgc21va2UgdHlwZWZpbmRlci4gVGhpcyBpcyBpbiBiYXNlIG5vdy4KCjIwMDgtMDItMjMgMTU6MDI6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20yazEvOiBSZW5hbWUgdGhlIGluc3RhbGxlZCBsaWJyYXJ5LCBhbmQgZG9uJ3QgcmVnaXN0ZXIgdGhlIHNhbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBSZW5hbWUgdGhlIGluc3RhbGxlZCBsaWJyYXJ5LCBhbmQgZG9uJ3QgcmVnaXN0ZXIgdGhlIHNhbWUKCSAgR1R5cGUgbmFtZSBhcyB0aGUgbmV3IGdvb20uCgoyMDA4LTAyLTIzIDEyOjIzOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nCgkgIEMrKyBjb2RlICgjNTE2NTA5KS4KCjIwMDgtMDItMjMgMTI6MTA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENhbGwgb2lsX2luaXQoKSwgb3RoZXJ3aXNlIG9pbF9nZXRfY3B1X2ZsYWdzKCkgd29uJ3QgcmV0dXJuIGFueXRoaW5nIHVzZWZ1bC4gRXhwb3J0IGdvb20gZGVidWcgY2F0ZWdvcnkgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ29vbV9kZWJ1ZyksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKGdvb21fZGVidWcpLCAoR1NUX0NBVF9ERUZBVUxUKSwKCSAgKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBDYWxsIG9pbF9pbml0KCksIG90aGVyd2lzZSBvaWxfZ2V0X2NwdV9mbGFncygpIHdvbid0IHJldHVybgoJICBhbnl0aGluZyB1c2VmdWwuIEV4cG9ydCBnb29tIGRlYnVnIGNhdGVnb3J5IHNvIHdlIGNhbiBnZXQKCSAgcmlkIG9mIHRoZSBWRVJCT1NFIGRlZmluZSBhbmQgdGhlIHByaW50ZnMuCgoyMDA4LTAyLTIzIDExOjUzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBDb21waWxlIGZpeGVzIGZvciB4ODYtNjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmM6IChhbGlnbl9pdCk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBDb21waWxlIGZpeGVzIGZvciB4ODYtNjQuCgoyMDA4LTAyLTIzIDAzOjEwOjU1ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogRG9uJ3QgY29tcGlsZSBsZXggb3IgeWFjYyBvdXRwdXRzIHdpdGggd2FybmluZ3MsIGJ1dCBhZGQgb3RoZXIgQ0ZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOiBEb24ndCBjb21waWxlIGxleCBvciB5YWNjIG91dHB1dHMKCSAgd2l0aCB3YXJuaW5ncywgYnV0IGFkZCBvdGhlciBDRkxBR1MKCSAgKiBnc3QvZ29vbS9nb29tc2wuYyAoZ3NsX2luc3RyX3NldF9uYW1lc3BhY2UpLAoJICAoZ3NsX2luc3RyX2FkZF9wYXJhbSksIChpZmxvd19leGVjdXRlKSwgKGdzbF9lbnRlcm5hbWVzcGFjZSksCgkgIChjYWxjdWxhdGVfbGFiZWxzKSwgKGdzbF9yZWFkX2ZpbGUpOgoJICAqIGdzdC9nb29tL2dvb21zbF9sZXgubDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfeWFjYy55OgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IFJlbW92ZSBhIGZldyBsaXZlIHByaW50ZiwgYW5kCgkgIGZwcmludGYsIHJlcGxhY2UgZXhpdCgpIGNhbGxzIHdpdGggZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBpZiBpdCBub3Qgb3B0aW1hbCBmb3IgYSBsaWJyYXJ5CgoyMDA4LTAyLTIzIDAyOjM4OjAzICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHRoZSB3YXJuaW5ncyBiZWluZyBkaXNhYmxlZCwgZml4IGxpbmthZ2Ugb24geDg2LCBzcG90dGVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06IFJlbW92ZSB0aGUgd2FybmluZ3MgYmVpbmcgZGlzYWJsZWQsCgkgIGZpeCBsaW5rYWdlIG9uIHg4Niwgc3BvdHRlZCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYyAoY29udm9sdmVfaW5pdCksCgkgIChjcmVhdGVfb3V0cHV0X3dpdGhfYnJpZ2h0bmVzcyksIChjb252b2x2ZV9hcHBseSk6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jICh6b29tRmlsdGVyVmlzdWFsRlhXcmFwcGVyX2NyZWF0ZSk6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vaWZzLmMgKGlmc191cGRhdGUpLCAoaWZzX3Zpc3VhbGZ4X2NyZWF0ZSk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmMgKHRlbnRhY2xlX2Z4X2NyZWF0ZSk6CgkgIEZpeCB3YXJuaW5ncywgYW5kIGRpc2FibGUgdGhlIG1vdGlmcyBpbiB0aGUgY29udm9sdmVfZngKCSAgcGx1Z2luICh0aGV5IHdlcmUgY2F1c2luZyB3YXJuaW5ncywgYW5kIHRoZXkgd2VyZSBqdXN0CgkgICJHb29tIiBpbiBmdW5ueSBsZXR0ZXJyaW5nKQoKMjAwOC0wMi0yMyAwMTo1MTozNyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgY2hlY2tzIGZvciBGbGV4L1lhY2MvQmlzb24gYW5kIG90aGVyIGZ1cnJ5IGFuaW1hbHMsIGZvciB0aGUgbmV3IGdvb20gMms0IGJhc2VkIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0yMyAgQmFzdGllbiBOb2NlcmEgIDxoYWRlc3NAaGFkZXNzLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IEFkZCBjaGVja3MgZm9yIEZsZXgvWWFjYy9CaXNvbiBhbmQgb3RoZXIKCSAgZnVycnkgYW5pbWFscywgZm9yIHRoZSBuZXcgZ29vbSAyazQgYmFzZWQgcGx1Z2luCgkgICogZ3N0L2dvb20vKjogVXBkYXRlIHRvIHVzZSBnb29tIDJrNCwgdXNlcyBsaWJvaWwgdG8gZGV0ZWN0CgkgIENQVSBvcHRpbWlzYXRpb25zIChub3Qgd29ya2luZyB5ZXQpLCBtb3ZlIHRoZSBvbGQgcGx1Z2luIHRvLi4uCgkgICogZ3N0L2dvb20yazEvKjogLi4uIGhlcmUsIGluIGNhc2Ugc29tZWJvZHkgaXMgc2ljayBlbm91Z2gKCSAgRml4ZXMgIzUxNTA3MwoKMjAwOC0wMi0yMiAxNDo1NTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogRml4IGJyb2tlbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNybywgZml4ZXMgY29tcGlsZSB3aXRoIHRoZSBTdW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2lua19zZXRjYXBzKToKCSAgRml4IGJyb2tlbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNybywgZml4ZXMgY29tcGlsZSB3aXRoIHRoZSBTdW4KCSAgV29ya3Nob3AgMTIgY29tcGlsZXIsIGJ1dCBwcm9iYWJseSBhbHNvIGNyYXNoZXMgKCM1MTc5ODUpLgoKMjAwOC0wMi0yMiAwOTo1NjowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUG9zdCB0aGUgc2VydmVyIHJlc3BvbnNlIGNvZGUgaW4gYW4gZXJyb3IgbWVzc2FnZSBpbnN0ZWFkIG9mIGEgZ2VuZXJpYyAnZXJyb3InIG1lc3NhZ2UuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgUG9zdCB0aGUgc2VydmVyIHJlc3BvbnNlIGNvZGUgaW4gYW4gZXJyb3IgbWVzc2FnZSBpbnN0ZWFkIG9mIGEgZ2VuZXJpYwoJICAnZXJyb3InIG1lc3NhZ2UuIEZpeGVzICM1MTcyMzcuCgoyMDA4LTAyLTIyIDA3OjIwOjAzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfZnJlZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgUHJlZml4IHByb3h5IFVSSXMgd2l0aCAiaHR0cDovLyIgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGl0CgkgIGFscmVhZHkgYW5kIGNhdGNoIGVycm9ycyBlYXJsaWVyLCBmaXhlcyBoYW5naW5nIGluIHNvbWUgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1MTQ5NDguCgoyMDA4LTAyLTIyIDA2OjIyOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSWdub3JlIGdjb25mYXVkaW9zcmMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0IHRvby4gSXQgd2lsbCBmYWxsYmFjayB0byBhbHNhc3JjIGlmIHRoZSBnY29uZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBnY29uZmF1ZGlvc3JjIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCB0b28uIEl0IHdpbGwgZmFsbGJhY2sKCSAgdG8gYWxzYXNyYyBpZiB0aGUgZ2NvbmYgc2V0dGluZ3MgY2FuJ3QgYmUgcmVhZCBhbmQgbm90IGV2ZXJ5Ym9keSBoYXMKCSAgYWxzYS4KCjIwMDgtMDItMjIgMDY6MDY6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBBbHdheXMgcmVwb3J0IHRoZSBkdXJhdGlvbiBpZiB3ZSBrbm93IGl0IGluIHB1c2ggbW9kZSBhbmQgZG9uJ3QgcmV0dXJuIDAganVzdCB0byBtYWtlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFsd2F5cyByZXBvcnQgdGhlIGR1cmF0aW9uIGlmIHdlIGtub3cgaXQgaW4gcHVzaCBtb2RlIGFuZCBkb24ndAoJICByZXR1cm4gMCBqdXN0IHRvIG1ha2UgdG90ZW0gYmVsaWV2ZSB3ZSBjYW4ndCBzZWVrIGluIHB1c2ggbW9kZS4KCSAgTmV3ZXIgdG90ZW0gdmVyc2lvbiB1c2UgdGhlIFNFRUtJTkcgcXVlcnkgd2hpY2ggcHJvcGVybHkgcmVwb3J0cwoJICBpZiB3ZSBjYW4gc2VlayBvciBub3QuCgoyMDA4LTAyLTIyIDA1OjM5OjAxICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOiBDODkgZml4LCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgQzg5IGZpeCwgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mCgkgIHRoZSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzMuCgoyMDA4LTAyLTIxIDIzOjQ3OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCj09PSByZWxlYXNlIDAuMTAuNyA9PT0KCjIwMDgtMDItMjEgMDA6MDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC43IC0gUmVkIERvb3IgQmxhY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC43IC0gUmVkIERvb3IgQmxhY2sKCjIwMDgtMDItMjAgMjI6NTE6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTAyLTE5IDEwOjQ3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYWxwaGEvTWFrZWZpbGUuYW06IExpbmsgYWxwaGEgcGx1Z2luIHdpdGggbGliZ3N0YmFzZS4gRml4ZXMgYnVnICM1MTczODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgTGluayBhbHBoYSBwbHVnaW4gd2l0aCBsaWJnc3RiYXNlLiBGaXhlcyBidWcgIzUxNzM4Ni4KCjIwMDgtMDItMTggMTE6MTM6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEluaXQgdmFsdWVzIHRvIC0xIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMCB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSk6CgkgIEluaXQgdmFsdWVzIHRvIC0xIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgMCB2YWx1ZS4KCSAgRml4ZXMgIzUxNjUyNC4KCjIwMDgtMDItMTQgMTQ6NTA6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzogQWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJ4bWwgdXNhZ2UgaXMgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZSB0byBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJ4bWwgdXNhZ2UgaXMgZGlzYWJsZWQuCgkgIEZpeGVzOiAjNTE2MzcxCgoyMDA4LTAyLTEyIDIzOjM4OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgZml4ZXM6ICM1MTQ4ODkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiAgV2ltIFRheW1hbnMgIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgkgIGZpeGVzOiAjNTE0ODg5CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCB2YXJpb3VzIGxlYWtzIHNob3duIHVwIGluIHZhbGdyaW5kCgkgIC0gZnJlZSBzcHJvcHMgYW5kIGJ1ZmZlciBpbiBlcnJvciBjYXNlcyBpbiBIMjY0IHBheWxvYWRlcgoJICAtIGZpeCBsZWFrIGluIG1wNGcgZGVwYXlsb2FkZXIgd2hlbiBjb25zdHJ1Y3Rpb24gdGhlIGNhcHMKCSAgLSBkb24ndCBsZWFrIGNvbmZpZyBzdHJpbmcgaW4gdGhlIG1wNGcgcGF5bG9hZGVyCgkgIC0gZG9uJ3QgbGVhayBidWZmZXJzIGFuZCBoZWFkZXJzIGluIHRoZW9yYSBhbmQgdm9yYmlzIHBheWxvYWRlcnMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBGaXggdGhlIFJUUCBkYXRhIHRlc3QKCSAgLSBBY3R1YWxseSBzZW5kIHZhbGlkIGFtciBkYXRhIHRvIHRoZSBwYXlsb2FkZXIgaW5zdGVhZCBvZiAyMAoJICB6ZXJvLWJ5dGVzCgkgIC0gVGhlIG1wNGcgcGF5bG9hZGVyIGV4cGVjdHMgY29kZWNfZGF0YSBvbiB0aGUgY2FwcwoKMjAwOC0wMi0xMiAyMTozNjo0MCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBsaWJnc3RwbmcuZHNwIHRvIE1BTklGRVNULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGxpYmdzdHBuZy5kc3AgdG8gTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICBBZGQgbmV3IHNvdXJjZSBmaWxlcyB0byBWUyBwcm9qZWN0IGZpbGUuCgoyMDA4LTAyLTEyIDEzOjM0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEluaXRpYWxpc2UgdmFyaWFibGVzIHdoZW4gb3BlbmluZyB0aGUgWCBkaXNwbGF5IHJhdGhlciB0aGFuIGluIF9zdGFydCgpLCBhcyB0aGUgZGlzcGxheSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlcyB3aGVuIG9wZW5pbmcgdGhlIFggZGlzcGxheSByYXRoZXIKCSAgdGhhbiBpbiBfc3RhcnQoKSwgYXMgdGhlIGRpc3BsYXkgY2FuIGJlIG9wZW5lZCBiZWZvcmUgdGhhdC4KCSAgRml4ZXM6ICM1MTU5ODUKCjIwMDgtMDItMTIgMTI6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGRyYXdzdXJmYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2ZpbmFsaXplKToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCjIwMDgtMDItMTIgMTE6Mzg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQ2hhaW4gdXAgdGhlIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9jbGFzc19pbml0KToKCSAgQ2hhaW4gdXAgdGhlIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODQuCgoyMDA4LTAyLTEyIDExOjE0OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogQ2hhaW4gdXAgaW4gdGhlIGZpbmFsaXplIGZ1bmN0aW9uIGZvciBvdXIgY3VzdG9tIGJ1ZmZlciBzdWItY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBDaGFpbiB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24gZm9yIG91ciBjdXN0b20KCSAgYnVmZmVyIHN1Yi1jbGFzcy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgIEZpeGVzOiAjNTE1NzA2CgoyMDA4LTAyLTEyIDExOjEyOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIG1ldGhvZC4gRml4ZXMgYnVnICM1MTU5NzkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9mZW5jZWRfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBtZXRob2QuIEZpeGVzIGJ1ZyAjNTE1OTc5LgoKMjAwOC0wMi0xMiAxMTowOTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGcmVlIGFsbG9jYXRlZCBEYW1hZ2UgbWVtb3J5IGJlZm9yZSBjbG9zaW5nIG91ciBjb25uZWN0aW9uIHRvIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBGcmVlIGFsbG9jYXRlZCBEYW1hZ2UgbWVtb3J5IGJlZm9yZSBjbG9zaW5nIG91ciBjb25uZWN0aW9uIHRvIHRoZQoJICBYIHNlcnZlci4gRml4ZXM6ICM1MTU3MDYKCjIwMDgtMDItMTIgMDU6MjE6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCjIwMDgtMDItMTIgMDU6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhIGZldyBsaWJqcGVnIHN1cHByZXNzaW9ucyBhbmQgaW5pdGlhbGl6ZSBhIHZhcmlhYmxlIHRvIG1ha2Ugc21va2VlbmMgdmFsZ3JpbmQgY2xlYW4uIEZpeGVzIGJ1ZyAjNTE1NzAxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIEFkZCBhIGZldyBsaWJqcGVnIHN1cHByZXNzaW9ucyBhbmQgaW5pdGlhbGl6ZSBhIHZhcmlhYmxlIHRvCgkgIG1ha2Ugc21va2VlbmMgdmFsZ3JpbmQgY2xlYW4uIEZpeGVzIGJ1ZyAjNTE1NzAxLgoKMjAwOC0wMi0xMSAyMToyNDozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFJldmVydCBwYXRjaCB3aGljaCBzZW5kcyB0aW1lc3RhbXBzIG9ubHkgb24ga2V5ZnJhbWVzLCBhcyBpdCBicmVha3MgcGxheWJhY2sgd2l0aCBjdXJyZW50IGdzdC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgcGF0Y2ggd2hpY2ggc2VuZHMgdGltZXN0YW1wcyBvbmx5IG9uIGtleWZyYW1lcywgYXMgaXQKCSAgYnJlYWtzIHBsYXliYWNrIHdpdGggY3VycmVudCBnc3QtZmZtcGVnLgoJICBGaXhlczogIzUxNTU2MgoKMjAwOC0wMi0xMSAxNDowMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ2xvc2Ugc29tZSBtZW1vcnkgbGVha3Mgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LiBGaXhlcyBidWcgIzUxNTY5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDbG9zZSBzb21lIG1lbW9yeSBsZWFrcyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuIEZpeGVzIGJ1ZyAjNTE1Njk3LgoKMjAwOC0wMi0xMSAxMzo0ODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2djb25mL2djb25mLmM6IFVzZSBhbmQgdW5zZXQgdGhlIEdFcnJvciB3aGVuIHBpcGVsaW5lIGNyZWF0aW9uIGZhaWxzIGluc3RlYWQgb2Ygc2ltcGx5IGxlYWtpbmcgaXQuIEZpeGVzIGJ1ZyAjNTE1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgVXNlIGFuZCB1bnNldCB0aGUgR0Vycm9yIHdoZW4gcGlwZWxpbmUgY3JlYXRpb24gZmFpbHMgaW5zdGVhZCBvZgoJICBzaW1wbHkgbGVha2luZyBpdC4gRml4ZXMgYnVnICM1MTU3MDQuCgoyMDA4LTAyLTExIDA5OjEzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IERvbid0IGxlYWsgdGhlIGFsbG93ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2V0dXApOgoJICBEb24ndCBsZWFrIHRoZSBhbGxvd2VkIGNhcHMuCgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2xhbWUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU3RvcCBsZWFraW5nIGFsbCBidWZmZXJzLiBGaXhlcyBidWcgIzUxNTU3NS4KCjIwMDgtMDItMTAgMTA6NDY6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogRml4IGxvbmcgZGVzY3JpcHRpb24gb2YgYXVkaW9meCBlbGVtZW50cy4gRml4ZXMgYnVnICM1MTU0NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIEZpeCBsb25nIGRlc2NyaXB0aW9uIG9mIGF1ZGlvZnggZWxlbWVudHMuIEZpeGVzIGJ1ZyAjNTE1NDU3LgoKMjAwOC0wMi0wOSAwMTo0NTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgYSBzaW1wbGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdGhlIHNwZWN0cnVtIGVsZW1lbnQsIGluY2x1ZGUgaXQgaW4gdGhlIGRvY3MsIGFuZCBmaXggc29tZSBkb2N1bWVudGF0aW9uIGFtYmlndWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBBZGQgYSBzaW1wbGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdGhlIHNwZWN0cnVtIGVsZW1lbnQsIGluY2x1ZGUgaXQKCSAgaW4gdGhlIGRvY3MsIGFuZCBmaXggc29tZSBkb2N1bWVudGF0aW9uIGFtYmlndWl0aWVzLgoJICBGaXhlczogIzM0ODA4NQoKMjAwOC0wMi0wOSAwMDoxNToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggaW5jbHVkZXMgb3JkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBpbmNsdWRlcyBvcmRlcgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBFeGNsdWRlIHY0bDJzcmMgZnJvbSB0aGUgc3RhdGVzIHRlc3QgLSBpdCB0YWtlcyB0b28gbG9uZyB0byBzdGFydC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBNYWtlIHRoZSB0ZXN0IHJ1biBwcm9wZXJseSB3aXRoIENLX0ZPUks9bm8KCjIwMDgtMDItMDggMTU6MzI6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIDMgbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgMyBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMDgtMDItMDggMTU6Mjc6NTEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA4LTAyLTA4IDE1OjIwOjMxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGbGFnIGtleWZyYW1lIGFuZCBkZWx0YSB1bml0cyBjb3JyZWN0bHkgd2hlbiBkZWFsaWduIHdpdGggYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0wOCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKTogRmxhZwoJICBrZXlmcmFtZSBhbmQgZGVsdGEgdW5pdHMgY29ycmVjdGx5IHdoZW4gZGVhbGlnbiB3aXRoIGEKCSAgQmxvY2tHcm91cC4KCSAgRml4ZXM6ICM1MTQzOTcKCjIwMDgtMDItMDggMTA6MTk6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogU3BlbGwgdGhlIG5ldyB0ZXN0cyBjb3JyZWN0bHkgaW4gLmN2c2lnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBTcGVsbCB0aGUgbmV3IHRlc3RzIGNvcnJlY3RseSBpbiAuY3ZzaWdub3JlCgoyMDA4LTAyLTA4IDEwOjA5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogTmVlZCB0byB1c2UgZ3NpemUgaGVyZSBmb3IgdGhlIHNpemUsIGZpeGVzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgTmVlZCB0byB1c2UgZ3NpemUgaGVyZSBmb3IgdGhlIHNpemUsIGZpeGVzIGNvbXBpbGVyIHdhcm5pbmcuCgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIHRvIGZpeCB0aGUgYnVpbGQuCgoyMDA4LTAyLTA4IDA0OjI1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgbXVsdGlmaWxlIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIE1vdmUgbXVsdGlmaWxlIHBsdWdpbiBmcm9tIC1iYWQuCgkgIEZpeGVzOiAjNDkwMjgzCgoyMDA4LTAyLTA4IDAzOjQ0OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvOiBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBTaG91bGQgYmUgbGVzcyBlcnJvciBwcm9uZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyBzdGFuZGFyZCBmdW5jdGlvbnMgaW5zdGVhZCBvZgoJICBjcmVhdGluZyBhIGRpcmVjdG9yeSBpbiB0aGUgY3VycmVudCBkaXIuCgoyMDA4LTAyLTA4IDAzOjI4OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgc3BlY3RydW0gcGx1Z2luIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSBzcGVjdHJ1bSBwbHVnaW4gZnJvbSAtYmFkLgoJICBNb3ZlIGV4YW1wbGVzIGludG8gdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0uCgoyMDA4LTAyLTA4IDAyOjU2OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWVudGlvbiBidWcgNDE1NjI3IGZpeGVkIHdpdGggcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZW50aW9uIGJ1ZyA0MTU2MjcgZml4ZWQgd2l0aCBwcmV2aW91cyBjb21taXQKCjIwMDgtMDItMDggMDI6NDk6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiBhY3Jvc3MgZnJvbSAtYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luIGFjcm9zcyBmcm9tIC1iYWQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgZXF1YWxpemVyLCBhdWRpb3NpbmN3YmFuZCBhbmQgYXVkaW9zaW5jd2xpbWl0CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwOC0wMi0wOCAwMjo0ODo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUywgdG8gZ2V0IC1XZXJyb3IgLVdhbGwgaW50byB0aGUgdGVzdHMgYXMgZm9yCgkgIG90aGVyIG1vZHVsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgZnJvbSAtV2FsbCAtV2Vycm9yCgoyMDA4LTAyLTA4IDAxOjA3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBidWlsZCB3aXRoIERJU0FCTEVfREVQUkVDQVRFRCBkdXJpbmcgdGhlIENWUyBjeWNsZS4gUHJlLXJlbGVhc2VzIGFyZSB0cmVhdGVkIGxpa2UgcmVsZWFzZXMgYW5kIGJ1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgYnVpbGQgd2l0aCBESVNBQkxFX0RFUFJFQ0FURUQgZHVyaW5nIHRoZSBDVlMgY3ljbGUuIFByZS1yZWxlYXNlcwoJICBhcmUgdHJlYXRlZCBsaWtlIHJlbGVhc2VzIGFuZCBidWlsZCB3aXRob3V0IGl0LgoKMjAwOC0wMi0wNyAyMTo1Nzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHRoZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtYmFkIGludG8gdGhlIGF1ZGlvZnggcGx1Z2luLCBhbmQgcmVuYW1lIHRvIGF1ZGlvd3NpbmNsaW1pdCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBNb3ZlIHRoZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtYmFkIGludG8KCSAgdGhlIGF1ZGlvZnggcGx1Z2luLCBhbmQgcmVuYW1lIHRvIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQKCSAgcmVzcGVjdGl2ZWx5LgoJICBGaXhlczogIzQ2NzY2NgoKMjAwOC0wMi0wNyAyMToxNzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCBpZiB3ZSBnZXQgYSBidWZmZXIgd2l0aG91dCBjYXBzLCBhbmQgYWRkIGEgc29tZXdoYXQgdXNlZnVsIGRlYnVnIG1lc3NhZ2UuIFBsdXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCBpZiB3ZSBnZXQgYSBidWZmZXIgd2l0aG91dAoJICBjYXBzLCBhbmQgYWRkIGEgc29tZXdoYXQgdXNlZnVsIGRlYnVnIG1lc3NhZ2UuIFBsdXMgdGVzdC4KCjIwMDgtMDItMDcgMTk6MTM6NTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIEhBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBIQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEZWZpbmUgc29ja2xlbl90IGFzIGl0IHNlZW1zIGl0J3Mgbm90IGRlZmluZWQgaW4gZGVmYXVsdAoJICBWaXN1YWwgU3R1ZGlvIGhlYWRlcnMuCgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlIGRlcGVuZGVuY2llcyBhbmQgYWRkIG5ldyBzb3VyY2UgZmlsZXMKCjIwMDgtMDItMDcgMTY6Mzg6NTUgKzAwMDAgIEJqYXJuZSBSb3NlbmdyZW4gPGJqYXJuZUBheGlzLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHdlIGRvbid0IHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJqYXJuZSBSb3NlbmdyZW4gPGJqYXJuZSBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCk6CgkgIERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHdlIGRvbid0IHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzUxNDk2NS4KCjIwMDgtMDItMDcgMTM6NDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOiBBZGQgYSBmaXhtZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgQWRkIGEgZml4bWUgY29tbWVudC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHNhbWUgbGVhayBhcyBpbiBpbnB1dC1zZWxlY3Rvci4KCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0LgoKMjAwOC0wMi0wNyAxMzo0MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcHJvdmUgdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBJbXByb3ZlIHRoZSBkb2NzLgoKMjAwOC0wMi0wNyAxMDoxNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gKGdvb2QpIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkIGNvbmZ1c2lvbiBhbmQgbWFrZSBpbXBsaWNpdCBjb3JlIHJlcXVpcmVtZW50IGV4cC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIChnb29kKSByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZAoJICBjb25mdXNpb24gYW5kIG1ha2UgaW1wbGljaXQgY29yZSByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDgtMDItMDcgMTA6MDQ6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wMi0wNiAyMzo0NDo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgYXVkaW9jaGVieXNoZXZmcmVxYmFuZCAtPiBhdWRpb2NoZWJiYW5kIGFuZCBhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCAtPiBhdWRpb2NoZWJsaW1pdCBhbmQgZG8gdGhlIHJlcXVpc2l0ZSBDVlMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIFJlbmFtZSBhdWRpb2NoZWJ5c2hldmZyZXFiYW5kIC0+IGF1ZGlvY2hlYmJhbmQgYW5kCgkgIGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0IC0+IGF1ZGlvY2hlYmxpbWl0IGFuZCBkbyB0aGUgcmVxdWlzaXRlIENWUwoJICBzdXJnZXJ5LgoJICBDbG9zZXM6ICM0OTE4MTEKCjIwMDgtMDItMDYgMTE6MDc6NDcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMDItMDUgMTc6NTk6MjQgKzAwMDAgIG9yamFuIDxvcmphbmZAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBGaXggY2FwcyBtZW1vcnkgbGVhay4gRml4ZXMgIzUxNDU3My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBvcmphbiA8b3JqYW5mIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRml4IGNhcHMgbWVtb3J5IGxlYWsuIEZpeGVzICM1MTQ1NzMuCgoyMDA4LTAyLTA0IDEyOjA3OjE0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJZiB0aGVyZSdzIG5vIGVudHJpZXMgaW4gdGhlIHN1YmluZGV4LCBkb24ndCB0cnkgdG8gZG8gYW55dGhpbmcgc3R1cGlkLCBqdXN0IHJldHVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCk6CgkgIElmIHRoZXJlJ3Mgbm8gZW50cmllcyBpbiB0aGUgc3ViaW5kZXgsIGRvbid0IHRyeSB0byBkbyBhbnl0aGluZyBzdHVwaWQsCgkgIGp1c3QgcmV0dXJuLgoKMjAwOC0wMi0wMiAxOTo0Nzo1MCArMDAwMCAgSm9obiBNaWxsaWtpbiA8am1pbGxpa2luQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRml4IGV4dHJhY3Rpb24gb2YgcGljdHVyZSBibG9ja3Mgd2l0aCBuZXdlciBsaWJmbGFjIHZlcnNpb25zIGFnYWluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zY2FuX2Zvcl9sYXN0X2Jsb2NrKSwKCSAgKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpLCAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgRml4IGV4dHJhY3Rpb24gb2YgcGljdHVyZSBibG9ja3Mgd2l0aCBuZXdlciBsaWJmbGFjIHZlcnNpb25zIGFnYWluOgoJICBGTEFDX19NRVRBREFUQV9UWVBFX1BJQ1RVUkUgaXMgYW4gZW51bSwgbm90IGEgZGVmaW5lICgjNTEzNjI4KS4KCjIwMDgtMDItMDIgMTg6MDY6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIHJ0cC1wYXlsb2FkaW5nIHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIHJ0cC1wYXlsb2FkaW5nIHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9URVNUX0VORCBzbyBnc3QtaW5kZW50IGdldHMgdGhlCgkgIGZvcm1hdHRpbmcgcmlnaHQ7IG1ha2UgdGVzdCBsZXNzIHZlcmJvc2UgaW4gZ2VuZXJhbCwgYnV0CgkgIG1vcmUgdmVyYm9zZSBpbiB0aGUgZXJyb3IgY2FzZSAod2hpY2ggc2hvdWxkIHByb2JhYmx5CgkgIG1ha2UgdGhlIHRlc3QgZmFpbCBhbnl3YXkpLgoKMjAwOC0wMi0wMSAxODoyOToyMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhdmlzdWJ0aXRsZSBhbmQgY2hhbmdlIGNsYXNzIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhdmlzdWJ0aXRsZSBhbmQgY2hhbmdlIGNsYXNzIHRvCgkgIENvZGVjL1BhcnNlci9TdWJ0aXRsZQoKMjAwOC0wMS0zMSAxNjoxMjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IFRyZWF0IEVOT1RUWSAoZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBpb2N0bCkgdGhlIHNhbWUgYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIFRyZWF0IEVOT1RUWSAoZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBpb2N0bCkgdGhlIHNhbWUgYXMKCSAgRUlOVkFMIHNpbmNlIGl0IGltcGxpZXMgdGhlcmUgYXJlIG5vIGF2YWlsYWJsZSBzdGFuZGFyZHMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBSZXBsYWNlIGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyB3aXRoIDIgY2FsbHMgdG8gbmV3IGZ1bmN0aW9uCgkgIGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUsIGFuZCBnZXQgaXQgdG8gdXNlIFZJRElPQ19TX0ZNVCB0bwoJICBwcm9iZSBpZiB0aGUgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgVklESU9DX1RSWV9GTVQgZm9yIHdoYXRldmVyCgkgIHJlYXNvbiwgYW5kIGlmIHdlIGFyZW4ndCB5ZXQgYWN0aXZlbHkgY2FwdHVyaW5nLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgUmVtb3ZlIHJlcGxhY2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgoKMjAwOC0wMS0zMSAxNjowMzo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMTYgZm9yIHRoZSBnc3RfdmlkZW9fZm9ybWF0XyoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjE2IGZvciB0aGUgZ3N0X3ZpZGVvX2Zvcm1hdF8qCgkgIEFQSS4KCjIwMDgtMDEtMzEgMDk6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoKMjAwOC0wMS0zMSAwODo1NzoxNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgoyMDA4LTAxLTMxIDAwOjAzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHR5cG8uCgoyMDA4LTAxLTMxIDAwOjAwOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hbHBoYS86IFJlLXdyaXRlIHRoZSAnYWxwaGEnIHBsdWdpbiB0byBiZSBCYXNlVHJhbnNmb3JtIGJhc2VkLCBzaW1wbGlmeWluZyBzb21lIHN0dWZmLCBhbmQgbWFraW5nIGJ1ZmZlci1hbGxvYyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIFJlLXdyaXRlIHRoZSAnYWxwaGEnIHBsdWdpbiB0byBiZSBCYXNlVHJhbnNmb3JtIGJhc2VkLCBzaW1wbGlmeWluZwoJICBzb21lIHN0dWZmLCBhbmQgbWFraW5nIGJ1ZmZlci1hbGxvYyBhbmQgcmVzaXppbmcgd29yayBhdXRvbWF0aWNhbGx5LgoJICBObyBsb25nZXIgY3Jhc2hlcyBvbiBvZGQgZnJhbWUgd2lkdGhzIGFuZCBoZWlnaHRzLCBhbHRob3VnaCB0aGVyZQoJICBzZWVtcyB0byBiZSBhIGRpc2FncmVlbWVudCB3aXRoIGZmbXBlZ2NvbG9yc3BhY2UgYWJvdXQgd2hhdCBzaXplCgkgIGFuIEFZVVYgZnJhbWUgd2l0aCBvZGQgaGVpZ2h0IHNob3VsZCBiZS4KCjIwMDgtMDEtMzAgMTU6NDA6MzYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlZ2VuZXJhdGUgZXZlcnl0aGluZyBmb3IgdGhlIGRvY3VtZW50YXRpb24gY2hhbmdlcyB3ZSBoYWQuCgoyMDA4LTAxLTMwIDEzOjI5OjE1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19pbml0KToKCSAgTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eQoJICBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCjIwMDgtMDEtMzAgMTM6MDg6NDUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMzAgMTM6MDY6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfYm9keV9jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcmVzcG9uc2VfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291cDIuNCBhbmQgcmVxdWlyZSBpdC4gQWxzbyBpbXBsZW1lbnQgcmVkaXJlY3Rpb24KCSAgYW5kIG1hbnVhbCBwcm94eSBzcGVjaWZpY2F0aW9uLiBGaXhlcyBidWcgIzUxMDcwOC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHNvdXBodHRwc3JjLgoKMjAwOC0wMS0yOSAxODo0MzozMiArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy4qOiBQcmVhbGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzbyB0aGF0IGdfbWVtZHVwKCkgYW5kIGdzdF9idWZmZXJfbWVyZ2UoKSBhcmVuJ3QgbmVlZGVkIGFueW1vcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKHVzZXJfd3JpdGVfZGF0YSksIChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBQcmVhbGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzbyB0aGF0IGdfbWVtZHVwKCkgYW5kCgkgIGdzdF9idWZmZXJfbWVyZ2UoKSBhcmVuJ3QgbmVlZGVkIGFueW1vcmUuIFRoaXMgZ3JlYXRseSBpbXByb3ZlcwoJICBwZXJmb3JtYW5jZXMgYW5kIGZpeGVzICM1MTI1NDQuCgoyMDA4LTAxLTI5IDE4OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBHU3RyZWFtZXIgdGltZXN0YW1wcyBhcmUgUFRTIHZhbHVlcyB3aGlsZSBBVkkgb25seSBrbm93cyBhYm91dCBEVFMgdGltZXN0YW1wcy4gTWFrZSBzdXJlIHdlIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBHU3RyZWFtZXIgdGltZXN0YW1wcyBhcmUgUFRTIHZhbHVlcyB3aGlsZSBBVkkgb25seSBrbm93cyBhYm91dCBEVFMKCSAgdGltZXN0YW1wcy4gTWFrZSBzdXJlIHdlIG9ubHkgY29weSB0aGUgRFRTIGFzIHRoZSBidWZmZXIgdGltZXN0YW1wIHdoZW4KCSAgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIGtleSBmcmFtZS4KCjIwMDgtMDEtMjkgMTU6NDU6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIGFkZCB0ZXN0c3VpdGUgZm9yIHRoZSBydHAtcGF5bG9hZGVyIHRoYXQgdHJpZXMgc2ltdWxhdGluZyBkYXRhZmxvdy4gTmVlZHMgbW9yZSB0ZXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgQWRkIGFkZCB0ZXN0c3VpdGUgZm9yIHRoZSBydHAtcGF5bG9hZGVyIHRoYXQgdHJpZXMgc2ltdWxhdGluZwoJICBkYXRhZmxvdy4gTmVlZHMgbW9yZSB0ZXN0IGRhdGEuCgoyMDA4LTAxLTI5IDE1OjI3OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6IFJlbW92ZSB0d28gdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgoyMDA4LTAxLTI4IDEyOjE3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgZ19hc2NpaV9zdHJ0b2xsKCkgaW5zdGVhZCBvZiBhdG9sbCwgd2hpY2ggaXMgb25seSBhdmFpbGFibGUgaW4gQzk5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIGdfYXNjaWlfc3RydG9sbCgpIGluc3RlYWQgb2YgYXRvbGwsIHdoaWNoIGlzIG9ubHkKCSAgYXZhaWxhYmxlIGluIEM5OS4KCjIwMDgtMDEtMjYgMTY6MTk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZQoJICBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgoyMDA4LTAxLTI1IDEwOjUzOjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBNUEVHMiB2aWRlbyBwYXlsb2FkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSAgQWRkIE1QRUcyIHZpZGVvIHBheWxvYWRlcgoKMjAwOC0wMS0yMyAxNzowNTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSAjaW5jbHVkZSA8bWF0aC5oPiBpbnN0ZWFkIG9mICNpbmNsdWRlICJtYXRoLmgiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgVXNlICNpbmNsdWRlIDxtYXRoLmg+IGluc3RlYWQgb2YgI2luY2x1ZGUgIm1hdGguaCIuCgoyMDA4LTAxLTIxIDE5OjQxOjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGaXggdXAgc29tZSBDRkxBR1Mgc2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBzb21lIENGTEFHUyBzZXRzLgoJICBEb24ndCBpbmNsdWRlIGdjb25mdmlkZW9zcmMgaW4gdGhlIHN0YXRlcyB0ZXN0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHNvbWUgZXJyb3Igc3RyaW5ncyB0byBmYWlsX3VubGVzcyBhcmd1bWVudHMgdG8gZml4IHNvbWUgd2VpcmQKCSAgY29tcGlsZXIgZXJyb3JzIG9uIFNvbGFyaXMuCgoyMDA4LTAxLTIxIDE5OjM1OjU4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCB2aWRlbzRsaW51eCBoZWFkZXJzIG9uIFNvbGFyaXMgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCB2aWRlbzRsaW51eCBoZWFkZXJzIG9uIFNvbGFyaXMgdG9vLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KToKCSAgTWFrZSB2NGwyIGJ1aWxkIG9uIFNvbGFyaXMuCgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICM1MTA1MDUKCjIwMDgtMDEtMjEgMTE6NDY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBVcGRhdGUgbGlzdCBmcm9tIChzdGlsbCBsb2NhbCkgc2Nhbm5pbmcgc2NyaXB0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIGxpc3QgZnJvbSAoc3RpbGwgbG9jYWwpIHNjYW5uaW5nIHNjcmlwdC4KCjIwMDgtMDEtMjEgMDk6NTc6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0IGV2ZW4gbW9yZS4KCjIwMDgtMDEtMjEgMDc6NTQ6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSB4bWwgaW5jbHVkZXMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlZ2VuZXJhdGUgZmlsZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAwOC0wMS0yMCAwNTowNzo1MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZgoJICB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3aGljaCBpcyB3cm9uZyBhZnRlciBhIHNlZWsuCgoyMDA4LTAxLTE5IDE0OjU5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIEFkZCBidWcgbnVtYmVyIHRvIHRoZSBsYXRlc3QgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBidWcgbnVtYmVyIHRvIHRoZSBsYXRlc3QgZW50cnkKCjIwMDgtMDEtMTkgMTQ6NTM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTZXQgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0IHRvIHByZXZlbnQgZG91YmxlIGZyZWVzIG9yIG1ha2UgZmFpbHVyZXMgYnkgYW5vdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgVmljdG9yIFNUSU5ORVIgPHZpY3RvciBkb3Qgc3Rpbm5lciBhdCBoYXlwb2NhbGMgZG90IGNvbT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFNldCB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQgdG8gcHJldmVudCBkb3VibGUgZnJlZXMKCSAgb3IgbWFrZSBmYWlsdXJlcyBieSBhbm90aGVyIHVzZSBvZiBpdCBhZnRlcndhcmRzIG1vcmUgb2J2aW91cwoJICBhbmQgZml4IHVzZSBvZiBpdCBhZnRlciB0aGUgZnJlZWluZy4KCjIwMDgtMDEtMTkgMTQ6MzQ6NTAgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0IHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQKCSAgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aW9uIHF1ZXJ5LgoKMjAwOC0wMS0xOCAxMzo0MDozOCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IHVzZSBHU1RfV0FSTklORyBmb3IgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1c2UgR1NUX1dBUk5JTkcgZm9yIGxvZ2dpbmcKCjIwMDgtMDEtMTggMTA6MDU6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMTggMTA6MDQ6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBEb24ndCB0cnkgdG8gbGVhdmUgYSBtdWx0aWNhc3QgZ3JvdXAgd2l0aCBhbiBpbnZhbGlkIHNvY2tldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBEb24ndCB0cnkgdG8gbGVhdmUgYSBtdWx0aWNhc3QgZ3JvdXAgd2l0aCBhbiBpbnZhbGlkIHNvY2tldAoKMjAwOC0wMS0xOCAwODo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzogKHNldHVwX2VxdWFsaXplciksCgkgIChjbGVhbnVwX2VxdWFsaXplciksIChHU1RfU1RBUlRfVEVTVCksIChlcXVhbGl6ZXJfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoKMjAwOC0wMS0xOCAwNzowMzoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcCBsZWFraW5nCXRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSk6CgkgIFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AKCSAgbGVha2luZwl0aGVtLgoKMjAwOC0wMS0xOCAwNTozMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoKMjAwOC0wMS0xOCAwNToyNDozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChzb3VwX2FkZF9yYW5nZV9oZWFkZXIpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9jaHVuayk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoKMjAwOC0wMS0xNyAyMToyMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogd2hlcmUgdGhlIHBpY3R1cmUgbWV0YWRhdGEgZGVmaW5lcyBhbmQgc3RydWN0cyBkb24ndCBleGlzdCB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGFnYWluc3QgZmxhYyAxLjEuMiAoYXMgb24gZGViaWFuIHN0YWJsZSksIHdoZXJlCgkgIHRoZSBwaWN0dXJlIG1ldGFkYXRhIGRlZmluZXMgYW5kIHN0cnVjdHMgZG9uJ3QgZXhpc3QgeWV0LgoJICBGaXhlcyAjNTA5MzAxLgoKMjAwOC0wMS0xNyAxNzoyNjo0OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuKjogRml4IHRoZSBjYXNlIHdoZXJlIHlvdSBpbml0aWFsbHkgaGF2ZSBzdGVyZW8gaW5wdXQsIGFuZCBzbyBsYW1lJ3MgbW9kZSBpcyBub3Qgc2V0IHRvIG1vbm8sIGFuZCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgeW91IGluaXRpYWxseSBoYXZlIHN0ZXJlbyBpbnB1dCwgYW5kIHNvIGxhbWUncwoJICBtb2RlIGlzIG5vdCBzZXQgdG8gbW9ubywgYW5kIHRoZW4geW91IGdldCBpbnB1dCB3aXRoIG1vbm8gYXVkaW8gYW5kCgkgIHNvb24gYWZ0ZXIgeW91IGdldCBzdGVyZW8gaW5wdXQgYWdhaW4uIFdoYXQgaGFwcGVuZWQgYmVmb3JlIHRoaXMKCSAgY29tbWl0IGlzIHRoYXQgaXQgd291bGQga2VlcCB0aGUgZW5jb2RpbmcgbW9kZSBhcyBtb25vLiBJdCBzaG91bGQKCSAgY2hhbmdlIGl0IGJhY2sgdG8gdGhlIG9uZSByZXF1ZXN0ZWQgYnkgdGhlIGFwcCAob3IgdGhlIGRlZmF1bHQgb25lKQoJICBpZiBub3QgcmVxdWVzdGVkLgoKMjAwOC0wMS0xNyAxMToxMzoxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBwcm9wZXJ0eSB0byBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgb3Igbm90LiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiBzaGFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwIG9yIG5vdC4gVGhpcyBjYW4gYmUKCSAgdXNlZnVsIHdoZW4gc2hhcmluZyBhIHNvY2tldCBiZXR3ZWVuIG11bHRpcGxlIGVsZW1lbnRzLgoJICBGaXhlcyAjNTA5NTMxLgoKMjAwOC0wMS0xNiAyMTo1Mzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06IEFkZCBjb250cm9sbGVyIGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgQWRkIGNvbnRyb2xsZXIgZmxhZ3MuCgoyMDA4LTAxLTE2IDIwOjE3OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEFsc28gY29tbWl0IHRoZSBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBBbHNvIGNvbW1pdCB0aGUgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkuCgoyMDA4LTAxLTE2IDA4OjExOjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFJlbW92ZSBkdXBsaWNhdGUgZW50cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeS4KCjIwMDgtMDEtMTUgMTY6NTI6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCAzIG1vcmUgcGx1Z2lucyB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgQWRkIDMgbW9yZSBwbHVnaW5zIHRvIGRvY3MuCgoyMDA4LTAxLTE1IDE2OjA0OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIGNhdXNlZCBieSBhIGZpbGUgdGhhdCBnb3Qgc3R1Y2sgb24gYW4gb2xkIHJldmlzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2UgY2F1c2VkIGJ5IGEgZmlsZSB0aGF0IGdvdCBzdHVjayBvbiBhbiBvbGQKCSAgcmV2aXNpb24uCgoyMDA4LTAxLTE1IDE1OjQwOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZS1hZGQgbXVsdGlwYXJ0ZGVtdXggdG8gdGhlIGRvY3MuIExhc3Qgcm91bmQgb2Ygc2VjdGlvbiBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBSZS1hZGQgbXVsdGlwYXJ0ZGVtdXggdG8gdGhlIGRvY3MuIExhc3Qgcm91bmQgb2Ygc2VjdGlvbiBjbGVhbnVwLgoKMjAwOC0wMS0xNSAxNToyMjo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFuYWdlZCB0byByZXNvbHZlIG1vc3QgdW51c2VkIGRlY2xhcmF0aW9ucy4gRmlsZWQgYSBidWcgZm9yIG9uZSBsZWZ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgTWFuYWdlZCB0byByZXNvbHZlIG1vc3QgdW51c2VkIGRlY2xhcmF0aW9ucy4gRmlsZWQgYSBidWcgZm9yIG9uZSBsZWZ0LgoKMjAwOC0wMS0xNSAwODowMzo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IENsZWFudXAgc2VjdGlvbiBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQ2xlYW51cCBzZWN0aW9uIGZpbGUuCgoyMDA4LTAxLTE1IDA3OjQyOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgcGx1Z2luIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgVXBkYXRlIHBsdWdpbiBkb2NzLgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICBTcGxpdCBvdXQgaGVhZGVyIHRvIGZpeCB3YXJuaW5ncyBmcm9tIHRoZSBkb2MtYnVpbGQuCgoyMDA4LTAxLTE0IDEyOjM1OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQXMgZm91bmQgYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBcyBmb3VuZCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIGF0b2xsIHRvIHBhcnNlIHRoZSBydHB0aW1lIHdpdGggZW5vdWdoIHByZWNpc2lvbi4gRml4ZXMgIzUwOTMyOS4KCjIwMDgtMDEtMTQgMTI6MTE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJbml0aWFsaXNlIHZhcmlhYmxlcyB0byB3b3JrIGFyb3VuZCAoZmFsc2UpICdmb28gbWlnaHQgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIHdhcm5pbmdzIGJ5IGdjYy0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X2ZpbGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlcyB0byB3b3JrIGFyb3VuZCAoZmFsc2UpICdmb28gbWlnaHQgYmUgdXNlZAoJICB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIHdhcm5pbmdzIGJ5IGdjYy0zLjMuMyAoIzUwOTI5OCkuCgoyMDA4LTAxLTE0IDExOjI0OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGUgaW5zdGVhZCBvZiBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50IGFzIDggKiBHU1RfU0VDT05EIGlzIHRvbyBsYXJnZSBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2lua19ldmVudCk6CgkgIFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGUgaW5zdGVhZCBvZiBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50CgkgIGFzIDggKiBHU1RfU0VDT05EIGlzIHRvbyBsYXJnZSBmb3IgaW50LgoKMjAwOC0wMS0xNCAwOToxNzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHN5a25ldC5iZT4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogQ29ycmVjdGx5IHNldCBudW1iZXIgb2YgY2hhbm5lbHMgd2hlbiB1c2luZyBtb25vLWVuY29kaW5nIG1vZGUgYW5kIGZpeCB0aGUgZHVyYXRpb24gY2FsY3VsYXRpb24gby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBzeWtuZXQgZG90IGJlPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbGFtZV9zaW5rX2V2ZW50KToKCSAgQ29ycmVjdGx5IHNldCBudW1iZXIgb2YgY2hhbm5lbHMgd2hlbiB1c2luZyBtb25vLWVuY29kaW5nIG1vZGUKCSAgYW5kIGZpeCB0aGUgZHVyYXRpb24gY2FsY3VsYXRpb24gb2YgdGhlIEVPUyBidWZmZXIuCgoyMDA4LTAxLTEyIDAyOjMyOjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIElnbm9yZSBtb3JlIGZpbGVzIGZvciB0aGUgYnVpbGRib3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZSBmaWxlcyBmb3IgdGhlIGJ1aWxkYm90LgoKMjAwOC0wMS0xMSAyMTowODo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBHZW5lcmF0ZSB0aGUgaW1hZ2UtdHlwZSB2YWx1ZXMgY29ycmVjdGx5LiBMZWF2ZSB0aGVtIG91dCBvZiB0aGUgY2FwcyB3aGVuIG91dHB1dHRpbmcgYSAicHJldmlldyBpbWFnZSIgdGFnLCBzaW5jZSBpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlcik6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgR2VuZXJhdGUgdGhlIGltYWdlLXR5cGUgdmFsdWVzIGNvcnJlY3RseS4gTGVhdmUgdGhlbSBvdXQgb2YgdGhlIGNhcHMKCSAgd2hlbiBvdXRwdXR0aW5nIGEgInByZXZpZXcgaW1hZ2UiIHRhZywgc2luY2UgaXQgb25seSBtYWtlcyBzZW5zZQoJICB0byBoYXZlIG9uZSBvZiB0aG9zZSAtIHRoZSB0eXBlIGlzIGlycmVsZXZhbnQuCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pOgoJICBJZiB3ZSBjYW4sIG1hcmsgdGhlIG1peGVyIG11bHRpcGxlIG9wZW4gd2hlbiB3ZSB1c2UgaXQsIGluIGNhc2UKCSAgKGZvciBzb21lIHJlYXNvbikgdGhlIHByb2Nlc3Mgd2FudHMgdG8gb3BlbiBpdCBhZ2FpbiBlbHNld2hlcmUuCgoyMDA4LTAxLTExIDE5OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoY3JlYXRlX3Rlc3RfYnVmZmVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAodGVzdF9idWZmZXJfbmV3KToKCSAgSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCjIwMDgtMDEtMTEgMTg6NTY6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOgoJICBpZ25vcmUgc29tZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgc29tZSBtb3JlCgoyMDA4LTAxLTExIDE4OjU0OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIHNvbWUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIHNvbWUgbW9yZQoKMjAwOC0wMS0xMSAxNzoyMTozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBGaXggdGhlIGNsb2NrIHJhdGUgdG8gOTAwMDAgYXMgcmVxdWlyZWQgYnkgdGhlIFJGQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBGaXggdGhlIGNsb2NrIHJhdGUgdG8gOTAwMDAgYXMgcmVxdWlyZWQgYnkgdGhlIFJGQy4KCSAgRml4ZXMgIzUwODY0NC4KCjIwMDgtMDEtMTEgMTc6MTI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChHU1RfU1RBUlRfVEVTVCksIChpY3lkZW11eF9zdWl0ZSk6CgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQy4KCjIwMDgtMDEtMTAgMTI6MjU6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzCgkgIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UgcmVxdWlyZSBHTlUgbWFrZSBpbiBhbG1vc3QKCSAgZXZlcnkgTWFrZWZpbGUgYW55d2F5LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFNX1BST0dfQ0NfQ19PIGFzIGEgY29tcGlsZXIgdGhhdCBhY2NlcHRzIGJvdGggLWMgYW5kIC1vCgkgIGF0IHRoZSBzYW1lIHRpbWUgaXMgcmVxdWlyZWQgZm9yIHBlciB0YXJnZXQgZmxhZ3MuCgoyMDA4LTAxLTA5IDE1OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggZXJyb3IgZnJvbSBteSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgIEZpeCBlcnJvciBmcm9tIG15IGxhc3QgY29tbWl0LgoKMjAwOC0wMS0wOSAxNToyMDoxOSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBNYWtlIHN1cmUgdGhlIElTTyA2MzktWCBsYW5ndWFnZSBjb2RlIGluIElEM3YyIENPTU0gZnJhbWVzIHNvIHdlIGRvbid0IGVuZCB1cCB3aXRoIG5vbi1VVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9jb21tZW50X2ZyYW1lKToKCSAgTWFrZSBzdXJlIHRoZSBJU08gNjM5LVggbGFuZ3VhZ2UgY29kZSBpbiBJRDN2MiBDT01NIGZyYW1lcwoJICBpcyBhY3R1YWxseSB2YWxpZCBVVEYtOCAob3IgcmF0aGVyOiBBU0NJSSksIHNvIHdlIGRvbid0IGVuZAoJICB1cCB3aXRoIG5vbi1VVEY4IHN0cmluZ3MgaW4gdGFncyBpZiB0aGVyZSdzIGdhcmJhZ2UgaW4gdGhlCgkgIGxhbmd1YWdlIGZpZWxkLiBBbHNvIG1ha2Ugc3VyZSB0aGUgbGFuZ3VhZ2UgY29kZSBpcyBhbHdheXMKCSAgbG93ZXIgY2FzZS4gRml4ZXM6ICM1MDgyOTEuCgoyMDA4LTAxLTA5IDEzOjU1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEZpeCBDaGFuZ2VMb2cgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBGaXggQ2hhbmdlTG9nIHR5cG8uCgoyMDA4LTAxLTA5IDEzOjUwOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZ2luZyBjb3ZlcmFnZSByZXBvcnRzLiBHdWFyZCBjaGVjay10b3J0dXJlIHRhcmdldCBsaWtlIGluIHRoZSBvdGhlciBwYWNrYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGdpbmcgY292ZXJhZ2UgcmVwb3J0cy4gR3VhcmQKCSAgY2hlY2stdG9ydHVyZSB0YXJnZXQgbGlrZSBpbiB0aGUgb3RoZXIgcGFja2FnZXMuCgoyMDA4LTAxLTA5IDEyOjMzOjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLCAoX2RvX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9pbml0KSwgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKToKCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlLgoJICBTZW5kIG5ld3NlZ21lbnQgYXQgdGhlIHJpZ2h0IG1vbWVudAoJICBGaXhlcyAjNDg4ODc5CgoyMDA4LTAxLTA5IDEyOjAxOjE0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2FscGhhLzogTWFrZSB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzIG9mICdhbHBoYScgY29udHJvbGxhYmxlLiBUaGlzIGFsbG93cyBkb2luZyBuaWNldGllcyBsaWtlIGZhZGUtaW4vZmFkZS1vdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9pbml0KSwKCSAgKGdzdF9hbHBoYV9zaW5rX2V2ZW50KSwgKGdzdF9hbHBoYV9jaGFpbiksCgkgIChnc3RfYWxwaGFfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgTWFrZSB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzIG9mICdhbHBoYScgY29udHJvbGxhYmxlLiBUaGlzIGFsbG93cyBkb2luZwoJICBuaWNldGllcyBsaWtlIGZhZGUtaW4vZmFkZS1vdXQuCgoyMDA4LTAxLTA5IDExOjExOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwLzogUmVtb3ZlIGNvcHkvcGFzdGUgdW51c2VkIGNvZGUgKHByb3BlcnR5IHNldHRlcnMgYW5kIGdldHRlcikgZm91bmQgYnkgdGhlIGNvdmVyYWdlIHN1aXRlICh5YXksIHNhdmVzIH4yMGsgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBSZW1vdmUgY29weS9wYXN0ZSB1bnVzZWQgY29kZSAocHJvcGVydHkgc2V0dGVycyBhbmQgZ2V0dGVyKSBmb3VuZCBieQoJICB0aGUgY292ZXJhZ2Ugc3VpdGUgKHlheSwgc2F2ZXMgfjIwayBvbiBkaXNrKS4KCjIwMDgtMDEtMDggMjA6MDM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFsc28gZml4IHVwIHBhZCB0ZW1wbGF0ZXMgdG8gaW5kaWNhdGUgdGhhdCBpbWFnZS9qcGVnIGRvZXNuJ3QgYWJzb2x1dGVseSByZXF1aXJlIHRoZSBmcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoQ09NTU9OX1ZJREVPX0NBUFNfTk9fRlJBTUVSQVRFKSwKCSAgKHZpZGVvc2lua190ZW1wbCk6CgkgIEFsc28gZml4IHVwIHBhZCB0ZW1wbGF0ZXMgdG8gaW5kaWNhdGUgdGhhdCBpbWFnZS9qcGVnIGRvZXNuJ3QKCSAgYWJzb2x1dGVseSByZXF1aXJlIHRoZSBmcmFtZXJhdGUgcHJvcGVydHkgdG8gYmUgc2V0ICgjNTA0MDgxKS4KCjIwMDgtMDEtMDggMTk6NTc6MjMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IEtlZXAgdHJhY2sgb2YgZmlyc3QgYW5kIGxhc3QgdGltZXN0YW1wcyBmb3IgZWFjaCBpbmNvbWluZyBzdHJlYW0sIHNvIHdlIGNhbiBjYWxjdWxhdGUgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgS2VlcCB0cmFjayBvZiBmaXJzdCBhbmQgbGFzdCB0aW1lc3RhbXBzIGZvciBlYWNoIGluY29taW5nIHN0cmVhbSwKCSAgc28gd2UgY2FuIGNhbGN1bGF0ZSB0aGUgdG90YWwgZHVyYXRpb24gZm9yIGxpdmUgc291cmNlcyBhbmQgb3RoZXIKCSAgaW5wdXQgd2hlcmUgd2UgY2FuJ3QgcXVlcnkgdGhlIGR1cmF0aW9uIGZyb20gdGhlIHN0YXJ0IG9yIHdoZXJlCgkgIHRoZXJlJ3Mgbm8gY29uc3RhbnQgZnJhbWVyYXRlIGZyb20gd2hpY2ggd2UgY2FuIGRlZHVjZSB0aGUKCSAgZHVyYXRpb247IGFsc28gdXNlIGNhbGN1bGF0ZWQvb2JzZXJ2ZWQgZHVyYXRpb24gaWYgaXQgaXMgYmlnZ2VyCgkgIHRoYW4gdGhlIHByZXZpb3VzbHkgcXVlcmllZCBkdXJhdGlvbi4gRnVydGhlcm1vcmUsIHVzZQoJICBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSBhbmQgdGFrZSBpbnRvIGFjY291bnQgdGhhdCBpdCBtYXkKCSAgcmV0dXJuIFRSVUUgYnV0IHN0aWxsIGEgZHVyYXRpb24gb2YgQ0xPQ0tfVElNRV9OT05FLCB3aGljaCBlYXNpbHkKCSAgc2NyZXdzIHVwIGNvbXBhcmlzb25zIHdoZW4gdXNpbmcgdW5zaWduZWQgaW50ZWdlcnMuIEZpeGVzICM1MDQwODEuCgoyMDA4LTAxLTA4IDE0OjU4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBNYWtlIGVsZW1lbnRzIEdTVF9CVUZGRVJfRkxBR19HQVAgYXdhcmUgYW5kIGNhbGwgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsaXBwaW5nX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCk6CgkgIE1ha2UgZWxlbWVudHMgR1NUX0JVRkZFUl9GTEFHX0dBUCBhd2FyZSBhbmQgY2FsbAoJICBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X2dhcF9hd2FyZSBmb3IgdGhpcy4KCSAgQnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIENWUy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKToKCSAgQWxzbyBzeW5jIEdPYmplY3QgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBvcGVyYXRpbmcKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDgtMDEtMDcgMTY6NDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoKMjAwOC0wMS0wNSAyMToyMDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91ciBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMDUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X3dpbmRvd19pZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZHJhd19ib3JkZXJzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyCgkgIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaGFuY2UgdG8KCSAgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgcHJlcGFyZS14d2luZG93LWlkIGJ1cyBtZXNzYWdlLiBEcmF3CgkgIGJsYWNrIGJvcmRlcnMgd2hlbiBrZWVwaW5nIGFzcGVjdCByYXRpby4gSGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIG91cgoJICByZW5kZXJpbmcgd2luZG93IGRpc2FwcGVhcnMgKGNsb3NlZCBvciBlcnJvcnMpIGxpa2Ugb3RoZXIgc2lua3MKCSAgZG8uIFZhcmlvdXMgODAgY29sdW1ucyBmaXhlcywgaW1wcm92ZSBzdGF0ZSBjaGFuZ2Ugb3JkZXIuIFRoYXQKCSAgZWxlbWVudCBjb3VsZCBuZWVkIHNvbWUgbW9yZSBsb3ZlLgoKMjAwOC0wMS0wNCAxODozMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RhZ2xpYi86IFJlbW92ZSB1c2VsZXNzIHR5cGVkZWZzIHdpdGhvdXQgbmV3IHR5cGUgbmFtZS4gRml4ZXMgYSB3YXJuaW5nIHdpdGggZ2NjIDQuMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgUmVtb3ZlIHVzZWxlc3MgdHlwZWRlZnMgd2l0aG91dCBuZXcgdHlwZSBuYW1lLiBGaXhlcyBhIHdhcm5pbmcgd2l0aAoJICBnY2MgNC4zLgoKMjAwOC0wMS0wMyAxMjoyNjowMyArMDAwMCAgSm9obiBNaWxsaWtpbiA8am1pbGxpa2luQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRW1pdCBtZXRhZGF0YSBtZXNzYWdlcyB3aGVuIGEgUElDVFVSRSBibG9jayBpcyBlbmNvdW50ZXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb2huIE1pbGxpa2luIDxqbWlsbGlraW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfbm9ybWFsaXplX3BpY3R1cmVfbWltZV90eXBlKSwKCSAgKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgRW1pdCBtZXRhZGF0YSBtZXNzYWdlcyB3aGVuIGEgUElDVFVSRSBibG9jayBpcyBlbmNvdW50ZXJlZC4KCSAgRml4ZXMgIzUwNjcxNS4KCjIwMDgtMDEtMDIgMTM6NTQ6MTAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aS5jOiBpbmNyZWFzZSByYW5rIGJlY2F1c2Ugbm8ga25vd24gaXNzdWVzIGFueW1vcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGluY3JlYXNlIHJhbmsgYmVjYXVzZSBubyBrbm93biBpc3N1ZXMgYW55bW9yZSAuLi4KCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIHNlbmQgc3VidGl0bGUgbmFtZSB0byB0aGUgc3JjcGFkCgoyMDA3LTEyLTMxIDEzOjI3OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbXBsZW1lbnQgcmVkaXJlY3QgZm9yIHRoZSBERVNDUklCRSByZXBseS4gRml4ZXMgIzUwNjAyNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCByZWRpcmVjdCBmb3IgdGhlIERFU0NSSUJFIHJlcGx5LiBGaXhlcyAjNTA2MDI1LgoKMjAwNy0xMi0yOSAxNjo0ODozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbmQgZG9uJ3QKCSAgYWJvcnQoKSBpbiBhbnkgY2FzZSBidXQgcHJvcGVybHkgcmVwb3J0IHRoZSBlcnJvci4KCjIwMDctMTItMjggMTE6NDQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc291cC86IFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbiBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKHNvdXBfZ290X2hlYWRlcnMpOgoJICBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24KCSAgaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgoyMDA3LTEyLTI2IDE2OjAzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IChpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggKGl0J3MKCSAgbm90IHJlYWxseSBuaWNlIHRvIGFib3J0IGluIGFueSBjYXNlKS4gRml4ZXMgIzUwNTc0NS4KCjIwMDctMTItMjAgMTc6MDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA3LTEyLTE4IDIzOjE3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzogU21hbGwgdW5pdCB0ZXN0IGZpeCAoaGFzIG5vIHByYWN0aWNhbCBpbXBhY3QgYXQgdGhlIG1vbWVudCwgc2luY2Ugd2UncmUgb25seSBmZWVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6IChjaGVja19jb3JyZWN0X2J1ZmZlcik6CgkgIFNtYWxsIHVuaXQgdGVzdCBmaXggKGhhcyBubyBwcmFjdGljYWwgaW1wYWN0IGF0IHRoZSBtb21lbnQsCgkgIHNpbmNlIHdlJ3JlIG9ubHkgZmVlZGluZyB1dGY4IGFuZCBoZW5jZSBqdXN0IGNyZWF0ZSBhIHN1Yi0KCSAgYnVmZmVyIGZvciB0aGUgb3V0cHV0KS4KCjIwMDctMTItMTggMjE6MTM6MDUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IGZvciBhdmkgc3VidGl0bGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgZm9yIGF2aSBzdWJ0aXRsZQoKMjAwNy0xMi0xOCAxNzo0MDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogUmVtb3ZlIHNvbWUgdW51c2VkIHZhcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKSwgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcnMuCgkgIERvIG1vcmUgY2xlYW51cCBvZiBsZWZ0b3ZlciBldmVudHMgYW5kIHRhZ3MuCgkgIE91dHB1dCB0YWdzIGFmdGVyIHRoZSBzZWdtZW50IGV2ZW50LiBGaXhlcyAjNTA0MDE4LgoKMjAwNy0xMi0xOCAxNDozMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogRGV0ZWN0IG90aGVyIFVURiBieXRlIG9yZGVyIG1hcmtlcnMgYW5kIGNvbnZlcnQgdG8gVVRGLTggYXMgYXBwcm9wcmlhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKElTX0JPTV9VVEY4KSwgKElTX0JPTV9VVEYxNl9CRSksCgkgIChJU19CT01fVVRGMTZfTEUpLCAoSVNfQk9NX1VURjMyX0JFKSwgKElTX0JPTV9VVEYzMl9MRSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfZmlsZSksIChnc3RfYXZpX3N1YnRpdGxlX3BhcnNlX2dhYjJfY2h1bmspOgoJICBEZXRlY3Qgb3RoZXIgVVRGIGJ5dGUgb3JkZXIgbWFya2VycyBhbmQgY29udmVydCB0byBVVEYtOCBhcwoJICBhcHByb3ByaWF0ZS4KCjIwMDctMTItMTggMTM6MzA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLio6IFJlZmFjdG9yIGEgYml0OyBmaXggbmFtZSBleHRyYWN0aW9uOyBkb24ndCBhc3N1bWUgYWxsIHRoZSBkYXRhIGluIHRoZSBjaHVuayBpcyBhY3R1YWxseSBzdWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoc3JjX3RlbXBsYXRlKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF91dGY4X2ZpbGUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9wYXJzZV9nYWIyX2NodW5rKSwgKGdzdF9hdmlfc3VidGl0bGVfY2hhaW4pLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9iYXNlX2luaXQpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfaW5pdCksIChnc3RfYXZpX3N1YnRpdGxlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOgoJICBSZWZhY3RvciBhIGJpdDsgZml4IG5hbWUgZXh0cmFjdGlvbjsgZG9uJ3QgYXNzdW1lIGFsbCB0aGUgZGF0YQoJICBpbiB0aGUgY2h1bmsgaXMgYWN0dWFsbHkgc3VidGl0bGUgZGF0YSwgdGhlcmUgbWF5IGJlIHBhZGRpbmcgYXQKCSAgdGhlIGVuZDsgZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlOyBzdG9yZSBleHRyYWN0ZWQgc3VidGl0bGUKCSAgZmlsZSBzbyBpdCdzIHRoZXJlIHRvIHNlbmQgYWdhaW4gYWZ0ZXIgYSBzZWVrIChmb3IgZnV0dXJlIHVzZSkuCgoyMDA3LTEyLTE4IDA5OjEzOjEyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIGF2aSBzdWJ0aXRsZSBlbGVtZW50IGZvciBidWcgIzQ0MjAzNC4gTmVlZCBzZWVraW5nIHN1cHBvcnQgYW5kIG1vcmUgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBBZGQgYXZpIHN1YnRpdGxlIGVsZW1lbnQgZm9yIGJ1ZyAjNDQyMDM0LiBOZWVkIHNlZWtpbmcgc3VwcG9ydAoJICBhbmQgbW9yZSBzdXBwb3J0IGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbi4KCjIwMDctMTItMTggMDk6MDc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0CgkgIGZpbGVzIChzZWUgIzM5MzYyNikuCgkgICogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkgIEZpeCBsaW5lIGVuZGluZ3MgYW5kIGRvIGN2cyBhZG1pbiAta2IuCgoyMDA3LTEyLTE3IDIxOjEyOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLio6IFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZCBhbiBFT1MgaW5zdGVhZCBvZiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZAoJICBhbiBFT1MgaW5zdGVhZCBvZiBjYXVzaW5nIGFuIGVycm9yLgoKMjAwNy0xMi0xNiAyMzo0Mzo0NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWN0dWFsbHkgZHJvcCB0aGUgYnVmZmVycyB3aGljaCBhcmUgb3V0c2lkZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGp1c3QgZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBBY3R1YWxseSBkcm9wIHRoZSBidWZmZXJzIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZAoJICBzZWdtZW50IGluc3RlYWQgb2YganVzdCBlbWl0dGluZyBhIFdBUk5JTkcuCgoyMDA3LTEyLTE0IDE4OjQ5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBTZW5kIHNlZ21lbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuIEZpeGVzICM1MDIxODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgU2VuZCBzZWdtZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLiBGaXhlcyAjNTAyMTg3LgoJICBGaXggc2VnbWVudCBzZWVraW5nIGFuZCBhIGJ1bmNoIG9mIG90aGVyIHNlZWtpbmcgY2FzZXMuCgoyMDA3LTEyLTE0IDEwOjE3OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFBhcnNlIFdPQUYgZnJhbWVzIGFuZCBwdXQgdGhlIHJlc3VsdCBpbnRvIEdTVF9UQUdfQ09OVEFDVCwgd2hpY2ggaXMgd2hlcmUgaXQgd291bGQgZW5kIHVwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdXJsX2xpbmtfZnJhbWUpOgoJICBQYXJzZSBXT0FGIGZyYW1lcyBhbmQgcHV0IHRoZSByZXN1bHQgaW50byBHU1RfVEFHX0NPTlRBQ1QsCgkgIHdoaWNoIGlzIHdoZXJlIGl0IHdvdWxkIGVuZCB1cCBpZiB0aGUgc2FtZSBpbmZvcm1hdGlvbiB3YXMKCSAgcHV0IGluIGEgdm9yYmlzIGNvbW1lbnQgKGRvbid0IHRoaW5rIGl0J3Mgd29ydGggYWRkaW5nIGEKCSAgbmV3IFVSSSB0YWcgZm9yIHRoaXMpLiBGaXhlcyAjNDg4MTEyLgoKMjAwNy0xMi0xMSAyMjoyOToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgbmVlZCBjb3JlL2Jhc2UgMC4xMC4xNSBvciBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIGNvcmUvYmFzZSAwLjEwLjE1IG9yIGxhdGVyLgoKMjAwNy0xMi0xMSAxNjo0NzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCByZWdyZXNzaW9uIGluIHN0cmVhbSBudW1iZXJpbmcuIEZpeGVzICM1MDI2NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSk6CgkgIEZpeCByZWdyZXNzaW9uIGluIHN0cmVhbSBudW1iZXJpbmcuIEZpeGVzICM1MDI2NTUuCgoyMDA3LTEyLTExIDE2OjM5OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwgKHVuaWNvZGlmeSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLCAoc291cF9maW5pc2hlZCksCgkgIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwgKHNvdXBfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cGh0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIFJlb3JnYW5pc2UgYSBidW5jaCBvZiB0aGluZ3MgYW5kIGNsZWFudXBzLgoJICBVc2VzIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAlbGx1LgoJICBTZWUgIzUwMjMzNS4KCjIwMDctMTItMTEgMTY6MzE6NDkgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogVXNlIGhpZ2hlciBwZXJmb3JtYW5jZSBzdGFydC1jb2RlIHNlYXJjaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLAoJICAobmV4dF9zdGFydF9jb2RlKSwgKGlzX25hbF9lcXVhbCksIChnc3RfcnRwX2gyNjRfcGF5X2RlY29kZV9uYWwpLAoJICAoZW5jb2RlX2Jhc2U2NCksIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgVXNlIGhpZ2hlciBwZXJmb3JtYW5jZSBzdGFydC1jb2RlIHNlYXJjaGluZy4KCSAgUGFyc2UgTkFMcyBhbmQgc3RvcmUgU1BTLCBQUFMgYW5kIHByb2ZpbGUgaW4gdGhlIGNhcHMgc28gdGhhdCB0aGV5IGNhbgoJICBiZSB1c2VkIGluIHRoZSBTRFAuIEZpeGVzICM1MDI4MTQuCgoyMDA3LTEyLTExIDExOjUwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBJbml0IHNvbWUgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB3ZSBwYXNzIHRoZW0gdG8gaW9jdGwsIHdoaWNoIGF2b2lkcyB2YWxncmluZCB3YXJuaW5ncy4gIEFsc28gZml4IGEgc21hbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpOgoJICBJbml0IHNvbWUgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB3ZSBwYXNzIHRoZW0gdG8gaW9jdGwsIHdoaWNoCgkgIGF2b2lkcyB2YWxncmluZCB3YXJuaW5ncy4gIEFsc28gZml4IGEgc21hbGwgbWVtb3J5IGxlYWsuCgoyMDA3LTEyLTExIDExOjA1OjU3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBDb3B5IHRpbWVzdGFtcCBmcm9tIGlucHV0IHRvIG91dHB1dC4gTm90IHZlcnkgcGVyZmVjdCB5ZXQgYnV0IGJldHRlciB0aGFuIG5vdGhpbmcuIEZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgIENvcHkgdGltZXN0YW1wIGZyb20gaW5wdXQgdG8gb3V0cHV0LiBOb3QgdmVyeSBwZXJmZWN0IHlldCBidXQgYmV0dGVyCgkgIHRoYW4gbm90aGluZy4gRml4ZXMgIzUwMzAyMy4KCjIwMDctMTItMDkgMTY6NDk6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWxzbyBwcmludCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdpdGggdGhlIG9sZCBXYXZwYWNrIEFQSSBpZiBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgQWxzbyBwcmludCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdpdGggdGhlIG9sZCBXYXZwYWNrIEFQSQoJICBpZiBwb3NzaWJsZS4KCjIwMDctMTItMDkgMTY6MzQ6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE1vcmUgYnVpbGQgZml4ZXMgZm9yIG9sZCBsaWJ3YXZwYWNrIHZlcnNpb25zOiBpbmNsdWRlIGNvbmZpZy5oIHNvIHRoYXQgV0FWUEFDS19PTERfQVBJIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBNb3JlIGJ1aWxkIGZpeGVzIGZvciBvbGQgbGlid2F2cGFjayB2ZXJzaW9uczogaW5jbHVkZSBjb25maWcuaCBzbwoJICB0aGF0IFdBVlBBQ0tfT0xEX0FQSSBpcyBhY3R1YWxseSBkZWZpbmVkIGFzIGRldGVjdGVkOyBvbmx5IHVzZQoJICBXYXZwYWNrR2V0RXJyb3JNZXNzYWdlIGlmIGl0IGlzIGF2YWlsYWJsZS4gVGhpcyBmaXhlcyB0aGUgYnVpbGQKCSAgb24gZGViaWFuIHN0YWJsZSBmb3IgbWUuCgoyMDA3LTEyLTA5IDE2OjIxOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFdvcmthcm91bmQgdGhlIG5vbi1leGlzdGFuY2Ugb2YgV2F2cGFja0dldENoYW5uZWxNYXNrIGluIFdhdnBhY2sgdmVyc2lvbnMgYmVsb3cgNC40MC4wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBXb3JrYXJvdW5kIHRoZSBub24tZXhpc3RhbmNlIG9mIFdhdnBhY2tHZXRDaGFubmVsTWFzayBpbiBXYXZwYWNrCgkgIHZlcnNpb25zIGJlbG93IDQuNDAuMC4KCjIwMDctMTItMDkgMDU6MTM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQW5kIG5vdyBkbyBpdCByaWdodCBmb3IgcmVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFuZCBub3cgZG8gaXQgcmlnaHQgZm9yIHJlYWwuLi4KCjIwMDctMTItMDkgMDU6MDk6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29ycmVjdGx5IHJlc2V0ICRMSUJTIHRvIG5vdCBjb250YWluIC1sbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb3JyZWN0bHkgcmVzZXQgJExJQlMgdG8gbm90IGNvbnRhaW4gLWxtLgoKMjAwNy0xMi0wOSAwNTowMjoxNyArMDAwMCAgS3dhbmcgWXVsIFNlbyA8a3dhbmd5dWwuc2VvQGdtYWlsLmNvbT4KCgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMgYnkgdXNpbmcgZ3N0X3V0aWxfZ3VpbnQ2NF90b19nZG91YmxlKCkgYW5kIGNoZWNraW5nIGZvciByaW50KCkgYW5kIGltcGxlbWVudGluZyBpdCBvdXJzZWxmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogS3dhbmcgWXVsIFNlbyA8a3dhbmd5dWwgZG90IHNlbyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF9jYWlyb190aW1lX292ZXJsYXlfcHJpbnRfc21wdGVfdGltZSk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMgYnkgdXNpbmcgZ3N0X3V0aWxfZ3VpbnQ2NF90b19nZG91YmxlKCkKCSAgYW5kIGNoZWNraW5nIGZvciByaW50KCkgYW5kIGltcGxlbWVudGluZyBpdCBvdXJzZWxmIGlmIGl0IGRvZXNuJ3QKCSAgZXhpc3QuCgoyMDA3LTEyLTA5IDA0OjI5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgoyMDA3LTEyLTA4IDE2OjQ3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IFZlcmlmeSB0aGF0IHRoZSBmb3JtYXQgcmV0dXJuZWQgYWZ0ZXIgdGhlIGlvY3RsIGlzIHRoZSBvbmUgd2UgcmVxdWVzdGVkLiBJdCBpcyB2YWxpZCBmb3IgdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBWZXJpZnkgdGhhdCB0aGUgZm9ybWF0IHJldHVybmVkIGFmdGVyIHRoZSBpb2N0bCBpcyB0aGUgb25lCgkgIHdlIHJlcXVlc3RlZC4gSXQgaXMgdmFsaWQgZm9yIHRoZSBpb2N0bCB0byBzdWNjZWVkIHdoaWxlCgkgIHN1YnN0aXR1dGluZyBhbiBhbHRlcm5hdGUgJ3N1cHBvcnRlZCcgc2FtcGxlIGZvcm1hdC4KCjIwMDctMTItMDcgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogUG9zdCBkZWNlbnQgKGFuZCB0cmFuc2xhdGVkKSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3Qgb3BlbiB0aGUgYXVkaW8gZGV2aWNlIGZvciBzb21lIHJlYXNvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19vcGVuKToKCSAgUG9zdCBkZWNlbnQgKGFuZCB0cmFuc2xhdGVkKSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QKCSAgb3BlbiB0aGUgYXVkaW8gZGV2aWNlIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMTItMDcgMTk6Mjk6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy86IEFsbG93IHRoZSBBVURJT0RFViBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWRpcmVjdCB1cyB0byBhIGRpZmZlcmVudCBkZWZhdWx0IE9TUyBkZXZpY2UsIGxpa2Ugc3VuYXVkaW9zaW5rLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIEFsbG93IHRoZSBBVURJT0RFViBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWRpcmVjdCB1cwoJICB0byBhIGRpZmZlcmVudCBkZWZhdWx0IE9TUyBkZXZpY2UsIGxpa2Ugc3VuYXVkaW9zaW5rIGRvZXMKCSAgb24gU29sYXJpcyAobWFrZXMgYXVkaW8gcGxheSBhdXRvbWF0aWNhbGx5IG9uIFN1blJheXMpLgoKMjAwNy0xMi0wNiAxMjo0NTo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0xMi0wNiAxMjo0MjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mzc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbwoJICB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjI5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaCBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgoyMDA3LTEyLTA2IDEyOjExOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFRoZSB0cmFuc2Zvcm1faXAoKSBtZXRob2RzIHNob3VsZCBkbyBub3RoaW5nIGlmIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgVGhlIHRyYW5zZm9ybV9pcCgpIG1ldGhvZHMgc2hvdWxkIGRvIG5vdGhpbmcgaWYgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgSXQgbWlnaHQgZ2V0IG5vbi13cml0YWJsZSBidWZmZXJzIGluIHRoYXQgY2FzZSBidXQgdGhlIGJ1ZmZlciBtaWdodAoJICBhcyB3ZWxsIGJlIHdyaXRhYmxlLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyB3b24ndCBiZSBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBhbmQKCSAgb3RoZXJ3aXNlIHRoZSBidWZmZXIgaXMgYWx3YXlzIHdyaXRhYmxlIHNvIGRvbid0IGNoZWNrIGhlcmUuCgoyMDA3LTEyLTA2IDExOjQ2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBzZWVraW5nIGluIC53YXYgZmlsZXMgYWdhaW4gKCM1MDE3NzUpLiAgU29tZSBwZW9wbGUgc2VlbSB0byB0aGluayB0aGV5IGRvbid0IG5lZWQgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEZpeCBzZWVraW5nIGluIC53YXYgZmlsZXMgYWdhaW4gKCM1MDE3NzUpLiAgU29tZSBwZW9wbGUgc2VlbSB0byB0aGluawoJICB0aGV5IGRvbid0IG5lZWQgdG8gdGVzdCB0aGVpciBjaGFuZ2VzIHdoZW4gdGhleSdyZSBqdXN0ICdyZWZsb3dpbmcnCgkgIHNvbWUgY29kZS4KCjIwMDctMTItMDUgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLio6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NyZWF0ZV9lbGVtZW50X3dpdGhfcHJldHR5X25hbWUpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgRml4IGRvY3MuCgkgIFVzZSBzYW1lIGVycm9yIHJlcG9ydGluZyBjb2RlIGFzIGF1dG9hdWRpb3NpbmsuCgkgIEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IHZpZGVvIHNpbmtzCgkgIGJ5IGRlZmF1bHQgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgkgIEFQSTogR3N0QXV0b1ZpZGVvU2luazo6ZmlsdGVyLWNhcHMKCjIwMDctMTItMDUgMTY6MDI6MTUgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLio6IEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IGF1ZGlvIHNpbmtzIGJ5IGRlZmF1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IGF1ZGlvIHNpbmtzCgkgIGJ5IGRlZmF1bHQgZm9yIGJhY2t3YXJkcyBjb21wYXQuICBGaXhlcyAjNDE3NDIwLgoJICBBUEk6IEdzdEF1dG9BdWRpb1Npbms6OmZpbHRlci1jYXBzCgoyMDA3LTExLTI5IDExOjQwOjE1ICswMDAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEluaXRpYWxpc2UgbGlib2lsIGluIHBsdWdpbl9pbml0KCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAocGx1Z2luX2luaXQpOgoJICBJbml0aWFsaXNlIGxpYm9pbCBpbiBwbHVnaW5faW5pdCgpCgoyMDA3LTExLTI5IDEwOjQ5OjE4ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudCBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudAoJICBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuZCBpdCBoYXMgc29tZSBsZWFrcy4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksCgkgIChzb3VwX2ZpbmlzaGVkKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgdW5sb2NrKCkuCgkgIFBpY2tzIHVwIHRoZSBzaXplIGZyb20gdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBhbmQgZW1pdCBhIGR1cmF0aW9uCgkgIG1lc3NhZ2UuCgkgIERvbid0IGxlYWsgdGhlIEdNYWluQ29udGV4dCBvYmplY3QuCgkgIEZpeGVzICM1MDAwOTkuCgoyMDA3LTExLTI5IDEwOjM0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUG9zdCBlcnJvciBiZWZvcmUgc2VuZGluZyBFT1MuIEZpeGVzICM0OTkxNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBQb3N0IGVycm9yIGJlZm9yZSBzZW5kaW5nIEVPUy4gRml4ZXMgIzQ5OTE3OC4KCjIwMDctMTEtMjggMjE6NTQ6NTAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL3ZzNi86IEFkZCBhIHByb2plY3QgZmlsZSBmb3IgbGliZ3N0cG5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciBsaWJnc3RwbmcKCjIwMDctMTEtMjggMTc6NDg6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiBDb2RlIGJlYXV0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBDb2RlIGJlYXV0aWZpY2F0aW9uLgoJICBBZGRlZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBEb24ndCBiaXQtc2hpZnQgZXZlcnl0aGluZywganVzdCBkbyBvcGVyYXRpb25zIG9uIGxhc3QvZmlyc3QgYnl0ZQoJICBpbnN0ZWFkLgoKMjAwNy0xMS0yNyAxMToxMTowOCArMDAwMCAgSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYUBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBGaXggd3JvbmcgY29tcGFyaXNvbiBpbiBvdmVycnVuIGNoZWNrLiBGaXhlcyAjNDk5MjM5IHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgRml4IHdyb25nIGNvbXBhcmlzb24gaW4gb3ZlcnJ1biBjaGVjay4gRml4ZXMgIzQ5OTIzOSBzb21lIG1vcmUuCgoyMDA3LTExLTI3IDAwOjAxOjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuKjogRml4IGgyNjMgZGVwYXlsb2FkZXIgc28gdGhhdCBBTlkgaDI2MyBkZWNvZGVyIGNhbiBoYW5kbGUgdGhlIG91dGdvaW5nIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBGaXggaDI2MyBkZXBheWxvYWRlciBzbyB0aGF0IEFOWSBoMjYzIGRlY29kZXIgY2FuIGhhbmRsZSB0aGUgb3V0Z29pbmcKCSAgc3RyZWFtLgoKMjAwNy0xMS0yNiAxOToxNzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lio6IEZpeCBkZXBheWxvYWRpbmcgd2hlbiBtdWx0aXBsZSBmcmFtZXMgYXJlIGluc2lkZSBvbmUgUlRQIHBhY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGggYnk6IEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIEZpeCBkZXBheWxvYWRpbmcgd2hlbiBtdWx0aXBsZSBmcmFtZXMgYXJlIGluc2lkZSBvbmUgUlRQIHBhY2tldC4KCSAgRml4ZXMgIzQ5OTIzOS4KCjIwMDctMTEtMjYgMTI6MjY6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBBZGQgR0FQLWZsYWcgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIEFkZCBHQVAtZmxhZyBzdXBwb3J0LgoKMjAwNy0xMS0yNiAxMjowMToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IFJlYWQgdGhlIEkgZmxhZyBmb3IgTW9kZSBBIGgyNjMgcnRwIHN0cmVhbSBhbmQgc2V0IHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBSZWFkIHRoZSBJIGZsYWcgZm9yIE1vZGUgQSBoMjYzIHJ0cCBzdHJlYW0gYW5kIHNldCB0aGUKCSAgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgYWNjb3JkaW5nbHkuCgkgIEZpeGVzICM0OTkzODMKCjIwMDctMTEtMjYgMTA6MDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAwNy0xMS0yNiAxMDowNDo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFJlbW92ZSBzb21lIGRlYWQgY29kZSBhbmQgZG8gY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgYW5kIGRvIGNsZWFudXBzLgoKMjAwNy0xMS0yNiAwOToxMzo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogSW1wcm92ZSB0aGUgdGVzdHMgYnkgYWxsb3dpbmcgdG8gc2V0IGEgdGFyZ2V0IHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0cyBieSBhbGxvd2luZyB0byBzZXQgYSB0YXJnZXQgc3RhdGUuCgoyMDA3LTExLTI2IDA5OjA0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IERvbid0IGNoZWNrIHRoZSBjYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIGlmIHRoZXkncmUgZXF1YWwgc29tZSBvdGhlciBjYXBzLiBUaGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBjaGVjayB0aGUgY2FwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciBpZiB0aGV5J3JlIGVxdWFsIHNvbWUKCSAgb3RoZXIgY2Fwcy4gVGhlIGNhcHMgY2FuIGNoYW5nZSBpbiBhIGJhY2t3YXJkIGNvbXBhdGlibGUgd2F5CgkgIGFuZCBkaWQgYXQgdGhpcyBwb2ludC4KCjIwMDctMTEtMjQgMTQ6NTU6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3NlZWtfdG9fcHJldmlvdXNfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApOiBJbXBsZW1lbnQKCSAgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoKMjAwNy0xMS0yMSAwOTo1Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMSAwODoyMToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZAoJICBpbiAtZ29vZC4KCjIwMDctMTEtMjAgMTM6MTQ6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogQWxzbyBzZXQgdGhlIGNoYW5uZWwgbGF5b3V0IG9uIHRoZSBXYXZwYWNrIGNhcHMgaWYgd2UncmUgaGF2aW5nIGEgbW9ubyBsYXlvdXQuIE9mIGNvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9sYXlvdXQpOgoJICBBbHNvIHNldCB0aGUgY2hhbm5lbCBsYXlvdXQgb24gdGhlIFdhdnBhY2sgY2FwcyBpZiB3ZSdyZSBoYXZpbmcKCSAgYSBtb25vIGxheW91dC4gT2YgY291cnNlIG9ubHkgZG8gaXQgZm9yICJhdWRpby94LXdhdnBhY2siLgoKMjAwNy0xMS0yMCAxMzowODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcsIHBhcnNpbmcgYW5kIGRlY29kaW5nIG11bHRpY2hhbm5lbCBmaWxlcyB3aXRoIHVwIHRvIDggY2hhbm5lbHMuIFRoaXMgYWxzbyBpbXByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgKGdzdF93YXZwYWNrX2dldF9kZWZhdWx0X2NoYW5uZWxfbWFzayksCgkgIChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9sYXlvdXQpLAoJICAoZ3N0X3dhdnBhY2tfZ2V0X2RlZmF1bHRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X3dhdnBhY2tfZ2V0X2NoYW5uZWxfbWFza19mcm9tX3Bvc2l0aW9ucyksCgkgIChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9tYXBwaW5nKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfZml4X2NoYW5uZWxfb3JkZXIpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcsIHBhcnNpbmcgYW5kIGRlY29kaW5nIG11bHRpY2hhbm5lbAoJICBmaWxlcyB3aXRoIHVwIHRvIDggY2hhbm5lbHMuIFRoaXMgYWxzbyBpbXByb3ZlcyB0aGUgcm9idXN0bmVzcwoJICBvZiBwYXJzaW5nIHF1aXRlIGEgYml0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfcmVhZF9ieXRlcyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfcHVzaF9iYWNrX2J5dGUpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9nZXRfbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfY2FuX3NlZWspLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0xMS0yMCAxMjoyMDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogRG9uJ3QgcmVsZWFzZSB0aGUgcG5nLW1lbW9yeSBmcm9tIHdpdGhpbiB0aGUgY2FsbGJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgRG9uJ3QgcmVsZWFzZSB0aGUgcG5nLW1lbW9yeSBmcm9tIHdpdGhpbiB0aGUgY2FsbGJhY2suCgoyMDA3LTExLTIwIDEyOjExOjEzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogRG9uJ3QgbGVhayBidWZmZXIgZGF0YSBtZW1vcnkuIEZpeGVzICM0OTgzOTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgRG9uJ3QgbGVhayBidWZmZXIgZGF0YSBtZW1vcnkuIEZpeGVzICM0OTgzOTUuCgoyMDA3LTExLTIwIDExOjQ2OjI4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogVGVzdHMgZm9yICM0OTgzOTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgVGVzdHMgZm9yICM0OTgzOTUuCgoyMDA3LTExLTIwIDExOjQxOjEzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvbiBNYWMgT1MgWCAxMC41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKGdzdF90YWdfbGliX211eF9yZW5kZXJfdGFnKSwKCSAgKGdzdF90YWdfbGliX211eF9hZGp1c3RfZXZlbnRfb2Zmc2V0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90aGVvcmFfZXh0ZW5zaW9uKToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06IEZpeCBidWlsZCBvbiBNYWMgT1MgWCAxMC41CgoyMDA3LTExLTE5IDIwOjMwOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCjIwMDctMTEtMTYgMDU6NTI6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IENoYW5nZSBzdHJjYXNlY21wKCkgdG8gZ19zdHJjYXNlY21wKCkuICBGaXhlcyAjNDk3MjkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgQ2hhbmdlIHN0cmNhc2VjbXAoKSB0byBnX3N0cmNhc2VjbXAoKS4gIEZpeGVzICM0OTcyOTIuCgoyMDA3LTExLTE1IDE4OjE5OjE5ICswMDAwICBKb3JkaSBKYWVuIFBhbGxhcmVzIDxqb3JkaWpwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydHBheS4qOiBGaWxsIHRoZSBNVFUgd2l0aCBhcyBtYW55IHBhY2tldHMgYXMgcG9zc2libGUuIEZpeGVzICM0OTEzMjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9yZGkgSmFlbiBQYWxsYXJlcyA8am9yZGlqcCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfaW5pdCksIChnc3RfcnRwX21wMnRfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfZmx1c2gpLCAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgRmlsbCB0aGUgTVRVIHdpdGggYXMgbWFueSBwYWNrZXRzIGFzIHBvc3NpYmxlLiBGaXhlcyAjNDkxMzIzLgoKMjAwNy0xMS0xNSAxNzo0Nzo0MyArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHNvbWUgbW9yZSBsZWFrcy4gRml4ZXMgIzQ5NzAwNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBGaXggc29tZSBtb3JlIGxlYWtzLiBGaXhlcyAjNDk3MDA3LgoKMjAwNy0xMS0xNSAxNzozNToxOCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IDMgcGFkIGxlYWtzLiBGaXhlcyAjNDk2OTgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApOgoJICBGaXggMyBwYWQgbGVha3MuIEZpeGVzICM0OTY5ODMuCgoyMDA3LTExLTE1IDE3OjI2OjI1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCjIwMDctMTEtMTUgMTc6MDE6MzIgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBGaXggc21hbGwgbGVhay4gRml4ZXMgIzQ5NzAxNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBzbWFsbCBsZWFrLiBGaXhlcyAjNDk3MDE3LgoKMjAwNy0xMS0xNSAxNjozMTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIHN1cHBwb3J0IGZvciB0aGVvcmEgaW4gcXVpY2t0aW1lIGFjY29yZGluZyB0byBYaXBoUVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAocXRkZW11eF9wYXJzZV90aGVvcmFfZXh0ZW5zaW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBwb3J0IGZvciB0aGVvcmEgaW4gcXVpY2t0aW1lIGFjY29yZGluZyB0byBYaXBoUVQuCgoyMDA3LTExLTE1IDEyOjIyOjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEFsd2F5cyBjb3B5IGJ1ZmZlcnMgYnkgZGVmYXVsdCAoaGFuZGxlIHNhZmVyIHdpdGggYnVnZ2VkIGRyaXZlcnMpIGFuZCBhZGRlZCBhIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIG1tYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWx3YXlzIGNvcHkgYnVmZmVycyBieSBkZWZhdWx0IChoYW5kbGUgc2FmZXIgd2l0aCBidWdnZWQgZHJpdmVycykgYW5kIGFkZGVkIGEgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgbW1hcCBlZmZlY3RpdmVseSAobm8gY29weSBpZiBwb3NzaWJsZSkgd2hlbiBhcHBsaWNhdGlvbiB3YW50cyB0by4gRml4ZXM6ICM0ODA1NTcuCgoyMDA3LTExLTE0IDIxOjM5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogV2UgZG9uJ3Qgd2FudCB0aGUgc2FtZSBzdHJpbmcgbXVsdGlwbGUgdGltZXMgaW4gYSB0YWcgbGlzdCBmb3IgdGhlIHNhbWUgdGFnIGV2ZXIsIGZvciBhbnkgdGFnLCBub3QganVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgV2UgZG9uJ3Qgd2FudCB0aGUgc2FtZSBzdHJpbmcgbXVsdGlwbGUgdGltZXMgaW4gYSB0YWcgbGlzdCBmb3IgdGhlCgkgIHNhbWUgdGFnIGV2ZXIsIGZvciBhbnkgdGFnLCBub3QganVzdCBmb3IgR1NUX1RBR19HRU5SRSwgc28gbWFrZSBzdXJlCgkgIHRoaXMgZG9lc24ndCBoYXBwZW4gYW5kIHJlbW92ZSBzcGVjaWFsLWNhc2UgY29kZSBmb3IgR1NUX1RBR19HRU5SRS4KCjIwMDctMTEtMTQgMjE6MDQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBXcml0ZSBHU1RfVEFHX01VU0lDQlJBSU5aX0RJU0NJRCBhbmQgR1NUX1RBR19DRERBX0NEREJfRElTQ0lEIGludG8gSUQzdjIgVFhYWCBmcmFtZXMgKGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogKGFkZF9tdXNpY2JyYWluel90YWcpLCAoYWRkX2Z1bmNzKToKCSAgV3JpdGUgR1NUX1RBR19NVVNJQ0JSQUlOWl9ESVNDSUQgYW5kIEdTVF9UQUdfQ0REQV9DRERCX0RJU0NJRAoJICBpbnRvIElEM3YyIFRYWFggZnJhbWVzIChmaXhlcyAjMzQ3ODQ4KS4KCjIwMDctMTEtMTQgMjA6MzQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgc2RwIG1lc3NhZ2UgY29udGVudHMgKGZpeGVzICM0OTY3NzMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgRG9uJ3QgbGVhayBzZHAgbWVzc2FnZSBjb250ZW50cyAoZml4ZXMgIzQ5Njc3MykuCgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgVVJJIHN0cmluZy4KCjIwMDctMTEtMTQgMTk6MTA6MzcgKzAwMDAgIEp1bGllbiBQdXlkdCA8anVsaWVuLnB1eWR0QGxhcG9zdGUubmV0PgoKCSAgZXh0L3JhdzEzOTQvOiBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2UgYW5kIGFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCBzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIHRvIHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSnVsaWVuIFB1eWR0IDxqdWxpZW4gZG90IHB1eWR0IGF0IGxhcG9zdGUgbmV0PgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOiAoZ3N0XzEzOTRfZ2V0X2d1aWRfYXJyYXkpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfZ2V0X3Byb3BlcnRpZXMpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfcHJvYmVfcHJvcGVydHkpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlcyksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfMTM5NF90eXBlX2FkZF9wcm9wZXJ0eV9wcm9iZV9pbnRlcmZhY2UpOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5oOiAoR1NUXzEzOTRfUFJPQkVfSCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChfZG9faW5pdCksIChnc3RfZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2MTM5NHNyY19pbml0KSwgKGdzdF9kdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHYxMzk0c3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwgKGdzdF9kdjEzOTRzcmNfcXVlcnkpLAoJICAoZ3N0X2R2MTM5NHNyY191cGRhdGVfZGV2aWNlX25hbWUpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2UgYW5kIGFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LAoJICBzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIHRvIHByb2JlIGZvciBhdmFpbGFibGUgZGV2aWNlcyBpbiB0aGUKCSAgc2FtZSB3YXkgdGhleSBjYW4gYWxyZWFkeSB3aXRoIHY0bHNyYyBhbmQgdjRsMnNyYyAoaG93ZXZlciBob3JyaWJsZQoJICB0aGlzIHByb3BlcnR5IHByb2JlIGludGVyZmFjZSBtYXkgYmUpLiBGaXhlcyAjMzU4ODQxLgoKMjAwNy0xMS0xNCAxNzowMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgoyMDA3LTExLTE0IDE1OjI5OjA1ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIGV2ZW50LCBkb24ndCBsZWFrIHJhbmdlIChmaXhlcyAjNDk2NzUyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBEb24ndCBsZWFrIGV2ZW50LCBkb24ndCBsZWFrIHJhbmdlIChmaXhlcyAjNDk2NzUyKS4KCjIwMDctMTEtMTQgMTA6MjI6NDEgKzAwMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBEZXRlY3QgUkdCQS9CR1JBIGNvcnJlY3RseSBvbiBsaXR0bGUgZW5kaWFuIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgRGV0ZWN0IFJHQkEvQkdSQSBjb3JyZWN0bHkgb24gbGl0dGxlIGVuZGlhbiBzeXN0ZW1zLgoKMjAwNy0xMS0xMyAxNzoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogYnV0IHRoZSBjb3JyZXNwb25kaW5nIGlvY3RsKCkgY2FsbCBmYWlscyBldmVuIHRob3VnaCB0aGUgZHJpdmVyIGNsYWltcyB0byBzdXBwb3J0IHRoaXMgZm9ybS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBJZiBWSURJT0NfRU5VTV9GUkFNRVNJWkVTIGlzIGRlZmluZWQgKD0gcmVjZW50IGtlcm5lbCksIGJ1dCB0aGUKCSAgY29ycmVzcG9uZGluZyBpb2N0bCgpIGNhbGwgZmFpbHMgZXZlbiB0aG91Z2ggdGhlIGRyaXZlciBjbGFpbXMgdG8KCSAgc3VwcG9ydCB0aGlzIGZvcm1hdCwganVzdCBmYWxsIGJhY2sgdG8gdGhlIHByZS0yLjYuMTkga2VybmVsCgkgIHJvdXRpbmUgdGhhdCBjcmVhdGVzIGNhcHMgd2l0aCBzdWl0YWJsZSBoZWlnaHQgYW5kIHdpZHRoIHJhbmdlcwoJICAoc2VlICM0NDgyNzgpLgoKMjAwNy0xMS0xMyAxNzowMTowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS86IEV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zIGFuZCBzZW5kIGl0IGRvd25zdHJlYW0gYXMgY3VzdG9tIGdzdHJlYW1lciBkdmQgZXZlbnQgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMgYW5kIHNlbmQgaXQKCSAgZG93bnN0cmVhbSBhcyBjdXN0b20gZ3N0cmVhbWVyIGR2ZCBldmVudCAoZml4ZXMgIzQ1MzQxNykuCgoyMDA3LTExLTEzIDE0OjUxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEltcGxlbWVudCBtaW5pbWFsIHBhcnNpbmcgb2YgdGhlIHBhc3NlZCBwYW5nbyBmb250IGRlc2NyaXB0aW9uIHN0cmluZywgc28gcGFzc2luZyBhIGZvbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9mb250X2luaXQpOgoJICBJbXBsZW1lbnQgbWluaW1hbCBwYXJzaW5nIG9mIHRoZSBwYXNzZWQgcGFuZ28gZm9udCBkZXNjcmlwdGlvbgoJICBzdHJpbmcsIHNvIHBhc3NpbmcgYSBmb250IHNpemUgd29ya3MgdGhlIHNhbWUgYXMgd2l0aCB0aGUKCSAgcGFuZ28gdGV4dG92ZXJsYXkgcGx1Z2luOyBmaXhlcyAjNDU1MDg2LgoJICAoTWF5YmUgd2UgY291bGQganVzdCB1c2UgcGFuZ29jYWlybyBoZXJlIGF0IHNvbWUgcG9pbnQpLgoKMjAwNy0xMS0xMyAwNjo1NToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogUmV0dXJuIHRoZSByZXN1bHQgaW4gX2FjdGl2YXRlX3B1bGwoKS4gRG9uJ3QgcmVmIGVsZW1lbnQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgaW4gX2FjdGl2YXRlX3B1bGwoKS4gRG9uJ3QgcmVmIGVsZW1lbnQgdGhlcmUuCgoyMDA3LTExLTEzIDA2OjIzOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuIFJlZmxvdyB0aGUgZXZlbnRfaGFuZGxpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIFJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLiBSZWZsb3cKCSAgdGhlIGV2ZW50X2hhbmRsaW5nIHRvIG5vdCBsZWFrIHRoZSBldmVudC4KCjIwMDctMTEtMTIgMjE6MDc6MzEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlcik6CgkgIEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgU3BvdHRlZCBieSBHYWJyaWVsIEJvdXZpZ25lLiBGaXhlcyAjNDk0NDk5LgoKMjAwNy0xMS0xMiAxNzo1OTo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJvcGVybHkgZnJlZSBRVERlbXV4U2FtcGxlcyBhcnJheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgIFByb3Blcmx5IGZyZWUgUVREZW11eFNhbXBsZXMgYXJyYXkuCgkgIFByb3RlY3QgdGFibGUgd3JpdGUgd2l0aCBhIHNlbnNpYmxlIGNoZWNrLCBzb21lIGZpbGVzIGFwcGFyZW50bHkgRE8gY29udGFpbgoJICBzdHRzIHZhbHVlcyBzdGFydGluZyB3aXRoIDAgOigKCjIwMDctMTEtMTIgMTc6MjE6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IERyb3AgRU9TIGluIF9oYW5kbGVfc3JjX2V2ZW50KCkuIEZpeCB0aGUgcmVmY291bnQgaW4gcXRkZW11eCB0aGF0IHByZXZpb3VzIGNvbW1pdCBtZXNzZWQgdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERyb3AgRU9TIGluIF9oYW5kbGVfc3JjX2V2ZW50KCkuIEZpeCB0aGUgcmVmY291bnQgaW4gcXRkZW11eCB0aGF0CgkgIHByZXZpb3VzIGNvbW1pdCBtZXNzZWQgdXAuCgoyMDA3LTExLTEyIDE3OjA2OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBTeW5jIF9oYW5kbGVfc3JjX2V2ZW50KCkgd2l0aCBvZ2dkZW11eC4gSW4gYXZpZGVtdXggYWxzbyByZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgU3luYyBfaGFuZGxlX3NyY19ldmVudCgpIHdpdGggb2dnZGVtdXguIEluIGF2aWRlbXV4IGFsc28gcmVmIHRoZQoJICBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuCgoyMDA3LTExLTExIDIxOjEyOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvOiBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIEdzdE1lc3NhZ2VzIGJ5IHNwZWN0cnVtIHRvIGRlY2liZWwgaW5zdGVhZCBvZgoJICBkZWNpYmVsK3RocmVzaG9sZC4KCjIwMDctMTEtMTEgMTM6NTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlCgkgIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCjIwMDctMTEtMTEgMTI6NTQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgoyMDA3LTExLTA5IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDctMTEtMDggMTU6NTY6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0bwoJICB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWJlcnMgYW5kIGVuYWJsZSBmaWxsLgoKMjAwNy0xMS0wOCAxNTowMDo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJldHVybiBGQUxTRSBpZiB3ZSBjYW4ndCBoYW5kbGUgYSBxdWVyeSBpbnN0ZWFkIG9mIGNoYW5naW5nIHRoZSBmb3JtYXQuIElnbm9yZSBmYWN0IHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXR1cm4gRkFMU0UgaWYgd2UgY2FuJ3QgaGFuZGxlIGEgcXVlcnkgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUKCSAgZm9ybWF0LiBJZ25vcmUgZmFjdCB3aGVuIGRlYWxpbmcgd2l0aCBtcGVnIGF1ZGlvLgoKMjAwNy0xMS0wNiAxMjoyMzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggdGhlIG1hZ25pdHVkZSBjYWxjdWxhdGlvbi4KCjIwMDctMTEtMDMgMTk6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChzZXR1cF9maWx0ZXIpOgoJICBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIEFsc28gaGFuZGxlIGEgYmFuZHdpZHRoIG9mIHJhdGUvMiBwcm9wZXJseS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgTi1iYW5kIGVxdWFsaXplciB3aXRoIDEgYmFuZHMuIFRoZQoJICBwcmV2aW91cyBsaW1pdCBvZiAyIHdhcyBjYXVzZWQgYnkgYSBub3dhZGF5cyByZXBsYWNlZCBjYWxjdWxhdGlvbgoJICBkb2luZyBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbnVtYmVyIG9mIGJhbmRzIHdhcyAxLgoKMjAwNy0xMS0wMiAyMToxNjowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEZpeCBpbmNsdWRlcyBmb3IgTVNWQyBhbmQgR0xpYi0yLjE0LjAgKCM0OTIzODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgIEZpeCBpbmNsdWRlcyBmb3IgTVNWQyBhbmQgR0xpYi0yLjE0LjAgKCM0OTIzODgpLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgTm8gbW9yZSBwaXBlIGRlZmluZSBzaW5jZSBHTGliLTIuMTQuMCwgbmVlZCB0byB1c2UgX3BpcGUoKSBkaXJlY3RseS4KCjIwMDctMTEtMDIgMTc6MjM6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS4qOiBDYWxjdWxhdGUgb3V0Z29pbmcgYnVmZmVyIGR1cmF0aW9uIGlmIGluY29taW5nIGJ1ZmZlciBkaWRuJ3QgaGF2ZSBhIHZhbGlkIGR1cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgQ2FsY3VsYXRlIG91dGdvaW5nIGJ1ZmZlciBkdXJhdGlvbiBpZiBpbmNvbWluZyBidWZmZXIgZGlkbid0IGhhdmUgYQoJICB2YWxpZCBkdXJhdGlvbi4KCjIwMDctMTAtMzAgMjE6Mzc6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAob25fY29uZmlndXJlX2V2ZW50KSwKCSAgKG9uX2dhaW5fY2hhbmdlZCksIChvbl9iYW5kd2lkdGhfY2hhbmdlZCksIChvbl9mcmVxX2NoYW5nZWQpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucwoJICB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1c2hlcyBpdCB0aHJvdWdoIGFuIGVxdWFsaXplciBhbmQKCSAgcGFpbnRzIHRoZSBzcGVjdHJ1bS4gRm9yIGV2ZXJ5IGVxdWFsaXplciBiYW5kIGl0J3MgcG9zc2libGUgdG8gc2V0CgkgIGdhaW4sIGJhbmR3aWR0aCBhbmQgZnJlcXVlbmN5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChzZXR1cF9maWx0ZXIpOgoJICBBZGQgc29tZSBndWFyZGluZyBhZ2FpbnN0IHRvbyBsYXJnZSBvciB0b28gc21hbGwgZnJlcXVlbmNpZXMgYW5kCgkgIGJhbmR3aWR0aHMuIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTEwLTMwIDIxOjE4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5IGZpbmQgZG9jdW1lbnRhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5CgkgIGZpbmQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggZG9uJ3QgY2hhbmdlIGFueXRoaW5nIG9uIHplcm8gZ2FpbiwgZXRjLgoJICBNYWtlIHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgb2YgdGhlIGJhbmRzIHdyaXRhYmxlLCByZW5hbWUgdGhlCgkgIGJhbmQtd2lkdGggcHJvcGVydHkgdG8gYmFuZHdpZHRoIGFuZCBjaGFuZ2UgdGhlCW1lYW5pbmcgdG8gdGhlCgkgIGZyZXF1ZW5jeSBkaWZmZXJlbmNlIGJldHdlZW4gYmFuZGVkZ2VzLCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCgkgIGdhaW4gcHJvcGVydHkgdG8gZEIgaW5zdGVhZCBvZiBhIHdlaXJkIHNjYWxlIGJldHdlZW4gLTEJYW5kIDEgdGhhdAoJICBoYXMgbm8gcmVhbCBtZWFuaW5nLgoKMjAwNy0xMC0zMCAxMjoyOTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU21hcnRlciBjb21iaW5lX2Zsb3cgY29kZSB0aGF0IGFsc28gZGVhbHMgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzIHJldHVybmluZyBVTkVYUEVDVEVEIHdoZW4gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFNtYXJ0ZXIgY29tYmluZV9mbG93IGNvZGUgdGhhdCBhbHNvIGRlYWxzIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cwoJICByZXR1cm5pbmcgVU5FWFBFQ1RFRCB3aGVuIHRoZXkgcmVjZWl2ZSBkYXRhIG91dCBvZiB0aGUgc2VnbWVudAoJICBib3VuZGFyaWVzLiBGaXhlcyAjNDkxMzA1LgoKMjAwNy0xMC0yNyAxNjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpOgoJICBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwKCSAgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgdG8gYmUgbW9yZSB0aGFuIG9uZSBwYWQuIEZpeGVzICM0OTA2ODIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBhYm92ZS4KCjIwMDctMTAtMjYgMTU6MDM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIGFnYWluc3Qgb2xkZXIga2VybmVsIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgYWdhaW5zdAoJICBvbGRlciBrZXJuZWwgaGVhZGVycy4KCjIwMDctMTAtMjYgMTI6MTA6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNy0xMC0yNSAyMzo0Mjo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsKCSAgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgoyMDA3LTEwLTI1IDE1OjAwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYyAoYWRkX2Z1bmNzKTogTWFwIG5ldyBTT1JUTkFNRSB0YWdzIHRvIElEM3YyIFRTT1AsIFRTT0EgYW5kIFRTT1QgZnJhbWVzICgjNDE0NTM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYyAoYWRkX2Z1bmNzKToKCSAgTWFwIG5ldyBTT1JUTkFNRSB0YWdzIHRvIElEM3YyIFRTT1AsIFRTT0EgYW5kIFRTT1QgZnJhbWVzICgjNDE0NTM5KS4KCjIwMDctMTAtMjQgMDc6MDE6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEltcHJvdmUgdGhlIHRlc3RzIGEgbGl0dGxlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEltcHJvdmUgdGhlIHRlc3RzIGEgbGl0dGxlIG1vcmUuCgoyMDA3LTEwLTIzIDA4OjM4OjUwICswMDAwICBZdW4gWmhlbmcgSHUgPHl1bnpoZW5nLmh1QGdtYWlsLmNvbT4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiBVc2UgZGVmYXVsdCBpbnB1dCBkZXZpY2UgaW5zdGVhZCBvZiBkZWZhdWx0IG91dHB1dCBkZXZpY2UgYW5kIG9ubHkgbWVtY3B5IGFjdHVhbCBhdmFpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFl1biBaaGVuZyBIdQoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBVc2UgZGVmYXVsdCBpbnB1dCBkZXZpY2UgaW5zdGVhZCBvZiBkZWZhdWx0IG91dHB1dCBkZXZpY2UgYW5kCgkgIG9ubHkgbWVtY3B5IGFjdHVhbCBhdmFpbGFibGUgYnl0ZXMuCgoyMDA3LTEwLTIyIDE5OjE0OjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeGVzICJ2NGwyc3JjICEgcXVldWUgISB4dmltYWdlc2luayIuIFRoZSBxdWV1ZSBhc2sgZm9yIGJ1ZmZlciB0b28gZWFybHkuIEl0IGlzIHRlbXBvcmFyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEZpeGVzICJ2NGwyc3JjICEgcXVldWUgISB4dmltYWdlc2luayIuIFRoZSBxdWV1ZSBhc2sgZm9yIGJ1ZmZlciB0b28KCSAgZWFybHkuIEl0IGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBmaW5kIHNvbWV0aGluZyBiZXR0ZXIuCgoyMDA3LTEwLTIyIDE2OjQ0OjQ4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggcmFjZSB3aGVuIHBhdXNpbmcgYSBSVFNQIHN0cmVhbSBpbiBpbnRlcmxlYXZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICBGaXggcmFjZSB3aGVuIHBhdXNpbmcgYSBSVFNQIHN0cmVhbSBpbiBpbnRlcmxlYXZlZC4KCSAgRml4ZXMgIzQ3NTc4NC4KCjIwMDctMTAtMjIgMDk6NTM6MTYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IFVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uIGZvciBidWZmZXJzLiAjNDg4ODQ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9maW5hbGl6ZSk6CgkgIFVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uIGZvciBidWZmZXJzLiAjNDg4ODQ0LgoKMjAwNy0xMC0xOSAxOTozMzoxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNvbWUgZGVidWcgYW5kIHN5bmMgdGVzdHMgd2l0aCB0aGUgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgc3luYyB0ZXN0cyB3aXRoIHRoZSBmaXguCgoyMDA3LTEwLTE4IDE3OjA0OjE0ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBXaGVuIHRoZSBzb2NrZXQgaXMgdXNlZCBieSB0aGUgYXBwIGZvciBvdGhlciBwdXJwb3NlcywgZG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYWN0aXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCAgPHNwZ2xlZ2xlIHlhaG9vIGZyPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFdoZW4gdGhlIHNvY2tldCBpcyB1c2VkIGJ5IHRoZSBhcHAgZm9yIG90aGVyIHB1cnBvc2VzLCBkb24ndCBnZW5lcmF0ZSBhbgoJICBlcnJvciBpZiB0aGVyZSBpcyBhY3RpdmF0eSBvbiB0aGUgc29ja2V0IHRoYXQgaXMgbm90IGRhdGEgcmVsYXRlZC4KCSAgRml4ZXMgIzQ4NzQ4OC4KCjIwMDctMTAtMTggMTQ6NTU6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4gR2VuZXJhdGUgYW4gZXJyb3Igd2hlbiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMgZm9yIHNvbWUgcmVhc29uLiBTZWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uIEdlbmVyYXRlIGFuIGVycm9yIHdoZW4gd2UgcnVuIG91dCBvZiBidWZmZXJzCgkgIGZvciBzb21lIHJlYXNvbi4gU2VlICM0ODA1NTcuCgoyMDA3LTEwLTE4IDA4OjI3OjU2ICswMDAwICBBbmRlcnMgU2thcmdyZW4gPGFuZGVycy5za2FyZ3JlbkBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiBTZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMgZG90IHNrYXJncmVuIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCBtYXJrZXIgYml0IGNvcnJlY3RseS4KCjIwMDctMTAtMTggMDY6MjA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEFkZCBhIG1pc3NpbmcgYnJlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBhIG1pc3NpbmcgYnJlYWsuCgoyMDA3LTEwLTE4IDA2OjE0OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCjIwMDctMTAtMTcgMTU6MDg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBhbGxvd2VkIG5hbWUgZm9yIHRoZSBHc3RTdHJ1Y3R1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBVc2UgYWxsb3dlZCBuYW1lIGZvciB0aGUgR3N0U3RydWN0dXJlLgoKMjAwNy0xMC0xNyAxMTo0NzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZ3N0X2J1c19wb3BfZmlsdGVyZWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIFVzZSBuZXcgZ3N0X2J1c19wb3BfZmlsdGVyZWQoKS4KCjIwMDctMTAtMTMgMTI6MDM6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IFdoZW4gcHJvYmluZyB0aGUgZm9ybWF0cyBhbmQgc2l6ZXMgYSBjYW1lcmEgc3VwcG9ydHMsIG1ha2Ugc3VyZSB0aGUgYmVzdCBvbmVzIChoaWdoZXN0IHJlc29sdXRpb24sIHByZWZlcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgV2hlbiBwcm9iaW5nIHRoZSBmb3JtYXRzIGFuZCBzaXplcyBhIGNhbWVyYSBzdXBwb3J0cywgbWFrZQoJICBzdXJlIHRoZSBiZXN0IG9uZXMgKGhpZ2hlc3QgcmVzb2x1dGlvbiwgcHJlZmVyZWQgZm9ybWF0KQoJICBlbmQgdXAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcHJvYmVkIGNhcHMgYW5kIHRoZSBsZXNzCgkgIGRlc2lyYWJsZSBvbmVzIGF0IHRoZSBlbmQuICBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIHRoZQoJICBvcmRlciB3aXRoaW4gdGhlIGNhcHMgbWF0dGVycyBmb3IgdGhpbmdzIGxpa2UgZml4YXRpb24gYW5kCgkgIG5lZ290aWF0aW9uLCBpZS4gd2hhdCBmb3JtYXQgaXMgY2hvc2VuIGluIHRoZSBlbmQuCgkgIFdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSBjdXJyZW50IHByb2JpbmcgY29kZSB3aWxsIGVuZCB1cAoJICBxdWVyeWluZyB0aGUgc3VwcG9ydGVkIHNpemVzIGZyb20gbG93ZXN0IHJlc29sdXRpb24gdG8KCSAgaGlnaGVzdCByZXNvbHV0aW9uLCBhZGRpbmcgdGhlbSB0byB0aGUgcHJvYmVkIGNhcHMgaW4gdGhhdAoJICBvcmRlciwgcmVzdWx0aW5nIHRvIHY0bDJzcmMgZml4YXRpbmcgdG8gdGhlIGxvd2VzdCBwb3NzaWJsZQoJICByZXNvbHV0aW9uIGlmIGRvd25zdHJlYW0gZG9lcyBub3QgZXhwcmVzcyBhIHNpemUgcHJlZmVyZW5jZS4KCSAgQWxzbyBtYWtlIHVwIGEgc29tZXdoYXQgcmFuZG9tIHJhbmtpbmcgb2YgcHJlZmVyZWQgb3V0cHV0CgkgIGZvcm1hdHMgZm9yIHRoZSBzYW1lIHJlYXNvbi4gRml4ZXMgIzQ4NTgyOC4KCjIwMDctMTAtMTEgMTc6NTU6MjkgKzAwMDAgIEphc29uIEtpdmxpZ2huIDxqa2l2bGlnaG5AZ21haWwuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEV4dHJhY3QgbGljZW5zZS9jb3B5cmlnaHQgVVJJcyBmcm9tIElEM3YyIFdDT1AgZnJhbWVzIChGaXhlcyAjNDQ3MDAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKYXNvbiBLaXZsaWdobiAgPGpraXZsaWdobiBnbWFpbCBjb20+CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIEV4dHJhY3QgbGljZW5zZS9jb3B5cmlnaHQgVVJJcyBmcm9tIElEM3YyIFdDT1AgZnJhbWVzCgkgIChGaXhlcyAjNDQ3MDAwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICAqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00NDcwMDAtd2NvcC50YWc6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0LgoKMjAwNy0xMC0xMSAxNjo0MTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCBzdXBwb3J0IGZvciBsaWNlbnNlL2NvcHlyaWdodCBVUkkgdGFncyAoSUQzdjIgV0NPUCBmcmFtZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWNlbnNlL2NvcHlyaWdodCBVUkkgdGFncyAoSUQzdjIgV0NPUCBmcmFtZSkuCgkgIFByZXJlcXVpc2l0ZSBmb3IgIzQ0NzAwMC4KCjIwMDctMTAtMDggMTc6NDQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggY29tcGlsZXIgd2FybmluZyBieSB1c2luZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGluaXRpYWxpc2UgYSBHc3RDbG9ja1RpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgdXNpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBpbml0aWFsaXNlCgkgIGEgR3N0Q2xvY2tUaW1lLgoKMjAwNy0xMC0wOCAxMTo1ODo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTW9yZSBzZWVraW5nIGZpeGVzLCBtb3N0bHkgcGFzc2luZyBhcm91bmQgdGhlIG5ldyBwbGF5YmFjayBzZWdtZW50IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSBpdCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19kb19zZWVrKSwgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfY2FwcyksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBzZWVraW5nIGZpeGVzLCBtb3N0bHkgcGFzc2luZyBhcm91bmQgdGhlIG5ldyBwbGF5YmFjayBzZWdtZW50IGluCgkgIG9yZGVyIHRvIGNvbmZpZ3VyZSBpdCBwcm9wZXJseS4KCSAgQWxzbyByZXNldCBiYXNlX3RpbWUgb2YgdWRwIHNvdXJjZXMgd2hlbiBzZXR0aW5nIHRoZW0gYmFjayB0byBQTEFZSU5HIGFzCgkgIGEgdGVtcG9yYXJ5IGhhY2sgdW50aWwgY29yZSBzdXBwb3J0cyBzZWVrIGluIGxpdmUgc291cmNlcyBwcm9wZXJseS4KCjIwMDctMTAtMDggMTA6MzQ6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBGaXggY2FwcyBhcyB0byBub3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIEZpeCBjYXBzIGFzIHRvIG5vdCBjb25mdXNlIGF1dG9wbHVnZ2Vycy4KCjIwMDctMTAtMDYgMTY6MTM6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBQb3J0IElEMyB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UgKG5vdyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byB0ZXN0IHJlLWltcG9ydGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBQb3J0IElEMyB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UKCSAgKG5vdyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byB0ZXN0IHJlLWltcG9ydGluZyB5b3VyIG11c2ljCgkgIGNvbGxlY3Rpb24pLgoKMjAwNy0xMC0wNiAxNToxMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvOiBQb3J0IEFQRSB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5oOgoJICBQb3J0IEFQRSB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UuCgoyMDA3LTEwLTA1IDEzOjE4OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbXByb3ZlIGZsdXNoaW5nIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX2ludGVybmFsX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKG5ld19zZXNzaW9uX3BhZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKToKCSAgSW1wcm92ZSBmbHVzaGluZyBiZWhhdmlvdXIuCgkgIFNldCBzdGF0ZSBvZiB0aGUgdWRwIHNvdXJjZXMgdG8gUEFVU0UvUExBWUlORyBjb3JyZWN0bHkuCgkgIEhhbmRsZSBldmVudHMgYW5kIHF1ZXJpZXMgZm9yIFVEUCBhbmQgVENQIHRyYW5zcG9ydCBub3cuCgoyMDA3LTEwLTA0IDA3OjI5OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwLzogQWRkIGxvZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIEFkZCBsb2cgY2F0ZWdvcnkuCgoyMDA3LTEwLTA0IDA3OjI0OjAyICswMDAwICBUaW1vIEhvdHRpIDxUaW1vLkhvdHRpQHN5c29wZW5kaWdpYS5jb20+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaW1vIEhvdHRpIDxUaW1vLkhvdHRpQHN5c29wZW5kaWdpYS5jb20+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoKMjAwNy0xMC0wMiAxMDo0OTowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogQWxzbyBzYXZlIGNvZGVjIGRhdGEgZm9yIGF1ZGlvIHN0cmVhbXMuIEZpeGVzICM0ODI0OTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgQWxzbyBzYXZlIGNvZGVjIGRhdGEgZm9yIGF1ZGlvIHN0cmVhbXMuIEZpeGVzICM0ODI0OTUuCgoyMDA3LTEwLTAyIDEwOjIzOjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggIkluZGV4IGVudHJ5IGhhcyBpbnZhbGlkIHN0cmVhbSBuciAxIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4ICJJbmRleCBlbnRyeSBoYXMgaW52YWxpZCBzdHJlYW0gbnIgMSIuCgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgYWFjIC0gd29yayBpbiBwcm9ncmVzcyAoc2VlICM0ODI0OTUpLgoKMjAwNy0xMC0wMSAxNjozNDo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUGFyc2UgYmFuZHdpZHRoIG1vZGlmaWVycywgdGhleSBhcmUgbm90IHlldCBjb25maWd1cmVkIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIgYmVjYXVzZSB3ZSBkb24ndC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfYmFuZHdpZHRoKSwKCSAgKGdzdF9ydHNwc3JjX2NvbGxlY3RfYmFuZHdpZHRoKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFBhcnNlIGJhbmR3aWR0aCBtb2RpZmllcnMsIHRoZXkgYXJlIG5vdCB5ZXQgY29uZmlndXJlZCBpbiB0aGUgc2Vzc2lvbgoJICBtYW5hZ2VyIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbiBBUEkgZm9yIHRoYXQgeWV0LgoKMjAwNy0xMC0wMSAxMzo1NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIHNoaW55IG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgIFVzZSBzaGlueSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIFVwZGF0ZSBzb21lIGRvY3MuCgoyMDA3LTA5LTI5IDEyOjUwOjM2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIGZpbGVzIHRvIHdpbjMyIG1hbmlmZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGZpbGVzIHRvIHdpbjMyIG1hbmlmZXN0LgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDktMjggMTQ6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEluIFRDUCBtb2RlLCBvbmx5IHRpbWVzdGFtcCB0aGUgZmlyc3QgYnVmZmVyLiBUQ1AgaXMgbm90IHJlYWwgdGltZSBhbmQgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEluIFRDUCBtb2RlLCBvbmx5IHRpbWVzdGFtcCB0aGUgZmlyc3QgYnVmZmVyLiBUQ1AgaXMgbm90IHJlYWwgdGltZSBhbmQKCSAgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byB0cnkgdG8gc2tldyBjb21wZW5zYXRlLCBhbHNvIHNvbWUgc2VydmVycyBzZW5kCgkgIHRoZSBmaXJzdCBiYXRjaCBvZiBkYXRhIGluIGEgYnVyc3QuCgoyMDA3LTA5LTI3IDE1OjAwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBzZXR0aW5nIHRoZSBkaXNjb250IGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBwdXNoZWQgZG93bnN0cmVhbSBmb3IgZm9ybWF0cyB3aXRoIHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBGaXggc2V0dGluZyB0aGUgZGlzY29udCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIKCSAgcHVzaGVkIGRvd25zdHJlYW0gZm9yIGZvcm1hdHMgd2l0aCBwcml2YXRlIGNvZGVjCgkgIGRhdGEgdGhhdCBuZWVkcyB0byBiZSBkZXNlcmlhbGlzZWQgaW50byBidWZmZXJzCgkgIChzdWNoIGFzIHZvcmJpcyBhbmQgRkxBQyB3aGVuIGluIGEgbWF0cm9za2EgY29udGFpbmVyKS4KCjIwMDctMDktMjcgMTE6MTA6MTIgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuKjogRnJlZSB0aGUgY29uZmlnIHN0cmluZy4gRml4ZXMgIzQ4MDcwNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgRnJlZSB0aGUgY29uZmlnIHN0cmluZy4gRml4ZXMgIzQ4MDcwNy4KCSAgQ2xlYW4gdXAgdGhlIHRpbWVzdGFtcCBjb2RlIGEgbGl0dGxlLgoKMjAwNy0wOS0yNiAyMDoxMjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogU2V0IHRpbWVzdGFtcHMgb24gUlRQIGJ1ZmZlcnMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfY2xvc2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgU2V0IHRpbWVzdGFtcHMgb24gUlRQIGJ1ZmZlcnMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgTWFyayBmaXJzdCBidWZmZXJzIHdpdGggYSBESVNDT05ULgoJICBSZW1vdmUgZmx1c2ggaGFjayBub3cgdGhhdCBzeW5jIGZvciBsaXZlIHNvdXJjZXMgaGFzIGJlZW4gZmlndXJlZCBvdXQuCgoyMDA3LTA5LTI2IDE0OjI4OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoKMjAwNy0wOS0yNiAxNDoyNjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IEZhaWwgaWYgd2UgZG9uJ3Qga25vdyB0aGUgcXVpY2t0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBGYWlsIGlmIHdlIGRvbid0IGtub3cgdGhlIHF1aWNrdGltZSBmb3JtYXQuCgoyMDA3LTA5LTI2IDEzOjQwOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBGaXggdXAgY2FzZSB3aGVyZSB0aGVyZSBpcyBubyBwZWVyLCBpbiB3aGljaCBjYXNlIF9nZXRfYWxsb3dlZF9jYXBzKCkgd2lsbCByZXR1cm4gTlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBGaXggdXAgY2FzZSB3aGVyZSB0aGVyZSBpcyBubyBwZWVyLCBpbiB3aGljaCBjYXNlCgkgIF9nZXRfYWxsb3dlZF9jYXBzKCkgd2lsbCByZXR1cm4gTlVMTC4KCjIwMDctMDktMjYgMTM6MTk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IFNhdmUgdGhlIGZsb3cgcmV0dXJuIGZyb20gdGhlIGxhc3QgZ3N0X3BhZF9wdXNoKCkgYW5kIG1ha2Ugc3VyZSB3ZSBwYXNzIHRoZSByaWdodCBmbG93IHJldHVybiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU2F2ZSB0aGUgZmxvdyByZXR1cm4gZnJvbSB0aGUgbGFzdCBnc3RfcGFkX3B1c2goKSBhbmQKCSAgbWFrZSBzdXJlIHdlIHBhc3MgdGhlIHJpZ2h0IGZsb3cgcmV0dXJuIHZhbHVlIHVwc3RyZWFtCgkgIGluIHRoZSBjYXNlIG9mIGZhaWx1cmU7IG1pbm9yIGNsZWFuLXVwcy4KCjIwMDctMDktMjUgMTk6MDk6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBHU1RfVEFHX0NPTVBPU0VSICgjNDU5ODA5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgR1NUX1RBR19DT01QT1NFUiAoIzQ1OTgwOSkuCgoyMDA3LTA5LTI1IDE3OjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2xhdy86IENvbXB1bHNpdmUgY2xlYW4tdXBzOiB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBhZGQgZGVidWcgY2F0ZWdvcmllcywgZml4IHVwIHRoaW5ncyB0byBjb25mb3JtIHRvIHN5bWJvbCBub21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXcuYzoKCSAgKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uaDoKCSAgQ29tcHVsc2l2ZSBjbGVhbi11cHM6IHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGFkZCBkZWJ1ZwoJICBjYXRlZ29yaWVzLCBmaXggdXAgdGhpbmdzIHRvIGNvbmZvcm0gdG8gc3ltYm9sIG5vbWVua2xhdHVyYSwKCSAgZXRjLgoKMjAwNy0wOS0yNSAxNjowNToyOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L2xhdy86IFVzZSBzdGF0aWMgdGFibGVzIGZvciBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2Rpbmc7IHRoaXMgbWFrZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCAgPHNwZ2xlZ2xlIHlhaG9vIGZyPgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkgIFVzZSBzdGF0aWMgdGFibGVzIGZvciBBLUxhdyBkZWNvZGluZyBhbmQgZW5jb2Rpbmc7IHRoaXMgbWFrZXMKCSAgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nIGxlc3MgQ1BVLWludGVuc2l2ZSwgYnV0IGluY3JlYXNlcwoJICB0aGUgYmluYXJ5IHNpemUgYSBiaXQuIExlYXZpbmcgb2xkIGNvZGUgYXJvdW5kIGZvciBub3csCgkgIHNlbGVjdGFibGUgYnkgYSBkZWZpbmUgaW4gdGhlIGNvZGUuIEZpeGVzICM0MzU0MzUuCgoyMDA3LTA5LTI1IDEzOjIwOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBVc2UgR1NUX1BUUl9GT1JNQVQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgVXNlIEdTVF9QVFJfRk9STUFUIHRvIHByaW50IGNhcHMgaW4gZGVidWcgc3RhdGVtZW50LgoKMjAwNy0wOS0yNSAwODo1MTozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0FSR19XSVRIX1BMVUdJTlMsIEFHX0dTVF9BUkdfRU5BQkxFX0VYVEVSTkFMIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQVJHX1dJVEhfUExVR0lOUywgQUdfR1NUX0FSR19FTkFCTEVfRVhURVJOQUwgYW5kCgkgIEFHX0dTVF9BUkdfRU5BQkxFX0VYUEVSSU1FTlRBTCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRob3NlIG1hY3JvcwoJICBpbiBjb25maWd1cmUuYWMuCgoyMDA3LTA5LTI1IDA1OjAzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBmb3VyY2NzIGZvciBNUEVHMiBIRFYgc3RyZWFtcy4gRml4ZXMgIzQ3OTk2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGZvdXJjY3MgZm9yIE1QRUcyIEhEViBzdHJlYW1zLiBGaXhlcyAjNDc5OTYwLgoKMjAwNy0wOS0yNCAxMDo1MzozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTI0IDEwOjI2OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogQWxsb3cgZml4aW5nIHRoZSBzYW1wbGUgcmF0ZSBsYW1lIGNvbnZlcnRzIHRvIGJ5IG5lZ290aWF0aW5nIGZpeGVkIHNhbXBsZSByYXRlIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgQWxsb3cgZml4aW5nIHRoZSBzYW1wbGUgcmF0ZSBsYW1lIGNvbnZlcnRzIHRvIGJ5IG5lZ290aWF0aW5nIGZpeGVkCgkgIHNhbXBsZSByYXRlIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIEFkZCBkb2NzIGZvciBpdC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbGFtZS5jOgoJICBBZGQgYSBjaGVjayBmb3IgaXQuCgoyMDA3LTA5LTIzIDE4OjU3OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBhIGdfY3JpdGljYWwuIFRoaXMgc2l0dWF0aW9uIGlzIG5vdCBjYXVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBhIGdfY3JpdGljYWwuIFRoaXMgc2l0dWF0aW9uIGlzIG5vdCBjYXVzZWQKCSAgYnkgdGhlIGFwcGxpY2F0aW9uLgoKMjAwNy0wOS0yMiAxODoxNToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL25sLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDktMjIgMTg6MTM6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXUucG86IEFkZGVkIEJhc3F1ZSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IE1pa2VsIE9sYXNhZ2FzdGkgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+CgkgICogcG8vZXUucG86CgkgIEFkZGVkIEJhc3F1ZSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MTM6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBDaGluZXNlICh0cmFkaXRpb25hbCBhbmQgSG9uZyBLb25nKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFiZWwgQ2hldW5nIDxhYmVsY2hldW5nQGdtYWlsLmNvbT4KCSAgKiBwby96aF9ISy5wbzoKCSAgKiBwby96aF9UVy5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAodHJhZGl0aW9uYWwgYW5kIEhvbmcgS29uZykgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjEwOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3BsLnBvOiBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPgoJICAqIHBvL3BsLnBvOgoJICBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA5OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2ZpLnBvOiBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSWxra2EgVHVvaGVsYSA8aGlsZUBpa2kuZmk+CgkgICogcG8vZmkucG86CgkgIEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA5OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2VzLnBvOiBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSm9yZ2UgR29uesOhbGV6IEdvbnrDoWxleiA8YWxvcmllbEBnbWFpbC5jb20+CgkgICogcG8vZXMucG86CgkgIEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA4OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2RhLnBvOiBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBNb2dlbnMgSmFlZ2VyIDxtb2dlbnNAamFlZ2VyLnRmPgoJICAqIHBvL2RhLnBvOgoJICBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA2OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3poX0NOLnBvOiBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEZ1bmRhIFdhbmcgPGZ1bmRhd2FuZ0BsaW51eC5uZXQuY24+CgkgICogcG8vemhfQ04ucG86CgkgIEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowNTozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9iZy5wbzogQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWxleGFuZGVyIFNob3BvdiA8YXNoQGNvbnRhY3QuYmc+CgkgICogcG8vYmcucG86CgkgIEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMDg6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCjIwMDctMDktMjEgMTE6MzQ6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IFNldCBvdXRnb2luZyBwYWNrZXQgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uIEZpeGVzICM0NzgyNDQgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgU2V0IG91dGdvaW5nIHBhY2tldCBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4gRml4ZXMgIzQ3ODI0NCBzb21lIG1vcmUuCgoyMDA3LTA5LTIwIDEzOjM1OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQWRkIGluZm8gYWJvdXQgc3RhdGljIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBBZGQgaW5mbyBhYm91dCBzdGF0aWMgbGVhay4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBJbXByb3ZlZCBzdGF0ZSBjaGFuZ2UgdW5pdCB0ZXN0LgoKMjAwNy0wOS0xOSAxODoxOTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCjIwMDctMDktMTkgMTY6MjQ6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBSZW1vdmVkIHNvbWUgdW51c2VkIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFJlbW92ZWQgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpOgoJICBUcnkgdG8gcHJlc2VydmUgdGhlIGluY29tbWluZyBidWZmZXIgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nCgkgIHBhY2tldHMuIEZpeGVzICM0NzgyNDQuCgoyMDA3LTA5LTE5IDEwOjIyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFdvcmsgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZysrLTQuMiB3aGVuIGFzc2lnbmluZyBhIHN0cmluZyBjb25zdGFudCB0byBhIGdjaGFyICogKHBhcnRpYWxseSBmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV29yayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnKystNC4yIHdoZW4gYXNzaWduaW5nIGEKCSAgc3RyaW5nIGNvbnN0YW50IHRvIGEgZ2NoYXIgKiAocGFydGlhbGx5IGZpeGVzICM0NzgwOTIpLgoKMjAwNy0wOS0xOCAxNjo0NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgcmVxdWlyZSBjb3JlIENWUyBub3cgZm9yIGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgcmVxdWlyZSBjb3JlIENWUyBub3cgZm9yIGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wKCkuCgoyMDA3LTA5LTE4IDEzOjU1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCjIwMDctMDktMTggMTE6NDU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMKCSAgYW5kIHN0YXJ0L3N0b3AuIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdAoJICBhbiBhcHBsaWNhdGlvbiBjYW4gdW5kZXJzdGFuZC4gKFllcyB0aGVzZSBhcmUgYWRhcHRlZCBmcm9tIHdpbSByZWNlbnQKCSAgbGV2ZWwgZWxlbWVudCBjaGFuZ2VzKQoKMjAwNy0wOS0xNyAxNzozNToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksIChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoKMjAwNy0wOS0xNyAwMjowNToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogR2l2ZSBtZWFuaW5nZnVsbCBlcnJvciB3aGVuIGFsbCBzdHJlYW1zIGZhaWxlZCB0byBjb25maWd1cmUgZm9yIHNvbWUgcmVhc29uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpOgoJICBHaXZlIG1lYW5pbmdmdWxsIGVycm9yIHdoZW4gYWxsIHN0cmVhbXMgZmFpbGVkIHRvIGNvbmZpZ3VyZSBmb3Igc29tZQoJICByZWFzb24uCgoyMDA3LTA5LTE2IDE5OjEzOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCB0aGUgZGVzaWduIGZvciBzeW5jaHJvbmlzYXRpb24gcnVsZXMgb2YgUlRQIG9uIHNlbmRlciBhbmQgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggdGhlIGRlc2lnbiBmb3Igc3luY2hyb25pc2F0aW9uIHJ1bGVzIG9mIFJUUCBvbgoJICBzZW5kZXIgYW5kIHJlY2VpdmVyLgoKMjAwNy0wOS0xNCAwOTo0MDo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IERvbid0IHB1c2ggRU9TIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCB0aGUgZWxlbWVudCBkcml2aW5nIHRoZSBwaXBlbGluZSBpcyByZXNwb25zaWJsZSBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgRG9uJ3QgcHVzaCBFT1MgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHRoZSBlbGVtZW50CgkgIGRyaXZpbmcgdGhlIHBpcGVsaW5lIGlzIHJlc3BvbnNpYmxlIGZvciB0aGlzLiBUaGUgYnVnCgkgIHRoaXMgd2FzIG1lYW50IHRvIGZpeCBzZWVtcyB0byBiZSBxdWV1ZSBub3QgZm9yd2FyZGluZwoJICBFT1MgaW4gYWxsIGNhc2VzIChzZWUgIzQ3NjUxNCkuCgoyMDA3LTA5LTEzIDE3OjMxOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzIGFuZCBzdGFydC9zdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwgKGdzdF9sZXZlbF9zdGFydCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMgYW5kCgkgIHN0YXJ0L3N0b3AuCgkgIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdCBhbiBhcHBsaWNhdGlvbgoJICBjYW4gdW5kZXJzdGFuZC4KCjIwMDctMDktMTMgMTU6MDQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSAgVXBkYXRlIG15IG1haWwgYWRkcmVzcy4KCjIwMDctMDktMTMgMTI6Mzc6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgRU9TIGxvZ2ljIGZvciB0aGUgcHVzaC1iYXNlZCBtb2RlIHRvby4gRml4ZXMgIzQ3NjUxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9lb3MpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgQWRkIEVPUyBsb2dpYyBmb3IgdGhlIHB1c2gtYmFzZWQgbW9kZSB0b28uIEZpeGVzICM0NzY1MTQuCgoyMDA3LTA5LTEyIDIyOjAxOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IEZpeCBsYXcgZW5jb2RlciB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19pbml0KSwgKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgRml4IGxhdyBlbmNvZGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTEyIDA5OjEzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogRml4IHdhcm5pbmcgd2hlbiBidWlsZGluZyB3aXRob3V0IGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSAgRml4IHdhcm5pbmcgd2hlbiBidWlsZGluZyB3aXRob3V0IGRlYnVnLgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICBVc2UgY29uc3QgbGlrZSBpbiBhbHNhbWl4ZXJ0cmFjay5jIChmaXhlcyB3YXJuaW5ncykuCgoyMDA3LTA5LTEyIDA4OjM4OjIxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOS0xMSAxNTozNzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24gY29kZSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIEZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uIGNvZGUgc29tZSBtb3JlLgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgYSB3ZWlyZCBzdGVwIGluIHRoZSBzdGVwd2lzZSBmcmFtZXJhdGVzLgoJICBEb24ndCBvdmVyd3JpdGUgdGhlIG1pbiBpbnRlcnZhbCB3aXRoIHRoZSBmcmFtZXJhdGUsIHVzZSBhIHRlbXAgdmFyaWFibGUKCSAgaW5zdGVhZC4KCSAgVXNlIG1heCBpbiB0aGUgQ29udGludW91cyBmcmFtZXJhdGUgaW50ZXJ2YWxzIGluc3RlYWQgb2Ygc3RlcCwgd2hpY2ggaXMKCSAgMSBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuIEZpeGVzICM0NzU0MjQuCgoyMDA3LTA5LTEwIDE5OjUzOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogTWFrZSB1ZHBzcmMgdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMgYmFzZWQgb24gd2hlbiB0aGV5IHdlcmUgcmVjZWl2ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBNYWtlIHVkcHNyYyB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycyBiYXNlZCBvbiB3aGVuIHRoZXkgd2VyZSByZWNlaXZlZC4KCSAgQWxzbyBtYWtlIGl0IG91dHB1dCBhIHNlZ21lbnQgaW4gdGltZS4KCjIwMDctMDktMTAgMDY6NDk6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUGx1ZyBhIGxpdHRsZSBsZWFrLiBMaXR0bGUgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBQbHVnIGEgbGl0dGxlIGxlYWsuIExpdHRsZSBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0wOSAxODowODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiB0byBjaGVjayBmb3Igb2xkIGZsYWMgdmVyc2lvbnMsICdzIGdvb2QgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gdG8gY2hlY2sgZm9yIG9sZAoJICBmbGFjIHZlcnNpb25zLCAncyBnb29kIGZvciBjcm9zcy1jb21waWxhdGlvbiBrYXJtYS4KCjIwMDctMDktMDcgMTg6MDQ6NDEgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IEZpeCB1cCBoZWFkZXIgc3RydWN0dXJlIHNvIHRoYXQgY29tcGlsZXJzIGRvbid0IGFkZCBwYWRkaW5nIGJldHdlZW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMsIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSAgPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBGaXggdXAgaGVhZGVyIHN0cnVjdHVyZSBzbyB0aGF0IGNvbXBpbGVycyBkb24ndCBhZGQgcGFkZGluZwoJICBiZXR3ZWVuIHRoZSBzdHJ1Y3R1cmUgZmllbGRzLCBzaW5jZSB0aGF0IHdvdWxkIGxlYWQgdG8gdXMKCSAgc2VuZGluZyBSVFAgcGFja2V0cyB3aXRoIGJyb2tlbiBoZWFkZXJzIChhcyBpcyBjdXJyZW50bHkgdGhlCgkgIGNhc2Ugd2hlbiBjb21waWxpbmcgd2l0aCBNU1ZDKS4gQWxzbyBzZWUgc2ltaWxhciBmaXhlcyBpbgoJICBsaWJnc3RydHAgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gKCM0NzQ2MTY7ICM0NzExOTQpCgoyMDA3LTA5LTA3IDE2OjA0OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBEb24ndCBvdmVyd3JpdGUgb3VyIEdWYWx1ZSB3aXRoIDAgYnV0IGluc3RlYWQgdXNlIHRoZSBwcmV2aW91c2x5IGNvbXB1dGVkIHZhbHVlLiBGaXhlcyAjNDcxLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIERvbid0IG92ZXJ3cml0ZSBvdXIgR1ZhbHVlIHdpdGggMCBidXQgaW5zdGVhZCB1c2UgdGhlIHByZXZpb3VzbHkKCSAgY29tcHV0ZWQgdmFsdWUuIEZpeGVzICM0NzE4MjMgc29tZSBtb3JlLgoKMjAwNy0wOS0wNyAxNTo1NDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBUaGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBub3RpY2luZy4KCjIwMDctMDktMDYgMTI6MDA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeTogTm8gdGFicyBpbiB0aGlzIGZpbGUgcGxlYXNlLCBvciBndGstZG9jIHdpbGwgZW5kIHVwIGRvY3VtZW50aW5nIHJhdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIE5vIHRhYnMgaW4gdGhpcyBmaWxlIHBsZWFzZSwgb3IgZ3RrLWRvYyB3aWxsIGVuZCB1cCBkb2N1bWVudGluZwoJICByYXRoZXIgYWJzdXJkIGNsYXNzIGhpZXJhcmNoaWVzLgoKMjAwNy0wOS0wNiAxMDo0ODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IElmIHRoZSBuZXcga2lkIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlIGZvciBzb21lIHJlYXNvbiBmb3J3YXJkIHRoZSBlcnJvciBtZXNzYWdlIGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBJZiB0aGUgbmV3IGtpZCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSBmb3Igc29tZSByZWFzb24KCSAgKGUuZy4gZXNkc2luayBub3QgYmVpbmcgYWJsZSB0byBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIpLAoJICBmb3J3YXJkIHRoZSBlcnJvciBtZXNzYWdlIGl0IHBvc3RlZCBvbiB0aGUgYnVzIGluc3RlYWQgb2YganVzdAoJICBwb3N0aW5nIGEgZ2VuZXJpYyAnSW50ZXJuYWwgc3RhdGUgY2hhbmdlIGVycm9yOiBwbGVhc2UgZmlsZSBhCgkgIGJ1ZycgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzQ3MTM2NC4KCjIwMDctMDktMDYgMDc6MjE6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldHVwKSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydAoJICBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlIGNvbnRlbnRzLAoJICBhdmVyYWdlIGFsbCBGRlRzIGRvbmUgaW4gb25lIGludGVydmFsIGZvciBiZXR0ZXIgcmVzdWx0cywgdXNlCgkgIGEgYmV0dGVyIHdpbmRvd2luZyBmdW5jdGlvbiwgYWxsb3cgcG9zdGluZyB0aGUgcGhhc2UgaW4gdGhlIG1lc3NhZ2UKCSAgYW5kIGFjdHVhbGx5IGRvIGFuIEZGVCB3aXRoIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJhbmRzIGluc3RlYWQKCSAgb2YgaW50ZXJwb2xhdGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlY3RydW1fc3VpdGUpOgoJICBJbXByb3ZlIHRoZSB1bml0cyB0ZXN0cyBieSBjaGVja2luZyBmb3IgYSAxMTAyNUh6IHNpbmUgd2F2ZQoJICBhbmQgYWRkIHVuaXQgdGVzdHMgZm9yIGFsbCA0IHN1cHBvcnRlZCBzYW1wbGUgdHlwZXMuCgoyMDA3LTA5LTA1IDE2OjIzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBEb24ndCBhc3N1bWUgdGFncyBhcmUgZW5jb2RlZCBhcyBVVEYtOCAoIzQ3MzY3MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRG9uJ3QgYXNzdW1lIHRhZ3MgYXJlIGVuY29kZWQgYXMgVVRGLTggKCM0NzM2NzApLgoKMjAwNy0wOS0wNSAxNDo0MzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcmllcyBpbiB0aGUgY3J1ZGVzdCB3YXkgcG9zc2libGUgc28gSSBkb24ndCBoYXZlIHRvIHVzZSBzeW5jPWZhbHNlIGFueSBsb25nZXIgd2hlbiB0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSW1wbGVtZW50IExBVEVOQ1kgcXVlcmllcyBpbiB0aGUgY3J1ZGVzdCB3YXkgcG9zc2libGUgc28gSSBkb24ndAoJICBoYXZlIHRvIHVzZSBzeW5jPWZhbHNlIGFueSBsb25nZXIgd2hlbiB0ZXN0aW5nIHdpdGggdmlkZW9zaW5rcy4KCjIwMDctMDktMDUgMDk6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQuCgoyMDA3LTA5LTA1IDAwOjEyOjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbiB0aGUgZnJhbWVyYXRlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbiB0aGUgZnJhbWVyYXRlIGZ1bmN0aW9uLgoJICBJdGVyYXRlIHN0ZXB3aXNlIGZyYW1lcmF0ZSB1cCB0byBhbmQgX2luY2x1ZGluZ18gdGhlIG1heCBhbmQgaWYgbm90aGluZwoJICB3YXMgYWRkZWQgdG8gdGhlIGxpc3QsIGFkZCBhIGR1bW15IDAvMSB0byAxMDAvMSBmcmFtZXJhdGUgc28gdGhhdCB3ZQoJICBkb24ndCBlbmQgdXAgd2l0aCBhbiBlbXB0eSBsaXN0LgoKMjAwNy0wOS0wNCAyMjo0MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEFkZCBwcm9wZXJ0eSBkbyBjb25maWd1cmUgZGVzdGluYXRpb24gYWRkcmVzcy9wb3J0IHBhaXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfY2xpZW50c19zdHJpbmcpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfY2xpZW50c19zdHJpbmcpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19jbGVhcl9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKToKCSAgQWRkIHByb3BlcnR5IGRvIGNvbmZpZ3VyZSBkZXN0aW5hdGlvbiBhZGRyZXNzL3BvcnQgcGFpcnMKCSAgQVBJOkdzdE11bHRpVURQU2luazo6Y2xpZW50cwoKMjAwNy0wOS0wNCAxODozMDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzLzogQWRkZWQgc29tZSBSVFAgZXhhbXBsZSBzY3JpcHRzIGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRQIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEFkZGVkIHNvbWUgUlRQIGV4YW1wbGUgc2NyaXB0cyBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUUCBzdHJlYW1zLgoKMjAwNy0wOS0wNCAxNjo0MDowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUmVzdHJ1Y3R1cmUgdGhlIHNldGNhcHMgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWxzbyBjb21wdXRlIHRoZSBleHBlY3RlZCBHU3RyZWFtZXIgb3V0cHV0IHNpei4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9tbWFwKToKCSAgUmVzdHJ1Y3R1cmUgdGhlIHNldGNhcHMgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWxzbyBjb21wdXRlIHRoZQoJICBleHBlY3RlZCBHU3RyZWFtZXIgb3V0cHV0IHNpemUgb2YgdGhlIHZpZGVvIGZyYW1lcy4KCSAgU2V0IGZyYW1lX2J5dGVfc2l6ZSBjb3JyZWN0bHkgc28gdGhhdCByZWFkLWJhc2VkIGRldmljZXMgaGF2ZSBhIGNoYW5jZQoJICBvZiB3b3JraW5nIGNvcnJlY3RseS4KCSAgV2hlbiBncmFiYmluZyBhIGZyYW1lLCBkaXNjYXJkIGZyYW1lcyB0aGF0IGFyZSBub3Qgb2YgdGhlIGV4cGVjdGVkIHNpemUuCgkgIFNvbWUgY2FtZXJhcyBkb24ndCBvdXRwdXQgdGhlIHJpZ2h0IGZyYW1lc2l6ZSBmb3IgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgVHJ5IG9ubHkgYSBjb3VwbGUgb2YgdGltZXMgdG8gZ2V0IGEgdmFsaWQgZnJhbWUsIGVsc2UgZXJyb3Igb3V0LgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9nZXRfaW5wdXQpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gd2hlbiBzY2FubmluZyB0aGUgZGV2aWNlLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9uZXcpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKSwKCSAgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gd2hlbiBkZXF1ZWluZyBhIGZyYW1lLgoKMjAwNy0wOS0wNCAxNDozNzoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1vcmUgY29kZSBjbGVhbnVwcy4gQWRkIHNvbWUgbW9yZSBjb21tZW50IGFuZCBpbXByb3ZlIGRlYnVncyBsb2dzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgTW9yZSBjb2RlIGNsZWFudXBzLiBBZGQgc29tZSBtb3JlIGNvbW1lbnQgYW5kIGltcHJvdmUgZGVidWdzIGxvZ3MuCgoyMDA3LTA5LTA0IDA3OjU4OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogSW1wbGVtZW50IHNlZWstcXVlcnkuIFJlZmFjdG9yIGR1cmF0aW9uIGNhbGN1bGF0aW9ucy4gQXBwcm9wcmlhdGUgdXNlIG9mIHVpbnQ2NF9zY2FsZV9pbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEltcGxlbWVudCBzZWVrLXF1ZXJ5LiBSZWZhY3RvciBkdXJhdGlvbiBjYWxjdWxhdGlvbnMuIEFwcHJvcHJpYXRlIHVzZQoJICBvZiB1aW50NjRfc2NhbGVfaW50IGFuZCB1aW50NjRfc2NhbGUuIE1vdmUgcmVwZWFkZWRseSBjYWxjdWxhdGVkIHN0dWZmCgkgIG91dCBvZiBsb29wcy4KCjIwMDctMDktMDMgMDc6NDQ6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW1wbGVtZW50IHNlZWstcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgSW1wbGVtZW50IHNlZWstcXVlcnkuCgoyMDA3LTA4LTI5IDIxOjQzOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgbmV3IGJhc2VzaW5rIGFzeW5jIHByb3BlcnR5IHRvIG1ha2Ugc3BhcnNlIFJUQ1AgcGFja2V0IG5vdCB3YWl0IGZvciBwcmVyb2xsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpOgoJICBVc2UgbmV3IGJhc2VzaW5rIGFzeW5jIHByb3BlcnR5IHRvIG1ha2Ugc3BhcnNlIFJUQ1AgcGFja2V0IG5vdCB3YWl0IGZvcgoJICBwcmVyb2xsLgoKMjAwNy0wOC0yNyAxNDo0NDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbTogRGlzdCB0aGUgcmlnaHQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIERpc3QgdGhlIHJpZ2h0IGZpbGUuCgoyMDA3LTA4LTIzIDE2OjI3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNYWtlIHN1cmUgd2UgZ2VuZXJhdGUgYW5kIHBhcnNlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBpbiB0aGUgUE9TSVggbG9jYWxlIGluc3RlYWQgb2YgdGhlIGN1cnJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X2Zsb2F0KSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICBNYWtlIHN1cmUgd2UgZ2VuZXJhdGUgYW5kIHBhcnNlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBpbiB0aGUgUE9TSVgKCSAgbG9jYWxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgbG9jYWxlLgoKMjAwNy0wOC0yMiAxNTowMToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IG1ldGhvZCBkZXRlY3Rpb24gYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IG1ldGhvZCBkZXRlY3Rpb24gYWdhaW4uCgkgIEtlZXAgdHJhY2sgb2Ygd2hlbiB3ZSBtdXN0IHNlbmQgYSBSYW5nZSBoZWFkZXIuCgkgIFVzZSBzZWdtZW50IHZhbHVlcyBmb3IgUmFuZ2UsIFNwZWVkIGFuZCBTY2FsZSBoZWFkZXJzLgoJICBQYXJzZSBTcGVlZCBhbmQgU2NhbGUgaGVhZGVycyB0byB1cGRhdGUgdGhlIHNlZ21lbnQgdmFsdWVzLgoKMjAwNy0wOC0yMiAwODoyMjo1MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogSGFuZGxlIG9wdGlvbmFsIHY0bDIgaW9jdGxzIGdyYWNlZnVsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEhhbmRsZSBvcHRpb25hbCB2NGwyIGlvY3RscyBncmFjZWZ1bGx5LgoKMjAwNy0wOC0yMCAxNjo1MjowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBhbiBIMjYzIGRlcGF5bG9hZGVyLiBGaXhlcyAjMzY5MzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfaDI2M19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgQWRkZWQgYW4gSDI2MyBkZXBheWxvYWRlci4gRml4ZXMgIzM2OTM5Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgIE1ha2UgdGhlIEgyNjMrIHBheS9kZXBheWxvYWRlciBzdXBwb3J0IEgyNjMtMTk5OCBhbmQgSDI2My0yMDAwCgkgIHBheWxvYWRzLgoJICBBbHNvIGFsb3cgcGxhaW4gSDI2MyBvbiB0aGUgaDI2M3AgcGF5bG9hZGVycy4gRml4ZXMgIzQ2NTA0MC4KCjIwMDctMDgtMTkgMTk6MTY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjExOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSB3aW5kb3dlZCBzaW5jIGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgd2luZG93ZWQgc2luYyBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOTowMTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYnB3c2luY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAobHB3c2luY19zdWl0ZSk6CgkgIEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoKMjAwNy0wOC0xOSAxODo0NzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgMzIgYml0IGZsb2F0IG1vZGUgYW5kIHRoZSB0eXBlIDIgdmFyaWFudHMgb2YgdGhlIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmRfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdF9zdWl0ZSk6CgkgIEFsc28gdGVzdCAzMiBiaXQgZmxvYXQgbW9kZSBhbmQgdGhlIHR5cGUgMiB2YXJpYW50cyBvZiB0aGUgZmlsdGVycy4KCjIwMDctMDgtMTggMTk6NDQ6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRoZSB1ZHAgYW5kIGludGVybGVhdmVkIGxvb3AgZnVuY3Rpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19sb29wKToKCSAgUmVmYWN0b3IgdGhlIHVkcCBhbmQgaW50ZXJsZWF2ZWQgbG9vcCBmdW5jdGlvbiBhIGJpdC4KCjIwMDctMDgtMTcgMTc6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFByb3RlY3QgY29ubmVjdGlvbiBhY3Rpdml0eSB3aXRoIGEgbmV3IGxvY2ssIGF2b2lkcyBkZWFkbG9ja3Mgd2hlbiBnb2luZyB0byBQQVVTRUQuIEZpeGVzICM0NTUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9yZWNlaXZlKSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUHJvdGVjdCBjb25uZWN0aW9uIGFjdGl2aXR5IHdpdGggYSBuZXcgbG9jaywgYXZvaWRzIGRlYWRsb2NrcyB3aGVuIGdvaW5nCgkgIHRvIFBBVVNFRC4gRml4ZXMgIzQ1NTgwOC4KCjIwMDctMDgtMTcgMTU6MzA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggZGVidWcgc3RhdGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKToKCSAgRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDctMDgtMTcgMTU6Mjg6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBzdHJheSAldSBpbiBkZWJ1ZyBsaW5lIGFzIHNwb3R0ZWQgYnkgU2F1ciBvbiBJUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpOgoJICBGaXggc3RyYXkgJXUgaW4gZGVidWcgbGluZSBhcyBzcG90dGVkIGJ5IFNhdXIgb24gSVJDLgoKMjAwNy0wOC0xNyAxNTowNToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGNoYW5nZSBmcmVxdWVuY3kKCSAgcHJvcGVydGllcyB0byBmbG9hdHMgdG8gc2F2ZSBhIGJpdCBvZiBtZW1vcnksIGV2ZW4gaW50cyB3b3VsZCBpbgoJICB0aGVvcnkgYmUgZW5vdWdoLiBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gY3V0b2ZmIGZvciBjb25zaXN0ZW5jeQoJICByZWFzb25zLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBhYm92ZSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAxNDo0MzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfY2xhc3NfaW5pdCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBhZGQgYSBub3RlIGFib3V0CgkgIHRoZSBudW1iZXIgb2YgcG9sZXMgYXMgYSB0b28gaGlnaCBudW1iZXIgb2YgcG9sZXMgY29tYmluZWQgd2l0aAoJICB2ZXJ5IGxvdyBvciB2ZXJ5IGhpZ2ggZnJlcXVlbmNpZXMgd2lsbCBwcm9kdWNlIG9ubHkgbm9pc2UuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIHByb3BlcnR5IGNoYW5nZXMuCgoyMDA3LTA4LTE3IDE0OjE1OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbXByb3ZlIHRpbWVvdXQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19mbHVzaCksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wcm92ZSB0aW1lb3V0IGhhbmRsaW5nLgoJICBVc2UgdGhlIHNhbWUgc29ja2V0IGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIHNvIHRoYXQgc29tZQoJICBzZXJ2ZXJzIGNhbiB0cmFjayBjbGllbnRzIGJldHRlci4KCSAgSW1wcm92ZSBjb25uZWN0aW9uIGNsb3NlZCBoYW5kbGluZy4gVHJ5IHRvIHJlY29ubmVjdC4KCSAgRG9uJ3Qgb3ZlcndyaXRlIG91ciBjb250ZW50IGJhc2Ugd2l0aCBOVUxMLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgSW1wcm92ZSByYW5nZSBwYXJzaW5nIGFuZCBoYW5kbGluZy4KCSAgUmVtb3ZlIGZsdXNoaW5nIGhhY2sgbm93IHRoYXQgY29yZSBkb2VzIHRoZSByaWdodCB0aGluZy4KCjIwMDctMDgtMTcgMTM6NTk6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgc29ja2V0IHRvIHVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbG9zZSksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHNvY2tldCB0byB1c2UuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyB0aGUgY3VycmVudGx5IHVzZWQgc29ja2V0LgoKMjAwNy0wOC0xNiAxOToyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3N0YXJ0KSwgKGJwd3NpbmNfcXVlcnkpLAoJICAoYnB3c2luY19xdWVyeV90eXBlKSwgKGJwd3NpbmNfZXZlbnQpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgUmVzZXQgcmVzaWR1ZSBsZW5ndGggb25seSB3aGVuIGFjdHVhbGx5IGNyZWF0aW5nIGEgcmVzaWR1ZS4KCjIwMDctMDgtMTYgMTc6MDI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIENoZWJ5c2hldiBsb3dwYXNzL2hpZ2hwYXNzIGFuZCBiYW5kcGFzcy9iYW5kcmVqZWN0IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2luaXQpLAoJICAoZ2VuZXJhdGVfYmlxdWFkX2NvZWZmaWNpZW50cyksIChjYWxjdWxhdGVfZ2FpbiksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zZXR1cCksIChwcm9jZXNzKSwgKHByb2Nlc3NfNjQpLAoJICAocHJvY2Vzc18zMiksIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc3RhcnQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfaW5pdCksCgkgIChnZW5lcmF0ZV9iaXF1YWRfY29lZmZpY2llbnRzKSwgKGNhbGN1bGF0ZV9nYWluKSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3NldHVwKSwgKHByb2Nlc3MpLCAocHJvY2Vzc182NCksCgkgIChwcm9jZXNzXzMyKSwgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3N0YXJ0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIENoZWJ5c2hldiBsb3dwYXNzL2hpZ2hwYXNzIGFuZCBiYW5kcGFzcy9iYW5kcmVqZWN0IGVsZW1lbnRzLgoJICBGaXhlcyAjNDY0ODAwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoc2V0dXBfYXVkaW9jaGVieXNoZXZmcmVxYmFuZCksIChjbGVhbnVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9jaGVieXNoZXZmcmVxYmFuZF9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoc2V0dXBfYXVkaW9jaGVieXNoZXZmcmVxbGltaXQpLCAoY2xlYW51cF9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFuZCBhZGQgZG9jcyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLiBXaGlsZSBkb2luZwoJICB0aGF0IGFsc28gcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTYgMTI6MTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2Ugcm8gbWVtb3J5IHRvIHNoYXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgTWFrZSBybyBtZW1vcnkgdG8gc2hhcmUuCgoyMDA3LTA4LTE2IDExOjQ5OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSW1wcm92ZSBVRFAgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgYSBzZWxlY3QoKSB3aGVuIHdlIGhhdmUgZGF0YSBhdmFpbGFibGUgaW1tZWRpYXRseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgSW1wcm92ZSBVRFAgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgYSBzZWxlY3QoKSB3aGVuIHdlIGhhdmUgZGF0YQoJICBhdmFpbGFibGUgaW1tZWRpYXRseS4KCjIwMDctMDgtMTYgMTE6NDc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkIChkdW1teSkgU1NSQyBtYW5hZ2VtZW50IHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9WT0lEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZCAoZHVtbXkpIFNTUkMgbWFuYWdlbWVudCBzaWduYWxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChmaW5kX3N0cmVhbSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKG5ld19zZXNzaW9uX3BhZCksCgkgIChyZXF1ZXN0X3B0X21hcCksIChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eS4KCSAgQWRkIGZpbmRfc3RyZWFtIGhlbHBlciBmdW5jdGlvbnMuCgkgIEhhbmRsZSBzdHJlYW0gRU9TIGJhc2VkIG9uIEJZRSBtZXNzYWdlcyBvciBTU1JDIHRpbWVvdXQuCgkgIFJldHVybnMgU1VDQ0VTUyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYXMgd2UgaGlkZSBvdXIgYXN5bmMKCSAgZWxlbWVudHMgZnJvbSB0aGUgcGFyZW50LgoKMjAwNy0wOC0xNiAwOTo0ODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChscHdzaW5jX3RyYW5zZm9ybSksIChscHdzaW5jX3N0YXJ0KSwgKGxwd3NpbmNfcXVlcnkpLAoJICAobHB3c2luY19xdWVyeV90eXBlKSwgKGxwd3NpbmNfZXZlbnQpLCAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCjIwMDctMDgtMTYgMDc6NDA6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBkYSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICBGaXggZGEgbGVhay4KCjIwMDctMDgtMTQgMTM6NTA6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IEFkZCBuZXcgdGVzdCBlbGVtZW50IGFuZCBjbGVhbi11cCB0aGUgb3RoZXJzIGEgbGl0dGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBBZGQgbmV3IHRlc3QgZWxlbWVudCBhbmQgY2xlYW4tdXAgdGhlIG90aGVycyBhIGxpdHRsZS4KCjIwMDctMDgtMTMgMTM6NTA6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUgYWxsIG90aGVyIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbQoJICBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUKCSAgYWxsIG90aGVyIGRvY3MgdmlhIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTIgMjA6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCjIwMDctMDgtMTIgMjA6NTM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChzZXR1cF9icHdzaW5jKSwKCSAgKGNsZWFudXBfYnB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChicHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoKMjAwNy0wOC0xMiAyMDoxOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKHNldHVwX2xwd3NpbmMpLAoJICAoY2xlYW51cF9scHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGxwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgoyMDA3LTA4LTEyIDE1OjQxOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMDgtMTIgMTQ6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG1wNGEgdmVyc2lvbiAwIGF0b21zLiBGaXhlcyAjNDY1Nzc0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBGaXggcGFyc2luZyBvZiBtcDRhIHZlcnNpb24gMCBhdG9tcy4gRml4ZXMgIzQ2NTc3NC4KCjIwMDctMDgtMTIgMTI6NDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlIG9uIHN0cmVhbSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zdGFydCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGxwd3NpbmNfc3RhcnQpOgoJICBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlCgkgIG9uIHN0cmVhbSBjaGFuZ2VzLgoKMjAwNy0wOC0xMSAxNTo1ODozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIga2VybmVsIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgIEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIKCSAga2VybmVsIHNpemUuCgoyMDA3LTA4LTEwIDE3OjA4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEwIDE2OjEwOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiBTZXQgdGhlIG1wZWd2ZXJzaW9uIGluIHRoZSBjYXBzIHNvIHRoYXQgYXV0b3BsdWdnaW5nIGRvZXMgbm90IGdldCBjb25mdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICBTZXQgdGhlIG1wZWd2ZXJzaW9uIGluIHRoZSBjYXBzIHNvIHRoYXQgYXV0b3BsdWdnaW5nIGRvZXMgbm90IGdldAoJICBjb25mdXNlZC4KCjIwMDctMDgtMTAgMDU6NTE6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZCB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQKCSAgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSBidWZmZXIuCgoyMDA3LTA4LTEwIDA1OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9icHdzaW5jX3dpbmRvd19nZXRfdHlwZSksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdwoJICBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBbmQgYW5vdGhlciBzbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDU6MjA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgLSBTdXBwb3J0IGRvdWJsZSBpbnB1dAoJICAtIEZpeCBwcm9jZXNzaW5nIGZvciBpbnB1dCB3aXRoID4xIGNoYW5uZWxzCgkgIC0gU3BlY2lmeSBmcmVxdWVuY3kgaW4gSHoKCSAgLSBTcGVjaWZ5IGFjdHVhbCBmaWx0ZXIga2VybmVsIGxlbmd0aAoJICAtIFVzZSB0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAgYXMgd2UncmUgd29ya2luZwoJICBvdXQgb2YgcGxhY2UgYW55d2F5CgkgIC0gRmFjdG9yIG91dCBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gYW5kIHVwZGF0ZSB0aGUgZmlsdGVyCgkgIGtlcm5lbCB3aGVuIHRoZSBwcm9wZXJ0aWVzIGFyZSBzZXQKCSAgRml4IGJhbmRwYXNzIGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiB0byBhY3R1YWxseSBnZW5lcmF0ZQoJICBhIGJhbmRwYXNzIGZpbHRlciBieSBjcmVhdGluZyBhIGhpZ2hwYXNzIGluc3RlYWQgb2YgYSBzZWNvbmQKCSAgbG93cGFzcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBTbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDQ6NDQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQKCSAgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0byB0aGUgbmV4dCBvZGQgbnVtYmVyLgoJICBBbHNvIHJlbW92ZSBub3cgb2Jzb2xldGUgRklYTUVzLgoKMjAwNy0wOC0xMCAwNDozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4gd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4KCSAgd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0b3BiYW5kIGF0dGVudWF0aW9uIGJ1dCBhIGJpdCBzbG93ZXIKCSAgcm9sbG9mZi4KCjIwMDctMDgtMTAgMDQ6MjE6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgYSBoaWdocGFzcyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgYSBoaWdocGFzcyBtb2RlLgoKMjAwNy0wOC0xMCAwNDowNjo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoKMjAwNy0wOC0wOSAxOToyMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBBZGQgVE9ET3MgYW5kIEZJWE1FcyBhbmQgcmVtb3ZlIHR3byB3cm9uZyBGSVhNRXMuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBGSVhNRXMgYW5kIGEgbmV3IFRPRE8uCgoyMDA3LTA4LTA5IDE4OjA4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyIGlzIGEgQysrIGtleXdvcmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksCgkgIChwcm9jZXNzXzY0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0dXApLAoJICAobHB3c2luY19nZXRfdW5pdF9zaXplKSwgKGxwd3NpbmNfdHJhbnNmb3JtKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyCgkgIGlzIGEgQysrIGtleXdvcmQuCgkgIEltcGxlbWVudCB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IGluIEh6IGluc3RlYWQgb2YgZnJhY3Rpb24KCSAgb2Ygc2FtcGxpbmcgZnJlcXVlbmN5LgoJICBSZW1vdmUgc29tZSB1bmVjZXNzYXJ5IEZJWE1FcyBhbmQgYWRkIHNvbWUgVE9ET3MsIGFkZCBzb21lCgkgIHJlcXVpcmVkIGxvY2tpbmcgYW5kIHJlZmFjdG9yIHRoZSBrZXJuZWwgZ2VuZXJhdGlvbiBpbnRvIGEKCSAgc2VwYXJhdGUgZnVuY3Rpb24gdGhhdCBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0aWVzCgkgIGNoYW5nZSBub3cuCgkgIEFuZCB1c2UgQmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwCgkgIGFzIHRoZSBjb252b2x1dGlvbiBpcyBkb25lIG91dCBvZiBwbGFjZSBhbnl3YXkuIFNob3VsZAoJICBiZSBkb25lIGluIHBsYWNlIGxhdGVyLgoKMjAwNy0wOC0wOSAxMDo1NDowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA4LTA4IDIwOjQ3OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeSBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeQoJICBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCjIwMDctMDgtMDggMTc6NDc6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBSZW5kZXIgcmlnaHQgYm9yZGVyIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKToKCSAgUmVuZGVyIHJpZ2h0IGJvcmRlciBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCjIwMDctMDgtMDggMTA6NTQ6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogTWFrZSBtb2RlIHByb3BlcnR5IGEgc3RyaW5nLiBGaXhlcyAjNDY0NDc1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgTWFrZSBtb2RlIHByb3BlcnR5IGEgc3RyaW5nLiBGaXhlcyAjNDY0NDc1LgoKMjAwNy0wOC0wNSAxNDo1ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBXaWRlbiBjYXBzIHRvIG1hdGNoIGRlY29kZXIgYSBiaXQgYW5kIGFkZCBtb3JlIEZJWE1Fcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBXaWRlbiBjYXBzIHRvIG1hdGNoIGRlY29kZXIgYSBiaXQgYW5kIGFkZCBtb3JlIEZJWE1Fcy4KCjIwMDctMDgtMDUgMTQ6NTM6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggT0RNTCBpbmRleCB0YWcgbnVtYmVyaW5nLiBGaXhlcyAjNDYzNjI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4IE9ETUwgaW5kZXggdGFnIG51bWJlcmluZy4gRml4ZXMgIzQ2MzYyNC4KCjIwMDctMDgtMDMgMTY6MDg6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBkZWZhdWx0IGNsb2NrLXJhdGUgZm9yIHJlYWxtZWRpYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIEZpeCBkZWZhdWx0IGNsb2NrLXJhdGUgZm9yIHJlYWxtZWRpYS4KCSAgRml4IHBhcnNpbmcgb2YgdHJhbnNwb3J0LgoJICBEb24ndCB0cnkgdG8gbGluayBOVUxMIHBhZHMuCgoyMDA3LTA3LTMwIDE3OjE3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuc2tpcDogQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZQoJICBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYmxlIHN0cmluZ3MuIFNob3VsZCBob3BlZnVsbHkgcGFjaWZ5CgkgIGJyb2tlbiB0b29scyBhbmQgbWFrZSBpdCBjbGVhcmVyIHRoYXQgdGhlc2UgZmlsZXMgYXJlIGxlZnQgb3V0CgkgIGludGVudGlvbmFsbHkgKCM0NjE2MDApLgoKMjAwNy0wNy0zMCAxMjo0MTo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSWYgdGhlIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCAuLi4gZG9uJ3QgdHJ5IHNlbmRpbmcgaXQgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIElmIHRoZSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgLi4uIGRvbid0IHRyeSBzZW5kaW5nIGl0IDopCgoyMDA3LTA3LTI3IDE2OjU2OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZiB3ZSBkb24ndCBoYXYgYSBzZXNzaW9uIG1hbmFnZXIsIHNldCB0aGUgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzIG91cnNlbHZlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyk6CgkgIElmIHdlIGRvbid0IGhhdiBhIHNlc3Npb24gbWFuYWdlciwgc2V0IHRoZSBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgb3Vyc2VsdmVzLgoJICBGb3JjZSBQQVVTRS9QTEFZIG1ldGhvZHMgZm9yIG5vdyB1bnRpbCB0aGUgZXh0ZW5zaW9ucyBjYW4gb3ZlcndyaXRlLgoJICBBcHBlbmQgZmluYWwgYml0IG9mIHRoZSB0cmFuc3BvcnQgc3RyaW5nIGV2ZW4gd2hlbiBpdCBkb2VzIG5vdCBjb250YWluIGEKCSAgcGxhY2Vob2xkZXIuCgoyMDA3LTA3LTI3IDExOjIxOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBDbGVhbiB1cCB0aGUgaW50ZXJmYWNlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZyZWUpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfY29ubmVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc2VuZF9jYik6CgkgIENsZWFuIHVwIHRoZSBpbnRlcmZhY2UgbGlzdC4KCSAgQWxsb3cgY29ubmVjdGluZyB0byBpbnRlcmZhY2Ugc2lnbmFscyBmb3IgdGhlIGV4dGVuc2lvbnMuCgkgIFJlbW92ZSBvbGQgZXh0ZW5zaW9uIGNvZGUuCgkgIEZyZWUgbGlzdCBvbiBjbGVhbnVwLgoJICBBbGxvdyBleHRlbnNpb25zIHRvIHNlbmQgYWRkaXRpb25hbCBSVFNQIG1lc3NhZ2VzLgoKMjAwNy0wNy0yNyAxMDozODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogSGFuZGxlIGEgTlVMTCBnY29uZiBrZXkgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgdGhlIGRlZmF1bHQgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBIYW5kbGUgYSBOVUxMIGdjb25mIGtleSBncmFjZWZ1bGx5IGJ5IHJlbmRlcmluZyB0aGUgZGVmYXVsdCBlbGVtZW50LgoKMjAwNy0wNy0yNyAxMDoxMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDogRml4IGluY2x1ZGUgcGF0aCBmb3IgZXh0ZW5zaW9uIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICBGaXggaW5jbHVkZSBwYXRoIGZvciBleHRlbnNpb24gaW50ZXJmYWNlLgoKMjAwNy0wNy0yNiAxOTo0NTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6IEFsc28gcmVtb3ZlIGEgbm93IHVuZWNlc3NhcnkgdmFyaWFibGUgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgIEFsc28gcmVtb3ZlIGEgbm93IHVuZWNlc3NhcnkgdmFyaWFibGUgaGVyZS4KCjIwMDctMDctMjYgMTk6NDE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogRG9uJ3Qgc2F2ZSBmb3JtYXQgaW5mb3JtYXRpb24gb3Vyc2VsdmVzLCB0aGlzIGlzIGFscmVhZHkgc2F2ZWQgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldHVwKSwgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvY2Vzc19mdW5jdGlvbiksIChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldHVwKSwgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldHVwKSwgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBEb24ndCBzYXZlIGZvcm1hdCBpbmZvcm1hdGlvbiBvdXJzZWx2ZXMsIHRoaXMgaXMgYWxyZWFkeSBzYXZlZCBpbgoJICBHc3RBdWRpb0ZpbHRlci4KCjIwMDctMDctMjYgMTU6NDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFVzZSByYW5rIHRvIGZpbHRlciBvdXQgZXh0ZW5zaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZmlsdGVyKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3N0cmVhbV9zZWxlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgVXNlIHJhbmsgdG8gZmlsdGVyIG91dCBleHRlbnNpb25zLgoJICBBZGQgdXJsIHRvIHN0cmVhbV9zZWxlY3QgaW50ZXJmYWNlIGNhbGwuCgoyMDA3LTA3LTI1IDE4OjUwOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBVc2Ugc2hpbnkgbmV3IFJUU1AgYW5kIFNEUCBsaWJyYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9iYXNlNjQuYzoKCSAgKiBnc3QvcnRzcC9iYXNlNjQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9maWx0ZXIpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfaW5pdCksIChnc3RfcnRzcF9leHRfbGlzdF9nZXQpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfZGV0ZWN0X3NlcnZlciksIChnc3RfcnRzcF9leHRfbGlzdF9iZWZvcmVfc2VuZCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9hZnRlcl9zZW5kKSwgKGdzdF9ydHNwX2V4dF9saXN0X3BhcnNlX3NkcCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zZXR1cF9tZWRpYSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9jb25maWd1cmVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2dldF90cmFuc3BvcnRzKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3N0cmVhbV9zZWxlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9sb3dlcl90cmFuc19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19mbHVzaCksIChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwX2F1dGhfbWV0aG9kX3RvX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3AuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuYzoKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgICogZ3N0L3J0c3Avc2RwLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6CgkgIFVzZSBzaGlueSBuZXcgUlRTUCBhbmQgU0RQIGxpYnJhcnkuCgkgIEltcGxlbWVudCBSVFNQIGV4dGVuc2lvbnMgdXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UuCgkgIFJlbW92ZSBhIGxvdCBvZiBvbGQgY29kZS4KCjIwMDctMDctMjQgMTQ6MzE6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjb2RlYyBtYXBwaW5nIGZvciAnMnZ1eScgKFJhdyBZVVYgcHJvZHVjZWQgYnkgRkNQKSBhbmQgJ2RpdngnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgY29kZWMgbWFwcGluZyBmb3IgJzJ2dXknIChSYXcgWVVWIHByb2R1Y2VkIGJ5IEZDUCkgYW5kICdkaXZ4Jy4KCjIwMDctMDctMjQgMDU6MDc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdW5yZWYgdGhlIG91dGdvaW5nIGJ1ZmZlciB0d2ljZSB3aGVuIGRyb3BwaW5nIGl0IGJlY2F1c2UgaXQncyBvdXRzaWRlIG9mIHRoZSBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1bnJlZiB0aGUgb3V0Z29pbmcgYnVmZmVyIHR3aWNlIHdoZW4gZHJvcHBpbmcgaXQgYmVjYXVzZSBpdCdzCgkgIG91dHNpZGUgb2YgdGhlIHNlZ21lbnQuCgoyMDA3LTA3LTI0IDA0OjU3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZCByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCk6CgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kCgkgIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGb3IgZnJhbWVkIFdhdnBhY2sgYnVmZmVycyB3ZSByZXF1aXJlIGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwNy0wNy0yMyAxODowMzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCByYXcgYXVkaW8gYW5kIHZpZGVvIHdoZW4gd2UgY2FuLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb3V0cHV0IHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2xpcF9idWZmZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIENsaXAgcmF3IGF1ZGlvIGFuZCB2aWRlbyB3aGVuIHdlIGNhbiwga2VlcCB0cmFjayBvZiBjdXJyZW50IG91dHB1dAoJICBzZWdtZW50LgoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgYW5kIGV2ZW50cyB3aGVuIHRoZXJlIGlzIG5vIG91dHB1dCBwYWQuCgkgIEltcHJvdmUgZGVidWdnaW5nIGhlcmUgYW5kIHRoZXJlLgoKMjAwNy0wNy0yMyAwOTowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCjIwMDctMDctMjAgMTE6Mzc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbQoJICBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld29yayB0aGUgZ2FpbiBtYXBwaW5nLgoKMjAwNy0wNy0yMCAwNzo0MTo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06IEZpeCBDRkxBR1MvTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MvTElCUy4KCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBJbmNsdWRlIHN0ZGxpYgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgIFVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtCgoyMDA3LTA3LTE4IDExOjU1OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBwaXBlbGluZS4KCjIwMDctMDctMTggMTE6NDI6MzMgKzAwMDAgIEFsZXhhbmRlciBFaWNobmVyIDxhbGV4ZWljaGlAeWFob28uZGU+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFVzZSBkZWZpbmUgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4YW5kZXIgRWljaG5lciA8YWxleGVpY2hpQHlhaG9vLmRlPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICBVc2UgZGVmaW5lIGhlcmUuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgIChnc3RfdjRsMl90dW5lcl9zZXRfZnJlcXVlbmN5X2FuZF9ub3RpZnkpOgoJICBEb24ndCB0b3VjaCB0aGUgcHJvcGVydHkgLSBpdHMgc3RpbGwgZGlzYWJsZWQuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEltcHJvdmUgZmFsbGJhY2sgZm9ybWF0IG5lZ290aW9uYXRpb24uIEZpeGVzICM0NTEzODgKCjIwMDctMDctMTggMTA6MzM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBGaXggdGhlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggdGhlIHRlc3QuCgoyMDA3LTA3LTE4IDA5OjIxOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIGRvY3MuIE1vcmUgbG9ncyBpbiBwbmdkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spLAoJICAoZ3N0X3BuZ2RlY19zaW5rX3NldGNhcHMpOgoJICBNb3JlIGRvY3MuIE1vcmUgbG9ncyBpbiBwbmdkZWMuCgoyMDA3LTA3LTE4IDA3OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA3LTE3IDExOjM1OjI5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemUgbnVtX2J1ZmZlcnMgd2l0aCBtaW5pbXVtIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgSW5pdGlhbGl6ZSBudW1fYnVmZmVycyB3aXRoIG1pbmltdW0gdmFsdWUuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEhhbmRsZSBmcmFtZS1zaXplIHF1ZXJ5IGZhaWx1cmUgZ3JhY2VmdWxseS4KCjIwMDctMDctMTYgMTI6MTE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIGVzZHMgYXRvbXMgaW5zaWRlIG1wNGEgYXRvbXMgc28gdGhhdCB3ZSBjYW4gc2V0IGNvcnJlY3QgY29kZWNfaW5mbyBmb3IgQUFDIGF1ZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgRml4IHBhcnNpbmcgb2YgZXNkcyBhdG9tcyBpbnNpZGUgbXA0YSBhdG9tcyBzbyB0aGF0IHdlIGNhbiBzZXQgY29ycmVjdAoJICBjb2RlY19pbmZvIGZvciBBQUMgYXVkaW8uIEZpeGVzICM0NTcwOTcgYWxvbmcgd2l0aCBhIHdob2xlIG90aGVyIGJ1bmNoCgkgIG9mIHF0L2FhYyBmaWxlcy4KCjIwMDctMDctMTYgMDk6MTY6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpOgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgoyMDA3LTA3LTEzIDE2OjMxOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvciBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvcgoJICBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsCgkgIGFuZCB3ZSB3ZXJlbid0IGFjdHVhbGx5IF91c2luZ18gdGhlIGluZm9ybWF0aW9uIGZvciBsaWJjaGVjawoJICBvdXJzZWx2ZXMgYW55d2F5LgoKMjAwNy0wNy0xMiAxMToyMTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoKMjAwNy0wNy0xMSAyMzo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAodm1uY19tYWtlX2J1ZmZlcik6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0xMSAyMjozMTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX3RyYW5zZm9ybSk6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0xMCAxMDoxNjozOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBwdXNoaW5nIGFuIGV2ZW50IHJldHVybnMgRkFMU0UuIFdlIGRvbid0IGhhdmUgZW5vdWdoIGdyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIHB1c2hpbmcgYW4gZXZlbnQgcmV0dXJucyBGQUxTRS4gV2UKCSAgZG9uJ3QgaGF2ZSBlbm91Z2ggZ3JhbnVsYXJpdHkgdG8gY29udmVydCB0aGF0IGJvb2xlYW4gaW50byBhCgkgIEdzdEZsb3dSZXR1cm4uCgoyMDA3LTA3LTA2IDE1OjAwOjQ3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGF3LzogRml4IGNhcHNuZWdvIGJvZ29zaXR5IGluICpsYXcgZGVjb2RlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9hbGF3ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FsYXdkZWNfaW5pdCksIChnc3RfYWxhd2RlY19jaGFpbiksCgkgIChnc3RfYWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jbGFzc19pbml0KSwgKGdzdF9tdWxhd2RlY19pbml0KSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbiksIChnc3RfbXVsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBGaXggY2Fwc25lZ28gYm9nb3NpdHkgaW4gKmxhdyBkZWNvZGVycy4KCjIwMDctMDctMDYgMTQ6MzU6NTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLio6IFJlbW92ZSBzdHVwaWRpdHkgaW4gZ2V0L3NldCBjYXBzIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19jaGFpbiksCgkgIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBSZW1vdmUgc3R1cGlkaXR5IGluIGdldC9zZXQgY2FwcyBmdW5jdGlvbnMuCgkgIEZpeCBzb21lIHJlZmNvdW50aW5nIHByb2JsZW1zLgoKMjAwNy0wNy0wNiAxMTo0Mjo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBSZW1vdmUgZW5kaWFubmVzcy1mbGlwcGluZyBoYWNrIHRoYXQgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlcXVpcmVkIG9ubHkgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBmZm0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgIFJlbW92ZSBlbmRpYW5uZXNzLWZsaXBwaW5nIGhhY2sgdGhhdCBzZWVtcyB0byBoYXZlIGJlZW4gcmVxdWlyZWQKCSAgb25seSBiZWNhdXNlIG9mIGEgYnVnIGluIGZmbXBlZ2NvbG9yc3BhY2UuCgkgIFBhcnRpYWxseSBGaXhlczogIzQ1MTkwOAoKMjAwNy0wNy0wNSAwODo0NDoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoKMjAwNy0wNy0wMyAwOTo1OTo0NiArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBTZXQgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIHJ0cCBjYXBzIHRvIGFsbCB1cHBlcmNhc2UsIGFzIHJlcXVpcmVkIGJ5IHRoZSBjYXBzIHNwZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBTZXQgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIHJ0cCBjYXBzIHRvIGFsbCB1cHBlcmNhc2UsIGFzIHJlcXVpcmVkIGJ5CgkgIHRoZSBjYXBzIHNwZWMuCgkgIFNvbWUgc21hbGwgY2xlYW51cHMgaW4gdGhlIGVycm9yIHBhdGhzLiBGaXhlcyAjNDUzMDM3LgoKMjAwNy0wNy0wMyAwODowMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS86IEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwNy0wNy0wMyAwNzoxNjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA3LTA2LTI4IDE5OjAwOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogVXNlIGEgR1NMaXN0IGZvciB0aGUgR0FycmF5IHRoYXQgaXMgdXNlZCBsaWtlIGEgbGlzdCBhbnl3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgVXNlIGEgR1NMaXN0IGZvciB0aGUgR0FycmF5IHRoYXQgaXMgdXNlZCBsaWtlIGEgbGlzdCBhbnl3YXkuCgoyMDA3LTA2LTI4IDEzOjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlcmUgd2Ugc2V0IDAvMSBhcyBkZWZhdWx0IGZyYW1lcmF0ZSBpbiBjYXNlIG91ciBzZXRjYXBzIGZ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfZmx1c2gpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19ldmVudCksIChnc3RfZ2RrX3BpeGJ1Zl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZXJlIHdlIHNldCAwLzEgYXMgZGVmYXVsdCBmcmFtZXJhdGUgaW4KCSAgY2FzZSBvdXIgc2V0Y2FwcyBmdW5jdGlvbiBpc24ndCBjYWxsZWQsIGxpa2UgaXQgbWlnaHQgbm90IGluIGEKCSAgZmlsZXNyYyAhIGdka3BpeGJ1ZmRlYyBzY2VuYXJpby4gRml4ZXMgYXNzZXJ0aW9uIHRyaWdnZXJlZCBieQoJICBnZGtwaXhidWZkZWMgdHJ5aW5nIHRvIGNyZWF0ZSBjYXBzIHdpdGggYSAwLzAgZnJhbWVyYXRlLgoJICBBbHNvIHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGdzdF9wYWRfcHVzaCgpIGZhaWxzIHdoZW4KCSAgY2FsbGVkIGZyb20gb3VyIHNpbmsgZXZlbnQgaGFuZGxlciAoKzEgZm9yIGZsb3cgcmV0dXJucyBmb3IgZXZlbnQKCSAgZnVuY3Rpb25zIGluIDAuMTEpIGluc3RlYWQgb2YgZmFpbGluZyBzaWxlbnRseS4KCjIwMDctMDYtMjcgMTE6MzY6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENhc3Qgc3RhY2sgYXJncyB0byB0aGUgcHJvcGVyIHR5cGVzLiBGaXhlcyAjNDUxMjQ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25maWd1cmVfY2Fwcyk6CgkgIENhc3Qgc3RhY2sgYXJncyB0byB0aGUgcHJvcGVyIHR5cGVzLiBGaXhlcyAjNDUxMjQ5LgoKMjAwNy0wNi0yNyAxMTowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRm9yIGNvbnRhaW5lciBmb3JtYXRzIHdlIG9ubHkgbmVlZCB0byBhY3RpdmF0ZSBvbmUgb2YgdGhlIHN0cmVhbXMgc28gdGhhdCB3ZSBjb3JyZWN0bHkgc2lnbmFsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZvciBjb250YWluZXIgZm9ybWF0cyB3ZSBvbmx5IG5lZWQgdG8gYWN0aXZhdGUgb25lIG9mIHRoZSBzdHJlYW1zIHNvCgkgIHRoYXQgd2UgY29ycmVjdGx5IHNpZ25hbCBuby1tb3JlLXBhZHMuIEZpeGVzICM0NTEwMTUuCgoyMDA3LTA2LTI1IDEyOjQ2OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoKMjAwNy0wNi0yNSAxMjoxMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzICgjNDUwODc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKCM0NTA4NzgpLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDYtMjIgMTQ6MjY6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTUFJTlRBSU5FUlM6CgkgIFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCjIwMDctMDYtMjIgMTA6MTI6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfaW5pdCksCgkgIChkZWludGVybGVhdmVfc2lua19saW5rKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2luaXQpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpZmlsZXNyY19pbml0KToKCSAgRml4IG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOiAocGFkX2FkZGVkX2NiKToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDctMDYtMjEgMTA6NDg6MTAgKzAwMDAgIERhbWllbiBDYXJiZXJ5IDxkYW1pZW4uY2FyYmVyeUBzdW4uY29tPgoKCSAgZXh0L2djb25mL2djb25mLmg6IE1ha2UgdGhlIHByb3RvdHlwZSBvZiBnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgIE1ha2UgdGhlIHByb3RvdHlwZSBvZiBnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlCgkgIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KCSAgUGF0Y2ggYnk6IERhbWllbiBDYXJiZXJ5IDxkYW1pZW4gZG90IGNhcmJlcnkgYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjNDQ5NzQ3CgoyMDA3LTA2LTIwIDEyOjU2OjEyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IEZpeCBkZXNjcmlwdGlvbiAtIHJ0cGRlcGF5IGlzIG5vdCBhIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICBGaXggZGVzY3JpcHRpb24gLSBydHBkZXBheSBpcyBub3QgYSBwYXlsb2FkZXIuCgoyMDA3LTA2LTIwIDEwOjE1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgoyMDA3LTA2LTIwIDA4OjU2OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKHNldHVwX3NwZWN0cnVtKSwKCSAgKGNsZWFudXBfc3BlY3RydW0pLCAoR1NUX1NUQVJUX1RFU1QpLCAoc3BlY3RydW1fc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3Igc3BlY3RydW0gZWxlbWVudC4KCjIwMDctMDYtMjAgMDg6MjY6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIE1KUEcgdG8gdGhlIHZhcmlhbnRzIG9mIG1vdGlvbiBqcGVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBBZGQgTUpQRyB0byB0aGUgdmFyaWFudHMgb2YgbW90aW9uIGpwZWcuCgoyMDA3LTA2LTE5IDE2OjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgR1NUX09QVElPTl9DRkxBR1MgdG8gQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdW5pdCB0ZXN0cywgc28gdGhlIGVycm9yIGZsYWdzIGFyZSBpbmNsdWRlZCBhbmQgaXQgZXJyb3JzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTIHRvIENGTEFHUyB3aGVuIGJ1aWxkaW5nIHVuaXQgdGVzdHMsIHNvIHRoZQoJICBlcnJvciBmbGFncyBhcmUgaW5jbHVkZWQgYW5kIGl0IGVycm9ycyBvdXQgb24gY29tcGlsZXIgd2FybmluZ3MKCSAgZm9yIENWUyBidWlsZHM7IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIHZhcmlvdXMgdW5pdCB0ZXN0cy4KCjIwMDctMDYtMTkgMTQ6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBVc2UgdGhyZWFkc2FmZSBpbmV0X250b3AgdG8gY29udmVydCBhbiBpcCBudW1iZXIgdG8gYSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLCAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBVc2UgdGhyZWFkc2FmZSBpbmV0X250b3AgdG8gY29udmVydCBhbiBpcCBudW1iZXIgdG8gYSBzdHJpbmcuCgkgIEZpeGVzICM0NDc5NjEuCgkgIERvbid0IGxlYWsgZmQgKGFuZCBpcCkgd2hlbiBmcmVlaW5nIGEgY29ubmVjdGlvbiB3aXRob3V0IGZpcnN0IGNsb3NpbmcKCSAgaXQuCgoyMDA3LTA2LTE5IDE0OjExOjQ5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSAgYWRkICdMRUdBTCcgZmlsZSBkZXNjcmliaW5nIHdoeSB0aGlzIGlzIGluIC1nb29kIGFuZCB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgaXQgbWlnaHQgbmVlZCB0byBtb3ZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkICdMRUdBTCcgZmlsZSBkZXNjcmliaW5nIHdoeSB0aGlzIGlzIGluIC1nb29kIGFuZCB1bmRlciB3aGF0CgkgIGNpcmN1bXN0YW5jZXMgaXQgbWlnaHQgbmVlZCB0byBtb3ZlLgoKMjAwNy0wNi0xOSAxMDo0MTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCAwLjEwLjYgdG8gdGhlIGRvYXAgZmlsZS4KCj09PSByZWxlYXNlIDAuMTAuNiA9PT0KCjIwMDctMDYtMTkgMTA6MjQ6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjYKCjIwMDctMDYtMTggMTc6NTM6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNy0wNi0xNyAxMjozNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJldmVydCBwcmV2aW91cyBjb21taXQgYWdhaW4sIHNpbmNlIHdlIGFyZSBmcm96ZW4gKHNvcnJ5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdCBhZ2Fpbiwgc2luY2Ugd2UgYXJlIGZyb3plbiAoc29ycnkpLgoKMjAwNy0wNi0xNyAxMjoyNDo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBpbmV0X250b2EoKSB1c2VzIGEgc3RhdGljIGJ1ZmZlciBpbnRlcm5hbGx5LCBzbyB3ZSBuZWVkIHRvIGNvcHkgdGhlIHJldHVybmVkIHN0cmluZyBpZiB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBpbmV0X250b2EoKSB1c2VzIGEgc3RhdGljIGJ1ZmZlciBpbnRlcm5hbGx5LCBzbyB3ZSBuZWVkIHRvIGNvcHkgdGhlCgkgIHJldHVybmVkIHN0cmluZyBpZiB3ZSB3YW50IHRvIHN0b3JlIGl0IGZvciBsYXRlciAoIzQ0Nzk2MSkuCgoyMDA3LTA2LTE1IDA5OjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZQoJICBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5IG90aGVyd2lzZS4KCjIwMDctMDYtMTUgMDg6MzI6NTIgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBGaXggdGhlIE1pbmdXIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCk6CgkgIEZpeCB0aGUgTWluZ1cgYnVpbGQuCgkgIFBhdGNoIEJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgRml4ZXM6ICM0NDY5ODEKCjIwMDctMDYtMTQgMTQ6MDM6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvOiBIdXNoIHRoZSBidWlsZGJvdHMgdXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBIdXNoIHRoZSBidWlsZGJvdHMgdXAKCjIwMDctMDYtMTQgMTI6MTQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoKMjAwNy0wNi0xNCAxMDoyMzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIEFNUi1OQiBzdHJlYW1zLCBleHBvcnQgdGhlIEFNUlNwZWNpZmljQm94IGFzIGNvZGVjX2RhdGEgb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBBTVItTkIgc3RyZWFtcywgZXhwb3J0IHRoZSBBTVJTcGVjaWZpY0JveCBhcyBjb2RlY19kYXRhIG9uIHRoZQoJICBjYXBzLgoJICBGaXhlcyAjNDQ3NDU4CgoyMDA3LTA2LTEzIDE3OjExOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogTWFrZSBzdXJlIHdlIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBjb2RlY19kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHN1cmUgd2UgYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSBmb3IgdGhlIGNvZGVjX2RhdGEuCgkgIEZpeGVzICM0NDcyMTAuCgoyMDA3LTA2LTEyIDIxOjA1OjIyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIHZpZGVvY3JvcCBwcm9qZWN0IGZpbGUgdG8gdGhlIHdpbjMyIG1hbmlmZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHZpZGVvY3JvcCBwcm9qZWN0IGZpbGUgdG8gdGhlIHdpbjMyIG1hbmlmZXN0LgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgQWRkIHF0ZGVtdXgsdmlkZW9jcm9wIGFuZCB3YXZlZm9ybSBwcm9qZWN0cyB0byB0aGUgd29ya3NwYWNlLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgQWRkIHpsaWIgdG8gdGhlIGxpbmsgbGlzdCBvZiBxdGRlbXV4LgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIHZpZGVvY3JvcC4KCjIwMDctMDYtMTIgMjA6MjI6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCBxdGRlbXV4IGZvciB0cmFuc2xhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHF0ZGVtdXggZm9yIHRyYW5zbGF0aW9uCgoyMDA3LTA2LTEyIDIwOjE1OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gZnJvbSAtYmFkLgoKMjAwNy0wNi0xMiAxOTozNTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHF0ZGVtdXggZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIE1vdmUgcXRkZW11eCBmcm9tIC1iYWQuCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHJlZmxlY3QgbW92aW5nIG9mIHF0ZGVtdXggYW5kIHdhdnBhY2sKCjIwMDctMDYtMTIgMTk6MDE6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IHR5cG8gaW4gdGhlIGNoYW5nZWxvZyBhbmQgY29tbWl0IHRoZSBtYW5pZmVzdCB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0eXBvIGluIHRoZSBjaGFuZ2Vsb2cgYW5kIGNvbW1pdCB0aGUgbWFuaWZlc3QgdG9vCgoyMDA3LTA2LTEyIDE4OjUyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL01BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIE1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBmcm9tIC1iYWQgdG9vLiBVcGRhdGUgdGhlIGluc3BlY3QgeG1sCgkgIGZpbGVzIHRvIG1lbnRpb24gUGx1Z2lucyBHb29kIGluc3RlYWQgb2YgUGx1Z2lucyBCYWQuCgoyMDA3LTA2LTEyIDEzOjMzOjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgUmV0dXJuIGEgY29weSBvZiB0aGUgcG9vbCBidWZmZXIgaWYgYWxsIG1tYXAgYnVmZmVycyBoYXZlIGJlZW4gZGVxdWV1ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFJldHVybiBhIGNvcHkgb2YgdGhlIHBvb2wgYnVmZmVyIGlmIGFsbAoJICBtbWFwIGJ1ZmZlcnMgaGF2ZSBiZWVuIGRlcXVldWVkLgoKMjAwNy0wNi0xMiAxMToyMzowMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX2dldF90eXBlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfZ2V0X3R5cGUpCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KTogQmVoYXZlIG1vcmUgbGlrZSB4aW1hZ2VzaW5rJ3MgYnVmZmVycywgd2l0aAoJICBmaW5hbGl6YXRpb24gYW5kIHJlc3VzY2l0YXRpb24uIE5vIGxvbmdlciBwdWJsaWMuCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSwgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfaW5pdCkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2dldF90eXBlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3LCBnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2Rlc3Ryb3kpOiBNYWtlIHRoZSBwb29sIGZvbGxvdyBjb21tb24KCSAgbWluaW9iamVjdCBzZW1hbnRpY3MsIGFuZCBiZSB0aHJlYWRzYWZlLgoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiwgYXMgd2UganVzdCBjYWxsCgkgIHRoZSBpb2N0bHMgZGlyZWN0bHkgaW4gdGhlIHR3byBwbGFjZXMgd2hlcmUgd2UgcXVldWUgYnVmZmVycy4KCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBSZXR1cm4gYSBmbG93cmV0dXJuIGFuZCBmaWxsIHRoZSBidWZmZXIKCSAgZGlyZWN0bHkuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBVc2UgdGhlIG5ldyBidWZmZXJfcG9vbF9uZXcgZnVuY3Rpb24KCSAgdG8gYWxsb2NhdGUgdGhlIHBvb2wsIHdoaWNoIGFsc28gcHJlYWxsb2NhdGVzIHRoZSBHc3RCdWZmZXJzLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCk6IENhbGwgYnVmZmVyX3Bvb2xfYWN0aXZhdGUgaW5zdGVhZCBvZgoJICBxdWV1ZWluZyB0aGUgZnJhbWVzIGRpcmVjdGx5LgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaCAoc3RydWN0IF9Hc3RWNGwyQnVmZmVyUG9vbCk6IE1ha2UgdGhpcyBhCgkgIHJlYWwgTWluaU9iamVjdCBpbnN0ZWFkIG9mIHJvbGxpbmcgb3VyIG93biByZWZjb3VudGluZyBhbmQKCSAgZmluYWxpemluZy4gR2l2ZSBpdCBhIGxvY2suCgkgIChzdHJ1Y3QgX0dzdFY0bDJCdWZmZXIpOiBSZW1vdmUgb25lIGludGVybWVkaWFyeSBvYmplY3QsIGhhdmluZwoJICB0aGUgYnVmZmVycyBob2xkIHRoZSBzdHJ1Y3QgdjRsMl9idWZmZXIgZGlyZWN0bHkuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6IFBhc3MgdGhlIGNhcHMgdG8KCSAgY2FwdHVyZV9pbml0IHNvIHRoYXQgaXQgY2FuIHNldCB0aGVtIG9uIHRoZSBidWZmZXJzIHRoYXQgaXQgd2lsbAoJICBjcmVhdGUuCgkgIChnc3RfdjRsMnNyY19nZXRfcmVhZCk6IEZvciBiZXR0ZXIgb3IgZm9yIHdvcnNlLCBpbmNsdWRlIHRoZQoJICB0aW1lc3RhbXBpbmcgYW5kIG9mZnNldHRpbmcgY29kZSBoZXJlOyByZWFsbHkgd2Ugc2hvdWxkIGJlIHVzaW5nCgkgIGJ1ZmZlcmFsbG9jIHRob3VnaC4KCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKTogSnVzdCBtYWtlIGdyYWJfZnJhbWUgcmV0dXJuIG9uZSBvZiBvdXIKCSAgcHJlYWxsb2NhdGVkLCBtbWFwJ2QgYnVmZmVycy4KCjIwMDctMDYtMTEgMTE6NDE6NTYgKzAwMDAgIGRhbmllbCBmaXNjaGVyIDxkYW5AZjNjLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEFjdHVhbGx5IHVzZSB0aGUgZGlzcGxheV9uYW1lIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGR1bXAgYW55IGF2YWlsYWJsZSBYIGRpc3BsYXkuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGRhbmllbCBmaXNjaGVyIDxkYW4gYXQgZjNjIGRvdCBjb20+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKToKCSAgQWN0dWFsbHkgdXNlIHRoZSBkaXNwbGF5X25hbWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZHVtcCBhbnkKCSAgYXZhaWxhYmxlIFggZGlzcGxheS4gRml4ZXMgIzQ0NTkwNS4KCjIwMDctMDYtMTEgMTA6MjE6MTMgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwLzogQWRkIG1pc3NpbmcgcmF0ZSBmaWVsZHMgdG8gY2Fwcy4gRml4ZXMgIzQ0MTExOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKToKCSAgQWRkIG1pc3NpbmcgcmF0ZSBmaWVsZHMgdG8gY2Fwcy4gRml4ZXMgIzQ0MTExOC4KCjIwMDctMDYtMTAgMjE6MTQ6MTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyLzogQWRkIERpcmVjdFNvdW5kIGFuZCBEaXJlY3REcmF3IHNpbmtzIHByb2plY3QgZmlsZXMgdG8gd29ya3NwYWNlIGFuZCBzb2x1dGlvbiBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgQWRkIERpcmVjdFNvdW5kIGFuZCBEaXJlY3REcmF3IHNpbmtzIHByb2plY3QgZmlsZXMgdG8KCSAgd29ya3NwYWNlIGFuZCBzb2x1dGlvbiBmaWxlcy4KCjIwMDctMDYtMTAgMTA6NTM6MjYgKzAwMDAgIEpvc2ggQ29hbHNvbiA8eGZsYWNAeWFob28uY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgPj0gMS4xLjMgd2hpY2ggY2hhbmdlZCB0aGUgQVBJLiBGaXhlcyBidWcgIzM4NTg4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NoIENvYWxzb24gPHhmbGFjIGF0IHlhaG9vIGRvdCBjb20+LAoJICB1cGRhdGVkIGJ5IEFsZXhpcyBCYWxsaWVyIDxhYmFsbGllciBhdCBnZW50b28gZG90IG9yZz46CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLCAoZ3N0X2ZsYWNfZGVjX3NlZWspLAoJICAoZ3N0X2ZsYWNfZGVjX3RlbGwpLCAoZ3N0X2ZsYWNfZGVjX2xlbmd0aCksIChnc3RfZmxhY19kZWNfZW9mKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKGdzdF9mbGFjX2VuY19maW5hbGl6ZSksIChnc3RfZmxhY19lbmNfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3VwZGF0ZV9xdWFsaXR5KSwKCSAgKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfdGVsbF9jYWxsYmFjayksIChnc3RfZmxhY19lbmNfc2lua19ldmVudCksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pLCAoZ3N0X2ZsYWNfZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZmxhY19lbmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgPj0gMS4xLjMgd2hpY2ggY2hhbmdlZCB0aGUgQVBJLiBGaXhlcyBidWcgIzM4NTg4Ny4KCjIwMDctMDYtMDkgMTU6NDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQzLiBUaGlzIGlzIGZpeGVkIGluIGNvcmUgMC4xMC4xMyBhbmQgbm90IG5lY2Vzc2FyeSBhbnltby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgIFJlbW92ZSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0My4gVGhpcyBpcyBmaXhlZCBpbiBjb3JlIDAuMTAuMTMgYW5kCgkgIG5vdCBuZWNlc3NhcnkgYW55bW9yZSBhcyB3ZSBuZWVkIGF0IGxlYXN0IHRoYXQgY29yZSB2ZXJzaW9uLgoKMjAwNy0wNi0wOSAxNTozMzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbXByb3ZlIGRpc2NvbnQgaGFuZGxpbmcgYnkgY2hlY2tpbmcgaWYgdGhlIG5leHQgV2F2cGFjayBibG9jayBoYXMgdGhlIGV4cGVjdGVkLCBmb2xsb3dpbmcgYmxvY2sgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSW1wcm92ZSBkaXNjb250IGhhbmRsaW5nIGJ5IGNoZWNraW5nIGlmIHRoZSBuZXh0IFdhdnBhY2sgYmxvY2sgaGFzCgkgIHRoZSBleHBlY3RlZCwgZm9sbG93aW5nIGJsb2NrIGluZGV4LgoKMjAwNy0wNi0wOCAyMDoyMzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDctMDYtMDggMjA6MjA6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmMgKGdzdF9ydHBfbXA0dnBheV9kZXRhaWxzKTogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jIChnc3RfcnRwX21wNHZwYXlfZGV0YWlscyk6CgkgIEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uLgoKMjAwNy0wNi0wOCAyMDoxOTo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlIHdhdnBhY2sgcGx1Z2luLiAgU2VlICMzNTI2MDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1vdmUgd2F2cGFjayBwbHVnaW4uICBTZWUgIzM1MjYwNS4KCjIwMDctMDYtMDggMTk6NDU6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICB0aGUgYWxwaGFiZXQgdHJpcHBpbmcgdXAgcGVvcGxlIHNpbmNlIDEwOTI5QkMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRoZSBhbHBoYWJldAoJICB0cmlwcGluZyB1cCBwZW9wbGUgc2luY2UgMTA5MjlCQwoKMjAwNy0wNi0wOCAxNzozNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMgdG8gdGhlIGJ1aWxkIGFuZCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucyB0byB0aGUgYnVpbGQgYW5kIGRvY3MuCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA2LTA4IDEwOjQzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogV2hlbiBvcGVyYXRpbmcgaW4gcHVsbCBtb2RlLCBlcnJvciBvdXQgY29ycmVjdCBvbiBub3QtbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfbG9vcCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgIFdoZW4gb3BlcmF0aW5nIGluIHB1bGwgbW9kZSwgZXJyb3Igb3V0IGNvcnJlY3Qgb24gbm90LWxpbmtlZC4KCjIwMDctMDYtMDggMDg6MTI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZSBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZQoJICBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciBkb24ndCBoYW5kbGUgdGhlIHdheSB3ZSB1c2UgaXQgaW4KCSAgdGhlIHdheSB3ZSBleHBlY3QgaXQgdG8uCgoyMDA3LTA2LTA2IDEwOjE5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KQoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKTogT25seSBwcm9iZSBmb3IKCSAgZm9ybWF0IGFuZCBzaXplIGlmIHRoZSBpb2N0bHMgYXJlIGRlZmluZWQ7IHNob3VsZCBmaXggY29tcGlsYXRpb24KCSAgb24gTGludXggPCAyLjE2LjE5LgoKMjAwNy0wNi0wNiAwODo1MzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBQcmludGYgZml4ZXMgaW4gZGVidWcgc3RhdGVtZW50czsgdXNlIExPRyBsZXZlbCBmb3IgZGVidWcgc3RhdGVtZW50cyB0aGF0IGFyZSBwcmludGVkIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKToKCSAgUHJpbnRmIGZpeGVzIGluIGRlYnVnIHN0YXRlbWVudHM7IHVzZSBMT0cgbGV2ZWwgZm9yIGRlYnVnIHN0YXRlbWVudHMKCSAgdGhhdCBhcmUgcHJpbnRlZCBmb3IgZWFjaCBhbmQgZXZlcnkgZnJhbWU7IGNvbnZlcnQgYysrIGNvbW1lbnRzIHRvCgkgIEMtc3R5bGUgY29tbWVudHM7IG5vdCBtdWNoIHBvaW50IHVzaW5nIGdfdHJ5X21hbGxvYygpIGlmIHdlIHRoZW4gbm90CgkgIGV2ZW4gY2hlY2sgdGhlIHJldHVybiB2YWx1ZS4KCjIwMDctMDYtMDUgMTY6MzI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIChjb3JlIGFuZCBiYXNlIDAuMTAuMTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIChjb3JlIGFuZCBiYXNlIDAuMTAuMTMpLgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSk6CgkgIFVzZSBnc3RfdGFnX3V0ZjhfZnJvbV9mcmVlZm9ybV9zdHJpbmcoKSBmcm9tIGxpYmdzdHRhZyBpbnN0ZWFkIG9mCgkgIG93biBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMDYtMDUgMTQ6MTc6MjUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc3RhcnQsIGdzdF92NGwyc3JjX3N0b3ApOiBBZGQgc29tZSB1c2VsZXNzIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3N0YXJ0LCBnc3RfdjRsMnNyY19zdG9wKTogQWRkCgkgIHNvbWUgdXNlbGVzcyBjb21tZW50cy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IERvbid0IHF1ZXVlCgkgIGZyYW1lcyBiZWZvcmUgY2FsbGluZyBTVFJFQU1PTiwgdGhhdCBtaWdodCBsZWF2ZSB0aGVtIGluIGEgc3RhdGUKCSAgd2hlcmUgdGhleSBjYW4ndCBiZSBkZXF1ZXVlZCBpZiB3ZSBnbyBiYWNrIHRvIE5VTEwgd2l0aG91dCBjYWxsaW5nCgkgIFNUUkVBTU9OLCBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KTogRW5xdWV1ZSBidWZmZXJzIGhlcmUgaW5zdGVhZCwgcmlnaHQKCSAgYmVmb3JlIHdlIGNhbGwgU1RSRUFNT04uCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6IFJlbW92ZSBjcmFjayB0byB3b3JrIGFyb3VuZCBkZXF1ZXVlCgkgIGZhaWx1cmVzLiAoRm9yIG1lIHRoaXMgY29kZSBodW5nLikgVGhlIHBvb2wgcmVmY291bnRpbmcgaXMgc3RpbGwKCSAgY3JhY2s7IGFkZGVkIGEgbm90ZSB0byB0aGF0IGVmZmVjdC4KCjIwMDctMDYtMDUgMDk6MTE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbWFwcGluZyBnc3Qgc3RydWN0dXJlIG5hbWVzIHRvIHRoZSBNSU1FIHR5cGUgZXF1aXZhbGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfZ2V0X21pbWUpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgQWRkIHN1cHBvcnQgZm9yIG1hcHBpbmcgZ3N0IHN0cnVjdHVyZSBuYW1lcyB0byB0aGUgTUlNRSB0eXBlIGVxdWl2YWxlbnQuCgkgIEltcGxlbWVudGVkIGZvciBhdWRpby94LW11bGF3LT5hdWRpby9iYXNpYy4gRml4ZXMgIzQ0Mjg3NC4KCjIwMDctMDYtMDMgMTE6MjE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IFByb3Blcmx5IHdyaXRlIHdhdiBmaWxlcyB3aXRoIHdpZHRoIT1kZXB0aCBieSBoYXZpbmcgdGhlIGRlcHRoIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZXMgc2V0IGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZlbmNfY2hhaW4pLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFByb3Blcmx5IHdyaXRlIHdhdiBmaWxlcyB3aXRoIHdpZHRoIT1kZXB0aCBieSBoYXZpbmcgdGhlIGRlcHRoIG1vc3QKCSAgc2lnbmlmaWNhbnQgYnl0ZXMgc2V0IGFuZCBhbGwgb3RoZXJzIHplcm8uIEZpeGVzICM0NDI1MzUuCgoyMDA3LTA2LTAxIDEzOjUyOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQWRkIGluY2x1ZGUgdG8gbWFrZSBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgQWRkIGluY2x1ZGUgdG8gbWFrZSBidWlsZGJvdCBoYXBweS4KCjIwMDctMDYtMDEgMTM6MDc6MTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXByb3ZlcyB2ZXJzaW9uIGNoZWNraW5nLCBhbGxvd2luZyBhbiBSVFNQIHNlcnZlciB0byByZXBseSB3aXRoICI1MDUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAoYWRkX2RhdGVfaGVhZGVyKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHBhcnNlX3Jlc3BvbnNlX3N0YXR1cyksCgkgIChwYXJzZV9yZXF1ZXN0X2xpbmUpLCAocGFyc2VfbGluZSksIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3BfdmVyc2lvbl9hc190ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChrZXlfdmFsdWVfZm9yZWFjaCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9hcHBlbmRfaGVhZGVycyksCgkgIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgSW1wcm92ZXMgdmVyc2lvbiBjaGVja2luZywgYWxsb3dpbmcgYW4gUlRTUCBzZXJ2ZXIgdG8gcmVwbHkgd2l0aCAiNTA1CgkgIFJUU1AgVmVyc2lvbiBub3Qgc3VwcG9ydGVkLgoJICBBZGRzIGEgRGF0ZSBoZWFkZXIgdG8gYWxsIG1lc3NhZ2VzLgoJICBSZXBsaWVzIHdpdGggUlRTUF9FUEFSU0UgcmF0aGVyIHRoYW4gUlRTUF9FSU5WQUxJRCBpbiBjYXNlcyB3aGVyZSB3ZQoJICB3YW50IHRvIGJlIGFibGUgdG8gc2VuZCBhIHJlc3BvbnNlIGV2ZW4gaWYgc29tZXRoaW5nIGluIHRoZSByZXF1ZXN0IHdhcwoJICBpbnZhbGlkLiBFSU5WQUwgaXMgb25seSB1c2VkIHdoZW4gcGFzc2luZyB3cm9uZyBhcmd1bWVudHMgdG8gZnVuY3Rpb25zLgoJICBEbyBub3QgaGFuZGxlIGFuIGludmFsaWQgbWV0aG9kIGluIHBhcnNlX3JlcXVlc3RfbGluZSgpLiBEZWZlciB0aGlzIHRvCgkgIHRoZSBjYWxsZXIgc28gaXQgY2FuIHJlc3BvbmQgd2l0aCAiNDA1IE1ldGhvZCBOb3QgQWxsb3dlZCIuCgkgIEltcHJvdmVzIHBhcnNpbmcgb2YgdGhlIHRpbWVvdXQgcGFyYW1ldGVyIHRvIHRoZSBTZXNzaW9uIGhlYWRlciwKCSAgYWxsb3dpbmcgd2hpdGVzcGFjZSBhZnRlciB0aGUgc2VtaWNvbG9uLgoJICBBdm9pZHMgYSBjb21waWxlciB3YXJuaW5nIGR1ZSB0byB2YXJpYWJsZXMgc2hhZG93aW5nIGEgZnVuY3Rpb24gYXJndW1lbnQuCgoyMDA3LTA2LTAxIDExOjE2OjE3ICswMDAwICBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXNAdGkuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBzdXBwb3J0IGZvciBBTVItV0IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRjaCBieTogRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzIGF0IHRpIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hbXJfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBBTVItV0IuCgkgIFNtYWxsIGNsZWFudXBzIHN1Y2ggYXMgdXNpbmcgQk9JTEVSUExBVEUuCgoyMDA3LTA1LTMxIDE1OjU3OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQgYXMgc3BvdHRlZCBidSBTYXVyIG9uIElSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQgYXMgc3BvdHRlZCBidSBTYXVyIG9uIElSQy4KCjIwMDctMDUtMzAgMTQ6NTc6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuKjogUmV2ZXJ0IHNvbWUgdW5pbnRlbmRlZCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jIChnc3RfdjRsMl9vYmplY3RfbmV3KTogUmV2ZXJ0IHNvbWUKCSAgdW5pbnRlbmRlZCBjaGFuZ2VzLgoKMjAwNy0wNS0zMCAxNDo0MDo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy4qOiBTdG9yZSB0aGUgZm9ybWF0IGxpc3QgaW4gdGhlIG9yZGVyIHRoYXQgdGhlIGRyaXZlciBnaXZlcyBpdCB0byB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDUtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCk6IFN0b3JlCgkgIHRoZSBmb3JtYXQgbGlzdCBpbiB0aGUgb3JkZXIgdGhhdCB0aGUgZHJpdmVyIGdpdmVzIGl0IHRvIHVzLgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKQoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KTogTmV3IGZ1bmN0aW9ucywgZmlsbCBHc3RDYXBzCgkgIGJhc2VkIG9uIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGRldmljZS4KCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKTogVXBkYXRlIHRvIGJlIHN0cmljdCBpbiBpdHMgcGFyYW1ldGVycywKCSAgYXMgaW4gdGhlIHNldF9jYXBzIGJlbG93LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcsCgkgIGFuZCByZWZsb3cuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0LCBnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfdXBkYXRlX2ZwcywgZ3N0X3Y0bDJzcmNfc2V0X2ZwcykKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOiBSZW1vdmU7IHRoZXNlIGZ1bmN0aW9ucyBkb24ndCBoYXZlIG11Y2gKCSAgbWVhbmluZyBvdXRzaWRlIG9mIGFuIGF0b21pYyBzZXRfY2FwcyBtZXRob2QuCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KTogRG9uJ3Qgc2V0IGJ1ZmZlciBkdXJhdGlvbiwgaXQgaXMgbm90CgkgIGtub3duLgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbCk6IFJlbW92ZQoJICBjYWxsIHRvIHVwZGF0ZV9mcHM7IG5vdCBzdXJlIGFib3V0IHRoaXMgY2hhbmdlLgoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm0pOiBXb3JrIGFyb3VuZCB0aGUgZmFjdCB0aGF0IGZvciB0aGUKCSAgbW9tZW50IHdlIGRvbid0IGhhdmUgYW4gdXBkYXRlX2Zwc19mdW5jLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaCAoc3RydWN0IF9Hc3RWNGwyU3JjKTogRG9uJ3QgcHV0IHY0bDIKCSAgc3RydWN0dXJlcyBpbiB0aGUgb2JqZWN0LCBqdXN0IHN0b3JlIHdoYXQgd2UgbmVlZC4gRG8gc3RvcmUgdGhlCgkgIHByb2JlZCBjYXBzIG9mIHRoZSBkZXZpY2UuIERvbid0IHN0b3JlIHRoZSBjdXJyZW50IGZyYW1lIHJhdGUuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19pbml0KTogUmVtb3ZlIHRoZQoJICB1cGRhdGVfZnBzX2Z1bmN0aW9uLCBmb3Igbm93LiBVcGRhdGUgZm9yIG5ldyBvYmplY3QgdmFyaWFibGUKCSAgbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5LCBnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpOiBVcGRhdGUgZm9yCgkgIG5ldyBvYmplY3QgdmFyaWFibGUgbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpOiBSZW5hbWUgZnJvbSAuLi5fdG9fY2Fwcy4KCSAgKGdzdF92NGwyX3N0cnVjdHVyZV90b192NGwyZm91cmNjKTogUmVuYW1lIGZyb20gLi4uY2Fwc190b18uLi4uCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6IFJld29yayB0byBwcm9iZSB0aGUgZGV2aWNlIGZvciBzdXBwb3J0ZWQKCSAgZnJhbWUgc2l6ZXMgYW5kIGZyYW1lIHJhdGVzLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOiBSZXdvcmsgdG8gYmUgc3RyaWN0IGluIHRoZSBnaXZlbgoJICBwYXJhbWV0ZXJzOiBpZiBzb21lb25lIGFza3MgdXMgdG8gaGF2ZSBhIGNlcnRhaW4gc2l6ZSBhbmQgcmF0ZSwKCSAgdGhhdCBpcyB3aGF0IHdlIGNvbmZpZ3VyZS4KCSAgKGdzdF92NGwyc3JjX2dldF9yZWFkKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLiBEb24ndAoJICBsZWFrIGJ1ZmZlcnMgb24gc2hvcnQgcmVhZHMuCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZywgYW5kIGFkZAoJICBjb21tZW50cy4KCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4KCjIwMDctMDUtMzAgMTQ6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFBhcnNlIHN1YnRpdGxlIHRleHQgc3RyZWFtcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCAoIzQ0MjAzNCkuIFN0aWxsIG5lZWRzIGEgcGFyc2VyIGZvciB0aGUgc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQYXJzZSBzdWJ0aXRsZSB0ZXh0IHN0cmVhbXMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgKCM0NDIwMzQpLiBTdGlsbAoJICBuZWVkcyBhIHBhcnNlciBmb3IgdGhlIHN1YnRpdGxlcyB0byBhY3R1YWxseSBzaG93IHVwLgoKMjAwNy0wNS0zMCAxMjo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBfcHVzaF9ldmVudCgpIHJldHVybiBUUlVFIGlmIHRoZSBldmVudCBjb3VsZCBiZSBwdXNoZWQgb24gYXQgbGVhc3Qgb25lIHBhZCBhbmQgbm90IG9ubHkgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTWFrZSBfcHVzaF9ldmVudCgpIHJldHVybiBUUlVFIGlmIHRoZSBldmVudCBjb3VsZCBiZSBwdXNoZWQgb24gYXQKCSAgbGVhc3Qgb25lIHBhZCBhbmQgbm90IG9ubHkgaWYgaXQgY291bGQgYmUgcHVzaGVkIG9uIGFsbCBwYWRzLAoJICBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIHBvc3RpbmcgYW4gZXJyb3IgbWVzc2FnZSBvbiBFT1MgaWYgb25lIG9yCgkgIG1vcmUgc291cmNlIHBhZHMgYXJlIG5vdCBjb25uZWN0ZWQuCgoyMDA3LTA1LTI4IDE2OjM5OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBVc2UgcmVuYW1lZCBSVFAgYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIFVzZSByZW5hbWVkIFJUUCBiaW4uCgoyMDA3LTA1LTI4IDE1OjAxOjMzICswMDAwICBEZWphbiBTYWtlbMWhYWsgPHNha2RlYW5AZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEFkZCBBWVVWLT5BWVVWIGFuZCBBWVVWLT5JNDIwIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRGVqYW4gU2FrZWzFoWFrIDxzYWtkZWFuIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgICh2aWRlb19ib3hfcmVjYWxjX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fYm94X2FwcGx5X2FscGhhKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dl9heXV2KSwgKGdzdF92aWRlb19ib3hfY2xlYXIpLCAoVVZmbG9vciksCgkgIChVVmNlaWwpLCAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApLCAoZ3N0X3ZpZGVvX2JveF9pNDIwX2F5dXYpLAoJICAoZ3N0X3ZpZGVvX2JveF9pNDIwX2k0MjApLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm0pLAoJICAocGx1Z2luX2luaXQpOgoJICBBZGQgQVlVVi0+QVlVViBhbmQgQVlVVi0+STQyMCBmb3JtYXRzLgoJICBGaXggbmVnb3RpYXRpb24gYW5kIEk0MjAtPkFZVVYgY29udmVyc2lvbi4KCSAgRml4ZXMgIzQyOTMyOS4KCjIwMDctMDUtMjYgMTU6MjU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogVXNlIGRpZmZlcmVudCB2YXJpYWJsZXMgZm9yIG5lc3RlZCBmb3IgbG9vcHMgc28gdGhhdCB0aGUgb3V0ZXIgbG9vcCBmdW5jdGlvbnMgcHJvcGVybHkgYW5kIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIFVzZSBkaWZmZXJlbnQgdmFyaWFibGVzIGZvciBuZXN0ZWQgZm9yIGxvb3BzIHNvIHRoYXQgdGhlIG91dGVyIGxvb3AKCSAgZnVuY3Rpb25zIHByb3Blcmx5IGFuZCBzcGVleCBmaWxlcyB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIHdvcmsKCSAgcHJvcGVybHkuCgkgIEZpeGVzICM0NDE0MDguCgoyMDA3LTA1LTI1IDIwOjUxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IGxlYWsgbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICBEb24ndCBsZWFrIG5ld3NlZ21lbnQgZXZlbnRzLgoKMjAwNy0wNS0yNSAyMDozMzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogQWRkICctbG0nIHRvIExJQlMgZm9yIGNlaWwoKSwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzIGRyYWdzIGl0IGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCAnLWxtJyB0byBMSUJTIGZvciBjZWlsKCksIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcwoJICBkcmFncyBpdCBpbi4KCjIwMDctMDUtMjUgMTY6MDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IENvbGxlY3QgaGVhZGVycywgYWRkICJzdHJlYW1oZWFkZXIiIGZpZWxkIHRvIG91dHB1dCBjYXBzIGFuZCBzZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAobm90Z3N0X3ZhbHVlX2FycmF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfZW5jX3Byb2Nlc3Nfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY19jaGFpbiksCgkgIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIENvbGxlY3QgaGVhZGVycywgYWRkICJzdHJlYW1oZWFkZXIiIGZpZWxkIHRvIG91dHB1dCBjYXBzIGFuZCBzZXQKCSAgQlVGRkVSX0lOX0NBUFMgZmxhZyBvbiBwdXNoZWQgaGVhZGVyIGJ1ZmZlcnMuIFRoYXQgd2F5IG9nZ211eAoJICBwcm9kdWNlcyBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBvZmZpY2lhbCBGTEFDLXRvLU9nZyBtYXBwaW5nCgkgIGluc3RlYWQgb2YgY29tcGxldGVseSBicm9rZW4gZmlsZXMuIEZpeGVzICM0MjYwNDQuCgoyMDA3LTA1LTI1IDEwOjQ0OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEhhbmRsZSBhbmQgYWRqdXN0IG5ldy1zZWdtZW50IGV2ZW50cyBzbyB0aGF0IGRvd25zdHJlYW0gcmVhbGx5IHNlZXMgYSBzdHJlYW0gd2l0aCB0aGUgdGFnIHBpZWNlcyBzdHJpcHBlZCBvZmYgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZXNldCksCgkgIChnc3RfaWQzZGVtdXhfc2VuZF9uZXdfc2VnbWVudCksIChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3RhZ19kZW11eF9jaGFpbiksIChnc3RfdGFnX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3RhZ19kZW11eF9zZW5kX25ld19zZWdtZW50KToKCSAgSGFuZGxlIGFuZCBhZGp1c3QgbmV3LXNlZ21lbnQgZXZlbnRzIHNvIHRoYXQgZG93bnN0cmVhbSByZWFsbHkKCSAgc2VlcyBhIHN0cmVhbSB3aXRoIHRoZSB0YWcgcGllY2VzIHN0cmlwcGVkIG9mZiB0aGUgZnJvbnQgYW5kIGJhY2suCgkgIEZpeGVzIHN0cmFuZ2VuZXNzIGluIHNlZWtpbmcgd2hlbiBtcDMgZGVjb2RlcnMgdXNlIHRoZSBuZXctc2VnbWVudAoJICBieXRlIHBvc2l0aW9uIHRvIGVzdGltYXRlIHRoZWlyIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24gdGltZXN0YW1wCgkgIGFuZCB0aGVuIHRoZSBhcnJpdmluZyBidWZmZXJzIGRvbid0IG1hdGNoIHVwLgoKMjAwNy0wNS0yNSAxMDoyMzo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IERvbid0IHVubmVjZXNzYXJpbHkgcGVyZm9ybSBhIFJFQURZLT5OVUxMLT5SRUFEWSB0cmFuc2l0aW9uIG9uIHRoZSBkZXRlY3RlZCBhdWRpbyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICBEb24ndCB1bm5lY2Vzc2FyaWx5IHBlcmZvcm0gYSBSRUFEWS0+TlVMTC0+UkVBRFkgdHJhbnNpdGlvbiBvbiB0aGUKCSAgZGV0ZWN0ZWQgYXVkaW8gc2luayB3aGVuIHN0YXJ0aW5nIHVwLiBGaXhlczogIzQ0MDEyNwoKMjAwNy0wNS0yNCAxNzowMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogRG9uJ3QgY3Jhc2ggaW4gY2hhaW4gZnVuY3Rpb24gaWYgc2V0Y2FwcyBoYXNuJ3QgYmVlbiBjYWxsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggaW4gY2hhaW4gZnVuY3Rpb24gaWYgc2V0Y2FwcyBoYXNuJ3QgYmVlbiBjYWxsZWQuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTI0IDA4OjE0OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbml0IHZhbHVlIHRvIGF2b2lkIGluZmludGUgbG9vcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpOgoJICBJbml0IHZhbHVlIHRvIGF2b2lkIGluZmludGUgbG9vcHMuCgoyMDA3LTA1LTI0IDA4OjEwOjQyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogRml4IGZvciBuZXcgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKToKCSAgRml4IGZvciBuZXcgQVBJLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChhZGRfYXV0aF9oZWFkZXIpLAoJICBPbmx5IGFkZCBhdXRob3Jpc2F0aW9uIGFuZCBzZXNzaW9uIGhlYWRlcnMgd2hlbiBzZW5kaW5nIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChrZXlfdmFsdWVfZm9yZWFjaCksIChydHNwX21lc3NhZ2VfaW5pdCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfYXBwZW5kX2hlYWRlcnMpLCAoZHVtcF9rZXlfdmFsdWUpLAoJICAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBoZWFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgYnkgc3RvcmluZyB0aGUgcGFyc2VkCgkgIGhlYWRlcnMgaW4gYSBHQXJyYXkgaW5zdGFlZCBvZiBhIGhhc2h0YWJsZS4KCjIwMDctMDUtMjMgMjI6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlciBpbnRlcmZhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIKCSAgaW50ZXJmYWNlIG5vdy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgQWRkIGludGVyZmFjZXMgaW1wbGVtZW50ZWQgYnkgV2luZG93cyBzaW5rcy4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5ICBhbmQgaW1wbGVtZW50IHRoZSBtaXhlciBpbnRlcmZhY2UuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgIEFkZCBhIG5ldyBnc3QgbGlicmFyeSB3aGljaCBhbGxvdyB0byBjcmVhdGUgaW50ZXJuYWwgRGlyZWN0IFNob3cKCSAgZ3JhcGggKHBpcGVsaW5lcykgdG8gd3JhcCBXaW5kb3dzIHNvdXJjZXMsIGRlY29kZXJzIG9yIGVuY29kZXJzLgoJICBJdCBpbmNsdWRlcyBhIERpcmVjdFNob3cgZmFrZSBzb3VyY2UgYW5kIHNpbmsgYW5kIHV0aWxpdHkgZnVuY3Rpb25zLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgQWRkIGEgbmV3IHBsdWdpbiB0byB3cmFwIERpcmVjdFNob3cgc291cmNlcyBvbiBXaW5kb3dzLgoJICBJdCBnZXRzIGRhdGEgZnJvbSBhbnkgd2ViY2FtLCBkdiBjYW0sIG1pY3JvLiBXZSBjb3VsZCBhZGQKCSAgdHYgdHVubmVyIGNhcmQgbGF0ZXIuCgoyMDA3LTA1LTIyIDExOjE0OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLAoJICBnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHksIGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSwKCSAgcGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmggKGF1ZGlvZmlsdGVyKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jIChBUkdfTlVNX0JBTkRTLAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuCgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmMgKGJwd3NpbmNfc2V0X2NhcHMpOgoJICBBZGQgZml4bWUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKFNQRUNUUlVNX1dJTkRPV19CQVNFLAoJICBTUEVDVFJVTV9XSU5ET1dfTEVOLCBnc3Rfc3BlY3RydW1faW5pdCwgZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4gVHVybiB0d28gZml4ZWQgdmFsdWVzIGludG8gI2RlZmluZXMuCgoyMDA3LTA1LTIyIDExOjAzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGVsZW1lbnQgYW5kIHByb3BlcnRpZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wNS0yMSAxMjo0MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LCBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAwNy0wNS0yMSAxMTozNzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoKMjAwNy0wNS0yMSAxMToxNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kCgkgIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyZW50IGV4dHJhIHByb2Nlc3NpbmcgbW9kZXMgaW5zdGVhZCBvZiBvbmx5CgkgIGFsbG93aW5nIG5vbmUgYW5kIHRoZSBkZWZhdWx0IG9uZS4KCjIwMDctMDUtMjEgMTA6MDc6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBTaW5jZSB3ZSBkZXBlbmQgb24gMC4xMC4xMyAtY29yZSwgb3ZlcnJpZGUgdGhlIHVubG9ja19zdG9wIHZtZXRob2QgZm9yIHNhZmVyIHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwgKGdzdF91ZHBzcmNfdW5sb2NrX3N0b3ApOgoJICBTaW5jZSB3ZSBkZXBlbmQgb24gMC4xMC4xMyAtY29yZSwgb3ZlcnJpZGUgdGhlIHVubG9ja19zdG9wIHZtZXRob2QgZm9yCgkgIHNhZmVyIHNodXRkb3duLgoKMjAwNy0wNS0yMSAxMDowMzo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGRlZCBzaWduYWwgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZGVkIHNpZ25hbCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCjIwMDctMDUtMjEgMDk6MzI6MjYgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBVc2UgYXVkaW9jb252ZXJ0IGZvciBjb252ZXJ0aW5nIGZyb20gbm9uLW5hdGl2ZSBlbmRpYW5uZXNzIGZsb2F0cyBpbiBhdXBhcnNlIGluc3RlYWQgb2YgZG9pbmcgaXQgb3Vyc2VsZi4gRml4ZXMgIzQyNDUyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFVzZSBhdWRpb2NvbnZlcnQgZm9yIGNvbnZlcnRpbmcgZnJvbSBub24tbmF0aXZlIGVuZGlhbm5lc3MgZmxvYXRzCgkgIGluIGF1cGFyc2UgaW5zdGVhZCBvZiBkb2luZyBpdCBvdXJzZWxmLiBGaXhlcyAjNDI0NTI3LgoJICBUaGlzIG5lZWRzIHRoZSBhdWRpb2NvbnZlcnQgZnJvbSBwbHVnaW5zLWJhc2UgQ1ZTLgoKMjAwNy0wNS0yMSAwOToyOTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogRml4IGVudW0gcmVnaXN0cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgRml4IGVudW0gcmVnaXN0cmF0aW9uLgoKMjAwNy0wNS0yMSAwODo1NzoxOCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuKjogQWRkIG5ldyBmcmFnbWVudGF0aW9uIG1vZGUgYmFzZSBvbiBHT0IgaGVhZGVycy4gRml4ZXMgIzQzODk0MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgIEFkZCBuZXcgZnJhZ21lbnRhdGlvbiBtb2RlIGJhc2Ugb24gR09CIGhlYWRlcnMuIEZpeGVzICM0Mzg5NDAuCgoyMDA3LTA1LTIwIDIxOjMxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzIHRoZSB3YXZwYWNrIHN0dWZmIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcwoJICB0aGUgd2F2cGFjayBzdHVmZiBub3cgbmVlZHMgaW5wdXQgd2l0aCAzMiBiaXQgd2lkdGggKGFuZCByYW5kb20gZGVwdGgpCgkgIHRoaXMgaXMgbmVlZGVkIG5vdy4gVGhlIGV4YW1wbGUgcGlwZWxpbmVzIGZvciB0aGUgcGFyc2VyIGFuZCBkZWNvZGVyCgkgIGFyZSBzdGlsbCBmaW5lLgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6MTQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCjIwMDctMDUtMjAgMTQ6MDU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFByaW50ZiBmb3JtYXQgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFByaW50ZiBmb3JtYXQgZml4LgoKMjAwNy0wNS0xOSAxMDowMTo0NSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOiAoZ3N0X3JnX2xpbWl0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2xpbWl0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfY2xhc3NfaW5pdCksIChnc3Rfcmdfdm9sdW1lX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX3ZvbHVtZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX3ZvbHVtZV9kaXNwb3NlKSwgKGdzdF9yZ192b2x1bWVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZ192b2x1bWVfc2lua19ldmVudCksIChnc3Rfcmdfdm9sdW1lX3RhZ19ldmVudCksCgkgIChnc3Rfcmdfdm9sdW1lX3Jlc2V0KSwgKGdzdF9yZ192b2x1bWVfdXBkYXRlX2dhaW4pLAoJICAoZ3N0X3JnX3ZvbHVtZV9kZXRlcm1pbmVfZ2Fpbik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKHNldHVwX3JnbGltaXRlciksCgkgIChjbGVhbnVwX3JnbGltaXRlciksIChzZXRfcGxheWluZ19zdGF0ZSksIChjcmVhdGVfdGVzdF9idWZmZXIpLAoJICAodmVyaWZ5X3Rlc3RfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJnbGltaXRlcl9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAoZXZlbnRfZnVuYyksIChzZXR1cF9yZ3ZvbHVtZSksCgkgIChjbGVhbnVwX3Jndm9sdW1lKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKHNldF9udWxsX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHRlc3RfYnVmZmVyX25ldyksCgkgIChmYWlsX3VubGVzc190YXJnZXRfZ2FpbiksIChmYWlsX3VubGVzc19yZXN1bHRfZ2FpbiksCgkgIChmYWlsX3VubGVzc19nYWluKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJndm9sdW1lX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgoyMDA3LTA1LTE4IDEzOjI3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBjcmFzaCB3aGVuIGFuIHVuc3VwcG9ydGVkIHRyYW5zcG9ydCBlcnJvciB3YXMgcmV0dXJuZWQgYnkgdGhlIHNlcnZlciwganVzdCB0cnkgdG8gY29uZmlnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBEb24ndCBjcmFzaCB3aGVuIGFuIHVuc3VwcG9ydGVkIHRyYW5zcG9ydCBlcnJvciB3YXMgcmV0dXJuZWQgYnkgdGhlCgkgIHNlcnZlciwganVzdCB0cnkgdG8gY29uZmlndXJlIHRoZSBuZXh0IHN0cmVhbS4gRml4ZXMgIzQzOTI1NS4KCjIwMDctMDUtMTggMTE6Mzk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEFkZCBUQ1AgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIGl0IGZvciBhbGwgVENQIGNvbm5lY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBUQ1AgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIGl0IGZvciBhbGwgVENQIGNvbm5lY3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl93cml0ZSksIChydHNwX2Nvbm5lY3Rpb25fbmV4dF90aW1lb3V0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZXNldF90aW1lb3V0KToKCSAgTWFrZSBjb25uZWN0IGFuZCB3cml0ZXMgY2FuY2VsYWJsZSBhbmQgbWFrZSB0aGVtIHVzZSB0aGUgdGltZW91dC4KCjIwMDctMDUtMTggMTA6MzY6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRpbWVvdXQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFJlZmFjdG9yIHRpbWVvdXQgaGFuZGxpbmcuCgkgIEFsc28gc2VuZCBrZWVwLWFsaXZlIHdoZW4gZGVhbGluZyB3aXRoIFRDUCB0cmFuc3BvcnQuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpLCAocnRzcF9jb25uZWN0aW9uX25leHRfdGltZW91dCksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVzZXRfdGltZW91dCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgVXNlIGEgdGltZXIgdG8gaGFuZGxlIHRoZSBzZXNzaW9uIHRpbWVvdXRzLCBhZGQgc29tZSBtZXRob2RzIHRvIGRlYWwKCSAgd2l0aCB0aW1lb3V0cy4KCjIwMDctMDUtMTcgMTQ6NTY6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZmFpbCB0aGUgc2V0dXAgY29tbWFuZCwgd2Ugd2lsbCByZXRyeSB3aXRoIGEgZGlmZmVyZW50IHRyYW5zcG9ydCBsYXRlciBvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBmYWlsIHRoZSBzZXR1cCBjb21tYW5kLCB3ZSB3aWxsIHJldHJ5IHdpdGggYQoJICBkaWZmZXJlbnQgdHJhbnNwb3J0IGxhdGVyIG9uLgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICBGaXggZW5jb2RpbmcgbmFtZSBjYXNlLgoKMjAwNy0wNS0xNyAxMDo1OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWCBpcyAkI0AoKiUkIyAhIEZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYCgkgIGlzICQjQCgqJSQjICEgRm9yIHRob3NlIHdvbmRlcmluZywgdGhlIGV2ZW50IGhhbmRsaW5nIG5lZWRzIHRvIGJlIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGFmdGVyIGFsbC4uCgoyMDA3LTA1LTE3IDA5OjQxOjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZC90YXNrIGZvciB0aGUgY29jb2EgZXZlbnRfbG9vcCwgZWxzZSBpdCB3b3VsZG4ndAoJICBzdG9wLgoKMjAwNy0wNS0xNiAxNjo1MDoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2VuZHJvd19jYWxsYmFjayksICh1c2VyX3JlYWRfZGF0YSk6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA3LTA1LTE2IDE2OjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogUmVwbGFjZSBkaXJlY3QgY29tcGFyaXNvbiBvZiBhIHN0cmluZyB3aXRoIHRoZSBzdHJpbmcgbGl0ZXJhbCAiIiB3aXRoIGEgY29tcGFyaXNvbiBvZiB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgUmVwbGFjZSBkaXJlY3QgY29tcGFyaXNvbiBvZiBhIHN0cmluZyB3aXRoIHRoZSBzdHJpbmcgbGl0ZXJhbCAiIiB3aXRoCgkgIGEgY29tcGFyaXNvbiBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIHdpdGggJ1wwJy4gRml4ZXMgIzQzODkyNi4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDUtMTUgMTE6MTg6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KTogT25lIG1vcmUgdHJ5LiBUaGlzIHNob3VsZCBiZSB0aGUgcHJvcGVyIGZpeCBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KToKCSAgT25lIG1vcmUgdHJ5LiBUaGlzIHNob3VsZCBiZSB0aGUgcHJvcGVyIGZpeCBub3cuCgoyMDA3LTA1LTE1IDA2OjQxOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogT29vcHMsIG5vIC8vIGNvbW1lbnRzIHBsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgIE9vb3BzLCBubyAvLyBjb21tZW50cyBwbGVhc2UuCgoyMDA3LTA1LTE1IDA2OjM0OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogRml4IGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKSBhc3NlcnRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiAoZ3N0X2JyZWFrX215X2RhdGFfY2xhc3NfaW5pdCksCgkgIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KToKCSAgRml4IGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKSBhc3NlcnRpb24uCgoyMDA3LTA1LTE1IDAyOjU2OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIEJheWVyIGltYWdlcyBhcyB2aWRlby94LXJhdy1iYXllci4gIEZpeGVzICMzMTQxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIEJheWVyIGltYWdlcyBhcwoJICB2aWRlby94LXJhdy1iYXllci4gIEZpeGVzICMzMTQxNjAuCgoyMDA3LTA1LTE0IDE3OjEwOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVwZGF0ZSB0aGVvcmEgcGF5L2RlcGF5bG9hZGVyIGluIGEgc2ltaWxhciB0byB2b3JiaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbik6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXBkYXRlIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXIgaW4gYSBzaW1pbGFyIHRvIHZvcmJpcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKToKCSAgVXBkYXRlIGRvY3MuCgoyMDA3LTA1LTE0IDE2OjE5OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBXaGVuIHdlIHRyeSB0byBleGVjdXRlIGEgbWV0aG9kIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc2VydmVyLCBkb24ndCBlcnJvciBvdXQgYnV0IHJlbW92Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBXaGVuIHdlIHRyeSB0byBleGVjdXRlIGEgbWV0aG9kIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc2VydmVyLAoJICBkb24ndCBlcnJvciBvdXQgYnV0IHJlbW92ZSB0aGUgbWV0aG9kIGZyb20gdGhlIGFjY2VwdGVkIG1ldGhvZHMgc28gdGhhdAoJICB3ZSBuZXZlciB0cnkgdG8gcGVyZm9ybSB0aGlzIG1ldGhvZCBhZ2Fpbi4KCjIwMDctMDUtMTQgMTQ6NDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IFJlbW92ZSBhbm5veWluZyBfZHVtcF9tZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICBSZW1vdmUgYW5ub3lpbmcgX2R1bXBfbWVtLgoKMjAwNy0wNS0xNCAxMToxMTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUGFyc2UgcmFuZ2UgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIFBhcnNlIHJhbmdlIGNvcnJlY3RseS4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICBUaGUgYmFzZXVybCBub3cgYWx3YXlzIGhhcyBhICcvJyBhdCB0aGUgc3RhcnQuCgoyMDA3LTA1LTE0IDA5OjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGYWN0b3Igb3V0IGNhcHMgY29uZmlndXJhdGlvbiBhbmQgY29uZmlndXJlIG1vcmUgc3R1ZmYgc3VjaCBhcyB0aGUgdGltZSByYW5nZXMgYW5kIHNwZWVkL3NjYWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgRmFjdG9yIG91dCBjYXBzIGNvbmZpZ3VyYXRpb24gYW5kIGNvbmZpZ3VyZSBtb3JlIHN0dWZmIHN1Y2ggYXMgdGhlIHRpbWUKCSAgcmFuZ2VzIGFuZCBzcGVlZC9zY2FsZSB2YWx1ZXMuCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBBZGQgQ29weXJpZ2h0IGFmdGVyIG5vbi10cml2YWwgZml4ZXMuCgoyMDA3LTA1LTEzIDE5OjU3OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIEJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4uCgoyMDA3LTA1LTEzIDE1OjQ3OjEzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYgY2FuIGJ1aWxkIGluX2RhdGEgKz0gKGZpbHRlci0+d2lkdGggLyA4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYgY2FuIGJ1aWxkCgkgIGluX2RhdGEgKz0gKGZpbHRlci0+d2lkdGggLyA4KS4KCjIwMDctMDUtMTIgMTY6Mzc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBNYWtlIGNoYW5uZWwgZ3VpbnQ4IHdoZXJlIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlcik6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgTWFrZSBjaGFubmVsIGd1aW50OCB3aGVyZSBwb3NzaWJsZS4KCSAgTWFrZSBydHNwX21lc3NhZ2VfaW5pdF9kYXRhKCkgdGFrZSB0aGUgY2hhbm5lbCBhcyBhIGd1aW50OC4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICBGaXhlZCBhIHR5cG86IFRpbW91dCAtPiBUaW1lb3V0CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgTWFrZSBSVFNQX0NIRUNLKCkgYmVoYXZlIGFzIGEgc3RhdGVtZW50LgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSAgQXZvaWQgYSBjb21waWxlciB3YXJuaW5nIGluIElOSVRfQVJSQVkoKS4KCSAgRml4ZXMgIzQzNzY5Mi4KCjIwMDctMDUtMTIgMTY6Mjc6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC4qOiBBZGQgc3VwcG9ydCBmb3IgcXVlcnkgcGFyYW1ldGVycyB0byBSVFNQIFVSTHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX2ZyZWUpLAoJICAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBxdWVyeSBwYXJhbWV0ZXJzIHRvIFJUU1AgVVJMcy4KCjIwMDctMDUtMTIgMTY6MjY6MDYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC4qOiBBZGQgdmFsaWRhdGlvbiB0byBydHNwX3RyYW5zcG9ydF9wYXJzZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHBhcnNlX21vZGUpLAoJICAocGFyc2VfcmFuZ2UpLCAocmFuZ2VfYXNfdGV4dCksIChydHNwX3RyYW5zcG9ydF9tb2RlX2FzX3RleHQpLAoJICAocnRzcF90cmFuc3BvcnRfcHJvZmlsZV9hc190ZXh0KSwgKHJ0c3BfdHJhbnNwb3J0X2x0cmFuc19hc190ZXh0KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKSwgKHJ0c3BfdHJhbnNwb3J0X2FzX3RleHQpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkIHZhbGlkYXRpb24gdG8gcnRzcF90cmFuc3BvcnRfcGFyc2UoKS4KCSAgQWRkIHJ0c3BfdHJhbnNwb3J0X2FzX3RleHQoKSB0byBnZW5lcmF0ZSBhbiBSVFNQIGhlYWRlciBmcm9tIGFuCgkgIFJUU1BUcmFuc3BvcnQuCgkgIENoYW5nZSBzc3JjIHRvIGd1aW50ICh3YXMgYSBzdHJpbmcpIHNpbmNlIHRoYXQgaXMgd2hhdCBpdCBpcywgZXZlbgoJICB0aG91Z2ggaXQgaXMgc2VudCBhcyBhIGhleCBzdHJpbmcuCgkgIENvcnJlY3RseSBpZGVudGlmeSBQTEFZfFJFQ09SRCBtb2RlIHBhcmFtZXRlcnMgKHRoZSBzeW50YXggaW4gdGhlIFJGQyBpcwoJICBpbmNvcnJlY3QsIHdoaWNoIGNhbiBiZSBzZWVuIHdoZW4gbG9va2luZyBhdCB0aGUgZXhhbXBsZXMgaW4gdGhlIFJGQykuCgkgIEZpeGVzICM0Mzc2NzAuCgoyMDA3LTA1LTExIDE2OjExOjA0ICswMDAwICBFcmljIEFuaG9sdCA8YW5ob2x0QGZyZWVic2Qub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXksIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVyaWMgQW5ob2x0CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5LAoJICBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgVXNlIHVuaW9uIG9mIGFsbCBkYW1hZ2UgYmV0d2VlbiBmcmFtZXMgdG8gbWFrZSBpdCBmYXN0ZXIuCgkgIEZpeGVzIGJ1ZyAjMzQyNDYzLgoJICBBbHNvIGZpeCBjcmFzaGVyIHdoZW4gY3Vyc29yIGlzIGF0IGJvdHRvbSByaWdodCBvZiB3aW5kb3cuCgoyMDA3LTA1LTExIDE2OjAxOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNraXAgTElTVCBjaHVua3MgYmVmb3JlIHRoZSBmbXQgY2h1bmsgKGZpeGVzICM0Mzc0OTkpLiBBbHNvIGZpeCBzdHJlYW1pbmcgbW9kZSByZWdyZXNzaW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU2tpcCBMSVNUIGNodW5rcyBiZWZvcmUgdGhlIGZtdCBjaHVuayAoZml4ZXMgIzQzNzQ5OSkuIEFsc28gZml4CgkgIHN0cmVhbWluZyBtb2RlIHJlZ3Jlc3Npb24gZm9yIGZpbGUgZnJvbSAjMzQzODM3IHdpdGggJ2JleHQnIGNodW5rCgkgIGJlZm9yZSB0aGUgJ2ZtdCcgY2h1bmsuCgoyMDA3LTA1LTExIDE1OjA5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBQcmVsaW1pbmFyeSBzZWVrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX2RvX3NlZWspLCAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgUHJlbGltaW5hcnkgc2VlayBzdXBwb3J0LgoJICBBY3RpdmF0ZSBpbnRlcm5hbCBwYWRzIHNvIHRoYXQgd2UgY2FuIHJlY2VpdmUgZXZlbnRzIG9uIHRoZW0uCgkgIERvbid0IHRyeSB0byBwYXJzZSBhIHJhbmdlIHN0cmluZyB3aGVuIGl0J3MgTlVMTC4KCjIwMDctMDUtMTEgMTU6MDQ6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIG5ldyBSVFAgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBzeW5jaHJvbmlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggbmV3IFJUUCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yCgkgIHN5bmNocm9uaXNhdGlvbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXBkYXRlIHZvcmJpcyBwYXkgYW5kIGRlcGF5bG9hZGVyIHRvIGRyYWZ0LTA0LgoKMjAwNy0wNS0xMSAxMToyNDoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogVURQIE1DQVNUIGlzIGFjdHVhbGx5IHRoZSBkZWZhdWx0IGZvciBSVFAvQVZQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIFVEUCBNQ0FTVCBpcyBhY3R1YWxseSB0aGUgZGVmYXVsdCBmb3IgUlRQL0FWUC4KCjIwMDctMDUtMTEgMTA6MzE6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19zdGFydCwgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0LAoJICBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oIChsYXN0X3hpbWFnZSk6CgkgIFdoZW4gdXNpbmcgRGFtYWdlIGFjdHVhbGx5IGtlZXAgdGhlIGxhc3QgZnJhbWUsIGFuZCBub3QgYXNzdW1lCgkgIHRoYXQgdGhlIGJ1ZmZlciB3ZSBnZXQgYWxyZWFkeSBoYXMgdGhlIGxhc3QgZnJhbWUgb24gaXQuCgkgIENvcHkgdGhlIGN1cnNvciBvdmVyIGlmIHdlIHNwZWNpZnkgYSBub24temVybyBzdGFydCB4IGFuZAoJICBzdGFydCB5LgoKMjAwNy0wNS0xMSAwOToxMjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogTWFrZSBVRFAgdGhlIGRlZmF1bHQgdHJhbnNwb3J0IHdoZW4gbm90IHNwZWNpZmllZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBNYWtlIFVEUCB0aGUgZGVmYXVsdCB0cmFuc3BvcnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMDE6MjE6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFJldmVydCBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFJldmVydCBsYXN0IGNoYW5nZS4KCjIwMDctMDUtMDkgMjE6MzA6NTMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBrbm93IHRoZSBzaXplIG9mIGRhdGEgcG9pbnRlZCB3aGVuIG1vdmluZyB0aGUgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2FsY3VsYXRlXyMjVFlQRSksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYga25vdyB0aGUgc2l6ZSBvZiBkYXRhCgkgIHBvaW50ZWQgd2hlbiBtb3ZpbmcgdGhlIHBvaW50ZXIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBNb3ZlIGluc3RydWN0aW9ucyBhZnRlciB2YXJpYWJsZXMgZGVjbGFyYXRpb24uCgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHZzNiBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wNS0wOSAxMToyMzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIGNvZGUgdG8gcGFyc2UgdGltZSByYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5jOiAocGFyc2VfbnB0X3RpbWUpLCAocGFyc2VfbnB0X3JhbmdlKSwKCSAgKHBhcnNlX2Nsb2NrX3JhbmdlKSwgKHBhcnNlX3NtcHRlX3JhbmdlKSwgKHJ0c3BfcmFuZ2VfcGFyc2UpLAoJICAocnRzcF9yYW5nZV9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuaDoKCSAgQWRkIGNvZGUgdG8gcGFyc2UgdGltZSByYW5nZXMuCgkgIFJlcG9ydCBEVVJBVElPTiBvbiB0aGUgc3RyZWFtIHdoZW4gcG9zc2libGUuCgoyMDA3LTA1LTA4IDE1OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggc3RyaWRlcyBjYWxjdWxhdGlvbiBmb3IgQVlVViAoaXQncyBqdXN0IHdpZHRoKjQpICgjNDM2OTEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYXl1dl9heXV2KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfY2hlY2tlciksIChnc3RfdmlkZW9taXhlcl9maWxsX2NvbG9yKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEZpeCBzdHJpZGVzIGNhbGN1bGF0aW9uIGZvciBBWVVWIChpdCdzIGp1c3Qgd2lkdGgqNCkgKCM0MzY5MTApLgoKMjAwNy0wNS0wNiAyMTozMjo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgYmVmb3JlIGVhY2ggcHJvY2Vzc2luZyBzdGVwIHRvIHByb3Blcmx5IHdvcmsgd2l0aCB0aGUgY29udHJvbGxlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgYmVmb3JlIGVhY2ggcHJvY2Vzc2luZyBzdGVwIHRvIHByb3Blcmx5CgkgIHdvcmsgd2l0aCB0aGUgY29udHJvbGxlci4KCjIwMDctMDUtMDQgMTU6MTc6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IExldCBtb3JlIGVycm9yIHN0YXRlIHRyaWNrbGUgZG93biBzbyB0aGF0IHdlIGNhbiBjYXRjaCBtb3JlIGVycm9yIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBMZXQgbW9yZSBlcnJvciBzdGF0ZSB0cmlja2xlIGRvd24gc28gdGhhdCB3ZSBjYW4gY2F0Y2ggbW9yZSBlcnJvcgoJICBjYXNlcy4KCSAgSGFuZGxlIGtlZXAtYWxpdmUgYSBsaXR0bGUgc21hcnRlciBieSBzZWxlY3RpbmcgYSBtZXRob2QgdGhlIHNlcnZlcgoJICBhY3R1YWxseSBzdXBwb3J0cy4KCSAgRml4IGEgcmFjZSBpbiBVRFAgc3RyZWFtaW5nIHNodXRkb3duLgoKMjAwNy0wNS0wNCAxMzowNDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIGVycm9ycyB3aGVuIHRyeWluZyB0byB1c2UgdGhlIGtlZXAtYWxpdmUgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSk6CgkgIElnbm9yZSBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gdXNlIHRoZSBrZWVwLWFsaXZlIG1lc3NhZ2VzLgoKMjAwNy0wNS0wNCAxMjozMTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU2VuZCBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBvdmVyIHRoZSBUQ1AgY29ubmVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlX3VkcCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICBTZW5kIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIG92ZXIgdGhlIFRDUCBjb25uZWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fd3JpdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBGYWN0b3Igb3V0IGFuZCBleHBvc2UgbG93bGV2ZWwgX3dyaXRlIGFuZCBfcmVhZCBtZXRob2RzLgoJICBJbXBsZW1lbnQgc2VuZGluZyBkYXRhIG1lc3NhZ2VzIHRvIHRoZSBzZXJ2ZXIuCgoyMDA3LTA1LTAzIDE1OjU1OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRml4IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRml4IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDctMDUtMDMgMTQ6Mzk6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBFbWl0IE5FV1NFR01FTlQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZSBmaXJzdCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEVtaXQgTkVXU0VHTUVOVCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMDctMDUtMDMgMTM6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRyYW5zcG9ydCBjb25maWd1cmF0aW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlX3VkcCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgIFJlZmFjdG9yIHRyYW5zcG9ydCBjb25maWd1cmF0aW9uIGNvZGUuCgkgIENyZWF0ZSBpbnRlcm5hbCBwYWRzIGZvciBUQ1AgdHJhbnNwb3J0IHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBldmVudHMKCSAgYW5kIHF1ZXJpZXMuCgkgIEhhbmRsZSBldmVudHMgYW5kIHF1ZXJpZXMuCgkgIFBhcnNlIHJhbmdlIGZyb20gdGhlIFNEUC4KCSAgRml4IHJhY2UgaW4gcGF1c2UgaGFuZGxlciB3aGVyZSB0aGUgY29ubmVjdGlvbiBjb3VsZCBzdGlsbCBiZSBmbHVzaGluZy4KCjIwMDctMDUtMDIgMTk6MzI6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCByYWNlIHdoZW4gbXVsdGlwbGUgdWRwIHNvdXJjZXMgcG9zdCB0aW1lb3V0cywganVzdCBhY3Qgb24gdGhlIGZpcnN0IHJlY2VpdmVkIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19hc3luY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCByYWNlIHdoZW4gbXVsdGlwbGUgdWRwIHNvdXJjZXMgcG9zdCB0aW1lb3V0cywganVzdCBhY3Qgb24gdGhlIGZpcnN0CgkgIHJlY2VpdmVkIHRpbWVvdXQuCgkgIFByb3RlY3Qgc3RyZWFtIGxpc3Qgd2l0aCBhIHJlY3Vyc2l2ZSBsb2NrIHRvIGZpeCBzb21lIHJhY2VzLgoJICBGbHVzaCBjb25uZWN0aW9uIHdoZW4gd2UgbmVlZCB0byBkbyBhIHJlY29ubmVjdCBvciBzdG9wLgoJICBNYWtlIHN0YXRlIGxvY2sgcmVjdXJzaXZlLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICBTb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNS0wMiAxODozMToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSGFuZGxlIERJU0NPTlQgYnVmZmVycyBieSBjb3JyZWN0bHkgc2V0dGluZyB0aGUgRElTQ09OVCBmbGFnCgkgIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCkKCSAgU2VuZCBuZXdzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE4OjI1OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE9ubHkgc2V0IERJU0NPTlQgd2hlbiB0aGVyZSBhY3R1YWxseSBpcyBhIGRpc2NvbnQgb3Igd2hlbiB3ZSBqdXN0IHN0YXJ0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgT25seSBzZXQgRElTQ09OVCB3aGVuIHRoZXJlIGFjdHVhbGx5IGlzIGEgZGlzY29udCBvciB3aGVuIHdlIGp1c3QKCSAgc3RhcnRlZC4KCjIwMDctMDUtMDIgMTg6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWMuYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoKMjAwNy0wNS0wMiAxNzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBCZSBhIGJpdCBtb3JlIGNsZXZlciB3aGVuIGRlYWxpbmcgd2l0aCBWQlIgZmlsZXMgd2l0aCBGQUNUIHRhZ3MsIHdlIGRvbid0IHdhbnQgdG8gdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBCZSBhIGJpdCBtb3JlIGNsZXZlciB3aGVuIGRlYWxpbmcgd2l0aCBWQlIgZmlsZXMgd2l0aCBGQUNUIHRhZ3MsIHdlCgkgIGRvbid0IHdhbnQgdG8gdGltZXN0YW1wIGJ1ZmZlcnMgaW4gdGhhdCBjYXNlIGJ1dCB0aGUgZXN0aW1hdGVkIEJQUyBjYW4KCSAgYmUgdXNlZCBmb3Igc2Vla2luZy4KCSAgT25seSBzZW5kIGNsb3NlIHNlZ21lbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE3OjA4OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IENvcnJlY3RseSBwb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIFRoaXMgZml4ZXMgYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICBDb3JyZWN0bHkgcG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nIGluIHRoZSBsb29wCgkgIGZ1bmN0aW9uLiBUaGlzIGZpeGVzIGEgZmV3IGNhc2VzIHdoZXJlIHRoZSB0YXNrIHdhcyBwYXVzZWQgYW5kIG5vdGhpbmcKCSAgaGFwcGVuZWQgYW55bW9yZS4KCjIwMDctMDUtMDIgMTY6NTg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdCBzYW1wbGUuIFdpdGggdGhlIGZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3QKCSAgc2FtcGxlLiBXaXRoIHRoZSBmaXhlZCBlcnJvciBoYW5kbGluZyB0aGlzIHdvcmtzIG5vdyBhcyBleHBlY3RlZAoJICB3aXRob3V0IHB1c2hpbmcgdGhlIGxhc3Qgc2FtcGxlIGFsdGhvdWdoIGl0IHdhc24ndCByZXF1ZXN0ZWQuCgoyMDA3LTA1LTAyIDE2OjQ1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aCBzdG9wIHBvc2l0aW9uID09IC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGgKCSAgc3RvcCBwb3NpdGlvbiA9PSAtMSBhbmQgaW5zdGVhZCBvZiBzdG9wcGluZyB0aGUgdGFzayBvbiBzZWVrIGp1c3QKCSAgcGF1c2UgaXQuCgoyMDA3LTA1LTAyIDE2OjE5OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA3LTA1LTAyIDE1OjEzOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBnZXQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdAoJICB3YXMgZWFzeSB0byBnZXQgdGhlIHRhc2sgcGF1c2VkIGJ1dCBubyBlcnJvciBiZWluZyBwb3N0ZWQgb24gdGhlIGJ1cy4KCjIwMDctMDUtMDIgMTQ6Mjc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC90ZXN0LmM6IEZpeCBjb21waWxhdGlvbiBvZiBkZXByZWNhdGVkIHRlc3QganVzdCBiZWNhdXNlIEknbSB0b28gbGF6eSB0byBkZWxldGUgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBGaXggY29tcGlsYXRpb24gb2YgZGVwcmVjYXRlZCB0ZXN0IGp1c3QgYmVjYXVzZSBJJ20gdG9vIGxhenkgdG8gZGVsZXRlCgkgIGl0LgoKMjAwNy0wNS0wMiAxMzozMjo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IHNlbmRpbmcgUlRDUCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBzZW5kaW5nIFJUQ1AgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBGaXggYnVnIGluIHJlZmZpbmcgdGhlIHdyb25nIFVEUCBlbGVtZW50LgoJICBVc2UgbmV3IHBhZCBuYW1lcyBmb3IgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgSW1wbGVtZW50IGhhbmRsaW5nIHNlcnZlciByZXF1ZXN0cyBpbiBpbnRlcmxlYXZlZCBhbmQgVURQIG1vZGVzLgoJICBIYW5kbGUgc2Vzc2lvbiBrZWVwLWFsaXZlIGluIFVEUCBtb2Rlcy4KCSAgUmVtb3ZlIEdDb25kIGZvciBoYW5kbGluZyBVRFAgdGltZW91dHMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFN0b3JlIGNvbm5lY3Rpb24gSVAgYWRkcmVzcyBmb3IgbGF0ZXIuCgkgIEFkZCB0aW1lb3V0IGFyZ3MgdG8gYWxsIG9wZXJhdGlvbnMgdGhhdCBtaWdodCBibG9jayBmb3JldmVyLgoJICBQYXJzZSBzZXNzaW9uIHRpbWVvdXQuCgkgIE9ubHkgY2xvc2Ugc29ja2V0cyB3aGVuIG5vdCBhbHJlYWR5IGNsb3NlZC4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCB0aW1lb3V0IHJldHVybiB2YWx1ZSBhbmQgZXJyb3Igc3RyaW5nLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSk6CgkgIEFkZCBzbWFsbCBjb21tZW50LgoKMjAwNy0wNS0wMSAxNjoxMzo1OCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lio6IEhhbmRsZSBORVdTRUdNRU5UIGFuZCBGTFVTSCBldmVudHMuIEZpeGVzICM0MzQ4MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2VtcHR5KSwgKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBIYW5kbGUgTkVXU0VHTUVOVCBhbmQgRkxVU0ggZXZlbnRzLiBGaXhlcyAjNDM0ODI0LgoKMjAwNy0wNC0zMCAxMToxNTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBSZW1vdmUgdjRsMnNyYyBmcm9tIGRvY3MsIHNpbmNlIGl0IGJyZWFrcyB0aGUgZG9jcyBidWlsZCwgYW5kIHRoZSBwbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgUmVtb3ZlIHY0bDJzcmMgZnJvbSBkb2NzLCBzaW5jZSBpdCBicmVha3MgdGhlIGRvY3MgYnVpbGQsIGFuZCB0aGUKCSAgcGx1Z2luIGlzIG9ubHkgYnVpbHQgaWYgLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIHVzZWQgYW55d2F5LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU3BhY2VzID0+IHRhYi4KCjIwMDctMDQtMjkgMTQ6NDM6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBBZGQgY29kZSB0byBkcm9wIG1lbWJlcnNoaXAgb2YgYSBtdWx0aWNhc3QgZ3JvdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChsZWF2ZV9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICBBZGQgY29kZSB0byBkcm9wIG1lbWJlcnNoaXAgb2YgYSBtdWx0aWNhc3QgZ3JvdXAuCgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua191cGRhdGVfdXJpKSwKCSAgKGdzdF91ZHBzaW5rX3NldF91cmkpOgoJICBJbXBsZW1lbnQgVVJJIGhhbmRsZXIuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBVUkkgaGFuZGxlciB0byBtYWtlIHVkcHNpbmsgaW5zdGFjZS4KCSAgSW1wcm92ZSBjb2RlIHRvIGNvbmZpZ3VyZSBwb3J0IGFuZCBkZXN0aW5hdGlvbi4KCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDQtMjkgMTM6NTM6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIE1ha2VmaWxlLmFtIGFjY29yZGluZ2x5LgoKMjAwNy0wNC0yOSAxMzo0OTowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBqYWNrIGFuZCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCBqYWNrIGFuZCB1cGRhdGUuCgoyMDA3LTA0LTI5IDEyOjE5OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IG11bHRpY2FzdCBkZXRlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIEZpeCBtdWx0aWNhc3QgZGV0ZWN0aW9uLgoJICBEb24ndCB0cnkgdG8gam9pbiBhIG11bHRpY2FzdCBncm91cCBpZiB0aGUgYWRkcmVzcyBpcyBub3QgbXVsdGljYXN0LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3VwZGF0ZV91cmkpOgoJICBTbWFsbCBkZWJ1ZyBpbXByb3ZlbWVudC4KCjIwMDctMDQtMjcgMTY6NDQ6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBBU1lOQyBzdGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSB1ZHBzaW5rLCBpdCdzIGlycmVsZXZhbnQgZm9yIHRoZSBwYXJlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIElnbm9yZSBBU1lOQyBzdGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSB1ZHBzaW5rLCBpdCdzIGlycmVsZXZhbnQgZm9yIHRoZQoJICBwYXJlbnQuCgoyMDA3LTA0LTI3IDE1OjMwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDogRml4IG1vZGUgcHJvcGVydHkgd2hlbiBzcGVjaWZpZWQgYXMgYW4gYXJnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICBGaXggbW9kZSBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZCBhcyBhbiBhcmcuCgoyMDA3LTA0LTI2IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeGF1ZGlvIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeGF1ZGlvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeGF1ZGlvIHBsdWdpbi4KCjIwMDctMDQtMjYgMTQ6MzE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgoyMDA3LTA0LTI2IDEwOjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQcm90ZWN0IHN0YXRlIGNoYW5nZXMgd2l0aCBhIGxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUHJvdGVjdCBzdGF0ZSBjaGFuZ2VzIHdpdGggYSBsb2NrLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHBhcnNlX2xpbmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBzdHVmZi4KCjIwMDctMDQtMjYgMDg6NDg6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgYXJlIGV4YWN0bHkgMCBieXRlcyB0byByZWFkIGFuZCB0aGUgaW9jdGwgZGlkIG5vdCByZXBvcnQgYW4gZXJyb3IuIEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSBleGFjdGx5IDAgYnl0ZXMgdG8gcmVhZCBhbmQgdGhlIGlvY3RsCgkgIGRpZCBub3QgcmVwb3J0IGFuIGVycm9yLiBGaXhlcyAjNDMzNTMwLgoKMjAwNy0wNC0yNiAwODozOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBBcHBseSBESVNDT05UIHRvIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQXBwbHkgRElTQ09OVCB0byBidWZmZXJzLgoJICBPbmx5IGFwcGx5IHRpbWVzdGFtcCB0byB0aGUgZmlyc3Qgc2FtcGxlIGFmdGVyIGEgRElTQ09OVCwgdG9vIG1hbnkgVkJSCgkgIGZpbGVzIGNhdXNlIHJhbmRvbSBqaXR0ZXIgaW4gdGhlIHRpbWVzdGFtcHMuIEZpeGVzICM0MzMxMTkuCgoyMDA3LTA0LTI1IDE1OjU1OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZCBkdW1teSBsYXRlbmN5IHByb3BlcnR5IHRvIGJlIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBydHBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2RlY19pbml0KSwgKGdzdF9ydHBfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2RlY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGQgZHVtbXkgbGF0ZW5jeSBwcm9wZXJ0eSB0byBiZSBiYWNrd2FyZHMgY29tcGF0IHdpdGggcnRwYmluLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBsYXRlbmN5IHByb3BlcnR5IGFuZCBjb25maWd1cmUgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgRG9uJ3Qgc2V0IGludmFsaWQgY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2Ugb24gY2Fwcywgc29tZSBzZXJ2ZXJzCgkgIHNvbWV0aW1lcyBkb24ndCBzZW5kIHRoZW0uCgoyMDA3LTA0LTI1IDE1OjMxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogRG91YmxlLWNoZWNrIHRoYXQgUkdCIGlucHV0IGNhcHMgYXJlIHJlYWxseSBSR0JBIGNhcHMgKGFwcGFyZW50bHkgdGhlIGNvcmUgZG9lc24ndCBhbHdheXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfYmFzZV9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksIChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICBEb3VibGUtY2hlY2sgdGhhdCBSR0IgaW5wdXQgY2FwcyBhcmUgcmVhbGx5IFJHQkEgY2FwcyAoYXBwYXJlbnRseQoJICB0aGUgY29yZSBkb2Vzbid0IGFsd2F5cyBjYXRjaCBpdCBpZiB0aG9zZSBjYXBzIGFyZW4ndCBhIHN1YnNldCBvZgoJICBvdXIgdGVtcGxhdGUgY2FwcywgYWxzbyBzZWUgIzQyMTU0MykuIEZpeGVzICM0MjkzMTkgaW4gYSB3YXkuCgkgIEFsc28sIGRvbid0IGxlYWsgdGhlIHBhZCB0ZW1wbGF0ZSBpbiB0aGUgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6IChzZXR1cF9hbHBoYWNvbG9yKSwKCSAgKGNsZWFudXBfYWxwaGFjb2xvciksIChjcmVhdGVfY2Fwc19yZ2IyNCksIChjcmVhdGVfY2Fwc19yZ2JhMzIpLAoJICAoY3JlYXRlX2J1ZmZlcl9yZ2IyNF8zeDQpLCAoY3JlYXRlX2J1ZmZlcl9yZ2JhMzJfM3g0KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGFscGhhY29sb3Jfc3VpdGUpOgoJICBBZGQgc29tZSBiYXNpYyB1bml0IHRlc3RzIGZvciBhbHBoYWNvbG9yLgoKMjAwNy0wNC0yNSAxNTowODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IElmIHdlIGdldCBhIGZhdGFsIGZsb3cgcmV0dXJuIGluIHRoZSBsb29wIGZ1bmN0aW9uLCBmaXJzdCBwb3N0IHRoZSBlcnJvciBtZXNzYWdlIGFuZCBvbmx5IHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgSWYgd2UgZ2V0IGEgZmF0YWwgZmxvdyByZXR1cm4gaW4gdGhlIGxvb3AgZnVuY3Rpb24sIGZpcnN0IHBvc3QgdGhlCgkgIGVycm9yIG1lc3NhZ2UgYW5kIG9ubHkgdGhlbiBzZW5kIHRoZSBFT1MgZXZlbnQgZG93bnN0cmVhbSwgb3RoZXJ3aXNlCgkgIGFwcGxpY2F0aW9ucyBtaWdodCBnZXQgYW4gZW9zIG1lc3NhZ2UgYmVmb3JlIHRoZSBlcnJvciBtZXNzYWdlIGFuZAoJICB0aGluayBldmVyeXRoaW5nIHdhcyBvayAocmVsYXRlZCB0byAjNDI5MzE5KS4KCjIwMDctMDQtMjUgMTA6MDc6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZWFkIHRoZSBjaGFubmVsIGJ5dGUgYXMgYW4gdW5zaWduZWQgYnl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgUmVhZCB0aGUgY2hhbm5lbCBieXRlIGFzIGFuIHVuc2lnbmVkIGJ5dGUuCgoyMDA3LTA0LTI1IDA5OjQ3OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE1ha2Ugc3VyZSB3ZSBjb25maWd1cmUgdGhlIGNsb2NrX3JhdGUgaW4gdGhlIGJhc2VjbGFzcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbi4gRml4ZXMgIzQzMTI4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2dzbV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X2lsYmNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbGJjX2RlcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBzdXJlIHdlIGNvbmZpZ3VyZSB0aGUgY2xvY2tfcmF0ZSBpbiB0aGUgYmFzZWNsYXNzIGluIHRoZSBzZXRjYXBzCgkgIGZ1bmN0aW9uLiBGaXhlcyAjNDMxMjgyLgoKMjAwNy0wNC0yNSAwODozNjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUGFyc2Ugc2VydmVyIGFkZHJlc3MgZnJvbSBTRFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUGFyc2Ugc2VydmVyIGFkZHJlc3MgZnJvbSBTRFAuCgkgIEhvb2sgdXAgYSB1ZHBzaW5rIHRvIHNlbmQgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wNC0yNSAwNjo1MjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1ha2UgaGVhZGVyIGZpZWxkIGNoZWNrIGNvbmRpdGlvbmFsLiBGaXhlcyAjNDMzMTM1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgTWFrZSBoZWFkZXIgZmllbGQgY2hlY2sgY29uZGl0aW9uYWwuIEZpeGVzICM0MzMxMzUKCjIwMDctMDQtMjQgMDk6MTI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgbWluaW1hbCBkb2NzIGJsdXJiIHRvIGFscGhhY29sb3I7IHNwbGl0IG91dCBoZWFkZXJzIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGUgZm9yIGd0ay1kb2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgQWRkIG1pbmltYWwgZG9jcyBibHVyYiB0byBhbHBoYWNvbG9yOyBzcGxpdCBvdXQgaGVhZGVycyBpbnRvCgkgIHNlcGFyYXRlIGhlYWRlciBmaWxlIGZvciBndGstZG9jLgoKMjAwNy0wNC0yMCAxNzoyNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBEb24ndCB0cnkgdG8gcG9zdCBOVUxMIG1lc3NhZ2UgKGluIGNhc2Ugd2UgY2FuJ3QgcXVlcnkgdXBzdHJlYW0gcG9zaXRpb24gb3IgZHVyYXRpb24pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgRG9uJ3QgdHJ5IHRvIHBvc3QgTlVMTCBtZXNzYWdlIChpbiBjYXNlIHdlIGNhbid0IHF1ZXJ5IHVwc3RyZWFtCgkgIHBvc2l0aW9uIG9yIGR1cmF0aW9uKS4KCjIwMDctMDQtMTggMTI6MzY6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLio6IEZpeCBzb21lIG9mIHRoZSBtb3N0IG9idmlvdXMgYnVncyBpbiBjdXR0ZXIuIE5vdyBkb2Vzbid0IGxlYWsgZXZlcnl0aGluZyBpZiBpbnB1dCBpcyBzaWxlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2luaXQpLCAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICBGaXggc29tZSBvZiB0aGUgbW9zdCBvYnZpb3VzIGJ1Z3MgaW4gY3V0dGVyLiBOb3cgZG9lc24ndCBsZWFrCgkgIGV2ZXJ5dGhpbmcgaWYgaW5wdXQgaXMgc2lsZW50LgoKMjAwNy0wNC0xOCAwOTo0ODoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogZXZlcnl0aGluZyBlbHNlIHJlc3VsdHMgaW4gYSBpbnZhbGlkIGJsb2NrIGFsaWduIGFuZCBpbnZhbGlkIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgV2F2IGFwcGFyZW50bHkgb25seSBzdXBwb3J0cyB3aWR0aD09R1NUX1JPVU5EX1VQKGRlcHRoKSwgZXZlcnl0aGluZwoJICBlbHNlIHJlc3VsdHMgaW4gYSBpbnZhbGlkIGJsb2NrIGFsaWduIGFuZCBpbnZhbGlkIGZpbGVzLgoKMjAwNy0wNC0xNyAxNjozOTowMiArMDAwMCAgU25haWsgPHNuYWlrMzJAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IEFkZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBmb3IgQk9YX0hPUklaT05UQUwgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTbmFpayA8c25haWszMiBnbWFpbCBjb20+CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IChnc3Rfd2lwZV9ib3hlc19kcmF3KToKCSAgQWRkIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGZvciBCT1hfSE9SSVpPTlRBTCBjYXNlLgoKMjAwNy0wNC0xNyAxMDoxNDo0MyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciB0eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIHR5cGVzLgoKMjAwNy0wNC0xNyAwMjo1MTowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fdGVtcGxhdGVfY2FwcyAoKSBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpOgoJICBVc2UgZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX3RlbXBsYXRlX2NhcHMgKCkgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY2Fwcy4KCSAgVGhpcyBtYWtlcyB1cGRhdGVzIG9mIHRoZSBsb2NhbCBjYXBzIHVuZWNlc3Nhcnkgd2hlbmV2ZXIgbGliZ3N0cmlmZgoJICBnZXRzIHN1cHBvcnQgZm9yIG5ldyBmb3JtYXRzLgoKMjAwNy0wNC0xNiAyMToyOTo0MCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IGFuZC9vciB1cGRhdGUgY29weXJpZ2h0IGF0dHJpYnV0aW9ucyAoIzQzMDIyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBGaXggYW5kL29yIHVwZGF0ZSBjb3B5cmlnaHQgYXR0cmlidXRpb25zICgjNDMwMjI4KS4KCjIwMDctMDQtMTQgMTc6MTg6MTQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgVXBkYXRlIHByb2plY3RzIGZpbGVzLgoKMjAwNy0wNC0xMyAwOTozMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEZpeCBkb2NzLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBzb21lIG1vcmUgZXhhbXBsZSB1cmxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9CT1hFRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCk6CgkgIEJldHRlciBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA3LTA0LTEzIDA4OjE5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVsYXggdGhlIGF1ZGlvL21wZWcgY2FwcyBhZ2FpbiBhbmQgYWRkIEZJWE1FOiBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBSZWxheCB0aGUgYXVkaW8vbXBlZyBjYXBzIGFnYWluIGFuZCBhZGQgRklYTUU6IGNvbW1lbnQuCgoyMDA3LTA0LTEzIDA2OjIwOjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogTW9yZSBzYW5pdHkgY2hlY2sgZm9yIHRoZSBoZWFkZXIgZmllbGRzLiBGaXggdHlwZSBmb3IgJ3JhdGUnIGhlYWRlciBmaWVsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgTW9yZSBzYW5pdHkgY2hlY2sgZm9yIHRoZSBoZWFkZXIgZmllbGRzLiBGaXggdHlwZSBmb3IgJ3JhdGUnIGhlYWRlcgoJICBmaWVsZC4KCjIwMDctMDQtMTIgMTY6MDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogSWYgdGhlIG1ldGFkYXRhIHN0cmluZ3Mgd2UgZ2V0IGluIHRoZSBzdHJlYW0gYXJlIG5vdCBVVEYtOCwgdHJ5IHRvIGludGVycHJldCB0aGVtIGFjY29yZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChub3Rnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KSwKCSAgKGdzdF9pY3lkZW11eF91bmljb2RpZnkpOgoJICBJZiB0aGUgbWV0YWRhdGEgc3RyaW5ncyB3ZSBnZXQgaW4gdGhlIHN0cmVhbSBhcmUgbm90IFVURi04LCB0cnkgdG8KCSAgaW50ZXJwcmV0IHRoZW0gYWNjb3JkaW5nIHRvIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmdzIHNwZWNpZmllZCBpbiB0aGUKCSAgR1NUX0lDWV9UQUdfRU5DT0RJTkcgYW5kIEdTVF9UQUdfRU5DT0RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQKCSAgb25seSBmYWxsIGJhY2sgdG8gbG9jYWxlL0lTTy04ODU5LTEgaWYgdGhvc2UgYXJlbid0IHNldCBvciBkb24ndAoJICB3b3JrLiBTaG91bGQgZml4ICM0Mjg5MDEuCgoyMDA3LTA0LTEyIDE0OjIwOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogVXNlIHRoZSBwcm9wZXIgc3luYyB3b3JkIGZvciBTUFMgYW5kIFBQUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgVXNlIHRoZSBwcm9wZXIgc3luYyB3b3JkIGZvciBTUFMgYW5kIFBQUy4KCjIwMDctMDQtMTIgMTE6NDE6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogZ3N0L3J0cC9mbnYxaGFzaC5jIChNQVNLXzI0LCBGTlYxX0hBU0hfMzJfSU5JVCwgRk5WMV9IQVNIXzMyX1BSSU1FLCBmbnYxX2hhc2hfMzJfbmV3LCBmbnYxX2hhc2hfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9mbnYxaGFzaC5jIChNQVNLXzI0LCBGTlYxX0hBU0hfMzJfSU5JVCwgRk5WMV9IQVNIXzMyX1BSSU1FLAoJICBmbnYxX2hhc2hfMzJfbmV3LCBmbnYxX2hhc2hfMzJfdXBkYXRlLCBmbnYxX2hhc2hfMzJfdG9fMjQpOgoJICAqIGdzdC9ydHAvZm52MWhhc2guaCAoX19HU1RfRk5WMV9IQVNIX0hfXyk6CgkgIEFkZCBhIHNpbXBsZSBoYXNoaW5nIGltcGxlbWVudGF0aW9uIHRoYXQgd2UgY2FuIHVzZSB0byBnZW5lcmF0ZQoJICBhIDI0LWJpdCBpZGVudCB2YWx1ZSBiYXNlZCBvbiB0aGUgY29kZWJvb2tzIGZvciB2b3JiaXMgYW5kIHRoZW9yYS4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMsCgkgIGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmMKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24sCgkgIGdzdF9ydHBfdm9yYmlzX2RlcGF5X3N3aXRjaF9jb2RlYm9vaywgZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYyAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCwKCSAgZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0LCBnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0LAoJICBnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMsIGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXNlIHRoZSBoYXNoaW5nIGZ1bmN0aW9uLCBlbnN1cmluZyB0aGF0IHRoZSBzYW1lIGNvZGVib29rcyByZXN1bHQKCSAgaW4gdGhlIHNhbWUgaWRlbnQgYW5kIHRodXMgdGhlIHNhbWUgU0RQIGRlc2NyaXB0aW9uLgoJICBWYXJpb3VzIGxvZyBmaXhlcy9jaGFuZ2VzLgoKMjAwNy0wNC0xMiAxMTozNzo1MCArMDAwMCAgamVycnkgdGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBpdCBpcyB0aGUgYXBwbGljYXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXQgb3BlbiB0aGUgZGV2aWNlIG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogamVycnkgdGFuIDxqZXJyeSBkb3QgdGFuIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICByZW1vdmUgdGhlIGNhbGwgb2YgIGlvY3RsIChmZCwgQVVESU9fTUlYRVJfTVVMVElQTEVfT1BFTiksIGl0IGlzIHRoZQoJICBhcHBsaWNhdGlvbidzIHJlc3BvbnNpYmlsaXR5IHRvIG1ha2Ugc3VyZSBpdCBvcGVuIHRoZSBkZXZpY2Ugb25jZS4KCSAgUmVtb3ZlIGEgY2FyZWxlc3MgZXJyb3IgaWYgQVVESU9ERVYgaXMgc2V0LiBGaXhlcyAjMzkyNjIwLgoKMjAwNy0wNC0xMiAxMDo1MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldCBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldAoJICBjYWxjdWxhdGlvbnMuCgoyMDA3LTA0LTEyIDA4OjIxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IE1ha2UgYmFja3dhcmQgY29tcGF0IHdpdGggcnRwYmluIGJ5IGFkZGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX0JPWEVEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksIChnc3RfcnRwX2RlY19jaGFpbl9ydHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBNYWtlIGJhY2t3YXJkIGNvbXBhdCB3aXRoIHJ0cGJpbiBieSBhZGRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMgaW5zdGVhZCBvZiBzZXR0aW5nIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCSAgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgoyMDA3LTA0LTExIDEwOjI1OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHAuYzogUmVnaXN0ZXIgR3N0TmV0QnVmZmVyIGluIHBsdWdpbl9pbml0IHNvIHRoYXQgdGhlIHR5cGUgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGhvdXQgcmFjZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIEdzdE5ldEJ1ZmZlciBpbiBwbHVnaW5faW5pdCBzbyB0aGF0IHRoZSB0eXBlIGNhbiBiZSB1c2VkIGZyb20KCSAgbXVsdGlwbGUgdGhyZWFkcyB3aXRob3V0IHJhY2VzLgoKMjAwNy0wNC0xMSAxMDoxOTowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gc3BlYyBmaWxlCgoyMDA3LTA0LTExIDA5OjUzOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tZGhkKToKCSAgSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBGaXhlcyAjNDI2OTcyLgoKMjAwNy0wNC0xMCAxNzowNjowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogRml4IGRlcGF5bG9hZGVyIGNsb2NrX3JhdGUgYW5kIHNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBkZXBheWxvYWRlciBjbG9ja19yYXRlIGFuZCBzb21lIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIERvbid0IHB1c2ggY29kZWNfZGF0YSBpbiB0aGUgYWRhcHRlciBiZWNhdXNlIGl0IG1pZ2h0IGdldCBmbHVzaGVkIHdoZW4KCSAgd2UgZ2V0IGEgZGlzY29udC4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBIYW5kbGUgbXVsdGlwbGUgQVUgcGVyIHBhY2tldC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgRGlzYWJsZSByYW5rLCB0aGlzIG9uZSBkb2VzIG5vdCB3b3JrLgoJICBSZW1vdmUgdGltZXN0YW1waW5nLCBiYXNlIGNsYXNzIGRvZXMgdGhhdC4KCjIwMDctMDQtMTAgMTI6MDE6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogbGltaXQgY2FwcyB0byB0aGUgZm9ybWF0cyB3ZSBhbm5vdW5jZSBpbiB0aGUgdGVtcGxhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIGxpbWl0IGNhcHMgdG8gdGhlIGZvcm1hdHMgd2UgYW5ub3VuY2UgaW4gdGhlIHRlbXBsYXRlCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIGZpeCBzb21lIGNyYXNoZXJzL2Fzc2VydHMgd2hlbiBkZWFsaW5nIHdpdGggYnJva2VuIGZpbGVzCgoyMDA3LTA0LTEwIDEwOjAxOjE0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLiBGaXhlcyAjNDI4MTgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9nZXRfbW9kZSksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCk6CgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLiBGaXhlcyAjNDI4MTgyLgoKMjAwNy0wNC0wNiAxMjo1NDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogTW9ycGggUlRQRGVjIGludG8gc29tZXRoaW5nIGNvbXBhdGlibGUgd2l0aCBSVFBCaW4gYXMgYSBmYWxsYmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfZGVjX2Jhc2VfaW5pdCksIChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZGVjX2luaXQpLCAoZ3N0X3J0cF9kZWNfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9kZWNfcXVlcnlfc3JjKSwgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCksCgkgIChnc3RfcnRwX2RlY19jaGFpbl9ydGNwKSwgKGdzdF9ydHBfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9kZWNfcHJvdmlkZV9jbG9jayksCgkgIChnc3RfcnRwX2RlY19jaGFuZ2Vfc3RhdGUpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9kZWNfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfZGVjX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgIE1vcnBoIFJUUERlYyBpbnRvIHNvbWV0aGluZyBjb21wYXRpYmxlIHdpdGggUlRQQmluIGFzIGEgZmFsbGJhY2suCgkgIFZhcmlvdXMgb3RoZXIgc3R5bGUgZml4ZXMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfaWQpLAoJICAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX2NsZWFudXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCBSVFBCaW4gc2Vzc2lvbiBtYW5hZ2VyIGhhbmRsaW5nLgoJICBEb24ndCB0cnkgdG8gYWRkIGVtcHR5IHByb3BlcnRpZXMgdG8gY2Fwcy4KCSAgSW1wbGVtZW50IGZhbGxiYWNrIHNlc3Npb24gbWFuYWdlciwgaGFuZGxpbmcuCgkgIERvbid0IGNvbWJpbmUgZXJyb3JzIGZyb20gUlRDUCBzdHJlYW1zLCBqdXN0IGlnbm9yZSB0aGVtLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2dldF9tYW5hZ2VyKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEltcGxlbWVudCBmYWxsYmFjayBzZXNzaW9uIG1hbmFnZXIuCgkgIE1ha2UgUlRQQmluIHRoZSBkZWZhdWx0IG9uZSB3aGVuIGF2YWlsYWJsZS4KCjIwMDctMDQtMDUgMTU6MDU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCjIwMDctMDQtMDUgMTM6NTY6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBUaGlzIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBUaGlzIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQuCgoyMDA3LTA0LTA1IDExOjI2OjI1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgbGVhdmUgdGhlIG9mZnNldHMgZGVmaW5lZCBieSB1cHN0cmVhbSBlbGVtZW50IG9uIHRoZSBjb21wcmVzc2VkIGRhdGEgYnVmZmVyIHdlIGFyZSBwdXNoaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNC0wNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgRG9uJ3QgbGVhdmUgdGhlIG9mZnNldHMgZGVmaW5lZCBieSB1cHN0cmVhbSBlbGVtZW50IG9uIHRoZQoJICBjb21wcmVzc2VkIGRhdGEgYnVmZmVyIHdlIGFyZSBwdXNoaW5nIGRvd25zdHJlYW0uIE1ha2UgdGhlbQoJICBHU1RfQlVGRkVSX09GRlNFVF9OT05FLgoKMjAwNy0wNC0wNCAxMjozOTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS86IERvbid0IGFib3J0IG9uIG91dC1vZi1tZW1vcnkuIFVzZSBzdHJlYW0tbnIgYXMgdW5zaWduZWQgaW50ZWdlciBvbmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL1JFQURNRToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N5bmMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBEb24ndCBhYm9ydCBvbiBvdXQtb2YtbWVtb3J5LiBVc2Ugc3RyZWFtLW5yIGFzIHVuc2lnbmVkIGludGVnZXIgb25seS4KCjIwMDctMDQtMDMgMDk6NTU6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIEZpeCBlcnJvciBhcyBzcG90dGVkIGJ5IFNuYWlrIDxzbmFpazMyIGF0IGdtYWlsIGRvdCBjb20+CgoyMDA3LTAzLTMwIDE3OjE5OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU3VwcG9ydCBhdWRpby94LXJhdy1mbG9hdCBpbiB3YXYgZmlsZXMuIFRoaXMgb25seSB3b3JrcyB3aXRoIHBsdWdpbnMtYmFzZSBDVlMsIHVzaW5nIGFuIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFN1cHBvcnQgYXVkaW8veC1yYXctZmxvYXQgaW4gd2F2IGZpbGVzLiBUaGlzIG9ubHkgd29ya3Mgd2l0aAoJICBwbHVnaW5zLWJhc2UgQ1ZTLCB1c2luZyBhbiBvbGRlciB2ZXJzaW9uIGRvZXNuJ3QgaGF2ZSBhbnkKCSAgZGlzYWR2YW50YWdlcyB0aG91Z2guCgoyMDA3LTAzLTMwIDE1OjU5OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UgYXMgd2UgZG9uJ3Qgd2FudCBwbHVnaW5zLWdvb2QgdG8gZGVwZW5kIG9uIHBsdWdpbnMtYmFzZSBDVlMgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFJldmVydCBsYXN0IGNoYW5nZSBhcyB3ZSBkb24ndCB3YW50IHBsdWdpbnMtZ29vZCB0byBkZXBlbmQgb24KCSAgcGx1Z2lucy1iYXNlIENWUyBub3cuCgoyMDA3LTAzLTMwIDA0OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aCB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoCgkgIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aGlzIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGNvbnZlcnQKCSAgdG8gYWNjZXB0ZWQgZm9ybWF0cyBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIHRoZSBlbGVtZW50IGZvciBuKjggZGVwdGhzLgoJICBUaGlzIGFsc28gYWRkcyBzdXBwb3J0IGZvciBub24tbio4IGRlcHRocyBhbmQgcHJldmVudHMgc29tZSB1c2VsZXNzCgkgIG1lbW9yeSBhbGxvY2F0aW9ucy4gRml4ZXMgIzQyMTU5OAoJICBBbHNvIGFkZCBhIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQyIGluIHdhdnBhY2tlbmMgZm9yIG5vdy4uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENvbnNpZGVyIHRoZSBjaGFuZ2UgYWJvdmUgaW4gdGhlIHVuaXQgdGVzdHMgYW5kIHRlc3QgaWYgdGhlIGNvcnJlY3QKCSAgY2FwcyBhcmUgYWNjZXB0ZWQgYW5kIHNldC4gQWxzbyBjaGVjayBmb3IgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIGluCgkgIHRoZSB3YXZwYWNrcGFyc2UgdW5pdCB0ZXN0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKToKCSAgU2V0IGNhcHMgb24gdGhlIHNyYyBwYWQgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgRml4IGluZGVudGlvbi4gZ3N0LWluZGVudCBpcyBub3cgY2FsbGVkIGJ5IGNpY2wuCgoyMDA3LTAzLTI5IDE4OjUxOjMzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGZvciBhdWRpb2NvbnZlcnQgd2l0aCBub24tbmF0aXZlIGZsb2F0IHN1cHBvcnQgYW5kIHdpZHRoL2RlcHRoIGZpeCBpbiBsaWJnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUyBmb3IgYXVkaW9jb252ZXJ0IHdpdGggbm9uLW5hdGl2ZQoJICBmbG9hdCBzdXBwb3J0IGFuZCB3aWR0aC9kZXB0aCBmaXggaW4gbGliZ3N0cmlmZi4KCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBEb24ndCBzd2FwIHRoZSBmbG9hdHMgb3Vyc2VsZiBpZiB0aGV5J3JlIG5vdCBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgSW5zdGVhZCBsZXQgYXVkaW9jb252ZXJ0IGhhbmRsZSB0aGlzLiBGaXhlcyAjMzM5ODM4LgoKMjAwNy0wMy0yOSAxNDo0MDozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGbHVzaCBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIEZsdXNoIGFkYXB0ZXIgb24gZGlzY29udHMuCgoyMDA3LTAzLTI5IDE0OjAzOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVzZSBtb3JlIGVmZmljaWVudCBhZGFwdGVyIGFuZCBydHBidWZmZXIgbWV0aG9kcyB3aGVuIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKToKCSAgVXNlIG1vcmUgZWZmaWNpZW50IGFkYXB0ZXIgYW5kIHJ0cGJ1ZmZlciBtZXRob2RzIHdoZW4gcG9zc2libGUuCgoyMDA3LTAzLTI5IDEyOjE0OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBDb3JyZWN0bHkgaGFuZGxlIHdpZHRoIT1kZXB0aCBpbnB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpOgoJICBDb3JyZWN0bHkgaGFuZGxlIHdpZHRoIT1kZXB0aCBpbnB1dC4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWxyZWFkeSBleHBvcnQgaW4gdGhlIGNhcHMgdGhhdCB3aWR0aD09OCB1c2VzIHVuc2lnbmVkIHNhbXBsZXMgYW5kCgkgIGV2ZXJ5dGhpbmcgZWxzZSB1c2VzIHNpZ25lZCBzYW1wbGVzLgoKMjAwNy0wMy0yOSAwOTo1OToyMyArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3VkcC86IFJld29yayB0aGUgc29ja2V0IGFsbG9jYXRpb24gYSBiaXQgYmFzZWQgb24gdGhlIHNvY2tmZCBhcmd1bWVudCBzbyB0aGF0IGl0IGJlY29tZXMgdXNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2luaXQpLCAoZ3N0X2R5bnVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9keW51ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfZHludWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBSZXdvcmsgdGhlIHNvY2tldCBhbGxvY2F0aW9uIGEgYml0IGJhc2VkIG9uIHRoZSBzb2NrZmQgYXJndW1lbnQgc28gdGhhdAoJICBpdCBiZWNvbWVzIHVzYWJsZS4KCSAgQWRkIGEgY2xvc2VmZCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgdWRwIGVsZW1lbnRzIHRvIGNsb3NlIHRoZSBjdXN0b20KCSAgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIGdvaW5nIHRvIFJFQURZLiBGaXhlcyAjNDIzMzA0LgoJICBBUEk6R3N0VURQU3JjOjpjbG9zZWZkIHByb3BlcnR5CgkgIEFQSTpHc3REeW5VRFBTaW5rOjpjbG9zZWZkIHByb3BlcnR5CgoyMDA3LTAzLTI5IDA4OjA4OjQ5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwLzogQWRkZWQgSDI2NCBwYXlsb2FkZXIuIEZpeGVzICM0MjM3ODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgQWRkZWQgSDI2NCBwYXlsb2FkZXIuIEZpeGVzICM0MjM3ODIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU21hbGwgZml4ZXMuCgoyMDA3LTAzLTI4IDIyOjI3OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWN0dWFsbHkgc3VwcG9ydCBkZXB0aHMgZnJvbSAxIHRvIDMyLCBub3Qgb25seSA4IHRvIDMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWN0dWFsbHkgc3VwcG9ydCBkZXB0aHMgZnJvbSAxIHRvIDMyLCBub3Qgb25seSA4IHRvIDMyLgoKMjAwNy0wMy0yOCAyMjoyMzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciB3YXYgZmlsZXMgY29udGFpbmluZyBhdWRpby94LXJhdy1pbnQgd2l0aCByYW5kb20gZGVwdGhzIGJldHdlZW4gMSBhbmQgMzIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBZGQgc3VwcG9ydCBmb3Igd2F2IGZpbGVzIGNvbnRhaW5pbmcgYXVkaW8veC1yYXctaW50IHdpdGggcmFuZG9tCgkgIGRlcHRocyBiZXR3ZWVuIDEgYW5kIDMyIGJpdHMuCgoyMDA3LTAzLTI4IDE4OjQwOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwLzogQWRkZWQgTVA0QS1MQVRNIGRlcGF5bG9hZGVyLiBGaXhlcyAjNDE3NzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXA0YV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIEFkZGVkIE1QNEEtTEFUTSBkZXBheWxvYWRlci4gRml4ZXMgIzQxNzc5Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXh1cCBkZXBheWxvYWRlciwgc2V0dGluZyBjb2RlY19kYXRhLCB1c2luZyBtb3JlIGVmZmljaWVudCBhZGFwdG9yIGFuZAoJICBydHBidWZmZXIgaGFuZGxpbmcuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHVybCB0byB0ZXN0IGFib3ZlLgoKMjAwNy0wMy0yOCAxNToxNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMgd2l0aCBoMjY0IHZpZGVvKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX2N0dHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcwoJICB3aXRoIGgyNjQgdmlkZW8pLgoJICBVc2UgdGhlIG9mZnNldCBwcmVzZW50IGluICdjdHRzJyB0byBjYWxjdWxhdGUgdGhlIFBUUyBmb3IgZWFjaCBwYWNrZXQKCSAgYW5kIHNldCB0aGUgUFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MjMyODMKCjIwMDctMDMtMjUgMTU6MzQ6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEhhbmRsZSBkZWZhdWx0IGNsb2NrLXJhdGVzIGZvciBzdGF0aWMgcGF5bG9hZCB0eXBlcywgcmVhcnJhbmdlIHN0dWZmIHNvIHRoYXQgdGhlIHJ0cG1hcCBmaWVsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfc2V0dXApLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEhhbmRsZSBkZWZhdWx0IGNsb2NrLXJhdGVzIGZvciBzdGF0aWMgcGF5bG9hZCB0eXBlcywgcmVhcnJhbmdlIHN0dWZmIHNvCgkgIHRoYXQgdGhlIHJ0cG1hcCBmaWVsZCBpbiB0aGUgc2RwIGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdHMuCgkgIFBhcnNlIFJUUC1JbmZvIGZpZWxkIHRvIGdldCB0aGUgc2VxbnVtIGFuZCB0aW1lYmFzZSBmaWVsZHMgdGhhdCBzaG91bGQKCSAgZ28gaW4gdGhlIGNhcHMuCgkgIERlbGF5IGNvbmZpZ3VyaW5nIGNhcHMgYWZ0ZXIgd2UgZ290IHRoZSBSVFAtSW5mbyBmcm9tIHRoZSBQTEFZIHJlcGx5IGZyb20KCSAgdGhlIHNlcnZlci4KCjIwMDctMDMtMjQgMTk6NDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50byAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6CgkgIFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8KCSAgMS1jaGFubmVsIG91dHB1dCBjYXBzIChJIGd1ZXNzIHRlY2huaWNhbGx5IHdlIHNob3VsZCBzZXQgdGhlCgkgIHBvc2l0aW9uIGZvciBlYWNoIGNoYW5uZWwgb24gdGhlIG91dHB1dCBjYXBzIGlmIGl0J3Mgbm9uLU5PTkUsCgkgIGJ1dCBJJ2xsIHNhdmUgdGhhdCBhcyBhIHRhc2sgZm9yIGFub3RoZXIgZGF5KS4KCjIwMDctMDMtMjIgMjI6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZiBzb3VyY2UgcGFkcyAtIHRoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZgoJICBzb3VyY2UgcGFkcyAtIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIGFib3V0IHRoZSBvcmRlciBvZiB0aGUgbGlzdAoJICBpbiB0aGUgR3N0RWxlbWVudCBzdHJ1Y3QsIGFuZCB3ZSB3YW50IGEgdmVyeSBzcGVjaWZpYyBvcmRlcjsgbGFzdGx5LAoJICBzb21lIG1vcmUgZGVidWdnaW5nLgoKMjAwNy0wMy0yMiAxNjoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzIGlzIG5vIGNsZWFuIHNvbHV0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcwoJICBpcyBubyBjbGVhbiBzb2x1dGlvbiBhbmQgaW4gZ2VuZXJhbCB0aGVyZSdzIG5vIHJlYXNvbiB3aHkgb25lIHdhbnRzCgkgIHRvIHBhcnNlIGZyYW1lZCB3YXZwYWNrIGRhdGEgYWdhaW4uCgoyMDA3LTAzLTIyIDE1OjUyOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzCgkgIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2tkZWMgISBzb21lYXVkaW9zaW5rIiBwaXBlbGluZXMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIEFjY2VwdCBmcmFtZWQgYW5kIG5vbi1mcmFtZWQgaW5wdXQsIHdhdnBhY2twYXJzZSBkb2Vzbid0IGNhcmUuIFRvCgkgIHByZXZlbnQgIndhdnBhY2twYXJzZSAhIHdhdnBhY2twYXJzZSAhIC4uLiIgcGlwZWxpbmVzIGxvd2VyIHRoZQoJICByYW5rIG9mIHdhdnBhY2twYXJzZSBieSBvbmUuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja3BhcnNlICEKCSAgLi4uIiBwaXBlbGluZXMuCgoyMDA3LTAzLTIyIDExOjA4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIFRoYW5rcyB0byBKYW4gYW5kIE1pa2UgZm9yIG5vdGljaW5nIG15IG1pc3Rha2UuCgoyMDA3LTAzLTIyIDA5OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIERlaGFpcyA8Y2hyaXN0b3BoZS5kZWhhaXNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mL2djb25mLmM6IEFjY2VwdCBjb21wbGV4IHBpcGVsaW5lIGRlc2NyaXB0aW9ucyBhcyBhbiBhdWRpbyBwcm9maWxlIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBlbGVtZW50LiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXN0b3BoZSBEZWhhaXMgPGNocmlzdG9waGUgZG90IGRlaGFpcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgQWNjZXB0IGNvbXBsZXggcGlwZWxpbmUgZGVzY3JpcHRpb25zIGFzIGFuIGF1ZGlvIHByb2ZpbGUgaW5zdGVhZCBvZiBqdXN0CgkgIGEgc2luZ2xlIGVsZW1lbnQuIEZpeGVzICM0MjA2NTguCgoyMDA3LTAzLTIyIDAwOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90IGFzIGEgcG9pbnRlciB0byBzYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90CgkgIGFzIGEgcG9pbnRlciB0byBzYXZlIHR3byBzbWFsbCwgYnV0IHVzZWxlc3MgbWFsbG9jcy4gVGhpcyBhbHNvIG1ha2VzCgkgIGl0IHBvc3NpYmxlIHRvIGRyb3AgdGhlIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgRm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMgYWxzbyBzZXQgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIHRoZSBzYW1lIHdheSB3YXZwYWNrZW5jIGRvZXMgaXQuCgoyMDA3LTAzLTIxIDIzOjUwOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBCYXNlVHJhbnNmb3JtLWJhc2VkIGVsZW1lbnRzIHdpbGwgbGlrZWx5IGJyZWFrIGJlY2F1c2Ugb2Ygd3JvbmcKCSAgdW5pdC1zaXplLiBBbHNvIHBsdWcgYSBwb3NzaWJsZSBtZW1sZWFrIHRoYXQgaGFwcGVucyB3aGVuIGRlY29kaW5nCgkgIGZhaWxzIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMDMtMjEgMTI6NTM6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBEaXNhYmxlIHRoZSBiaXRyYXRlIGNoZWNraW5nIHdoZW4gdGhlIHVzZXIgaGFzIHJlcXVlc3RlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zZXR1cCk6CgkgIERpc2FibGUgdGhlIGJpdHJhdGUgY2hlY2tpbmcgd2hlbiB0aGUgdXNlciBoYXMgcmVxdWVzdGVkCgkgIEZyZWUgRm9ybWF0IG1vZGUsIGFzIGFsbCBiaXRyYXRlcyBsZXNzIHRoYW4gdGhlIG1heGltdW0KCSAgYXJlIHZhbGlkIHRoZW4uCgoyMDA3LTAzLTIxIDExOjQ5OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBSZW5hbWUgcmVnaXN0ZXJlZCB0eXBlIGluIHByZXBhcmF0aW9uIG9mIEdzdFRhZ0RlbXV4IG1vdmluZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF90eXBlKToKCSAgUmVuYW1lIHJlZ2lzdGVyZWQgdHlwZSBpbiBwcmVwYXJhdGlvbiBvZiBHc3RUYWdEZW11eCBtb3ZpbmcgdG8KCSAgLWJhc2UgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLgoKMjAwNy0wMy0xOSAxMDoyOToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTdHJlYW1pbmcgbW9kZSBmaXhlczogZG9uJ3QgdW5yZWYgYnVmZmVyIHdlIGRvbid0IG93biBhbnkgbG9uZ2VyOyByZW1vdmUgYm9ndXMgYWRhcHRlciBmbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFN0cmVhbWluZyBtb2RlIGZpeGVzOiBkb24ndCB1bnJlZiBidWZmZXIgd2UgZG9uJ3Qgb3duIGFueSBsb25nZXI7CgkgIHJlbW92ZSBib2d1cyBhZGFwdGVyIGZsdXNoLiBGaXhlcyAjNDE5MzM4LgoKMjAwNy0wMy0xOCAwNDoyMToyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSRVFVSVJFTUVOVFM6IENoYW5nZSB0aGUgZm9ybWF0IHRvIGtleS92YWx1ZSwgYWRkIGEgYnVuY2ggb2YgaW5mb3JtYXRpb24sIHJlbW92ZSBhIGJ1bmNoIG9mIHJlcXVpcmVtZW50cyB0aGF0IGFyZSBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOiBDaGFuZ2UgdGhlIGZvcm1hdCB0byBrZXkvdmFsdWUsIGFkZCBhIGJ1bmNoIG9mCgkgIGluZm9ybWF0aW9uLCByZW1vdmUgYSBidW5jaCBvZiByZXF1aXJlbWVudHMgdGhhdCBhcmUgZm9yCgkgIG90aGVyIEdTdHJlYW1lciBwYWNrYWdlcy4KCjIwMDctMDMtMTggMDI6MDA6NTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUkVRVUlSRU1FTlRTOiBGaXggYSBmZXcgdGhpbmdzLiAgVGhpcyBmaWxlIHJlYWxseSBuZWVkcyBhIGdvb2Qgb25jZS1vdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6IEZpeCBhIGZldyB0aGluZ3MuICBUaGlzIGZpbGUgcmVhbGx5IG5lZWRzIGEKCSAgZ29vZCBvbmNlLW92ZXIuCgoyMDA3LTAzLTE2IDE4OjM4OjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCjIwMDctMDMtMTYgMTY6Mjc6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2Ugd2lsbCBjb250YWluIGEgcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlCgkgIHdpbGwgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgTlNWaWV3LgoKMjAwNy0wMy0xNiAwOTo1Nzo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6IEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KToKCSAgQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCjIwMDctMDMtMTUgMTI6MDU6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvTWFrZWZpbGUuYW06IERvbid0IGZvcmdldCB0byBkaXN0cmlidXRlIHRoZSBzeXMvb3N4YXVkaW8vIGRpcmVjdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBEb24ndCBmb3JnZXQgdG8gZGlzdHJpYnV0ZSB0aGUgc3lzL29zeGF1ZGlvLyBkaXJlY3RvcnkuCgoyMDA3LTAzLTE1IDExOjM5OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgQWN0aXZhdGUgb3N4YXVkaW8gaW4gZ3N0LXBsdWdpbnMtZ29vZCB3aXRoIHByb3BlciBidWlsZCBzZXR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfZG9faW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9kb19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6IChnc3Rfb3N4X3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9vc3hfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2luaXQpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9vc3hfcmluZ19idWZmZXJfc3RhcnQpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9wYXVzZSksIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3N0b3ApOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIEFjdGl2YXRlIG9zeGF1ZGlvIGluIGdzdC1wbHVnaW5zLWdvb2Qgd2l0aCBwcm9wZXIgYnVpbGQgc2V0dXAuCgkgIEFkZCBpbmxpbmVkIGRvY3VtZW50YXRpb24uCgkgIEZpeCBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIEZpeCByaW5nYnVmZmVyIHdoZW4gcGF1c2luZy4KCSAgRml4ZXMgIzMyMzQ3MQoKMjAwNy0wMy0xNCAyMjoyMToyNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgIFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoKMjAwNy0wMy0xNCAxNjozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBBY2NlcHQgYW55IGtpbmQgb2YgcmVzb2x1dGlvbnMuCgkgIFdvcmtzIGluIGZ1bGxzY3JlZW4uIENhbiBtYXhpbWl6ZS4KCSAgT25seSB0aGluZyBsZWZ0IGJlZm9yZSBiZWluZyBhYmxlIHRvIG1vdmUgdGhpcyB0byAtZ29vZCBpcyBkb2N1bWVudGF0aW9uCgkgIGFuZCBlbWJlZGRlZCB3aW5kb3cgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTU6MjU6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGUgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9hZi5wbzoKCSAgKiBwby9hei5wbzoKCSAgKiBwby9jcy5wbzoKCSAgKiBwby9lbl9HQi5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9ubC5wbzoKCSAgKiBwby9vci5wbzoKCSAgKiBwby9zcS5wbzoKCSAgKiBwby9zci5wbzoKCSAgKiBwby9zdi5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlIHRyYW5zbGF0aW9ucy4KCjIwMDctMDMtMTQgMTQ6NDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBzdHJpbmcgcmVwbGFjZSBlcnJvciAoQUdfQUdfR1NUXyogPT4gQUdfR1NUXyopLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBzdHJpbmcgcmVwbGFjZSBlcnJvciAoQUdfQUdfR1NUXyogPT4gQUdfR1NUXyopLgoKMjAwNy0wMy0xNCAxNDo0ODowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCk6CgkgIEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFkZCBzb21lIGNvbW1lbnRzIGFib3V0IGZsb2F0IHN1cHBvcnQuCgoyMDA3LTAzLTEyIDE3OjU2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLCBhbmQgU0VFS19DVVIrU0VFS19FTkQgaGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfc3JjcGFkX2V2ZW50KToKCSAgRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywKCSAgYW5kIFNFRUtfQ1VSK1NFRUtfRU5EIGhlcmUgYXMgd2VsbC4KCjIwMDctMDMtMTIgMTc6MjQ6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsIGFuZCBTRUVLX0NVUitTRUVLX0VORC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfc3JjcGFkX2V2ZW50KToKCSAgRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywKCSAgYW5kIFNFRUtfQ1VSK1NFRUtfRU5ELgoKMjAwNy0wMy0xMiAxNTo0OTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBQYXRjaCBieTogbGluZSBmb3Igd2ltLCBzaW5jZSBoZSdzIGF3YXkKCjIwMDctMDMtMTIgMTM6Mjg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IHBhcnNpbmcgb2YgSUQzIHYyLjIuMCBQSUMgZnJhbWVzLiBPbmx5IGluIHZlcnNpb24gPj0gMi4zLjAgaXMgdGhlIGltYWdlIGZvcm1hdCBhIHZhcmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgRml4IHBhcnNpbmcgb2YgSUQzIHYyLjIuMCBQSUMgZnJhbWVzLiBPbmx5IGluIHZlcnNpb24gPj0gMi4zLjAgaXMKCSAgdGhlIGltYWdlIGZvcm1hdCBhIHZhcmlhYmxlLWxlbmd0aCBOVUwtdGVybWluYXRlZCBzdHJpbmc7IGluCgkgIHZlcnNpb25zIGJlZm9yZSB0aGF0IHRoZSBpbWFnZSBmb3JtYXQgaXMgYSBmaXhlZC1sZW5ndGggc3RyaW5nIG9mCgkgIDMgY2hhcmFjdGVycyAoc2VlICMzNDg2NDQgZm9yIGEgc2FtcGxlIHRhZykuCgkgIEFsc28gbWFrZSBzdXBwbGllZCBtaW1lIHR5cGUgbG93ZXItY2FzZSBhbmQgZml4IHVwICdqcGcnIHRvICdqcGVnJy4KCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDMtMTAgMTY6MDc6MzEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbmV3IHByb2plY3QgZmlsZXMgdG8gTUFOSUZFU1QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbmV3IHByb2plY3QgZmlsZXMgdG8gTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAzLTEwIDEyOjMwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlczsgYWxzbyBhZGQgc29tZSBtaXNzaW5nIHF1b3RlcyBpbiB0cmFuc2xhdGVkIHN0cmluZ3MuIEZpeGVzICM0MTY3MjggYW5kICM0MTY3MjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXM7IGFsc28gYWRkIHNvbWUgbWlzc2luZyBxdW90ZXMgaW4gdHJhbnNsYXRlZAoJICBzdHJpbmdzLiBGaXhlcyAjNDE2NzI4IGFuZCAjNDE2NzI3LgoKMjAwNy0wMy0wOSAyMDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IFRpbSBhbmQgSSBjYW4ndCB0aGluayBvZiBhbnkgcmVhc29uIHRoZSBjaGlsZCBhdWRpbyBzaW5rIG5lZWRzIHRvIGJlIHNldCBiYWNrIHRvIE4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICBUaW0gYW5kIEkgY2FuJ3QgdGhpbmsgb2YgYW55IHJlYXNvbiB0aGUgY2hpbGQgYXVkaW8gc2luayBuZWVkcyB0bwoJICBiZSBzZXQgYmFjayB0byBOVUxMIGFmdGVyIHN1Y2Nlc3NmdWxseSBkZXRlcm1pbmluZyB0aGF0IGl0IGNhbgoJICByZWFjaCBSRUFEWSAtIGl0IGdldHMgaW1tZWRpYXRlbHkgc2V0IGJhY2sgdG8gUkVBRFkgYnkgdGhlIGNhbGxlcgoJICBhbnl3YXksIGNhdXNpbmcgYW4gdW5uZWNlc3NhcnkgY2xvc2Uvb3BlbiBvZiBhbnkgYXVkaW8gZGV2aWNlcwoJICBpbnZvbHZlZC4KCjIwMDctMDMtMDkgMTk6NTE6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby86IEFkZCBqYS5wbyBmaWxlIGZyb20gIzM3NzMwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9qYS5wbzoKCSAgQWRkIGphLnBvIGZpbGUgZnJvbSAjMzc3MzA2LgoKMjAwNy0wMy0wOSAxOTo0NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9zdW5hdWRpby86IEFjdHVhbGx5IHRyYW5zbGF0ZSBzdW5hdWRpbyBtaXhlciB0cmFjayBsYWJlbHMgaW5zdGVhZCBvZiBqdXN0IG1hcmtpbmcgdGhlIHN0cmluZ3MgYXMgdHJhbnNsYXRhYmxlICgjMy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICBBY3R1YWxseSB0cmFuc2xhdGUgc3VuYXVkaW8gbWl4ZXIgdHJhY2sgbGFiZWxzIGluc3RlYWQgb2YganVzdAoJICBtYXJraW5nIHRoZSBzdHJpbmdzIGFzIHRyYW5zbGF0YWJsZSAoIzM3NzMwNik7IGNsZWFuIHVwIHdlaXJkCgkgIGxhYmVsIHN0cmluZyBtYXBwaW5nIGNvZGUgdGhhdCBzZXJ2ZXMgbm8gYXBwYXJlbnQgcHVycG9zZS4gQWxzbwoJICBzZXQgdGhlICd1bnRyYW5zbGF0ZWQtbGFiZWwnIHByb3BlcnR5IHdoZW4gY3JlYXRpbmcgbWl4ZXIgdHJhY2tzCgkgIGlmIHRoZSBHc3RNaXhlclRyYWNrIGJhc2UgY2xhc3Mgc3VwcG9ydHMgdGhpcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1bmF1ZGlvLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzdW5hdWRpb19zdWl0ZSk6CgkgIFZlcnkgbWluaW1hbGlzdGljIHVuaXQgdGVzdCBmb3Igc3VuYXVkaW9taXhlciBlbGVtZW50IChjb21waWxlcywgYnV0IG5vdAoJICBhY3R1YWxseSB0ZXN0ZWQgb24gYSBzeXN0ZW0gd2hlcmUgc3VuYXVkaW9taXhlciBpcyBhdmFpbGFibGUpLgoKMjAwNy0wMy0wOSAxODo0OTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmUtZW5hYmxlIHRoZSBzdGF0ZXMgdGVzdCBhbmQgc2VlIGlmIGl0IHdvcmtzIG9uIHRoZSBidWlsZGJvdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZS1lbmFibGUgdGhlIHN0YXRlcyB0ZXN0IGFuZCBzZWUgaWYgaXQgd29ya3Mgb24gdGhlIGJ1aWxkYm90cy4KCjIwMDctMDMtMDkgMTc6MzI6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW1AZmx1ZW5kby5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuKjogSW5mZXIgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gdGhlIHZpZGVvIGZyYW1lIGZvcm1hdCBpZiBpdCBpc24ndCBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLCBhcyBoYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kdmRlY19zcmNfbmVnb3RpYXRlKSwgKGdzdF9kdmRlY19jaGFpbiksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgSW5mZXIgcGl4ZWwtYXNwZWN0LXJhdGlvIGZyb20gdGhlIHZpZGVvIGZyYW1lIGZvcm1hdCBpZiBpdCBpc24ndAoJICBwcm92aWRlZCBieSB0aGUgY29udGFpbmVyLCBhcyBoYXBwZW5zIHdoZW4gcGxheWluZyBEViBmcm9tIEFWSQoJICBvciBRdWlja3RpbWUgY29udGFpbmVycy4KCSAgUGF0Y2ggYnk6IFdpbSBUYXltYW5zIDx3aW1AZmx1ZW5kby5jb20+CgkgIEZpeGVzICMzODA5NDQKCjIwMDctMDMtMDkgMTc6MDU6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFdoZW4gYWN0aXZhdGVkLCByZW1vdmUgdGhlIHVkcHNyYyB0aW1lb3V0LCB3ZSBoYXZlIGRhdGFmbG93IGFuZCB0aW1lb3V0cyB3aWxsIGxhdGVyIGJlIGhhbmRsZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIFdoZW4gYWN0aXZhdGVkLCByZW1vdmUgdGhlIHVkcHNyYyB0aW1lb3V0LCB3ZSBoYXZlIGRhdGFmbG93IGFuZCB0aW1lb3V0cwoJICB3aWxsIGxhdGVyIGJlIGhhbmRsZWQgYnkgdGhlIGppdHRlcmJ1ZmZlci4KCjIwMDctMDMtMDkgMTY6NTM6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBBZGQgd3JpdGUgc3VwcG9ydCBmb3IgR1NUX1RBR19NVVNJQ0JSQUlOWl9TT1JUTkFNRSAoVFNPUCkgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBBZGQgd3JpdGUgc3VwcG9ydCBmb3IgR1NUX1RBR19NVVNJQ0JSQUlOWl9TT1JUTkFNRSAoVFNPUCkgdGFnLgoJICBGaXhlcyAjNDE0NDk2LgoKMjAwNy0wMy0wOSAxNTowNDo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHN0cmVhbSBwb3NpdGlvbiByZXBvcnRpbmcgYWZ0ZXIgYSBzZWVrLiBGaXhlcyAjNDE2NDQ1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBzdHJlYW0gcG9zaXRpb24gcmVwb3J0aW5nIGFmdGVyIGEgc2Vlay4gRml4ZXMgIzQxNjQ0NS4KCjIwMDctMDMtMDkgMDg6NTg6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlCgkgIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbmQgaXMgY29udHJvbGFibGUuIE1vcmUgc3ViY2xhc3NlcyB3aWxsCgkgIGZvbGxvdy4KCjIwMDctMDMtMDggMTY6MDE6NDIgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgYXZpZGVtdXggYWNjZXB0IG9wdGlvbmFsIGhlYWRlciBjaHVua3MgaW4gYW55IG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBNYWtlIGF2aWRlbXV4IGFjY2VwdCBvcHRpb25hbCBoZWFkZXIgY2h1bmtzIGluIGFueSBvcmRlci4KCSAgRml4ZXMgIzQxNTQ0Ni4KCjIwMDctMDMtMDggMTI6MjM6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhlIHN0YXRlcyBjaGVjayB1bnRpbCB0aGUgcmVtYWluaW5nIFZhbGdyaW5kIGVycm9ycyBhcmUgZml4ZWQgb3Igc3VwcHJlc3NlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIHN0YXRlcyBjaGVjayB1bnRpbCB0aGUgcmVtYWluaW5nIFZhbGdyaW5kIGVycm9ycwoJICBhcmUgZml4ZWQgb3Igc3VwcHJlc3NlZC4KCjIwMDctMDMtMDggMTA6MjQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBhdWRpb2R5bmFtaWMgY2hlY2sgdG8gLmN2c2lnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgYXVkaW9keW5hbWljIGNoZWNrIHRvIC5jdnNpZ25vcmUKCjIwMDctMDMtMDggMTA6MDI6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBhdWRpb2R5bmFtaWMgZWxlbWVudCB3aGljaCBjYW4gYWN0IGFzIGEgY29tcHJlc3NvciBvciBleHBhbmRlci4gU3VwcG9ydGVkIGFyZSBoYXJkLWtuZWUgYW5kIHNvZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIChnc3RfYXVkaW9fZHluYW1pY19jaGFyYWN0ZXJpc3RpY3NfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fZHluYW1pY19iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9jb21wcmVzc29yX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2NvbXByZXNzb3JfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX3NvZnRfa25lZV9jb21wcmVzc29yX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2NvbXByZXNzb3JfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9leHBhbmRlcl9pbnQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2hhcmRfa25lZV9leHBhbmRlcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2V4cGFuZGVyX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2V4cGFuZGVyX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IGF1ZGlvZHluYW1pYyBlbGVtZW50IHdoaWNoIGNhbiBhY3QgYXMgYSBjb21wcmVzc29yIG9yCgkgIGV4cGFuZGVyLiBTdXBwb3J0ZWQgYXJlIGhhcmQta25lZSBhbmQgc29mdC1rbmVlIG9wZXJhdGlvbiBtb2RlcyB3aXRoCgkgIHVzZXItc3BlY2lmaWVkIHJhdGlvIGFuZCB0aHJlc2hvbGQuCgkgIEF0dGFjayBhbmQgcmVsZWFzZSBwYXJhbWV0ZXJzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIGJ1dCB3aWxsIGZvbGxvdy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgSW50ZWdyYXRlIGF1ZGlvZHluYW1pYyBpbnRvIHRoZSBkb2NzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOiAoc2V0dXBfZHluYW1pYyksCgkgIChjbGVhbnVwX2R5bmFtaWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZHluYW1pY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9keW5hbWljLgoKMjAwNy0wMy0wNyAxOTo0ODowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogRnJlZSBoYW5kbGVzIHRoYXQgd2UgYWxsb2NhdGVkIHdoZW4gZXhpdGluZyB2aWEgdGhlIGVycm9yIHBhdGhzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfc3RhcnQpOgoJICBGcmVlIGhhbmRsZXMgdGhhdCB3ZSBhbGxvY2F0ZWQgd2hlbiBleGl0aW5nIHZpYSB0aGUgZXJyb3IgcGF0aHMuCgoyMDA3LTAzLTA3IDEyOjA3OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBVc2UgdGhlIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBoZXJlIHRvbyBhbmQgYWRkIGRlYnVnCgkgIG91dHB1dCB0byB0aGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYXQgYWxsIGJ5CgkgIHRoZSB3YXZwYWNrIGxpYnJhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBDaGFuZ2UgZGVidWdnaW5nIGNhdGVnb3J5IG5hbWVzIHRvIGNvbmZvcm0gdG8gdGhlIGNvbnZlbnRpb25zLgoKMjAwNy0wMy0wNyAxMTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZyBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nCgkgIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkZW11eC5jIHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeS4KCjIwMDctMDMtMDcgMTE6MjQ6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBSZXNvbHZlIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF9zZXRfY2FwcyksIChnc3RfbGV2ZWxfc3RhcnQpLCAoZ3N0X2xldmVsX2V2ZW50KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBSZXNvbHZlIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoKMjAwNy0wMy0wNyAxMToyMzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9ldmVudCksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sKCSAgc2VnbWVudC4KCjIwMDctMDMtMDYgMjM6MjE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBDaGFuZ2VMb2cgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IENoYW5nZUxvZyBtZXNzYWdlCgoyMDA3LTAzLTA2IDIzOjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IGxlYWsgY2FwczogbWFrZSBnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCgpIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBEb24ndCBsZWFrIGNhcHM6IG1ha2UgZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQoKSBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlCgkgIGNhcHMgcGFzc2VkIHRvIGl0IChwcmV2aW91c2xseSBvbmUgY29kZSBwYXRoIGFzc3VtZXMgaXQgdGFrZXMgb3duZXJzaGlwCgkgIHdoaWxlIGFub3RoZXIgb25lIGFzc3VtZXMgaXQgZG9lc24ndCkuCgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMS50YWc6CgkgICogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0yLnRhZzoKCSAgQWRkIGRpcmVjdG9yeSB3aGVyZSBkYXRhIGZvciB1bml0IHRlc3RzIGNhbiBiZSBzdG9yZWQuCgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOiAocGFkX2FkZGVkX2NiKSwgKGVycm9yX2NiKSwKCSAgKHJlYWRfdGFnc19mcm9tX2ZpbGUpLCAocnVuX2NoZWNrX2Zvcl9maWxlKSwKCSAgKGNoZWNrX2RhdGVfMTk3N18wNl8yMyksIChHU1RfU1RBUlRfVEVTVCksIChpZDNkZW11eF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGlkM2RlbXV4LCBhbmQgaW4gcGFydGljdWxhciBmb3IgYnVnICM0MDczNDkuIE9ubHkKCSAgdGVzdGluZyBwdWxsLW1vZGUgZm9yIG5vdzsgcHVzaCBtb2RlIGRvZXNuJ3Qgd29yayB5ZXQgYmVjYXVzZSB0aGUgdGVzdAoJICBmaWxlcyBhcmUgc21hbGxlciB0aGFuIElEM19UWVBFX0ZJTkRfTUlOX1NJWkUuCgoyMDA3LTAzLTA2IDIyOjE0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBhdCBlbmQgb2YgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBhdCBlbmQgb2YgbGluZS4KCjIwMDctMDMtMDYgMTg6MzY6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkgIFRyaWdnZXIgcmVidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRyaWdnZXIgcmVidWlsZC4KCjIwMDctMDMtMDYgMTg6MTY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBEbyBub3QgY29udmVydCBvYnNvbGV0ZSBUREEvVERBVCBmcmFtZXMgdG8gVERSQyBmcmFtZXMsIG90aGVyd2lzZSB0aGUgZm91ci1kaWdpdCBudW1iZXIgd2lsbCBiZSBpbnRlcnAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX29ic29sZXRlX3RkYXRfZnJhbWUpOgoJICBEbyBub3QgY29udmVydCBvYnNvbGV0ZSBUREEvVERBVCBmcmFtZXMgdG8gVERSQyBmcmFtZXMsIG90aGVyd2lzZQoJICB0aGUgZm91ci1kaWdpdCBudW1iZXIgd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHllYXIsIHdoZXJlYXMgaXQgaXMKCSAgbW9udGggYW5kIGRheSBpbiBERE1NIGZvcm1hdC4gSW5zdGVhZCwgcGFyc2UgVERBVCBmcmFtZXMgYW5kIGZpeCB1cAoJICB0aGUgZGF0ZSBpbiB0aGUgR1NUX1RBR19EQVRFIHRhZyBsYXRlciBpZiB3ZSBhbHNvIGV4dHJhY3RlZCBhIHllYXIuCgkgIEZpeGVzICM0MDczNDkuCgoyMDA3LTAzLTA2IDE0OjUzOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEZpeCB1cCB0aGUgZGlzcG9zZSBsb2dpYyBzbyBpdCBkb2Vzbid0IGxlYWssIGFuZCBmaXggc2V0dGluZyBvZiB0aGUgY2hpbGQgc3RhdGUgc28gdGhhdCB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgIEZpeCB1cCB0aGUgZGlzcG9zZSBsb2dpYyBzbyBpdCBkb2Vzbid0IGxlYWssIGFuZCBmaXggc2V0dGluZyBvZgoJICB0aGUgY2hpbGQgc3RhdGUgc28gdGhhdCB3ZSBkb24ndCBzZXQgYSBjaGlsZCB0byBvdXIgY3VycmVudCBzdGF0ZQoJICBqdXN0IGFzIHdlIGFyZSBjaGFuZ2luZyBpdCB0byBzb21ldGhpbmcgZWxzZS4KCjIwMDctMDMtMDYgMTM6NTc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgQWRkIEZJWE1FcyBmb3Igc3R1ZmYgdGhhdCBsb29rcyByYXRoZXIgd3JvbmcuCgoyMDA3LTAzLTA2IDEzOjIxOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS4qOiBEb2N1bWVudCwgZml4IGFuZCBpbXByb3ZlIGdvb20gYWRhcHRlciBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdldF9idWZmZXIpLAoJICAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgRG9jdW1lbnQsIGZpeCBhbmQgaW1wcm92ZSBnb29tIGFkYXB0ZXIgYmVoYXZpb3VyLgoJICBGaXhlcyAjNDA3MDA2LgoKMjAwNy0wMy0wNSAxODo0MzoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogVW5yZWYgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhZnRlciB1c2luZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKToKCSAgVW5yZWYgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhZnRlciB1c2luZyBpdC4KCjIwMDctMDMtMDUgMTc6MTc6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogRml4IHVwIHRoZSByZWZlcmVuY2UgY291bnRpbmcgb2YgdGhlIGNoaWxkIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCk6CgkgIEZpeCB1cCB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIG9mIHRoZSBjaGlsZCBlbGVtZW50cy4KCjIwMDctMDMtMDUgMTc6MDg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGVuY29kaW5nLW5hbWUgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpOgoJICBGaXggZW5jb2RpbmctbmFtZSBjYXNlLgoKMjAwNy0wMy0wNSAxNjozOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggc3BlZXggKGRlKXBheWxvYWRlci4gRml4ZXMgIzM1ODA0MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9nZXRfbW9kZSksIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6IChnc3RfcnRwX3NwZWV4X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NwZWV4X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3BlZXhfcGF5X3BhcnNlX2lkZW50KSwgKGdzdF9ydHBfc3BlZXhfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIEZpeCBzcGVleCAoZGUpcGF5bG9hZGVyLiBGaXhlcyAjMzU4MDQwLgoKMjAwNy0wMy0wNSAxNTo0Mjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBJbnN0YWxsIGZha2VzaW5rIGluIE5VTEwgYnkgZml4aW5nIHNvbWUgYnJva2VuIGxvZ2ljLiBUaGlzIG9idmlhdGVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKSwgKGdzdF9zd2l0Y2hfc2lua19zZXRfY2hpbGQpOgoJICBJbnN0YWxsIGZha2VzaW5rIGluIE5VTEwgYnkgZml4aW5nIHNvbWUgYnJva2VuIGxvZ2ljLiBUaGlzIG9idmlhdGVzCgkgIHRoZSBuZWVkIHRvIG1hbnVhbGx5IHNldCBfSVNfU0lOSy4KCSAgQWRkIHNvbWUgY29tbWVudHMgYW5kIHJlbW92ZSBhIGxpdHRsZSBjcnVmdCB3aGlsZSBJJ20gYXQgaXQuCgoyMDA3LTAzLTA1IDE0OjQ2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogTWFyayB1cyBhcyBhIHNpbmsgd2hlbiB3ZSBoYXZlIG5vIGZha2VzaW5rIGluIE5VTEwuIEZpeGVzICM0MTQ4ODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpOgoJICBNYXJrIHVzIGFzIGEgc2luayB3aGVuIHdlIGhhdmUgbm8gZmFrZXNpbmsgaW4gTlVMTC4gRml4ZXMgIzQxNDg4Ny4KCjIwMDctMDMtMDUgMDg6MzA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoKMjAwNy0wMy0wNCAxODo1MjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBVcGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBVcGRhdGUuCgoyMDA3LTAzLTA0IDE3OjMzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBHYWghIEFsc28gZGlzYWJsZSBnY29uZnZpZGVvc2luayBmcm9tIHRoZSB0ZXN0cywgb3RoZXJ3aXNlIGl0IHdpbGwgaW5zdGFudGlhdGUgYXV0b3ZpZGVvc2luay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgR2FoISBBbHNvIGRpc2FibGUgZ2NvbmZ2aWRlb3NpbmsgZnJvbSB0aGUgdGVzdHMsIG90aGVyd2lzZQoJICBpdCB3aWxsIGluc3RhbnRpYXRlIGF1dG92aWRlb3NpbmssIGFuZCBkZmJ2aWRlb3NpbmsgYW5kCgkgIGxlYWsgb24gdGhlIGJ1aWxkYm90cy4KCjIwMDctMDMtMDQgMTc6MTM6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogTWFrZSBzdXJlIHdlIGFsd2F5cyBkZXN0cm95IG91ciBsaWJjZGlvIGhhbmRsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIGRlc3Ryb3kgb3VyIGxpYmNkaW8gaGFuZGxlLgoKMjAwNy0wMy0wNCAxNzowNTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvdmlkZW9zaW5rIHNvIHRoZSBidWlsZGJvdHMgZG9uJ3QgYmFyZiBvdmVyIG1lbW9yeSBsZWFrZWQgaW4gdGhlIGRpcmVjdGZiIHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGF1dG92aWRlb3Npbmsgc28gdGhlIGJ1aWxkYm90cyBkb24ndCBiYXJmIG92ZXIgbWVtb3J5CgkgIGxlYWtlZCBpbiB0aGUgZGlyZWN0ZmIgc2luay4KCjIwMDctMDMtMDQgMTU6Mjg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQ2hhaW4gdXAgaW4gZGlzcG9zZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfZGlzcG9zZSk6CgkgIENoYWluIHVwIGluIGRpc3Bvc2UKCjIwMDctMDMtMDQgMTU6MDc6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZiBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKToKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2YKCSAgc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCjIwMDctMDMtMDQgMTQ6NTY6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgbm8gY2xvY2sgaGFzIGJlZW4gc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfY3JlYXRlKToKCSAgQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgbm8gY2xvY2sgaGFzIGJlZW4gc2V0LgoKMjAwNy0wMy0wNCAxMzo1MjowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggYSBidW5jaCBvZiBsZWFrcyBzaG93biBieSB0aGUgbmV3bHktYWRkZWQgc3RhdGVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19maW5hbGl6ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnc3RfZ2NvbmZfYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2Rpc3Bvc2UpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZmluYWxpemUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfZmluYWxpemUpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfZmluYWxpemUpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfZmluYWxpemUpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9maW5hbGl6ZSk6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzogKGdzdF90ZXN0X2NsYXNzX2luaXQpLAoJICAoZ3N0X3Rlc3RfZmluYWxpemUpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZseGRlY19kaXNwb3NlKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfZmluYWxpemUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2ZyZWVfY29udGV4dCk6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NtcHRlX2ZpbmFsaXplKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19maW5hbGl6ZSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzaW5rX2ZpbmFsaXplKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19maW5hbGlzZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zcmNfZmluYWxpemUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9kZXN0cm95KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19maW5hbGl6ZSk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBGaXggYSBidW5jaCBvZiBsZWFrcyBzaG93biBieSB0aGUgbmV3bHktYWRkZWQgc3RhdGVzIHRlc3QuCgoyMDA3LTAzLTA0IDEzOjQxOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZiBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KToKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlIGluc3RlYWQgb2YKCSAgc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQrcGFkX25ldy4KCjIwMDctMDMtMDMgMTM6MDY6MjEgKzAwMDAgIExvw69jIE1pbmllciA8bG9vbCtnbm9tZUB2aWEuZWNwLmZyPgoKCSAgRG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcyAoIzQxNDE2OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTG/Dr2MgTWluaWVyIDxsb29sK2dub21lIGF0IHZpYSBlY3AgZnI+CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBEb24ndCBtaXggdGFicyBhbmQgc3BhY2VzICgjNDE0MTY4KS4KCjIwMDctMDMtMDIgMjE6MzU6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZTogSWdub3JlIGZpbGVzIHRvIHBsZWFzZSBidWlsZGJvdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgZmlsZXMgdG8gcGxlYXNlIGJ1aWxkYm90LgoKMjAwNy0wMy0wMiAyMTowMToxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVuYnJlYWsgbXkgcHJldmlvdXMgY29tbWl0IChzd2FwcGVkIG5vbWluYXRvciAmIGRlbm9taW5hdG9yKS4gVGltLCB0aGFua3MgZm9yIHNwb3R0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBVbmJyZWFrIG15IHByZXZpb3VzIGNvbW1pdCAoc3dhcHBlZCBub21pbmF0b3IgJiBkZW5vbWluYXRvcikuIFRpbSwKCSAgdGhhbmtzIGZvciBzcG90dGluZy4KCjIwMDctMDMtMDIgMTY6MDg6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBTbWFsbCBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19yZWFkX3NlY3RvciksIChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX2ZpbmFsaXplKToKCSAgU21hbGwgY29kZSBjbGVhbnVwcy4KCSAgRG9uJ3QgdXNlIHBhZF9hbGxvYyBhcyB0aGUgYmFzZSBjbGFzcyBjYW5ub3QgZGVhbCB3aXRoIHRoZSBlcnJvciBjb2Rlcy4KCjIwMDctMDMtMDIgMTM6NDA6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggZG9jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4IGRvYy4KCjIwMDctMDMtMDIgMTM6Mjk6MjUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHJvdW5kaW5nIGJldHRlciB0byBub3QgZHJvcCBsYXN0IHNhbXBsZSBmcmFtZS4gRml4ZXMgIzM1NjY5MgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgSGFuZGxlIHJvdW5kaW5nIGJldHRlciB0byBub3QgZHJvcCBsYXN0IHNhbXBsZSBmcmFtZS4gRml4ZXMgIzM1NjY5MgoKMjAwNy0wMy0wMiAxMzoxOTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBjYWNhc2luayBmcm9tIHRoZSBzdGF0ZXMgY2hlY2sgdG9vIC0gaXQgYWxzbyBjYWxscyBleGl0KDEpIG9uIHVzIHdoZW4gaXQgY2FuJ3QgZmluZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgY2FjYXNpbmsgZnJvbSB0aGUgc3RhdGVzIGNoZWNrIHRvbyAtIGl0IGFsc28gY2FsbHMgZXhpdCgxKQoJICBvbiB1cyB3aGVuIGl0IGNhbid0IGZpbmQgYSB0ZXJtaW5hbCB0byB0YWxrIHRvLgoKMjAwNy0wMy0wMiAxMjo1NjoxMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZCBzdXBwb3J0IHRvIHN0cmlwIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyOTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IHRvIHN0cmlwIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyOTYuCgoyMDA3LTAzLTAyIDEyOjUyOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTAzLTAyIDEyOjE2OjE2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuKjogQWRkIHN1cHBvcnQgdG8gc3RyaXAgb2ZmIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXAydF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgQWRkIHN1cHBvcnQgdG8gc3RyaXAgb2ZmIHByb3ByaWV0YXJ5IGhlYWRlcnMuIEZpeGVzICMzNTAyNzguCgoyMDA3LTAzLTAyIDExOjIyOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2hhbC9oYWwuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTAzLTAyIDEwOjU0OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLio6IFJlbW92ZSBkZXZpY2UtbmFtZSBmcm9tIEdzdFN1bkF1ZGlvU3JjLiBGaXhlcyAjNDEyNTk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBSZW1vdmUgZGV2aWNlLW5hbWUgZnJvbSBHc3RTdW5BdWRpb1NyYy4gRml4ZXMgIzQxMjU5Ny4KCjIwMDctMDMtMDEgMjE6NTA6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9oYWwvOiBIYXZpbmcgTlVMTCBhcyBVREkgcHJldmlvdXNseSBzZWxlY3RlZCB0aGUgZGVmYXVsdCBzaW5rL3NyYy4gQ2hhbmdlIHRoaXMgYmFjayBidXQgbWVudGlvbiBpdCBpbiB0aGUgZGVidWcgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgSGF2aW5nIE5VTEwgYXMgVURJIHByZXZpb3VzbHkgc2VsZWN0ZWQgdGhlIGRlZmF1bHQgc2luay9zcmMuIENoYW5nZQoJICB0aGlzIGJhY2sgYnV0IG1lbnRpb24gaXQgaW4gdGhlIGRlYnVnIG91dHB1dC4KCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfYWxzYV9lbGVtZW50KSwKCSAgKGdzdF9oYWxfZ2V0X29zc19lbGVtZW50KSwgKGdzdF9oYWxfZ2V0X3N0cmluZyksCgkgIChnc3RfaGFsX3JlbmRlcl9iaW5fZnJvbV91ZGkpLCAoZ3N0X2hhbF9nZXRfYXVkaW9fc2luayksCgkgIChnc3RfaGFsX2dldF9hdWRpb19zcmMpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIFJlZmFjdG9yIGEgYml0LCBjaGVjayBhbGwgZXJyb3IgY29uZGl0aW9ucywgZ3JlYXRseSBpbXByb3ZlIGRlYnVnZ2luZwoJICBhbmQgZml4IHNvbWUgcG9zc2libGUgbWVtb3J5IGxlYWtzLiBBbHNvIGltcGxlbWVudCBPU1Mgc3VwcG9ydAoJICBhbmQgYWxsb3cgc3BlY2lmeWluZyBhbiBVREkgdGhhdCBwb2ludHMgdG8gYSByZWFsIGRldmljZS4gRm9yIHRoaXMgdGhlCgkgIGNoaWxkIGRldmljZSB3aGljaCBzdXBwb3J0cyBBTFNBIChwcmVmZXJyZWQpIG9yIE9TUyBpcyB1c2VkLgoJICBBcyBhIHNpZGUgZWZmZWN0IHRoaXMgbWFrZXMgaXQgaW1wb3NzaWJsZSBub3cgdG8gZ2V0IGEgYWxzYXNpbmsgaW4KCSAgaGFsYXVkaW9zcmMgYW5kIGEgYWxzYXNyYyBpbiBoYWxhdWRpb3NpbmsuCgoyMDA3LTAzLTAxIDE4OjQ3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBFcnJvcnMgZnJvbSB0aGUgdWRwIHNvdXJjZXMgYXJlIG5vdCBmYXRhbCB1bmxlc3MgYWxsIG9mIHRoZW0gYXJlIGluIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIEVycm9ycyBmcm9tIHRoZSB1ZHAgc291cmNlcyBhcmUgbm90IGZhdGFsIHVubGVzcyBhbGwgb2YgdGhlbSBhcmUgaW4KCSAgZXJyb3IuCgoyMDA3LTAzLTAxIDE4OjE0OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGFhc2luayBpbiB0aGUgc3RhdGVzIHRlc3QuIEkgc3VzcGVjdCB0aGlzIGlzIHRoZSBlbGVtZW50IHRoYXQgaXMgY2FsbGluZyBleGl0KDEpIHdoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBhYXNpbmsgaW4gdGhlIHN0YXRlcyB0ZXN0LiBJIHN1c3BlY3QgdGhpcyBpcyB0aGUgZWxlbWVudCB0aGF0CgkgIGlzIGNhbGxpbmcgZXhpdCgxKSB3aGVuIGl0IGNhbid0IHByb2NlZWQuCgoyMDA3LTAzLTAxIDE3OjI2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcKCSAgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb25zLgoKMjAwNy0wMy0wMSAxMDo0NDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEVycm9yIG91dCBjb3JyZWN0bHkgd2hlbiBnZXR0aW5nIHhjb250ZXh0IGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0wMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXkpOgoJICBFcnJvciBvdXQgY29ycmVjdGx5IHdoZW4gZ2V0dGluZyB4Y29udGV4dCBmYWlscy4KCjIwMDctMDMtMDEgMDk6Mjk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuYzogTWFrZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIE5PX1BSRVJPTEwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBpdCB3aWxsIGJlIGluIHRoZSBmdXR1cmUgYW5kIHJ0c3BzcmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIHRvIFBBVVNFRCBOT19QUkVST0xMIGJlY2F1c2UgdGhhdCdzIHdoYXQgaXQgd2lsbCBiZSBpbgoJICB0aGUgZnV0dXJlIGFuZCBydHNwc3JjIHJlbGllcyBvbiBpdC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBlcnJvciBvdXQgd2hlbiB3ZSBkb24ndCBnZXQgYW4gZXJyb3IgZnJvbSB0aGUgc3RhdGUgY2hhbmdlCgkgIGZ1bmN0aW9uLgoKMjAwNy0wMy0wMSAwMTo0ODo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2hhbC86IENoZWNrIGlmIHRoZSBkZXZpY2UgVURJIGlzIHNldCBiZWZvcmUgdHJ5aW5nIHRvIHF1ZXJ5IEhBTCBhYm91dCBpdCBhbmQgZ2l2ZSBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGlmIGl0IHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICBDaGVjayBpZiB0aGUgZGV2aWNlIFVESSBpcyBzZXQgYmVmb3JlIHRyeWluZyB0byBxdWVyeSBIQUwKCSAgYWJvdXQgaXQgYW5kIGdpdmUgYSB1c2VmdWwgZXJyb3IgbWVzc2FnZSBpZiBpdCB3YXNuJ3Qgc2V0LgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpOgoJICBEb24ndCBxdWVyeSBIQUwgZm9yIE5VTEwgVURJcy4gUGFzc2luZyBOVUxMIGFzIFVESSB0byBIQUwKCSAgZ2l2ZXMgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgaW4gRC1CdXMgd2hlbiBydW5uaW5nIHdpdGgKCSAgREJVU19GQVRBTF9XQVJOSU5HUz0xLgoKMjAwNy0wMi0yOCAxOToyOTo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSBjb25maWcgdG8gdHJ1bmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb25maWcgdG8gdHJ1bmsKCjIwMDctMDItMjggMTk6Mjk6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoKMjAwNy0wMi0yOCAxODo0MTozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IERpc3BsYXkgc2Vuc2libGUgZGVmYXVsdHMgYW5kIGxpbWl0cyBmb3IgdGhlIHZici1taW4vbWF4L21lYW4gcHJvcGVydGllcy4gRml4IHRoZSAnaGFyZC1saW1pdCcgVkIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksIChnc3RfbGFtZV9pbml0KSwKCSAgKGdzdF9sYW1lX3NldHVwKToKCSAgRGlzcGxheSBzZW5zaWJsZSBkZWZhdWx0cyBhbmQgbGltaXRzIGZvciB0aGUKCSAgdmJyLW1pbi9tYXgvbWVhbiBwcm9wZXJ0aWVzLiBGaXggdGhlICdoYXJkLWxpbWl0JyBWQlIgbWluCgkgIHByb3BlcnR5IC0gaXQncyBzdXBwb3NlZCB0byBiZSBhIGJvb2xlYW4gMC8xIHZhbHVlLgoKMjAwNy0wMi0yOCAxNjowMTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IEluaXRpYWxpc2UgdGhlIHZhcmlhYmxlcyBzbyBnY2MgZG9lc24ndCBjb21wbGFpbiBhYm91dCBwb3NzaWJseSB1bmluaXRpYWxpc2VkIHVzZXMsIGV2ZW4gdGhvdWdoIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBJbml0aWFsaXNlIHRoZSB2YXJpYWJsZXMgc28gZ2NjIGRvZXNuJ3QgY29tcGxhaW4gYWJvdXQgcG9zc2libHkKCSAgdW5pbml0aWFsaXNlZCB1c2VzLCBldmVuIHRob3VnaCB0aGV5IGNhbid0IGFjdHVhbGx5IGhhcHBlbi4KCjIwMDctMDItMjggMTI6NTk6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBhZGQgdGVzdCBmb3Igc3RhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChHU1RfU1RBUlRfVEVTVCksIChzdGF0ZXNfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3Igc3RhdGVzCgoyMDA3LTAyLTI4IDEwOjU4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIG5ldyB2aWRlb2ZpbHRlciBjaGVjayB0byAuY3ZzaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgbmV3IHZpZGVvZmlsdGVyIGNoZWNrIHRvIC5jdnNpZ25vcmUuCgoyMDA3LTAyLTI4IDEwOjU0OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggY29tYmluZWQgZmxvdyByZXR1cm4uIEZpeGVzICM0MTI2MDguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCksIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IGNvbWJpbmVkIGZsb3cgcmV0dXJuLiBGaXhlcyAjNDEyNjA4LgoKMjAwNy0wMi0yOCAxMDo0MToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbTogRGlzdCBoZWFkZXIuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgIERpc3QgaGVhZGVyLi4KCjIwMDctMDItMjggMTA6Mjk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDogQWRkIGhlYWRlciB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBBZGQgaGVhZGVyIHRvby4KCjIwMDctMDItMjggMTA6MTc6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9maWx0ZXIvOiBQb3J0IGdhbW1hIGZpbHRlciB0byAwLjEwLiBGaXhlcyAjNDEyNzA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2FtbWFfY2xhc3NfaW5pdCksIChnc3RfZ2FtbWFfaW5pdCksIChnc3RfZ2FtbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nYW1tYV9nZXRfcHJvcGVydHkpLCAoZ3N0X2dhbW1hX2NhbGN1bGF0ZV90YWJsZXMpLAoJICAob2lsX3RhYmxlbG9va3VwX3U4KSwgKGdzdF9nYW1tYV9zZXRfY2FwcyksCgkgIChnc3RfZ2FtbWFfcGxhbmFyNDExX2lwKSwgKGdzdF9nYW1tYV90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICBQb3J0IGdhbW1hIGZpbHRlciB0byAwLjEwLiBGaXhlcyAjNDEyNzA0LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6IChzZXR1cF9maWx0ZXIpLAoJICAoY2xlYW51cF9maWx0ZXIpLCAoY2hlY2tfZmlsdGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvYmFsYW5jZV9zdWl0ZSksICh2aWRlb2ZsaXBfc3VpdGUpLCAoZ2FtbWFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2ZpbHRlcnMuCgoyMDA3LTAyLTI4IDEwOjA2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkIGFub3RoZXIgaW50ZXJlc3RpbmcgdGVzdCB1cmwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBhbm90aGVyIGludGVyZXN0aW5nIHRlc3QgdXJsLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlcik6CgkgIERvbid0IGFsbG93IGdldHRpbmcgaGVhZGVyIGZpZWxkcyBmcm9tIGRhdGEgcGFja2V0cy4KCjIwMDctMDItMjcgMjM6NDM6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IEFkZCBhIHByb3BlcnR5IGZvciB1c2VybmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9zdGFydCksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRfcHJvcGVydHkpLCAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBBZGQgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUuCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMjcgMTE6NTk6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CgoyMDA3LTAyLTI3IDExOjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5CgkgIG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIHdpdGhpbiBhbiBOU0FwcCAod2hpY2ggaGFzIGFscmVhZHkgZ290CgkgIGEgY29jYSBldmVudCBsb29wKS4KCSAgUmVtb3ZlIGFsbCB1bnVzZWQgY29kZS4KCjIwMDctMDItMjYgMTI6MDc6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvTWFrZWZpbGUuYW06IEZpeCBtYWtlIGNoZWNrIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlIGNoZWNrIHRvby4KCjIwMDctMDItMjYgMTA6MDA6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvYmFzZTY0Lio6IENvbW1pdCBtaXNzaW5nIGZpbGVzIGZvciBiYXNlNjQgZW5jb2RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2Jhc2U2NC5jOiAodXRpbF9iYXNlNjRfZW5jb2RlKToKCSAgKiBnc3QvcnRzcC9iYXNlNjQuaDoKCSAgQ29tbWl0IG1pc3NpbmcgZmlsZXMgZm9yIGJhc2U2NCBlbmNvZGluZy4KCjIwMDctMDItMjQgMjI6NTc6NDkgKzAwMDAgIExvw69jIE1pbmllciA8bG9vbCtnbm9tZUB2aWEuZWNwLmZyPgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnICgjNDEwOTk3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExvw69jIE1pbmllciA8bG9vbCtnbm9tZSBhdCB2aWEgZWNwIGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycgKCM0MTA5OTcpCgoyMDA3LTAyLTI0IDIyOjUyOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgoyMDA3LTAyLTIzIDE5OjEyOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwLzogZ19iYXNlNjRfZW5jb2RlIGlzIGEgR0xpYiAyLjEyIGZ1bmN0aW9uLiBVc2UgYW4gZXF1aXZhbGVudCB0YWtlbiBmcm9tIGljZWNhc3QgdG8gcmVwbGFjZSBpdC4gUmVsaWNlbnNlZCBmci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoYXBwZW5kX2F1dGhfaGVhZGVyKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9zZXRfYXV0aCk6CgkgIGdfYmFzZTY0X2VuY29kZSBpcyBhIEdMaWIgMi4xMiBmdW5jdGlvbi4gVXNlIGFuIGVxdWl2YWxlbnQgdGFrZW4KCSAgZnJvbSBpY2VjYXN0IHRvIHJlcGxhY2UgaXQuIFJlbGljZW5zZWQgZnJvbSBHUEwgY291cnRlc3kgb2YgTWlrZQoJICBTbWl0aC4KCjIwMDctMDItMjMgMTg6MTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXBsZW1lbnQgc2ltcGxlIEJhc2ljIEF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgc28gdGhhdCB1cmxzIGxpa2UgcnRzcDovL3VzZXI6cGFzc0Bob3N0bmFtZS9ydHNwc3RyZWFtIHdvcmsgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAocnRzcF9hdXRoX21ldGhvZF90b19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpLCAoZ3N0X3J0c3BzcmNfc2V0dXBfYXV0aCksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKGFwcGVuZF9hdXRoX2hlYWRlciksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSksIChydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGgpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgSW1wbGVtZW50IHNpbXBsZSBCYXNpYyBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IHNvIHRoYXQgdXJscyBsaWtlCgkgIHJ0c3A6Ly91c2VyOnBhc3NAaG9zdG5hbWUvcnRzcHN0cmVhbSB3b3JrIG9uIGhvc3RzIHRoYXQgcmVxdWlyZQoJICBhdXRoZW50aWNhdGlvbi4KCjIwMDctMDItMjIgMTc6NTM6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBGaXggc2VnZmF1bHQgd2hlbiBvcHBlbmluZyBhIHJhZGlvIGRldmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG9wcGVuaW5nIGEgcmFkaW8gZGV2aWNlLgoKMjAwNy0wMi0yMiAxNDozNToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGxldmVsIGZvciBtdWx0aS1jaGFubmVsIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIHN5cy92NGwyL1JFQURNRToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggbGV2ZWwgZm9yIG11bHRpLWNoYW5uZWwgY2FzZS4KCjIwMDctMDItMjEgMTY6MDI6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBGaXggdXAgYml0cmF0ZSBjaGVja2luZyBtYWNyby4gIE1ha2UgaXQgZ2l2ZSB1cyBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbGFtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfc2V0dXApOgoJICBGaXggdXAgYml0cmF0ZSBjaGVja2luZyBtYWNyby4gIE1ha2UgaXQgZ2l2ZSB1cyBhCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcgbWVzc2FnZSBzbyB0aGUgYXBwbGljYXRpb24gaGFzIGEgY2hhbmNlIG9mCgkgIHJlcG9ydGluZyB0aGlzIHRvIHRoZSB1c2VyLiAgTW92ZSB0aGUgY2hlY2tpbmcgdG8gX3NldHVwLCBzbyB3ZQoJICBhcmUgc3VyZSBpdCBydW5zIGluIHRoZSBSRUFEWSBzdGF0ZSwgd2hlbiB3ZSBob3BlIHRvIGhhdmUgYSBwaXBlbGluZQoJICBhbmQgYSBidXMgdGhhdCBpcyBub3QgZmx1c2hpbmcuCgkgIFRoaXMgZml4ZXMgZS5nLiB1c2luZyA5NiBrYml0L3NlYyBhcyBhIGJpdHJhdGUuCgoyMDA3LTAyLTIxIDEwOjE4OjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogVXNlIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHByb2Nlc3MgZnVuY3Rpb24gYW5kIGFkZCBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgZmxvYXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpLCAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBVc2UgZnVuY3Rpb24gcG9pbnRlciBmb3IgcHJvY2VzcyBmdW5jdGlvbiBhbmQgYWRkIHByb2Nlc3MgZnVuY3Rpb25zCgkgIGZvciBmbG9hdCBhdWRpby4KCjIwMDctMDItMjAgMjE6MzQ6MDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgQWRkIGEgbmV3IHdhdmVmb3JtIHBsdWdpbiB3aGljaCBpbmNsdWRlcyBhbiBhdWRpbyBzaW5rCgkgIGVsZW1lbnQgdXNpbmcgdGhlIFdhdmVGb3JtIHdpbjMyIEFQSS4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHRoZSBuZXcgcHJvamVjdCBmaWxlIGZvcm0gd2F2ZWZvcm0gcGx1Z2luLgoKMjAwNy0wMi0xOSAxMjoyMjo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBSZWFkZCBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBjYW4ndCByZWVucXVlIGJ1ZmZlcnMgYWZ0ZXIgRUlPLCBmaXhlcyAjNDA3MzY5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBSZWFkZCBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBjYW4ndCByZWVucXVlIGJ1ZmZlcnMgYWZ0ZXIgRUlPLAoJICBmaXhlcyAjNDA3MzY5CgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xOCAxMzoyNDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAydF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICBBZGRlZCBzaW1wbGUgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBheWxvYWRlci4KCjIwMDctMDItMTYgMTI6MzI6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgZXhhbXBsZSBIMjY0IHJ0c3AgdXJsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgZXhhbXBsZSBIMjY0IHJ0c3AgdXJsLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY29udmVydCB2YWx1ZXMgdG8gbG93ZXJjYXNlIG9yIHdlIG1pZ2h0IG1lc3MgdXAgYmFzZTY0IGVuY29kZWQKCSAgcHJvcGVydGllcy4KCjIwMDctMDItMTYgMTI6MzA6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogRml4IGNhc2Ugb2Ygc3RyaW5nIHBhcmFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIEZpeCBjYXNlIG9mIHN0cmluZyBwYXJhbXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgRml4IGRlcGF5bG9hZGVyLCBzdXBwb3J0IG1vcmUgcGFja2V0IHR5cGVzLgoJICBBZGQgc3luYyBjb2RlcyB0byBtYWtlIHN1cmUgdGhlIHBhY2tldGl6ZXIgY2FuIGRvIGl0cyBqb2IuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgRml4IGNhcHMgY2FzZSBhZ2Fpbi4KCjIwMDctMDItMTUgMTI6MjY6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBTZXQgcmlnaHQgY2FwcyBvbiBvdXRwdXQgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU2V0IHJpZ2h0IGNhcHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgoyMDA3LTAyLTE0IDE3OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiBDbGVhciBzdGFjayBhbGxvY2F0ZWQgU0RQTWVkaWEgc3RydWN0IGJlZm9yZSBjYWxsaW5nIF9pbml0KCkgb24gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9wYXJzZV9saW5lKToKCSAgQXMgc3BvdHRlZCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPjoKCSAgQ2xlYXIgc3RhY2sgYWxsb2NhdGVkIFNEUE1lZGlhIHN0cnVjdCBiZWZvcmUgY2FsbGluZyBfaW5pdCgpIG9uIGl0LgoJICBDbGFyaWZ5IHRoaXMgaW4gdGhlIGRvY3MgYXMgd2VsbC4KCjIwMDctMDItMTQgMTc6MDE6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IERvbid0IHJlc2V0IHRoZSBwcm9maWxlIHdoZW4gZ29pbmcgc3dpdGNoaW5nIHN0YXRlcywgYXMgaXQgbWFrZXMgdGhlIGVsZW1lbnQgbm9uLXJldXNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZG9fY2hhbmdlX2NoaWxkKToKCSAgRG9uJ3QgcmVzZXQgdGhlIHByb2ZpbGUgd2hlbiBnb2luZyBzd2l0Y2hpbmcgc3RhdGVzLCBhcyBpdCBtYWtlcwoJICB0aGUgZWxlbWVudCBub24tcmV1c2FibGUuCgoyMDA3LTAyLTE0IDE1OjI0OjUwICswMDAwICBqcC5saXUgPGpwX2xpdUBhc3Ryb2NvbS5jbj4KCgkgIGdzdC9ydHNwL3NkcG1lc3NhZ2UuKjogRml4IG1lbW9yeSBtYW5hZ2VtZW50IG9mIFNEUCBtZXNzYWdlcy4gRml4ZXMgIzQwNzc5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX29yaWdpbl9pbml0KSwgKHNkcF9jb25uZWN0aW9uX2luaXQpLAoJICAoc2RwX2JhbmR3aWR0aF9pbml0KSwgKHNkcF90aW1lX2luaXQpLCAoc2RwX3pvbmVfaW5pdCksCgkgIChzZHBfa2V5X2luaXQpLCAoc2RwX2F0dHJpYnV0ZV9pbml0KSwgKHNkcF9tZXNzYWdlX2luaXQpLAoJICAoc2RwX21lc3NhZ2VfdW5pbml0KSwgKHNkcF9tZXNzYWdlX2ZyZWUpLCAoc2RwX21lZGlhX2luaXQpLAoJICAoc2RwX21lZGlhX3VuaW5pdCksIChzZHBfbWVkaWFfZnJlZSksIChzZHBfbWVzc2FnZV9hZGRfbWVkaWEpLAoJICAoc2RwX3BhcnNlX2xpbmUpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IGpwLmxpdSA8anBfbGl1IGF0IGFzdHJvY29tIGRvdCBjbj4KCSAgRml4IG1lbW9yeSBtYW5hZ2VtZW50IG9mIFNEUCBtZXNzYWdlcy4gRml4ZXMgIzQwNzc5My4KCjIwMDctMDItMTQgMTI6MDc6MDEgKzAwMDAgIHpoYW5nZmVpIGdhbyA8Z2FvemhhbmdmZWlAeWFob28uY29tLmNuPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWxsb3cgbXV4aW5nIHZpZGVvL3gtaDI2NCAod2FzIGFscmVhZHkgaW4gdGhlIGNhcHMpLiBGaXhlcyAjNDA3NzgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHpoYW5nZmVpIGdhbyA8Z2FvemhhbmdmZWlAeWFob28uY29tLmNuPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKToKCSAgQWxsb3cgbXV4aW5nIHZpZGVvL3gtaDI2NCAod2FzIGFscmVhZHkgaW4gdGhlIGNhcHMpLiBGaXhlcyAjNDA3NzgwLgoKMjAwNy0wMi0xNCAxMDowOToxMiArMDAwMCAganAubGl1IDxqcF9saXVAYXN0cm9jb20uY24+CgoJICBnc3QvcnRzcC9ydHNwdXJsLmM6IEZpeCBwYXJzaW5nIG9mIHBhc3N3b3JkIGZpZWxkIGluIHVybC4gRml4ZXMgIzQwNzc5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqcC5saXUgPGpwX2xpdSBhdCBhc3Ryb2NvbSBkb3QgY24+CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBGaXggcGFyc2luZyBvZiBwYXNzd29yZCBmaWVsZCBpbiB1cmwuIEZpeGVzICM0MDc3OTcuCgoyMDA3LTAyLTE0IDA5OjU1OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVwZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfZGVzdHJveV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX2ZtdCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX2NoYWluKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVwZGF0ZSBkb2NzLgoJICBVc2UgYm9pbGVycGxhdGUuCgkgIFZhcmlvdXMgY29kZSBjbGVhbnVwcy4KCSAgV2hlbiB0aGUgYml0cmF0ZSBpcyBub3Qga25vd24gKGJwcyA9PSAwIG9yIGNvbXByZXNzZWQgZm9ybWF0cykgbGV0CgkgIGRvd25zdHJlYW0gZWxlbWVudCBndWVzdGltYXRlIHRoZSBkdXJhdGlvbiBhbmQgcG9zaXRpb24gYW5kIGRvbid0CgkgIGdlbmVyYXRlIHRpbWVzdGFtcHMgb3IgZHVyYXRpb25zLiBGaXhlcyAjNDA1MjEzLgoJICBGaXggRU9TIGFuZCBFUlJPUiBjb25kaXRpb25zIGluIGNoYWluIG1vZGUsIHdlIGp1c3QgbmVlZCB0byBmb3J3YXJkIHRoZQoJICBlcnJvciBmbG93cmV0dXJuIHVwc3RyZWFtLgoKMjAwNy0wMi0xMyAxNjowMToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZS1mYWN0b3IgdGhlIGdjb25mYXVkaW9zaW5rIGludG8gYSAiR3N0U3dpdGNoU2luayIgYmFzZSBjbGFzcyBhbmQgYSBjaGlsZCB0aGF0IGltcGxlbWVudHMgdGhlIEdDb25mIGtleSBtb25pdG9yaW5nLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9zdHJpbmcpLAoJICAoZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSksIChnc3RfZ2NvbmZfc2V0X3N0cmluZyksCgkgIChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksIChkb19jaGFuZ2VfY2hpbGQpLAoJICAoZ3N0X2djb25mX3N3aXRjaF9wcm9maWxlKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChjYl9jaGFuZ2VfY2hpbGQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfY2xhc3NfaW5pdCksIChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2luaXQpLCAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKSwKCSAgKGdzdF9zd2l0Y2hfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3N3aXRjaF9zaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zd2l0Y2hfc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsZWFyX2tpZCksIChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xlYXJfa2lkKSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBSZS1mYWN0b3IgdGhlIGdjb25mYXVkaW9zaW5rIGludG8gYSAiR3N0U3dpdGNoU2luayIgYmFzZSBjbGFzcwoJICBhbmQgYSBjaGlsZCB0aGF0IGltcGxlbWVudHMgdGhlIEdDb25mIGtleSBtb25pdG9yaW5nLiBUaGUgZW5kIGdvYWwgb2YKCSAgdGhpcyBpcyBhbiBhdWRpbyBzaW5rIHRoYXQgY2FuIGJlIGNoYW5nZWQgb24gdGhlIGZseSwgYnV0IGF0IHRoZQoJICBtb21lbnQgaXQgc3RpbGwgb25seSBjaGFuZ2VzIG9uIHRoZSBuZXh0IFJFQURZIHRyYW5zaXRpb24uCgoyMDA3LTAyLTEzIDExOjU3OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFB1dCBkZWJ1ZyBzdHVmZiBpbnRvICNpZm5kZWYgR1NUX0RJU0FCTEVfREVCVUcgI2VuZGlmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgUHV0IGRlYnVnIHN0dWZmIGludG8gI2lmbmRlZiBHU1RfRElTQUJMRV9ERUJVRyAjZW5kaWYKCjIwMDctMDItMTMgMDk6NDY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLgoKMjAwNy0wMi0xMiAyMzozNToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb25vc2NvcGUvOiBGaXggY29weSduJ3Bhc3RlLW8gaW4gZG9jcyBjaHVuay4gQWxzbyBhZGQgc29tZSBtaXNzaW5nIENGTEFHUyAoYnV0IG5vIExJQlMsIHNpbmNlIHdlIG9ubHkgdXNlIGRlZmluZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIEZpeCBjb3B5J24ncGFzdGUtbyBpbiBkb2NzIGNodW5rLiBBbHNvIGFkZCBzb21lIG1pc3NpbmcgQ0ZMQUdTCgkgIChidXQgbm8gTElCUywgc2luY2Ugd2Ugb25seSB1c2UgZGVmaW5lcyBmcm9tIHRoZSBoZWFkZXJzKS4KCjIwMDctMDItMTIgMjM6Mjc6MzEgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBtYXNzaXZlIG1lbW9yeSBsZWFrIHdoZW4gb3BlcmF0aW5nIGluIHN0cmVhbWluZyBtb2RlIGR1ZSB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBGaXggbWFzc2l2ZSBtZW1vcnkgbGVhayB3aGVuIG9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSBkdWUgdG8KCSAgR1NUX0JVRkZFUl9NQUxMT0NEQVRBKCkgbm90IGJlaW5nIHNldCBvbiBuZXdseS1jcmVhdGVkIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MDcwNTcuCgoyMDA3LTAyLTEyIDE1OjI5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNhdmUgc29tZSBtZW1vcnkgKDglKSBieSByZXBhY2tpbmcgdGhlIGluZGV4IGVudHJ5IHN0cnVjdHVyZSAobW9yZSB0byBjb21lKS4gQWRkIG1vcmUgRklYTUVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU2F2ZSBzb21lIG1lbW9yeSAoOCUpIGJ5IHJlcGFja2luZyB0aGUgaW5kZXggZW50cnkgc3RydWN0dXJlIChtb3JlIHRvCgkgIGNvbWUpLiBBZGQgbW9yZSBGSVhNRXMgdG8gcXVlc3Rpb25hYmxlIHBhcnRzLgoKMjAwNy0wMi0xMiAxMjo1NzoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBNb3JlIEZJWE1FIGNvbW1lbnRzIGFuZCBtZXNzYWdpbmcgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgTW9yZSBGSVhNRSBjb21tZW50cyBhbmQgbWVzc2FnaW5nIGNoYW5nZXMuCgoyMDA3LTAyLTEyIDEyOjQzOjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IEltcHJvdmVkIGRvY3MgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBJbXByb3ZlZCBkb2NzIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhaW4pLCAoZ3N0X21vbm9zY29wZV9jaGFuZ2Vfc3RhdGUpOgoJICBJbXByb3ZlZCBkb2NzIHNvdXJjZSBjbGVhbnVwcy4KCjIwMDctMDItMTIgMTA6Mjk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvOiBBZGQgY29kZSBmb3IgYSBwdXNoZmlsZXNyYyBlbGVtZW50IHRoYXQgaW1wbGVtZW50cyBhIHB1c2hmaWxlOi8vIFVSSSBoYW5kbGVyLCB0byBtYWtlIGRlYnVnZ2luZyBwdXNoLW1vZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJICBBZGQgY29kZSBmb3IgYSBwdXNoZmlsZXNyYyBlbGVtZW50IHRoYXQgaW1wbGVtZW50cyBhIHB1c2hmaWxlOi8vIFVSSQoJICBoYW5kbGVyLCB0byBtYWtlIGRlYnVnZ2luZyBwdXNoLW1vZGUgb3BlcmF0aW9uIG9mIGRlbXV4ZXIvZGVjb2RlcnMKCSAgdGhhdCBzdXBwb3J0IGJvdGggZWFzaWVyIGluIGNvbm5lY3Rpb24gd2l0aCBzZWVrL3BsYXliaW4vZXRjLgoJICBUaGUgZWxlbWVudCBpc24ndCByZWdpc3RlcmVkIGF0IHRoZSBtb21lbnQuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMi0xMSAxMjo1Nzo0NyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQ29tbWVudCBhICNpZiAwIGluIGNhcHMgdGVtcGxhdGUgZGVmaW5pdGlvbiBhcyBWUzYgc2VlbXMgdG8gZG8gbm90IHN1cHBvcnQgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIENvbW1lbnQgYSAjaWYgMCBpbiBjYXBzIHRlbXBsYXRlIGRlZmluaXRpb24gYXMgVlM2IHNlZW1zIHRvCgkgIGRvIG5vdCBzdXBwb3J0IGl0LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzooZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOihydHNwX2Nvbm5lY3Rpb25fc2VuZCk6CgkgIE1vdmUgdmFyaWFibGVzIGRlY2xhcmF0aW9uIGJlZm9yZSB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoocnRzcF9zdHJyZXN1bHQpOgoJICBEb24ndCB1c2UgaHN0cmVycm9yIGZvciBlcnJvciBsb2cgb24gR19PU19XSU4zMiBidWlsZCBhcyBpdCdzIG5vdCBzdXBwb3J0ZWQuCgkgIEFuZCBkb24ndCBpbmNsdWRlIG5ldGRiLmggZm9yIEdfT1NfV0lOMzIKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6KHNkcF9wYXJzZV9saW5lKToKCSAgVGhpcyBpbml0aWFsaXphdGlvbiBTRFBNZWRpYSBubWVkaWEgPSB7Lm1lZGlhID0gTlVMTCB9OyBpcyBub3Qgc3VwcG9ydGVkCgkgIGJ5IFZTNiB0aGVuIHVzZSBhbiBvdGhlciB3YXkgdG8gaW5pdGlhbGl6ZSBTRFBNZWRpYSBzdHJ1Y3R1cmUuCgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBuZXR1dGlscy5oOgoJICBEbyBub3QgaW5jbHVkZSA8c3lzL3RpbWUuaD4gZm9yIEdfT1NfV0lOMzIKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBEZWZpbmUgc29ja2xlbl90IGFzIGludCBmb3IgR19PU19XSU4zMgoJICAqIHdpbi9jb21tb24vY29uZmlnLmguaW46CgkgIFVuZGVmIEhBVkVfTkVUSU5FVF9JTl9ICgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICBBZGQgYW5kIHVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkgICogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSAgQWRkIGEgY29weSBvZiB1ZHAgZW51bXR5cGVzIHRvIHdpbjMyL2NvbW1vbiBhcyBpbiBjb3JlCgkgIGFuZCBiYXNlLgoKMjAwNy0wMi0xMSAxMDo1MzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBY3RpdmF0ZSBtb25vc2NvcGUgd2hlbiBidWlsZGluZyB3aXRoIC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4gRml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0aXZhdGUgbW9ub3Njb3BlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWVuYWJsZS1leHBlcmltZW50YWwuIEZpeAoJICAtLWVuYWJsZS1leHRlcm5hbCBjb25maWd1cmUgc3dpdGNoIGRlc2NyaXB0aW9uLgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6IChnc3Rfc3VuYXVkaW9taXhlcl9iYXNlX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2Rpc3Bvc2UpOgoJICBIZWxwIGdzdC1pbmRlbnQuCgoyMDA3LTAyLTA5IDE2OjI0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBPbiByZWNlaXZpbmcgRU9TLCB3ZSB0cnkgdG8gcHVzaCBhIGxhc3QgYnVmZmVyIHdpdGggdGhlIHJlbWFpbmluZyBzYW1wbGVzLiBEb24ndCBkbyB0aGF0IGlmIHdlIGdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NpbmtfZXZlbnQpLCAoZ3N0X2xhbWVfY2hhaW4pLAoJICAoZ3N0X2xhbWVfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIE9uIHJlY2VpdmluZyBFT1MsIHdlIHRyeSB0byBwdXNoIGEgbGFzdCBidWZmZXIgd2l0aCB0aGUgcmVtYWluaW5nCgkgIHNhbXBsZXMuIERvbid0IGRvIHRoYXQgaWYgd2UgZ290IGFuIHVuY2xlYW4gZmxvdyByZXR1cm4gb24gdGhlIGxhc3QKCSAgZ3N0X3BhZF9wdXNoKCksIGRvd25zdHJlYW0gbWlnaHQgbm90IGhhbmRsZSB0aGlzIHZlcnkgZ3JhY2VmdWxseQoJICAoc2VlICM0MDMxNjgpLgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOiAoZ3N0X21wM3BhcnNlX2NoYWluKToKCSAgUGFzcyBmbG93IHJldHVybnMgdXBzdHJlYW0gKGhlbHBzICM0MDMxNjgpLgoKMjAwNy0wMi0wOSAwOToyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEV4cGxpY2l0bHkgY2FzdCByZXN1bHQgb2YgcG9pbnRlciBhcml0aG1ldGljIHRvIGludGVnZXIgaW4gb3JkZXIgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIEV4cGxpY2l0bHkgY2FzdCByZXN1bHQgb2YgcG9pbnRlciBhcml0aG1ldGljIHRvIGludGVnZXIgaW4gb3JkZXIgdG8KCSAgYXZvaWQgY29tcGlsZXIgd2FybmluZ3Mgb24gc29tZSA2NC1iaXQgc3lzdGVtcy4gU2hvdWxkIGZpeCAjNDA2MDE4LgoKMjAwNy0wMi0wOCAxMTowOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBTb21lIG1vcmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgIFNvbWUgbW9yZSBkb2NzLgoKMjAwNy0wMi0wNyAyMTowOTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOiBVcGRhdGUgZm9yIG5ldyBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIFVwZGF0ZSBmb3IgbmV3IGVsZW1lbnRzLgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5oOgoJICBDb21taXQgbmV3bHktY3JlYXRlZCBoZWFkZXIgZmlsZSBhcyB3ZWxsLgoKMjAwNy0wMi0wNyAyMDozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2UgcHJvZ3Jlc3NyZXBvcnQgZWxlbWVudCBwb3N0IG1lc3NhZ2VzIHdpdGggdGhlIGN1cnJlbnQgcHJvZ3Jlc3Mgb24gdGhlIGJ1cy4gQWxzbyBhZGQgc29tZSBiYXNpYyBkb2NzIGZvciBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2RvX3F1ZXJ5KSwgKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgTWFrZSBwcm9ncmVzc3JlcG9ydCBlbGVtZW50IHBvc3QgbWVzc2FnZXMgd2l0aCB0aGUgY3VycmVudCBwcm9ncmVzcwoJICBvbiB0aGUgYnVzLiBBbHNvIGFkZCBzb21lIGJhc2ljIGRvY3MgZm9yIGl0LgoKMjAwNy0wMi0wNyAxMzowODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9oYWwvaGFsLio6IFNvbWUgc21hbGwgY2xlYW51cHM7IGRlYWwgd2l0aCBlcnJvcnMgd2hlbiBwYXJzaW5nIHRoZSBIQUwgQUxTQSBjYXBhYmlsaXRpZXMgYSBiaXQgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKToKCSAgKiBleHQvaGFsL2hhbC5oOgoJICBTb21lIHNtYWxsIGNsZWFudXBzOyBkZWFsIHdpdGggZXJyb3JzIHdoZW4gcGFyc2luZyB0aGUgSEFMIEFMU0EKCSAgY2FwYWJpbGl0aWVzIGEgYml0IGJldHRlci4KCjIwMDctMDItMDYgMTY6Mjk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogTGV0J3MgdHJ5IHRoaXMgYWdhaW4gYW5kIHVzZSB0aGUgcmlnaHQgY2FzdCB0aGlzIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSk6CgkgIExldCdzIHRyeSB0aGlzIGFnYWluIGFuZCB1c2UgdGhlIHJpZ2h0IGNhc3QgdGhpcyB0aW1lLgoKMjAwNy0wMi0wNiAxNjoyNDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBBZGQgY2FzdCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIG9sZGVyIEdMaWIgdmVyc2lvbnMgd2hlcmUgdGhlIG5pY2svbmFtZSBtZW1iZXJzIGluIEdFbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpOgoJICBBZGQgY2FzdCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyB3aXRoIG9sZGVyIEdMaWIgdmVyc2lvbnMKCSAgd2hlcmUgdGhlIG5pY2svbmFtZSBtZW1iZXJzIGluIEdFbnVtVmFsdWUgYXJlIG5vdCBkZWNsYXJlZCBhcwoJICBjb25zdGFudCBzdHJpbmdzLgoKMjAwNy0wMi0wNiAxNTo1NjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEluIGdjb25mYXVkaW9zaW5rLCBnZXQgdGhlIHJpZ2h0IGtleSBhcyB0aGUgb2xkIGtleSBpbiBkb190b2dnbGUgKGllLiBvbmUgZGVwZW5kZW50IG9uIHRoZSBwcm9maWxlIHNlbGVjdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuYzogKGdzdF9nY29uZl9nZXRfa2V5X2Zvcl9zaW5rX3Byb2ZpbGUpLAoJICAoZ3N0X2djb25mX3JlbmRlcl9iaW5fZnJvbV9rZXkpLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NpbmspOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ2V0X2djb25mX2tleV9mb3JfcHJvZmlsZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgSW4gZ2NvbmZhdWRpb3NpbmssIGdldCB0aGUgcmlnaHQga2V5IGFzIHRoZSBvbGQga2V5IGluIGRvX3RvZ2dsZQoJICAoaWUuIG9uZSBkZXBlbmRlbnQgb24gdGhlIHByb2ZpbGUgc2VsZWN0ZWQpLiBMb2cgc29tZSBtb3JlIHN0dWZmIHNvCgkgIHdlIGNhbiBzZWUgd2hhdCdzIGFjdHVhbGx5IGdvaW5nIG9uLgoKMjAwNy0wMi0wNiAxMToxNjo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBTb21lIHNtYWxsIGNsZWFudXBzIGFuZCBwb3J0IGJvdGggZWxlbWVudHMgdG8gdGhlIG5ldyBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIHRvIHNhdmUgYSBmZXcgbGluZXMgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9faW52ZXJ0X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBTb21lIHNtYWxsIGNsZWFudXBzIGFuZCBwb3J0IGJvdGggZWxlbWVudHMgdG8gdGhlIG5ldyBHc3RBdWRpb0ZpbHRlcgoJICBiYXNlIGNsYXNzIHRvIHNhdmUgYSBmZXcgbGluZXMgb2YgY29tbW9uIGNvZGUuCgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCBsaWJnc3RhdWRpbyBmb3IgdGhlIGFib3ZlIGNoYW5nZXMKCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMDctMDItMDIgMTg6MzY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpOgoJICBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIEdWYWx1ZUFycmF5LCBzbyBpdCdzIG1vcmUgZWFzaWx5IGJpbmRhYmxlIGFuZCB0aGUgcmFuZ2Ugb2YgdGhlCgkgIHZhbHVlcyBwYXNzZWQgaW4gaXMgZGVmaW5lZCBhbmQgY2hlY2tlZCBldGMuOyBhbHNvIGRvIHNvbWUKCSAgbG9ja2luZy4KCjIwMDctMDItMDIgMTc6Mzk6MjEgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBhdCBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoKMjAwNy0wMS0zMSAwODozMjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZQoJICBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgoyMDA3LTAxLTMwIDE3OjE5OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFBvcnQgb2Ygb3N4dmlkZW8gcGx1Z2luIHRvIDAuMTAuIERvIE5PVCBjb25zaWRlciAxMDAlIHN0YWJsZSAhCgkgIEZpeGVzICM0MDI0NzAKCjIwMDctMDEtMjkgMTA6NTk6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBTb21lIG1vcmUgaWdub3Jlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgU29tZSBtb3JlIGlnbm9yZXMuCgoyMDA3LTAxLTI4IDE4OjI4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KToKCSAgRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKGNoZWNrX2J1c19mb3JfZXJyb3JzKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKG1haW4pOgoJICBCbG9jayBzdHJlYW1pbmcgdGhyZWFkIGJlZm9yZSBjaGFuZ2luZyBmaWx0ZXIgY2FwcyB3aGlsZSB0aGUKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBzbyB0aGF0IHdlIGRvbid0IGdldCByYW5kb20gbm90LW5lZ290aWF0ZWQKCSAgZXJyb3JzIGp1c3QgYmVjYXVzZSBHU3RyZWFtZXIgY2FuJ3QgaGFuZGxlIHRoYXQgeWV0LgoKMjAwNy0wMS0yNyAxNjowODoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpOgoJICBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCjIwMDctMDEtMjYgMTI6MjE6NDEgKzAwMDAgIGNoYXJsZXMgPGNoYXJsZXNnM0BnbWFpbC5jb20+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBQcm9wZXJseSBoYW5kbGUgdGFncyBpbiBzaG91dDJzZW5kLiBGaXhlcyAjMzk5ODI1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGNoYXJsZXMgPGNoYXJsZXNnMyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9ldmVudCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgUHJvcGVybHkgaGFuZGxlIHRhZ3MgaW4gc2hvdXQyc2VuZC4gRml4ZXMgIzM5OTgyNS4KCjIwMDctMDEtMjUgMjM6Mjc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZQoJICBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIHNldCB0aGUgY29ycmVjdCBmb3JtYXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkgYW5kCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaGVhZGVycyBhcmUgbm90IHJlYWQgeWV0IGFuZCB3ZSBjYW4ndCBzYXkKCSAgYW55dGhpbmcgYWJvdXQgb3VyIHNlZWtpbmcgY2FwYWJpbGl0aWVzLgoKMjAwNy0wMS0yNSAyMTo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCjIwMDctMDEtMjUgMTQ6NDA6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENvbnZlcnQgU0RQIGZpZWxkcyB0byB1cHBlci9sb3dlcmNhc2UgZm9sbG93aW5nIHRoZSBydWxlcyBpbiB0aGUgU0RQIHRvIGNhcHMgZG9jdW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyk6CgkgIENvbnZlcnQgU0RQIGZpZWxkcyB0byB1cHBlci9sb3dlcmNhc2UgZm9sbG93aW5nIHRoZSBydWxlcyBpbiB0aGUgU0RQIHRvCgkgIGNhcHMgZG9jdW1lbnQuCgoyMDA3LTAxLTI1IDE0OjIyOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBjYXNlIG9mIGVuY29kaW5nLW5hbWUgYW5kIGtleS92YWx1ZSBwYWlycyB0byBtYXRjaCB0aGUgZG9jdW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IGNhc2Ugb2YgZW5jb2RpbmctbmFtZSBhbmQga2V5L3ZhbHVlIHBhaXJzIHRvIG1hdGNoIHRoZSBkb2N1bWVudC4KCSAgVGhpcyBpcyB0byBtYWtlIGludGVyb3BlcmF0aW9uIHdpdGggU0RQIGNhc2UtaW5zZW5zaXRpdmUgYXMgcmVxdWlyZWQgYnkKCSAgdGhlIHJlbGV2YW50IFJGQ3MuCgoyMDA3LTAxLTI1IDEyOjA1OjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKGdzdF9tdWx0aV9maWxlX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX3ZpZGVvX2NyZWF0ZV9idWZmZXIpLAoJICAoZ3N0X212ZV92aWRlb19wYWxldHRlKSwgKGdzdF9tdmVfdmlkZW9fY29kZV9tYXApLAoJICAoZ3N0X212ZV9hdWRpb19pbml0KSwgKGdzdF9tdmVfYXVkaW9fZGF0YSksIChnc3RfbXZlX3RpbWVyX2NyZWF0ZSksCgkgIChnc3RfbXZlX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcHVzaF9jaHVuayk6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6IChtdmVfZW5jb2RlX2ZyYW1lMTYpOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6IChtdmVfZW5jb2RlX2ZyYW1lOCk6CgkgIFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgRml4ZXMgYnVpbGQgb24gbWFjIG9zIHguCgkgIDx3aW5nbz4gb28gbG9vayBhdCBtZSBteSBuYW1lIGlzIGVkd2FyZCBpJ20gaGFja2luZyBvbiBtYWNvcyB3b29vCgoyMDA3LTAxLTI1IDExOjAyOjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVkIC1jb3JlLy1iYXNlIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZWQgLWNvcmUvLWJhc2UgdG8gQ1ZTCgoyMDA3LTAxLTI1IDEwOjU0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBMMTZwYXkuKjogRmlsbCB1cCB0byBNVFUgdXNpbmcgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9mbHVzaCksIChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgRmlsbCB1cCB0byBNVFUgdXNpbmcgYWRhcHRlci4KCSAgVGltZXN0YW1wIHJ0cCBwYWNrZXRzLgoKMjAwNy0wMS0yNSAxMDozNjozNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBwcmludCBzdGF0ZW1lbnRzIGZvciBwb3J0YWJpbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpOgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW4gcHJpbnQgc3RhdGVtZW50cyBmb3IgcG9ydGFiaWxpdHkuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDctMDEtMjQgMTg6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogUG9ydCBhbmQgZW5hYmxlIHJhdyBhdWRpbyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIE5lZWRzIGEgYml0IG1vcmUgd29yayBvbiB0aGUgcGF5bG9hZGVyIHNpZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX0wxNl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3BhcnNlX2ludCksIChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX0wxNl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9MMTZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2luaXQpLCAoZ3N0X3J0cF9MMTZfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSAgUG9ydCBhbmQgZW5hYmxlIHJhdyBhdWRpbyBwYXlsb2FkZXIvZGVwYXlsb2FkZXIuIE5lZWRzIGEgYml0IG1vcmUgd29yawoJICBvbiB0aGUgcGF5bG9hZGVyIHNpZGUuCgoyMDA3LTAxLTI0IDE2OjI1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBPbmx5IHVuYmxvY2sgdGhlIHVkcCBwYWRzIHdoZW4gd2UgbGlua2VkIGFuZCBhY3RpdmF0ZWQgdGhlbSBhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKHBhZF9ibG9ja2VkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgT25seSB1bmJsb2NrIHRoZSB1ZHAgcGFkcyB3aGVuIHdlIGxpbmtlZCBhbmQgYWN0aXZhdGVkIHRoZW0gYWxsLgoJICBGaXhlcyAjMzk1Njg4LgoKMjAwNy0wMS0yNCAxNToxODozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgQUMzIGRlcGF5bG9hZGVyIChSRkMgNDE4NCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6IChnc3RfcnRwX2FjM19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2FjM19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2FjM19kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9hYzNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2FjM19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5oOgoJICBBZGRlZCBzaW1wbGUgQUMzIGRlcGF5bG9hZGVyIChSRkMgNDE4NCkuCgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgRml4IGEgbGVhay4KCjIwMDctMDEtMjQgMTI6NDE6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIG5ldyBlbGVtZW50ICJhdWRpb2FtcGxpZnkiLiBUaGlzIGFsbG93cyBzY2FsaW5nIG9mIHJhdyBhdWRpbyBzYW1wbGVzLCBzaW1pbGFyIHRvIHRoZSAidm9sdW1lIiBlbGVtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIChnc3RfYXVkaW9fYW1wbGlmeV9jbGlwcGluZ19tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfYmFzZV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfY2xpcCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X3dyYXBfbmVnYXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF93cmFwX3Bvc2l0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF9jbGlwKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF93cmFwX25lZ2F0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9mbG9hdF93cmFwX3Bvc2l0aXZlKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IGVsZW1lbnQgImF1ZGlvYW1wbGlmeSIuIFRoaXMgYWxsb3dzIHNjYWxpbmcgb2YgcmF3IGF1ZGlvCgkgIHNhbXBsZXMsIHNpbWlsYXIgdG8gdGhlICJ2b2x1bWUiIGVsZW1lbnQsIGJ1dCBwcm92aWRlcyBkaWZmZXJlbnQgbW9kZXMKCSAgZm9yIGNsaXBwaW5nIGFuZCBhbGxvd3MgdW5saW1pdGVkIGFtcGxpZmljYXRpb24uIEl0J3MgbWFpbmx5IHRhcmdldGVkCgkgIGZvciBjcmVhdGl2ZSBzb3VuZCBkZXNpZ24gYW5kIG5vdCBhcyBhIHJlcGxhY2VtZW50IG9mIHRoZSAidm9sdW1lIgoJICBlbGVtZW50LiBGaXhlcyAjMzk3MTYyCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEFkZCBkb2NzIGZvciBhdWRpb2FtcGxpZnkgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOiAoc2V0dXBfYW1wbGlmeSksCgkgIChjbGVhbnVwX2FtcGxpZnkpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYW1wbGlmeV9zdWl0ZSksIChtYWluKToKCSAgQWRkIGZhaXJseSBleHRlbnNpdmUgdW5pdCB0ZXN0IHN1aXRlIGZvciBhdWRpb2FtcGxpZnkKCjIwMDctMDEtMjQgMTI6MjY6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVuYmxvY2sgcGFkcyBhZnRlciBhZGRpbmcgdGhlIHBhZHMgdG8gdGhlIGVsZW1lbnQgc28gdGhhdCBhdXRvcGx1Z2dlcnMgZ2V0IGEgY2hhbmdlIHRvIGxpbmsgc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocGFkX3VuYmxvY2tlZCksIChwYWRfYmxvY2tlZCk6CgkgIFVuYmxvY2sgcGFkcyBhZnRlciBhZGRpbmcgdGhlIHBhZHMgdG8gdGhlIGVsZW1lbnQgc28gdGhhdCBhdXRvcGx1Z2dlcnMKCSAgZ2V0IGEgY2hhbmdlIHRvIGxpbmsgc29tZXRoaW5nLiBQb3NzaWJseSBmaXhlcyAjMzk1Njg4LgoKMjAwNy0wMS0yNCAxMjoyMjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggY2FwcyB3aXRoIHBheWxvYWQgbnVtYmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIEZpeCBjYXBzIHdpdGggcGF5bG9hZCBudW1iZXJzLgoJICBBZGQgc29tZSBmaXhlZCBwYXlsb2FkIG51bWJlcnMgdG8gY2FwcyB3aGVuIHBvc3NpYmxlLgoKMjAwNy0wMS0yNCAxMToyOTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoKMjAwNy0wMS0yMyAxODoxNjowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGF1ZGlvZnggZWxlbWVudCAiYXVkaW9pbnZlcnQiLiBUaGlzIGVsZW1lbnQgc3dhcHMgdGhlIHVwcGVyIGFuZCBsb3dlciBoYWxmIG9mIHNhbXBsZXMgYW5kIGNhbiBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19pbnZlcnRfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9faW52ZXJ0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX2ludmVydF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9zZXRfY2FwcyksIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pbnQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1fZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIEFkZCBuZXcgYXVkaW9meCBlbGVtZW50ICJhdWRpb2ludmVydCIuIFRoaXMgZWxlbWVudCBzd2FwcyB0aGUgdXBwZXIKCSAgYW5kIGxvd2VyIGhhbGYgb2Ygc2FtcGxlcyBhbmQgY2FuIGJlIHVzZWQgZm9yIGV4YW1wbGUgZm9yIGEKCSAgd2lkZS1zdGVyZW8gZWZmZWN0LiBGaXhlcyAjMzk2MDU3CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIEFkZCBkb2NzIGZvciB0aGUgYXVkaW9pbnZlcnQgZWxlbWVudCBhbmQgYWRkIHRoZW0gdG8gdGhlIGJ1aWxkIHN5c3RlbS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOiAoc2V0dXBfaW52ZXJ0KSwKCSAgKGNsZWFudXBfaW52ZXJ0KSwgKEdTVF9TVEFSVF9URVNUKSwgKGludmVydF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBzdWl0ZSBmb3IgdGhlIGF1ZGlvaW52ZXJ0IGVsZW1lbnQuCgoyMDA3LTAxLTIzIDE3OjM2OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogUGFyc2UgY29uZmlnIHBhcmFtcyBhcyBzdHJpbmcgYW5kIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wYXJzZV9pbnQpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBQYXJzZSBjb25maWcgcGFyYW1zIGFzIHN0cmluZyBhbmQgaW50LgoJICBQYXJzZSBhbmQgdXNlIEFVIGhlYWRlciBsZW5ndGgKCjIwMDctMDEtMjMgMTc6Mjc6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBjb25zdGlmeSBzb21lIHN0YXRpYyBzdHJ1Y3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzogKGdzdF93aXBlX2JveGVzX2RyYXcpLAoJICAoZ3N0X3dpcGVfdHJpYW5nbGVzX2Nsb2NrX2RyYXcpLCAoZ3N0X3dpcGVfdHJpYW5nbGVzX2RyYXcpOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmM6IChfZ3N0X21hc2tfcmVnaXN0ZXIpOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdXBkYXRlX21hc2spOgoJICAqIGdzdC9zbXB0ZS9wYWludC5jOiAoZ3N0X3NtcHRlX3BhaW50X2hib3gpLCAoZHJhd19icmVzZW5oYW1fbGluZSksCgkgIChnc3Rfc21wdGVfcGFpbnRfdHJpYW5nbGVfY2xvY2spOgoJICBjb25zdGlmeSBzb21lIHN0YXRpYyBzdHJ1Y3RzLgoJICBEb24ndCB1cGRhdGUgdGhlIG1hc2sgaWYgbm90aGluZyBjaGFuZ2VkIHRvIHRoZSBwYXJhbXMuCgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBkcmF3IG91dHNpZGUgb2YgdGhlIHBpY3R1cmUuIEZpeGVzICMzOTgzMjUuCgoyMDA3LTAxLTIyIDEzOjA2OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBFcnJvciBvdXQgcHJvcGVybHkgd2hlbiBwdWxsX3JhbmdlIGZhaWxzIHdoaWxlIHdlJ3JlIHJlYWRpbmcgdGhlIGhlYWRlcnMsIGluc3RlYWQgb2YganVzdCBwYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKToKCSAgRXJyb3Igb3V0IHByb3Blcmx5IHdoZW4gcHVsbF9yYW5nZSBmYWlscyB3aGlsZSB3ZSdyZSByZWFkaW5nIHRoZQoJICBoZWFkZXJzLCBpbnN0ZWFkIG9mIGp1c3QgcGF1c2luZyB0aGUgdGFzayBzaWxlbnRseS4gRml4ZXMgIzM5OTMzOC4KCjIwMDctMDEtMTkgMTM6MDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogU29tZSBtb3JlIHNhbml0eSBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBpbnB1dCBmb3JtYXRzIG1hdGNoIGFuZCB0aGUgaW5wdXQgcGFkcyBhcmUgYWN0dWFsbHkgbmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgU29tZSBtb3JlIHNhbml0eSBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBpbnB1dCBmb3JtYXRzIG1hdGNoIGFuZCB0aGUKCSAgaW5wdXQgcGFkcyBhcmUgYWN0dWFsbHkgbmVnb3RpYXRlZCwgaW4gY2FzZSBzb21lb25lIHRyaWVzIHRvIGZlZWQKCSAgYnVmZmVycyBmcm9tIGZha2VzcmMgb3IgZmlsZXNyYy4gRml4ZXMgIzM5ODI5OS4KCSAgQWxzbyBjb25zdC1pZnkgYW4gYXJyYXksIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgoyMDA3LTAxLTE5IDEwOjM1OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IElnbm9yZSBwcmV2aW91cyBjb21taXQsIHRoYXQgd2FzIG9ubHkgdmFsaWQgZm9yIHdpZHRocyBhbmQgaGVpZ2h0cyB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChmaWxsX2k0MjApLCAoZ3N0X3NtcHRlX2NvbGxlY3RlZCk6CgkgIElnbm9yZSBwcmV2aW91cyBjb21taXQsIHRoYXQgd2FzIG9ubHkgdmFsaWQgZm9yIHdpZHRocyBhbmQgaGVpZ2h0cwoJICB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCSAgQ29weSBvdmVyIHNpemUvc3RyaWRlIG1hY3JvcyBmcm9tIGpwZWdkZWMuIFRoaXMgYWxsb3dzIHRoZSBlbGVtZW50CgkgIHRvIHdvcmsgd2l0aCBhbnkgd2lkdGgsaGVpZ2h0Li4uCgkgIC4uLiBidXQgcHV0cyBpbiBldmlkZW5jZSB0aGF0IHRoZSBhY3R1YWwgdHJhbnNmb3JtYXRpb25zIG9ubHkgd29yawoJICB3aXRoIHdpZHRoL2hlaWdodCB0aGF0IGFyZSBtdWx0aXBsZXMgb2YgNC4KCjIwMDctMDEtMTkgMDk6NDg6NDcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogQWxsb2NhdGUgYnVmZmVycyBvZiB0aGUgcmlnaHQgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgQWxsb2NhdGUgYnVmZmVycyBvZiB0aGUgcmlnaHQgc2l6ZS4KCSAgVGhlIHByb3BlciBzaXplIG9mIGEgSTQyMCBidWZmZXIgaW4gYnl0ZXMgaXM6CgkgIHdpZHRoICogaGVpZ2h0ICogMwoJICAtLS0tLS0tLS0tLS0tLS0tLS0KCSAgMgoKMjAwNy0wMS0xOCAxODozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBQcm94eSBnZXRjYXBzIG9uIHNpbmsgcGFkcyB0b28sIHNvIHRoYXQgd2UgZWl0aGVyIGVuZCB1cCB3aXRoIHRoZSBzYW1lIGRpbWVuc2lvbnMgb24gYWxsIHBhZHMgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgUHJveHkgZ2V0Y2FwcyBvbiBzaW5rIHBhZHMgdG9vLCBzbyB0aGF0IHdlIGVpdGhlciBlbmQgdXAgd2l0aCB0aGUKCSAgc2FtZSBkaW1lbnNpb25zIG9uIGFsbCBwYWRzIG9yIGVycm9yIG91dCBpZiB0aGF0J3Mgbm90IHBvc3NpYmxlCgkgIChzZWVtcyB0byB3b3JrIGV2ZW4hKS4gRml4ZXMgIzM5ODA4NiwgSSB0aGluay4KCjIwMDctMDEtMTggMTE6Mjk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgbGFkc3BhIGZyb20gZG9jczsgYWRkIGhpZXJhcmNoeSBpbmZvIGZvciBHc3RBdWRpb1Bhbm9yYW1hOyBmaXggaW50ZWdlciBwcm9wZXJ0aWVzIHdpdGggLTEgYXMgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICBSZW1vdmUgbGFkc3BhIGZyb20gZG9jczsgYWRkIGhpZXJhcmNoeSBpbmZvIGZvciBHc3RBdWRpb1Bhbm9yYW1hOwoJICBmaXggaW50ZWdlciBwcm9wZXJ0aWVzIHdpdGggLTEgYXMgbWluaW11bSB2YWx1ZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgVXBkYXRlIHRvIENWUy4KCjIwMDctMDEtMTggMTE6MjM6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogRml4IGRvYyBzZWN0aW9uIG5hbWUgKEZpeGVzICMzOTc5NDYpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgRml4IGRvYyBzZWN0aW9uIG5hbWUgKEZpeGVzICMzOTc5NDYpCgoyMDA3LTAxLTE4IDEwOjMzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYm9ndXMgQ2hhbmdlTG9nIGVudHJ5CgoyMDA3LTAxLTE3IDE0OjMwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBFSU8gaGFuZGluZyB3aGVuIGNhcHR1cmluZy4gQWRkIG5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgYnVmZmVycyB0byBlbnF1ZSAoYW5kIHJlbW92ZSB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6CgkgIEZpeCBFSU8gaGFuZGluZyB3aGVuIGNhcHR1cmluZy4gQWRkIG5ldyBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBudW1iZXIgb2YKCSAgYnVmZmVycyB0byBlbnF1ZSAoYW5kIHJlbW92ZSB0aGUgYm9ya2VkIG51bS1idWZmZXJzIHVzYWdlKS4KCjIwMDctMDEtMTYgMDg6Mjk6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogVXNlIGEgZnVuY3Rpb24gYXJyYXkgZm9yIHByb2Nlc3MgbWV0aG9kcywgYWRkIG1vcmUgZG9jcyBhbmQgZGVmaW5lIHRoZSBzdGFydGluZGV4IG9mIGVudW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pOgoJICBVc2UgYSBmdW5jdGlvbiBhcnJheSBmb3IgcHJvY2VzcyBtZXRob2RzLCBhZGQgbW9yZSBkb2NzIGFuZCBkZWZpbmUgdGhlCgkgIHN0YXJ0aW5kZXggb2YgZW51bXMuCgoyMDA3LTAxLTE0IDE3OjU1OjMzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgYXVkaW8gc3RyZWFtOyB3cml0ZSBiZXR0ZXIgQVZJWCBoZWFkZXI7IHJlZmFjdG9yIGNvZGUgYSBiaXQ7IGRvbid0IGFubm91bmNlIHZvcmJpcyBjYXBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KSwgKGdzdF9hdmlfbXV4X3Jlc2V0KSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfYXZpX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2hlYWRlciksCgkgIChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KSwgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksCgkgIChnc3RfYXZpX211eF9iaWdmaWxlKSwgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksCgkgIChnc3RfYXZpX211eF9kb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6ICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgdGhhbiBvbmUgYXVkaW8gc3RyZWFtOyB3cml0ZSBiZXR0ZXIgQVZJWAoJICBoZWFkZXI7IHJlZmFjdG9yIGNvZGUgYSBiaXQ7IGRvbid0IGFubm91bmNlIHZvcmJpcyBjYXBzIG9uIG91ciBhdWRpbwoJICBzaW5rIHBhZHMgc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCBpdCBhbnl3YXkuIENsb3NlcyAjMzc5Mjk4LgoKMjAwNy0wMS0xMyAxOToxMjozMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKTogVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6CgkgIFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyk6IFJlbW92ZSBzcmMgcGFkcywgbm90IHNpbmsgcGFkcy4gSQoJICBzZWVtIHRvIGhhdmUgcmV2ZXJzZSBtaWRhcyBkaXNlYXNlIQoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKTogUHJveHkgdGltZXN0YW1wcywgb2Zmc2V0cywgZHVyYXRpb25zLAoJICBhbmQgc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4gRml4ZXMgIzM5NTU5NywgSSB0aGluay4KCjIwMDctMDEtMTMgMTg6MDE6NDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUKCSAgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3NldGNhcHMsIGdzdF9pbnRlcmxlYXZlX3NyY19nZXRjYXBzKQoJICAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IFNldCBhIHNldGNhcHMgYW5kIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlCgkgIHNyYyBwYWQsIHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBwdWxsLW1vZGUgbmVnb3RpYXRpb24uCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOiBSZW5hbWVkIGZyb20KCSAgZ3N0X2ludGVybGVhdmVfc2V0Y2FwcywgYXMgaXQgb25seSBkb2VzIHRoZSBzaW5rIGxvZ2ljIG5vdy4KCSAgSW1wbGVtZW50IGJvdGggZm9yIHB1bGwtbW9kZSBhbmQgcHVzaC1tb2RlLgoJICAoZ3N0X2ludGVybGVhdmVfcHJvY2Vzcyk6IFNldCBjYXBzIG9uIG91ciBvdXRnb2luZyBidWZmZXIuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfYWN0aXZhdGVfcHVsbCk6IEZpeCBzb21lIG1vcmUgYm9ndXMgY2FzdHMuCgkgIFdoYXQgaXMgdXAgd2l0aCB0aGlzLgoKMjAwNy0wMS0xMyAxNTo1MjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS4qOiBBZGQgJ21ldGhvZCcgcHJvcGVydHkgYW5kIHByb3ZpZGUgYSBzaW1wbGUgKG5vbi1wc3ljaG9hY3VzdGljKSBwcm9jZXNzaW5nIG1ldGhvZCAoIzM5NDg1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19pbnRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0X3NpbXBsZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdF9zaW1wbGUpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgQWRkICdtZXRob2QnIHByb3BlcnR5IGFuZCBwcm92aWRlIGEgc2ltcGxlIChub24tcHN5Y2hvYWN1c3RpYykKCSAgcHJvY2Vzc2luZyBtZXRob2QgKCMzOTQ4NTkpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhbm9yYW1hX3N1aXRlKToKCSAgVGVzdHMgZm9yIG5ldyBtZXRob2QuCgoyMDA3LTAxLTEyIDE4OjI4OjEzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGNvbW1lbnQgb3V0IExBRFNQQSBwbHVnaW4gZm9yIG5vdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgTEFEU1BBIHBsdWdpbiBmb3Igbm93CgoyMDA3LTAxLTEyIDE3OjE2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3hxdF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfcXVpY2t0aW1lX3BhcnNlX3NkKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF94cXRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3hxdF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE1ha2UgbmV3IHBsdWdpbiBlbnRyeSBwb2ludCB3aXRoIHF1aWNrdGltZSByZWxlYXRlZCBzdHVmZi4KCjIwMDctMDEtMTIgMTI6MTA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbTogRGlzdCBhbGwgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgbmV3IGZpbGVzLgoKMjAwNy0wMS0xMiAxMDoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoKMjAwNy0wMS0xMiAxMDoyMjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV9yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9ub2RlX2R1bXApOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOiAocXRkZW11eF90eXBlX2dldCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE1vdmUgZGVidWdnaW5nL3RhYmxlcyBpbnRvIHNlcGFyYXRlIGZpbGVzLgoJICBBZGQgMi80LzE2IGNvbG9yIHBhbGxldGVlIHN1cHBvcnQuCgkgIEZpeCByYXcgMTUgYml0IFJHQiBoYW5kbGluZy4KCSAgVXNlIG1vcmUgRk9VUkNDIGNvbnN0YW50cy4KCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDEtMTEgMTk6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpOgoJICBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgoyMDA3LTAxLTExIDE2OjU5OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogU2V0IGNvcnJlY3QgY2FwcyBvbiBvdXRnb2luZyBwdWxsZWQgYnVmZmVycywgb3IgdGhpbmdzIGJsb3cgdXAgYWZ0ZXIgcmVjZW50IGNvcmUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgU2V0IGNvcnJlY3QgY2FwcyBvbiBvdXRnb2luZyBwdWxsZWQgYnVmZmVycywgb3IgdGhpbmdzIGJsb3cgdXAKCSAgYWZ0ZXIgcmVjZW50IGNvcmUgY2hhbmdlcy4KCjIwMDctMDEtMTEgMTE6MDU6MDQgKzAwMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hcy5ob2xtYmVyZ0BheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IFJldHVybiBGTE9XIGVycm9ycyBBU0FQLiBGaXhlcyAjMzk0OTc3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmFzIEhvbG1iZXJnIDxqb25hcyBkb3QgaG9sbWJlcmcgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBSZXR1cm4gRkxPVyBlcnJvcnMgQVNBUC4gRml4ZXMgIzM5NDk3Ny4KCSAgTWlzYyBjbGVhbnVwcy4KCjIwMDctMDEtMTEgMDk6MzA6NTkgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ2hlY2sgZm9yIHN0cmVhbSBwYWQgYmVmb3JlIGFjdGl2YXRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgQ2hlY2sgZm9yIHN0cmVhbSBwYWQgYmVmb3JlIGFjdGl2YXRpbmcuCgoyMDA3LTAxLTEwIDE1OjE5OjQ4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogQWxsb3cgdXJsIHRvIGJlIE5VTEwgdG8gYmUgYWJsZSB0byB1c2UgaXQgZm9yIHNlcnZlciBjb25uZWN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvQ09QWUlORy5NSVQ6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChnc3RfcnRzcHNyY19jbGVhbnVwKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksIChwYWRfdW5ibG9ja2VkKSwgKHBhZF9ibG9ja2VkKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChyZWFkX2xpbmUpLAoJICAocGFyc2VfcmVxdWVzdF9saW5lKSwgKHBhcnNlX2xpbmUpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9pbml0X3N0YXR1cyksIChydHNwX3N0cnJlc3VsdCksCgkgIChydHNwX21ldGhvZF9hc190ZXh0KSwgKHJ0c3BfaGVhZGVyX2FzX3RleHQpLAoJICAocnRzcF9zdGF0dXNfYXNfdGV4dCksIChydHNwX2ZpbmRfaGVhZGVyX2ZpZWxkKSwKCSAgKHJ0c3BfZmluZF9tZXRob2QpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpLAoJICAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3KSwgKHJ0c3BfbWVzc2FnZV9pbml0KSwKCSAgKHJ0c3BfbWVzc2FnZV9uZXdfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwKCSAgKHJ0c3BfbWVzc2FnZV9uZXdfcmVzcG9uc2UpLCAocnRzcF9tZXNzYWdlX2luaXRfcmVzcG9uc2UpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksIChydHNwX21lc3NhZ2VfdW5zZXQpLAoJICAocnRzcF9tZXNzYWdlX2ZyZWUpLCAocnRzcF9tZXNzYWdlX2FkZF9oZWFkZXIpLAoJICAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpLCAocnRzcF9tZXNzYWdlX3NldF9ib2R5KSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfYm9keSksIChkdW1wX21lbSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwKCSAgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwgKHJlYWRfc3RyaW5nKSwgKHJlYWRfc3RyaW5nX2RlbCksCgkgIChzZHBfcGFyc2VfbGluZSksIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpLCAocHJpbnRfbWVkaWEpLAoJICAoc2RwX21lc3NhZ2VfZHVtcCk6CgkgIEFsbG93IHVybCB0byBiZSBOVUxMIHRvIGJlIGFibGUgdG8gdXNlIGl0IGZvciBzZXJ2ZXIgY29ubmVjdGlvbnMuCgkgIENhbiBub3cgc2VuZCByZXNwb25zZXMgYXMgd2VsbCBhcyByZXF1ZXN0cy4KCSAgTm8gbG9uZ2VyIGhhbmdzIGluIGFuIGVuZGxlc3MgbG9vcCBpZiBFT0YgaXMgcmVjZWl2ZWQuCgkgIENhbiBub3cgY29udmVydCBhIHN0YXR1cyBjb2RlIHRvIGEgdGV4dCBzdHJpbmcuCgkgIFJldHVybiBSVFNQX0hEUl9JTlZBTElEIGZvciB1bmtub3duIGhlYWRlcnMuCgkgIFJldHVybiBSVFNQX0lOVkFMSUQgZm9yIHVua25vd24gbWV0aG9kcy4KCSAgQ29weSBDU2VxIGFuZCBTZXNzaW9uIGhlYWRlcnMgZnJvbSB0aGUgcmVxdWVzdC4KCSAgT25seSBmcmVlIG1lbW9yeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50bHkgc2V0IG1lc3NhZ2UgdHlwZS4KCSAgQWRkZWQgY29uc3QgdG8gZnVuY3Rpb24gYXJndW1lbnRzIGFzIGFwcHJvcHJpYXRlLgoJICBBdm9pZCBhIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBpbml0aWFsaXppbmcgbm1lZGlhLgoJICBVc2UgZ3VpbnQgcmF0aGVyIHRoYW4gZ2ludCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCSAgRml4IGNyYXNoZXIgaW4gd21zIGV4dGVuc2lvbi4KCSAgRmFjdG9yIG91dCBzdHJlYW0gc2V0dXAgZnJvbSBvcGVuX2Nvbm5lY3Rpb24uCgkgIERlbGF5IGFjdGl2YXRpb24gb2Ygc3RyZWFtcyB3aGVuIGFjdHVhbCBkYXRhIGlzIHJlY2VpdmVkIGZyb20gdGhlCgkgIHNlcnZlciwgdGhpcyBwcmVwYXJlcyB1cyB0byBkbyBwcm9wZXIgcHJvdG9jb2wgc3dpdGNoaW5nLgoJICBBZGRlZCBuZXcgbGljZW5zZS4KCSAgRml4ZXMgIzM4MDg5NS4KCjIwMDctMDEtMTAgMDk6NDc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFNvbWUgc21hbGwgZG9jcyBmaXhlcyAoIzM5NDg1MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gdWJ1bnR1IGNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBTb21lIHNtYWxsIGRvY3MgZml4ZXMgKCMzOTQ4NTEpLgoKMjAwNy0wMS0wOSAxMjoyNToyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IGRvY3MuCgoyMDA3LTAxLTA5IDEyOjIzOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIFJGQyAyMjUwIE1QRUcgVmlkZW8gRGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wdl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wdl9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9tcHZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX21wdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJICBBZGRlZCBSRkMgMjI1MCBNUEVHIFZpZGVvIERlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICBGaXggSGVhZGVyIGZpbGUuIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksIChnc3RfcnRwX21wNGdfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXA0dl9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgUmVtb3ZlIHVzdXNlZCBjb2RlLiBSZW1vdmUgQWRhcHRlciBmcm9tIHN0YXRlIENoYW5nZS4gQWRkZWQgZGVidWcuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXBhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSAgU3ViY2xhc3MgYmFzZSBkZXBheWxvYWRlci4KCSAgQWRkZWQgZGVidWcuCgkgIFN1cHBvcnQgc3RhdGljIHBheWxvYWQgdHlwZSBhc3NpZ25tZW50IGFzIHdlbGwuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgRml4IGNhcHMuCgoyMDA3LTAxLTA4IDEyOjQ1OjEwICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZXh0L2pwZWcvOiBUaGVzZSBsaWJqcGVnIGNhbGxiYWNrcyBzaG91bGQgcmV0dXJuIGEgJ2Jvb2xlYW4nICh1bnNpZ25lZCBjaGFyIGFwcGFyZW50bHkpIGFuZCBub3QgYSAnZ2Jvb2xlYW4nICh3aGljaCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIFRoZXNlIGxpYmpwZWcgY2FsbGJhY2tzIHNob3VsZCByZXR1cm4gYSAnYm9vbGVhbicgKHVuc2lnbmVkIGNoYXIKCSAgYXBwYXJlbnRseSkgYW5kIG5vdCBhICdnYm9vbGVhbicgKHdoaWNoIG1hcHMgdG8gZ2ludCkuIEZpeGVzCgkgIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCMzOTM0MjcpLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgIFVzZSBpb2N0bHNvY2tldCBvbiB3aW4zMi4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBTb21lIHByaW50ZiBmb3JtYXQgZml4ZXMgZm9yIHdpbjMyLgoKMjAwNy0wMS0wNyAyMjowMzo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kCgkgIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgVGhlIGludGVybGVhdmVyIGNhbiBvcGVyYXRlIGluIHB1bGwgb3IgcHVzaCBtb2RlIGJ1dCB0aGUKCSAgZGVpbnRlcmxlYXZlciBpcyBtb3JlIGxpa2UgYSBkZW11eGVyIGFuZCBjYW4gb25seSBvcGVyYXRlIGluIHB1c2gKCSAgbW9kZS4KCjIwMDctMDEtMDcgMTA6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9uLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgIEFkZCB6bGliIHRvIHRoZSBsaW5rLgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgIFVwZGF0ZSBsaWJvaWwgbGlicmFyeSBuYW1lIChwcm9qZWN0IGlzIGxpbmtlZCB0byBsaWJvaWwtMC4zLTAubGliIG5vdykuCgoyMDA3LTAxLTA1IDE4OjMyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlciB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpOgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyCgkgIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUtZXh0ZXJuYWwgaGFzCgkgIGJlZW4gc3BlY2lmaWVkISksIGRpc2FibGUgdGhlIGJpdHMgaW4gcXRkZW11eCB0aGF0IHVzZSBpdC4gRml4ZXMKCSAgYnVpbGQgb24gTWluZ1cgKCMzOTI4NTYpLgoKMjAwNy0wMS0wNSAxNzoyMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbTogSWYgemxpYiBpcyBhdmFpbGFibGUgYW5kIHVzZWQsIHdlIG11c3QgbGluayBpdCBleHBsaWNpdGx5IGZvciB0aGluZ3MgdG8gd29yayBvbiBNaW5nVyAoZml4ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgIElmIHpsaWIgaXMgYXZhaWxhYmxlIGFuZCB1c2VkLCB3ZSBtdXN0IGxpbmsgaXQgZXhwbGljaXRseSBmb3IKCSAgdGhpbmdzIHRvIHdvcmsgb24gTWluZ1cgKGZpeGVzICMzOTI4NTUpLgoKMjAwNy0wMS0wNSAxNjowNzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cwoJICBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZWFkeSBiZWVuIGluaXRlZCB2aWEgdGhlIEdPcHRpb24gc3R1ZmYuCgoyMDA3LTAxLTA0IDExOjAyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IERvbid0IHJldHVybiBib2d1cyB2YWx1ZXMgd2hlbiBlc2RfZ2V0X2RlbGF5KCkgZmFpbHMgZm9yIHNvbWUgcmVhc29uICgjMzkyMTg5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19kZWxheSk6CgkgIERvbid0IHJldHVybiBib2d1cyB2YWx1ZXMgd2hlbiBlc2RfZ2V0X2RlbGF5KCkgZmFpbHMgZm9yIHNvbWUKCSAgcmVhc29uICgjMzkyMTg5KS4KCjIwMDctMDEtMDQgMDk6NDQ6NTcgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX3Jlc2V0KToKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyNjM4KS4gQWxzbyBzaW1wbGlmeSBEaXJlY3REcmF3IGNoZWNrIGEgYml0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCBDVlMgaWdub3JlIGZvciBuZW9uaHR0cHNyYyB0ZXN0IGJpbmFyeS4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDctMDEtMDMgMTY6NDE6MTAgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGlpcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2hlYWRlcl9sb2FkKSwKCSAgKGdzdF9udXZfZGVtdXhfc3RyZWFtX2V4dGVuZF9oZWFkZXIpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEKCSAgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgoyMDA2LTEyLTMwIDIwOjAxOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogd2FybiB3aGVuIG91dGdvaW5nIHNhbXBsZSByYXRlIGlzIGRpZmZlcmVudCBmcm9tIGluY29taW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Npbmtfc2V0Y2FwcyksIChnc3RfbGFtZV9jaGFpbik6CgkgIHdhcm4gd2hlbiBvdXRnb2luZyBzYW1wbGUgcmF0ZSBpcyBkaWZmZXJlbnQgZnJvbSBpbmNvbWluZwoKMjAwNi0xMi0zMCAxMjo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZSBkZXRhaWxpbmcgd2hpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlCgkgIGRldGFpbGluZyB3aGljaCBlbGVtZW50IGl0IGFjdHVhbGx5IGlzIHRoYXQncyBtaXNzaW5nICgjMzkwNjczKS4KCjIwMDYtMTItMjQgMTE6MzY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggcHJlc3VtYWJseSBjb3B5J24ncGFzdG8gZm9yIDE2YnBwIGRlcHRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKToKCSAgRml4IHByZXN1bWFibHkgY29weSduJ3Bhc3RvIGZvciAxNmJwcCBkZXB0aC4KCjIwMDYtMTItMjQgMTE6MjQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFRoZSAic2lnbmVkIiBmaWVsZCBpbiBhdWRpbyBjYXBzIGlzIG9mIGJvb2xlYW4gdHlwZSwgdHJ5aW5nIHRvIHVzZSBnc3Rfc3RydWN0dXJlX2dldF9pbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIFRoZSAic2lnbmVkIiBmaWVsZCBpbiBhdWRpbyBjYXBzIGlzIG9mIGJvb2xlYW4gdHlwZSwgdHJ5aW5nIHRvIHVzZQoJICBnc3Rfc3RydWN0dXJlX2dldF9pbnQoKSB0byBleHRyYWN0IGl0IHdpbGwgZmFpbC4gRml4aW5nIHRoaXMgbWFrZXMKCSAgbWF0cm9za2FtdXggYWNjZXB0IHJhdyBhdWRpbyBpbnB1dCAoIzM4NzEyMSkgKHVzZSBhdCB5b3VyIG93biByaXNrCgkgIHRob3VnaCwgZHVlIHRvIHRoZSBtYXRyb3NrYSBzcGVjIGJlaW5nIG5vdCBlbnRpcmVseSB1c2VmdWwgaW4gdGhpcwoJICByZXNwZWN0KS4KCSAgQWxzbyBmaXggdXAgcmF3IGF1ZGlvIHN0cnVjdHVyZXMgaW4gdGVtcGxhdGUgY2FwcyBzbyB0aGF0IHRoZXkKCSAgcmVwcmVzZW50IHdoYXQgb3VyIHNldGNhcHMgZnVuY3Rpb24gd2lsbCBhY3R1YWxseSBhY2NlcHQsIHNvIHRoYXQKCSAgY29udmVydGVycyBrbm93IHdoYXQgdG8gY29udmVydCB0by4KCSAgRmluYWxseSwgZG9uJ3QgZmFpbCBpZiB0aGVyZSBpc24ndCBhbiAiZW5kaWFubmVzcyIgZmllbGQgaW4gOC1iaXQKCSAgUENNIGNhcHMuCgoyMDA2LTEyLTIyIDEwOjE1OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjIgMTA6MTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAxNzowMzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCAwLjEwLjUgZG9hcCBlbnRyeQoKPT09IHJlbGVhc2UgMC4xMC40ID09PQoKMjAwNi0xMi0yMSAxNTo0NTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC40ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoKPT09IHJlbGVhc2UgMC4xMC41ID09PQoKMjAwNi0xMi0yMSAxNTo0MDo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjUsICJUaGUgUGF0aCBvZiBUaG9ybnMiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNSwgIlRoZSBQYXRoIG9mIFRob3JucyIKCjIwMDYtMTItMjEgMTQ6MDM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAxMjo0ODozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKGNsZWFudXBfcGFub3JhbWEpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoc2V0dXBfYXZpbXV4KSwgKGNsZWFudXBfYXZpbXV4KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6IChzZXR1cF9jbW1sZGVjKSwKCSAgKHRlYXJkb3duX2NtbWxkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogKHNldHVwX2NtbWxlbmMpLAoJICAodGVhcmRvd25fY21tbGVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKHNldHVwX2xldmVsKSwgKGNsZWFudXBfbGV2ZWwpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDA4OjIwOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAwODoxNToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMTggMTc6MTE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0gaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0KCSAgaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXRhOyBpbnN0ZWFkLCBwb3N0ICJwcm9ncmVzcyIgZWxlbWVudAoJICBtZXNzYWdlcyBhcyBhIHRlbXBvcmFyeSBzb2x1dGlvbi4gQXBwcyBtaWdodCBnZXQgY29uZnVzZWQgYW5kIGRvCgkgIHNpbGx5IHRoaW5ncyB0byB0aGUgcGlwZWxpbmUgc3RhdGUgaWYgdGhleSBzZWUgYnVmZmVyaW5nIG1lc3NhZ2VzCgkgIGZyb20gZGlmZmVyZW50IHNvdXJjZXMgYW5kIGRvbid0IHJlYWxpemUgdGhleSBjb21lIGZyb20gZGlmZmVyZW50CgkgIHNvdXJjZXMgKCMzODcxNjApLgoKMjAwNi0xMi0xOCAxNjo0NjoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBEaXNhYmxlIExBRFBTQSwgYXMgaXQgaGFzIG1vdmVkIHRvIHRoZSAtYmFkIG1vZHVsZSBmb3IgdGhlIGR1cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIExBRFBTQSwgYXMgaXQgaGFzIG1vdmVkIHRvIHRoZSAtYmFkIG1vZHVsZSBmb3IgdGhlIGR1cmF0aW9uLgoKMjAwNi0xMi0xOCAxNTo1MTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIgZXJyb3Igc3RhdGUgYWZ0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6CgkgIFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIKCSAgZXJyb3Igc3RhdGUgYWZ0ZXIgdGhlIGZsdXNoLiBGaXhlcyAjMzc0MjEzCgoyMDA2LTEyLTE4IDE1OjQ5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENoYW5nZUxvZyBzdXJnZXJ5IG9uIG9uZSBvZiBTdGVmYW4ncyBjb21taXRzIGZyb20gQXVndXN0OgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgb24gb25lIG9mIFN0ZWZhbidzIGNvbW1pdHMgZnJvbSBBdWd1c3Q6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBRdWlldGx5IChhY2NpZGVudGFsbHkpIGVuYWJsZSBMQURTUEEgZm9yIGJ1aWxkaW5nIGJ5IGRlZmF1bHQsCgkgIGRlc3BpdGUgdGhlIGZhY3QgdGhhdCBpdCBkb2Vzbid0IG1lZXQgdGhlIHBsdWdpbiBjaGVja2xpc3QuCgkgIC0tIEFkZGVkIGJ5IEphbiBTY2htaWR0IDE4IERlYyAyMDA2CgoyMDA2LTEyLTE4IDEzOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBHU1RfRUxFTUVOVF9XQVJOSU5HIGFuZCBkb24ndCBhZGQgdGhlIHBhZC4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIGl0IGRvZXNuJ3QgY2hlY2sgZm9yIGEgTlVMTCBwYWQgaW4gc3RyZWFtaW5nIG1vZGUuCgkgIEZpeGVzICMzODcxMzcKCjIwMDYtMTItMTggMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBGaXhlcyAjMzg3MTIyLgoKMjAwNi0xMi0xOCAxMDowMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDogVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrIGluc3RhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjawoJICBpbnN0YWxscy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICBGaXhlczogIzM4NzA3NgoKMjAwNi0xMi0xNyAxOTo0MjowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMTcgMDY6MTE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBEZWNlbnQgZWZmb3J0IGF0IHBvcnRpbmcgdG8gMC4xMC4gIE5lZWRzIGNsZWFudXAgb24gT1MvWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGVjZW50IGVmZm9ydCBhdCBwb3J0aW5nIHRvIDAuMTAuICBOZWVkcyBjbGVhbnVwIG9uIE9TL1guCgoyMDA2LTEyLTE3IDA1OjA3OjA3ICswMDAwICBWaWpheSBTYW50aGFuYW0gPHZpamF5QHNhbnRoYW5hbS5nbWFpbC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBQcmVsaW1pbmFyeSBwYXRjaCBmb3IgcG9ydGluZyBvc3h2aWRlb3NpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWpheSBTYW50aGFuYW0gPHZpamF5IHNhbnRoYW5hbSBnbWFpbCBjb20+CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFByZWxpbWluYXJ5IHBhdGNoIGZvciBwb3J0aW5nIG9zeHZpZGVvc2luawoKMjAwNi0xMi0xNiAxNjoyMToyNiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBJbnRyb2R1Y2Ugc29tZSBsb2NraW5nIGFyb3VuZCB0aGUgdmlkZW9taXhlciBzdGF0ZSBzbyB0aGF0IGl0IGRvZXMgbm90IGNyYXNoIHdoZW4gYWRkaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9maW5hbGl6ZSksIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwKCSAgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEludHJvZHVjZSBzb21lIGxvY2tpbmcgYXJvdW5kIHRoZSB2aWRlb21peGVyIHN0YXRlIHNvIHRoYXQgaXQgZG9lcyBub3QKCSAgY3Jhc2ggd2hlbiBhZGRpbmcvcmVtb3ZpbmcgcGFkcy4gRml4ZXMgIzM4MzA0My4KCjIwMDYtMTItMTYgMTU6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgSW1wbGVtZW50IHNlZWtpbmcgcXVlcnkgc28gYXBwcyBjYW4gcXVlcnkgc2Vla2FiaWxpdHkgcHJvcGVybHkKCSAgKHNlZSAjMzY1NDE0KS4gRml4IGR1cmF0aW9uIHF1ZXJ5LgoKMjAwNi0xMi0xNiAxMTo0Mjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSBzdXJlIGxpYmNhY2EgY2FuIGFjdHVhbGx5IGJlIHVzZWQgaW5zdGVhZCBvZiBqdXN0IGNoZWNraW5nIGZvciAvdXNyL2Jpbi9jYWNhLWNvbmZpZywgc28gd2UgZG9uJ3Qgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2Ugc3VyZSBsaWJjYWNhIGNhbiBhY3R1YWxseSBiZSB1c2VkIGluc3RlYWQgb2YganVzdCBjaGVja2luZyBmb3IKCSAgL3Vzci9iaW4vY2FjYS1jb25maWcsIHNvIHdlIGRvbid0IHdyb25nbHkgdHJ5IHRvIGJ1aWxkIGNhY2FzaW5rIHdoZW4KCSAgY3Jvc3MtY29tcGlsaW5nIChmaXhlcyAjMzg0NTg3KS4KCjIwMDYtMTItMTUgMTA6NTQ6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGRpbmcgZG9hcCBmaWxlCgoyMDA2LTEyLTE0IDE2OjIwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBsaWJmbGFjLTEuMS4zIGNoYW5nZWQgQVBJIGFnYWluLCBidXQgd2UgY2FuJ3QgYnVpbGQgYWdhaW5zdCBpdCB5ZXQsIHNvIG1ha2Ugc3VyZSBvdXIgY2hlY2sgZG9lc24ndCB1c2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgbGliZmxhYy0xLjEuMyBjaGFuZ2VkIEFQSSBhZ2FpbiwgYnV0IHdlIGNhbid0IGJ1aWxkIGFnYWluc3QgaXQgeWV0LAoJICBzbyBtYWtlIHN1cmUgb3VyIGNoZWNrIGRvZXNuJ3QgdXNlIGxpYmZsYWMtMS4xLjMgYW5kIGFkZCBhIGNvbW1lbnQKCSAgdG8gdGhpcyBlZmZlY3QuCgoyMDA2LTEyLTE0IDE0OjI1OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogQWRkIHNvbWUgTlVMTCBwb2ludGVyIGNoZWNrcyAocG9zc2libHkgcmVsYXRlZCB0byAjMzg1NjIzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzogKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9wbGFuZXRhYmxlX2NsZWFyKToKCSAgQWRkIHNvbWUgTlVMTCBwb2ludGVyIGNoZWNrcyAocG9zc2libHkgcmVsYXRlZCB0byAjMzg1NjIzKS4KCjIwMDYtMTItMTQgMTA6MTU6MjQgKzAwMDAgIFJvbGFuZCBLYXkgPHJvbGFuZC5rYXlAb3guY29tcHNvYy5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IEZpeCBsZWFrIChieSBjYWxsaW5nIGxhbWVfaW5pdF9wYXJhbXMoKSBiZWZvcmUgbGFtZV9jbG9zZSgpKTsgaGFuZGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogUm9sYW5kIEtheSAgPHJvbGFuZC5rYXkgYXQgb3ggY29tcHNvYyBuZXQ+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9jaGFpbiksCgkgIChnc3RfbGFtZV9zZXR1cCk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBGaXggbGVhayAoYnkgY2FsbGluZyBsYW1lX2luaXRfcGFyYW1zKCkgYmVmb3JlIGxhbWVfY2xvc2UoKSk7IGhhbmRsZQoJICBOVUxMIHJldHVybiBmcm9tIGxhbWVfaW5pdCgpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgIzM4NTMxMS4KCjIwMDYtMTItMTMgMTc6MTI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwNi0xMi0xMiAxODo0NTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEluIHN0cmVhbWluZyBtb2RlLCBpZiB0aGUgZmlyc3QgYnVmZmVyIHdlIGdldCBkb2Vzbid0IGhhdmUgYW4gb2Zmc2V0LCBmaXggaXQgdXAgdG8gYmUgMCwgb3RoZXJ3aXNlIHRyaW1taW5nIHdvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluX3BhcnNlX3RhZyksCgkgIChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIEluIHN0cmVhbWluZyBtb2RlLCBpZiB0aGUgZmlyc3QgYnVmZmVyIHdlIGdldCBkb2Vzbid0IGhhdmUgYW4KCSAgb2Zmc2V0LCBmaXggaXQgdXAgdG8gYmUgMCwgb3RoZXJ3aXNlIHRyaW1taW5nIHdvbid0IHdvcmsgbGF0ZXIgb24KCSAgYW5kIHdlJ2xsIGJlIHR5cGVmaW5kaW5nIGFwcGxpY2F0aW9uL3gtaWQzLCB3aGljaCBtYXkgcmVzdWx0IGluCgkgIGRlY29kZWJpbiBwbHVnZ2luZyBhbiBlbmRsZXNzIG51bWJlciBvZiBpZDNkZW11eCBlbGVtZW50cyBhcyBhCgkgIGNvbnNlcXVlbmNlLiBGaXhlcyAjMzg1MDMxLgoKMjAwNi0xMi0xMSAyMToyMToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IElnbm9yZSB0aGUgYnVmZmVyX3RpbWUgdGhlIHNvdW5kIGRldmljZSByZXBvcnRzLiBUdXJucyBvdXQgaXQgaXMgc29tZXRpbWVzIGNvbXBsZXRlbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKToKCSAgSWdub3JlIHRoZSBidWZmZXJfdGltZSB0aGUgc291bmQgZGV2aWNlIHJlcG9ydHMuIFR1cm5zIG91dCBpdCBpcwoJICBzb21ldGltZXMgY29tcGxldGVseSBib2d1cyBhbmQgd2UncmUgYmV0dGVyIG9mZiB3aXRob3V0IGl0LgoKMjAwNi0xMi0xMSAxNzozMzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZQoJICBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzICMzNzg2MTMuCgoyMDA2LTEyLTExIDEzOjU5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogVHJ5IGhhcmRlciB0byBleHRyYWN0IHRoZSBmcmFtZXJhdGUgZm9yIHZpZGVvIHRyYWNrcyBjb3JyZWN0bHkgYW5kIHNhdmUgaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb252ZXJ0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVHJ5IGhhcmRlciB0byBleHRyYWN0IHRoZSBmcmFtZXJhdGUgZm9yIHZpZGVvIHRyYWNrcyBjb3JyZWN0bHkgYW5kCgkgIHNhdmUgaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIGl0IGJhY2sgYW5kIGZvcnRoIGEgZmV3CgkgIHRpbWVzLiBNb3N0bHkgbWFrZXMgYSBkaWZmZXJlbmNlIGZvciB2ZXJ5IHNtYWxsIGZyYW1lcmF0ZXMgKDwxKS4KCSAgRml4ZXMgIzM4MDE5OS4KCjIwMDYtMTItMTEgMTE6NDE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy4qOiBSZW1vdmUgZ2NvbmYgbm90aWZ5IGhvb2sgd2hlbiB0aGUgZ2NvbmZhdWRpb3NyYyBlbGVtZW50IGlzIGRlc3Ryb3llZCwgb3RoZXJ3aXNlIHRoZSBjYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLCAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIFJlbW92ZSBnY29uZiBub3RpZnkgaG9vayB3aGVuIHRoZSBnY29uZmF1ZGlvc3JjIGVsZW1lbnQgaXMKCSAgZGVzdHJveWVkLCBvdGhlcndpc2UgdGhlIGNhbGxiYWNrIG1heSBiZSBjYWxsZWQgb24gYW4KCSAgYWxyZWFkeS1kZXN0cm95ZWQgaW5zdGFuY2UgYW5kIGJhZCB0aGluZ3MgaGFwcGVuLiBTaG91bGQgZml4CgkgICMzNzgxODQuCgkgIEFsc28gaWdub3JlIGdjb25mIGtleSBjaGFuZ2VzIHdoZW4gdGhlIHNvdXJjZSBpcyBhbHJlYWR5IHJ1bm5pbmcuCgoyMDA2LTEyLTA5IDE5OjI3OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZWFkIGFuZCBwYXJzZSBhbnkgcG9zc2libGUgZmxvYXRpbmcgcG9pbnQgc3RyaW5nIGZvcm1hdCAoIjEsMjM0IiBvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlYWQgYW5kIHBhcnNlIGFueSBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBzdHJpbmcKCSAgZm9ybWF0ICgiMSwyMzQiIG9yICIxLjIzNCIpIGlycmVzcGVjdGl2ZSBvZiB0aGUgY3VycmVudCBsb2NhbGUuIGdfc3Ryb2QoKQoJICB3aWxsIHBhcnNlIHRoZSBmb3JtZXIgb25seSBpbiBjZXJ0YWluIGxvY2FsZXMgdGhvdWdoLCBzbyB3ZSByZWFsbHkgbmVlZAoJICB0byBjYW5vbmljYWxpc2UgdGhlIHNlcGFyYXRvciB0byAnLicgYW5kIHRoZW4gdXNlIGdfYXNjaWlfc3RydG9kKCkgdG8KCSAgbWFrZSBzdXJlIHdlIGNhbiBwYXJzZSBlaXRoZXIgdmVyc2lvbiBhdCBhbGwgdGltZXMuCgkgIEZpeGVzICMzODI5ODIgZm9yIHJlYWwuCgoyMDA2LTEyLTA5IDE2OjE3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IFVzZSB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICBVc2UgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5LgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KSwgKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfc3VuYXVkaW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX29wZW4pLCAoZ3N0X3N1bmF1ZGlvc2lua19jbG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvX3NpbmtfZG9fZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSksIChnc3Rfc3VuYXVkaW9zaW5rX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgVXNlcyB0aGUgc3VuYXVkaW8gZGVidWcgY2F0ZWdvcnkgZm9yIGFsbCBkZWJ1ZyBvdXRwdXQKCSAgSW1wbGVtZW50cyB0aGUgX2RlbGF5KCkgY2FsbGJhY2sgdG8gc3luY2hyb25pc2UgdmlkZW8gcGxheWJhY2sgYmV0dGVyCgkgIENoYW5nZSB0aGUgc2VndG90YWwgYW5kIHNlZ3NpemUgdmFsdWVzIGJhY2sgdG8gdGhlIHBhcmVudCBjbGFzcwoJICBkZWZhdWx0cyAodGFrZW4gZnJvbSBidWZmZXJfdGltZSBhbmQgbGF0ZW5jeV90aW1lcyBvZiAyMDBtcyBhbmQgMTBtcwoJICByZXNwZWN0aXZlbHkpCgkgIE1lYXN1cmUgdGhlIHNhbXBsZXMgd3JpdHRlbiB0byB0aGUgZGV2aWNlIHZzLiBwbGF5ZWQuCgkgIEtlZXAgdHJhY2sgb2Ygc2VnbWVudHMgaW4gdGhlIGRldmljZSBieSB3cml0aW5nIGVtcHR5IGVvZiBmcmFtZXMsIGFuZAoJICBzbGVlcCB1c2luZyBhIEdDb25kIHdoZW4gd2UgZ2V0IHRvbyBmYXIgYWhlYWQgYW5kIHJpc2sgb3ZlcnJ1bm5pbmcgdGhlCgkgIHNpbmsncyByaW5nYnVmZmVyLgoJICBGaXhlczogIzM2MDY3MwoKMjAwNi0xMi0wOCAyMToxMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIENvcnJlY3QgdGhlIGF0dHJpYnV0aW9uIG9mIHRoZSBwcmV2aW91cyBjb21taXQuIFRoZSBwYXRjaCBpbiBxdWVzdGlvbiB3YXMgd3JpdHRlbiBieSBCcmlhbiBDYW1lcm9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29ycmVjdCB0aGUgYXR0cmlidXRpb24gb2YgdGhlIHByZXZpb3VzIGNvbW1pdC4gVGhlIHBhdGNoIGluCgkgIHF1ZXN0aW9uIHdhcyB3cml0dGVuIGJ5IEJyaWFuIENhbWVyb24uCgoyMDA2LTEyLTA4IDE3OjA2OjQzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBGaXhlcyAjMzgzNDcxLgoKMjAwNi0xMi0wOCAxNjozODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS4qOiBGaXggYXVkaW9wYW5vcmFtZSB3aXRoIGZsb2F0IHNhbXBsZXMuIEZpeGVzICMzODM3MjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSAgRml4IGF1ZGlvcGFub3JhbWUgd2l0aCBmbG9hdCBzYW1wbGVzLiBGaXhlcyAjMzgzNzI2LgoKMjAwNi0xMi0wOCAxNToxMjowMSArMDAwMCAgUGFkcmFpZyBPJ0JyaWFpbiA8cGFkcmFpZy5vYnJpYWluQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBJbXBsZW1lbnQgcmVzZXQgZnVuY3Rpb25zIHRvIHVuYmxvY2sgdGhlIHNyYy9zaW5rIG1vcmUgcXVpY2tseSBvbiBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3Jlc2V0KToKCSAgSW1wbGVtZW50IHJlc2V0IGZ1bmN0aW9ucyB0byB1bmJsb2NrIHRoZSBzcmMvc2luayBtb3JlIHF1aWNrbHkgb24KCSAgc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgoJICBQYXRjaCBieTogUGFkcmFpZyBPJ0JyaWFpbiA8cGFkcmFpZyBkb3Qgb2JyaWFpbiBhdCBzdW4gZG90IGNvbT4KCjIwMDYtMTItMDggMTQ6NDI6NDIgKzAwMDAgIEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOiBDb25zdHJ1Y3QgdGhlIGNvcnJlY3QgbWl4ZXIgZGV2aWNlIG5hbWUgd2hlbiB0aGUgQVVESU9ERVYgZW52IHZhciBpcyBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBDb25zdHJ1Y3QgdGhlIGNvcnJlY3QgbWl4ZXIgZGV2aWNlIG5hbWUgd2hlbiB0aGUgQVVESU9ERVYgZW52IHZhcgoJICBpcyBzZXQuCgkgIFBhdGNoIGJ5OiBKZXJyeSBUYW4gPGplcnJ5LnRhbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICMzODM1OTYKCjIwMDYtMTItMDggMTQ6MzI6NTEgKzAwMDAgIEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogQXBwbHkgcGF0Y2ggdG8gb3BlbiB0aGUgbWl4ZXIgY29udHJvbCBhbmQgc2V0IHRoZSBNVUxUSVBMRV9PUEVOIGlvY3RsLiBPbiBzb2xhcmlzLCB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgIEFwcGx5IHBhdGNoIHRvIG9wZW4gdGhlIG1peGVyIGNvbnRyb2wgYW5kIHNldCB0aGUgTVVMVElQTEVfT1BFTgoJICBpb2N0bC4gT24gc29sYXJpcywgdGhlIG1peGVyIGRldmljZSBkb2Vzbid0IG5lZWQgb3BlbmluZyBub24tYmxvY2tpbmcKCSAgLSBpdCBjYW4gYmUgb3BlbmVkIGJ5IG11bHRpcGxlIHByb2Nlc3NlcyBieSBkZWZhdWx0LCBidXQgbmVlZHMgdGhlIGlvY3RsIAlmb3IgbXVsdGlwbGUgb3BlbnMgd2l0aGluIDEgcHJvY2Vzcy4KCSAgUGF0Y2ggYnk6IEplcnJ5IFRhbiA8amVycnkudGFuIGF0IHN1biBkb3QgY29tPgoJICBGaXhlczogIzM0OTAxNQoKMjAwNi0xMi0wNyAxNzozMDowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IFBvcnQgdG8gMC4xMCBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RtYXNrLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21wdGVfc2V0Y2FwcyksIChnc3Rfc21wdGVfaW5pdCksIChnc3Rfc21wdGVfcmVzZXQpLAoJICAoZ3N0X3NtcHRlX2NvbGxlY3RlZCksIChnc3Rfc21wdGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbXB0ZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NtcHRlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIFBvcnQgdG8gMC4xMCBzb21lIG1vcmUuCgkgIEFkZGVkIGR1cmF0aW9uIHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIGR1cmF0aW9uIG9mIHRoZSB0cmFuc2l0aW9uLgoJICBNYWtlIGZyYW1lcmF0ZSBhIGZyYWN0aW9uLgoJICBEZXByZWNhdGUgZnBzIHByb3BlcnR5LCB3ZSBvbmx5IHVzZSBuZWdvdGlhdGVkIGZwcy4KCSAgQWRkZWQgZG9jcy4KCSAgRml4IGNvbGxlY3RwYWQgdXNhZ2UuCgkgIFJlc2V0IHN0YXRlIGluIFJFQURZLgoJICBTZW5kIE5FV1NFR01FTlQgZXZlbnQuCgkgIEZpeCByYWN5IHVwZGF0ZXMgb2Ygb2JqZWN0IHByb3BlcnRpZXMuCgkgIEFkZGVkIGRlYnVnIGNhdGVnb3J5LgoJICBGaXhlcyAjMzgzMzIzLgoKMjAwNi0xMi0wNyAxMTozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgoyMDA2LTEyLTA2IDE1OjA2OjA0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IHJlc2V0IHhwb3MgYW5kIHlwb3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gYmVjYXVzZSBjYXVzZXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKToKCSAgRG9uJ3QgcmVzZXQgeHBvcyBhbmQgeXBvcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBiZWNhdXNlIGNhdXNlcwoJICB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCSAgRml4ZXMgIzM4MjE3OS4KCjIwMDYtMTItMDYgMTQ6NDU6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBLZWVwIHRyYWNrIG9mIHRoZSBidWZmZXIgdGltZXN0YW1wIGluIHRoZSBjb2xsZWN0ZGF0YSBtZW1iZXIgaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbXBhcmVfcGFkcyksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9xdWV1ZV9wYWRzKSwgKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaW4gdGhlIGNvbGxlY3RkYXRhIG1lbWJlciBpbnN0ZWFkCgkgIG9mIG1vZGlmeWluZyB0aGUgYnVmZmVyIHdpdGhvdXQgbWFraW5nIHRoZSBtZXRhZGF0YSB3cml0YWJsZSBmaXJzdC4KCSAgRml4ZXMgIzM4MjI3Ny4KCjIwMDYtMTItMDYgMTQ6MzM6NTQgKzAwMDAgIFJvYiBUYXlsb3IgPHJvYnRheWxvckBmbG9vcGlseS5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBJZiB1c2luZyBtdWx0aWNhc3QgaW4gdWRwc3JjLCBiaW5kIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzcyByYXRoZXIgdGhhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYiBUYXlsb3IgPHJvYnRheWxvciBhdCBmbG9vcGlseSBkb3Qgb3JnPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgSWYgdXNpbmcgbXVsdGljYXN0IGluIHVkcHNyYywgYmluZCB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3MgcmF0aGVyIHRoYW4KCSAgSU5fQUREUl9BTlkuCgkgIFRoaXMgYWxsb3dzIHRoZSBzaW11bHRhbm91cyB1c2Ugb2YgbXVsdGlwbGUgdWRwc3JjcyBsaXN0ZW5pbmcgb24KCSAgZGlmZmVyZW50IG11bHRpY2F0IGFkZHJlc3Nlcy4gV2l0aG91dCB0aGlzIGFsbCB1ZHBzcmNzIHdpbGwgcmVjZWl2ZSBhbGwKCSAgcGFja2V0cyBmcm9tIGFsbCBzdWJzY3JpYmVkIG11bHRpY2FzdCBhZGRyZXNzZXMuCgkgIEZpeGVzICMzODMwMDEuCgoyMDA2LTEyLTA2IDEzOjM1OjUyICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkAwa2FvbGluLndoOS5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBEb24ndCBhdHRlbXB0IHRvIHdyaXRlIGEgTlVMTCBmcmFtZSBpbnRvIHRoZSBJRDMgdGFnIHNldCB3aGVuIHRoZSBjcmVhdGVGcmFtZSBtZXRob2QgcmV0dXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgRG9uJ3QgYXR0ZW1wdCB0byB3cml0ZSBhIE5VTEwgZnJhbWUgaW50byB0aGUgSUQzIHRhZyBzZXQgd2hlbiB0aGUKCSAgY3JlYXRlRnJhbWUgbWV0aG9kIHJldHVybmVkIE5VTEwuCgkgIEZpeGVzOiAjMzgxODU3CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCAwa2FvbGluIHdoOSBuZXQgPgoKMjAwNi0xMi0wNiAxMzoxNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBVc2UgZ19zdHJ0b2QoKSBpbnN0ZWFkIG9mIHNzY2FuZiB0byBwYXJzZSBkb3VibGVzLCBzbyB0aGF0IGl0IHdpbGwgdHJ5IHBhcnNpbmcgaW4gdGhlIEMgbG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgVXNlIGdfc3RydG9kKCkgaW5zdGVhZCBvZiBzc2NhbmYgdG8gcGFyc2UgZG91Ymxlcywgc28gdGhhdCBpdCB3aWxsCgkgIHRyeSBwYXJzaW5nIGluIHRoZSBDIGxvY2FsZSBpZiB0aGUgY3VycmVudCBsb2NhbGUgZmFpbHMuCgkgIEZpeGVzOiAjMzgyOTgyCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlID4KCjIwMDYtMTItMDEgMTA6MzE6NDYgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVDogRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBkb3QgY29tPgoJICBQYXJ0aWFsbHkgZml4ZXMgIzM4MTE3NQoKMjAwNi0xMS0zMCAxNjo0ODo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogYWNjZXB0IGFsbCBtcGVndmVyc2lvbnMsZml4ZXMgIzM4MDgyNSBzcG90dGVkIGJ5OiBKZXJvbWUgQWxldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhY2NlcHQgYWxsIG1wZWd2ZXJzaW9ucyxmaXhlcyAjMzgwODI1CgkgIHNwb3R0ZWQgYnk6IEplcm9tZSBBbGV0CgoyMDA2LTExLTMwIDE2OjQ2OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGNsZWFudXAgdGhlIGVycm9yIG1lc3NhZ2UgYSBiaXQgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSk6CgkgIGNsZWFudXAgdGhlIGVycm9yIG1lc3NhZ2UgYSBiaXQgbW9yZQoKMjAwNi0xMS0zMCAxNTowODowOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpOgoJICBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoKMjAwNi0xMS0yOCAxMjozMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IEZpeCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMuCgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIG5ld2VyIGxpYmNhY2EgdGhhdCByZXF1aXJlIHVzIHRvIGluY2x1ZGUgYSBuZXcKCSAgaGVhZGVyLiBGaXhlcyAjMzc5OTE4LgoKMjAwNi0xMS0yOCAxMTo1MjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIG1ldGhvZCBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzZXR1cCBvZiBhIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICBBZGQgbWV0aG9kIHNvIHRoYXQgZXh0ZW5zaW9ucyBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNldHVwIG9mCgkgIGEgc3RyZWFtLgoJICBNYWtlIHRoZSBXTVMgZXh0ZW5zaW9uIHNraXAgc2V0dXAgb2YgeC13bXMtcnR4IHN0cmVhbXMuIEZpeGVzICMzNzc3OTIuCgoyMDA2LTExLTI3IDE3OjE2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvcgoJICBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoKMjAwNi0xMS0yNyAxNjozMDo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgbWVudGlvbiBidWcgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtZW50aW9uIGJ1ZyBmaXgKCjIwMDYtMTEtMjcgMTY6Mjk6MDcgKzAwMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hcy5ob2xtYmVyZ0BheGlzLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IFB1c2ggaGVhZGVyIGluIGEgc2VwYXJhdGUgYnVmZmVyIGluc3RlYWQgb2YgbWVtY3B5OmluZyBhbGwgZGF0YQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmFzIEhvbG1iZXJnIDxqb25hcyBkb3QgaG9sbWJlcmcgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBQdXNoIGhlYWRlciBpbiBhIHNlcGFyYXRlIGJ1ZmZlciBpbnN0ZWFkIG9mIG1lbWNweTppbmcgYWxsIGRhdGEKCSAgQ2hhbmdlIExGID0+IENSTEYgaW4gaGVhZGVycwoJICBNb3ZlIHRyYWlsaW5nIExGIHRvIGhlYWRlcgoKMjAwNi0xMS0yNyAxNjoyNjo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogU21hbGwgYnVmZmVyIG92ZXJmbG93IGZpeCBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NoYWluKToKCSAgU21hbGwgYnVmZmVyIG92ZXJmbG93IGZpeCBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA2LTExLTI0IDA4OjU4OjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZXNkLzogcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2VzZC9lc2RzaW5rLmg6CgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcwoKMjAwNi0xMS0yNCAwNzo0Njo1NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiByZW1vdmUgZGVhZCBjb2RlLCB0d2VhayBkZWJ1Z3Mgc3RhdGVtZW50cywgYWRkIGNvbW1lbnRzLCB1c2UgX3VpbnQ2NF9zY2FsZSBpbnN0ZWFkIF91aW50NjRfc2NhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLAoJICAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICByZW1vdmUgZGVhZCBjb2RlLCB0d2VhayBkZWJ1Z3Mgc3RhdGVtZW50cywgYWRkIGNvbW1lbnRzLCB1c2UKCSAgX3VpbnQ2NF9zY2FsZSBpbnN0ZWFkIF91aW50NjRfc2NhbGVfaW50IHdoZW4gdXNpbmcgZ3VpbnQ2NCB2YWx1ZXMsCgkgIHNtYWxsIG9wdGltaXphdGlvbnMsIHJlZmxvdyBzb21lIGVycm9yIGhhbmRsaW5nCgoyMDA2LTExLTIyIDE3OjM5OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgcG8vLmN2c2lnbm9yZTogV2UgbmV2ZXIgcHV0IC5wb3QgZmlsZXMgaW4gY3ZzLiBMZXQncyBpZ25vcmUgdGhlbSBhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvLy5jdnNpZ25vcmU6CgkgIFdlIG5ldmVyIHB1dCAucG90IGZpbGVzIGluIGN2cy4gTGV0J3MgaWdub3JlIHRoZW0gYWxsLgoKMjAwNi0xMS0yMSAxMjo1Nzo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBlbmFsYmUgTEFEU1BBIHBsdWdpbiBpbiBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVuYWxiZSBMQURTUEEgcGx1Z2luIGluIHNwZWMgZmlsZQoKMjAwNi0xMS0xOSAxODo0NjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiAuLi4gYnV0IGJldHRlciBleGNsdWRlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIC4uLiBidXQgYmV0dGVyIGV4Y2x1ZGUgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkLgoKMjAwNi0xMS0xOSAxNjozMjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgdjRsMiBzb3VyY2UgZmlsZXMgdG8gbGlzdCBvZiBmaWxlcyB3aXRoIHRyYW5zbGF0aW9ucywgc28gdGhlIHN0cmluZ3MgYXJlIGFjdHVhbGx5IGV4dHJhY3RlZCAoaG93ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHY0bDIgc291cmNlIGZpbGVzIHRvIGxpc3Qgb2YgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMsIHNvIHRoZQoJICBzdHJpbmdzIGFyZSBhY3R1YWxseSBleHRyYWN0ZWQgKGhvd2V2ZXIgYmFkIHRoZXkgc3RpbGwgbWF5IGJlKS4KCjIwMDYtMTEtMTkgMTY6MzA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogTWlub3IgY2xlYW4tdXBzOiBjb25zdC1pZnkgc3RhdGljIGFycmF5LCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KToKCSAgTWlub3IgY2xlYW4tdXBzOiBjb25zdC1pZnkgc3RhdGljIGFycmF5LCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbQoJICBsYXN0IGVudW0gKGdjYy0yLjl4IHRyaXBzIG92ZXIgdGhhdCksIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCjIwMDYtMTEtMTkgMTM6NDE6NTMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTWFrZSBzdXJlIHRoYXQgZ19mcmVlIGFsd2F5cyBnZXRzIGNhbGxlZCBvbiB0aGUgc2FtZSBwb2ludGVyIHRoYXQgd2FzIHJldHVybmVkIGJ5IGdfbWFsbG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIE1ha2Ugc3VyZSB0aGF0IGdfZnJlZSBhbHdheXMgZ2V0cyBjYWxsZWQgb24gdGhlIHNhbWUgcG9pbnRlciB0aGF0IHdhcwoJICByZXR1cm5lZCBieSBnX21hbGxvYy4gIEZpeGVzICMzNzY1OTQuCgkgIERvIG5vdCBsZWFrIG1lbW9yeSBpZiBkZWNvbXByZXNzZWQgc2l6ZSBpcyB3cm9uZy4KCSAgUmVtb3ZlIHVubmVlZGVkIGNoZWNrIG9mIHJldHVybiB2YWx1ZSBvZiBnX21hbGxvYy4KCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoyMDA2LTExLTE4IDE4OjE0OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgbWlzc2luZyBjdXJseSBicmFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpOgoJICBBZGQgbWlzc2luZyBjdXJseSBicmFja2V0cy4KCjIwMDYtMTEtMTcgMTQ6NTQ6MDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggY2FwdHVyZV9kZWluaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggY2FwdHVyZV9kZWluaXQuCgoyMDA2LTExLTE2IDE1OjM2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFjdGl2YXRlIHJlcXVlc3QgcGFkIGJlZm9yZSByZXR1cm5pbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWN0aXZhdGUgcmVxdWVzdCBwYWQgYmVmb3JlIHJldHVybmluZyBpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgIChzZXR1cF9zaW5rX3BhZCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA2LTExLTE2IDE1OjA0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbml0aWFsaXNlIHZhcmlhYmxlIHRvIGdldCByaWQgb2YgYm9ndXMgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEluaXRpYWxpc2UgdmFyaWFibGUgdG8gZ2V0IHJpZCBvZiBib2d1cyBjb21waWxlciB3YXJuaW5nLgoKMjAwNi0xMS0xNiAwNzoyNjoxNyArMDAwMCAgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgoJICBnc3QvcnRwLzogU3BlY2lmeSBILjI2MyB2YXJpYW50IGFuZCB2ZXJzaW9uIGluIHRoZSBjYXBzIChmaXhlcyAjMzYxNjM3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgU3BlY2lmeSBILjI2MyB2YXJpYW50IGFuZCB2ZXJzaW9uIGluIHRoZSBjYXBzIChmaXhlcyAjMzYxNjM3KQoKMjAwNi0xMS0xNSAxNzo0NDowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IERvbid0IHNldCBhIGRhdGEgcG9pbnRlciB0byBOVUxMIGFuZCBhIHNpemUgPiAwIHdoZW4gd2UgZGVhbCB3aXRoIGVtcHR5IHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpOgoJICBEb24ndCBzZXQgYSBkYXRhIHBvaW50ZXIgdG8gTlVMTCBhbmQgYSBzaXplID4gMCB3aGVuIHdlIGRlYWwKCSAgd2l0aCBlbXB0eSBwYWNrZXRzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwKCSAgKHJ0c3BfbWVzc2FnZV90YWtlX2JvZHkpOgoJICBDaGVjayB0aGF0IHdlIGNhbid0IGNyZWF0ZSBpbnZhbGlkIGVtcHR5IHBhY2tldHMuCgoyMDA2LTExLTE1IDEyOjM1OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywKCSAgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbWUgY29kZSBpbnRvIF9yZXNldCgpCgkgIGZ1bmN0aW9ucyAoIzM1MjYwNSkuCgoyMDA2LTExLTE1IDEyOjA4OjIwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC4qOiBBZGQgYmFzaWMgdGFnIHdyaXRpbmcgc3VwcG9ydDsgaW1wbGVtZW50IHJlbGVhc2luZyBwYWRzICgjMzc0NjU4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2FkZF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksIChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF90cmFja19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX3NpbXBsZV90YWcpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGJhc2ljIHRhZyB3cml0aW5nIHN1cHBvcnQ7IGltcGxlbWVudCByZWxlYXNpbmcgcGFkcyAoIzM3NDY1OCkuCgoyMDA2LTExLTE1IDExOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBvcGFxdWUvdW5zcGVjaWZpZWQgQV9BQUMgYXVkaW8gY29kZWMgSUQgKGZpeGVzICMzNzQ3MzcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgSGFuZGxlIG9wYXF1ZS91bnNwZWNpZmllZCBBX0FBQyBhdWRpbyBjb2RlYyBJRCAoZml4ZXMgIzM3NDczNykuCgoyMDA2LTExLTE1IDAwOjEyOjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIERpcmFjIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgRGlyYWMgZm91cmNjLgoKMjAwNi0xMS0xNCAyMDowNzoyMiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL3ZzOC86IE1ha2UgZW5kLW9mLWxpbmUgcmV0dXJucyB1bml4eSwgc28gdGhhdCB3aGVuIHRoZSBmaWxlcyBhcmUgY2hlY2tlZCBvdXQgb24gd2luMzIgdGhlIGxpbmUgcmV0dXJucyB3aWxsIGJlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5LnNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICBNYWtlIGVuZC1vZi1saW5lIHJldHVybnMgdW5peHksIHNvIHRoYXQgd2hlbiB0aGUgZmlsZXMgYXJlIGNoZWNrZWQKCSAgb3V0IG9uIHdpbjMyIHRoZSBsaW5lIHJldHVybnMgd2lsbCBiZSAwZCAwYSBhbmQgbm90IDBkIDBkIDBhLgoJICBIb3BlZnVsbHkgZml4ZXMgIzM2NjQ5Mi4KCjIwMDYtMTEtMTQgMTU6NTU6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERpc2FibGUgaW5pdF9mcmFtZXMgZGVsYXkgdGltZXN0YW1wIGFkanVzdG1lbnQsIGl0IGRvZXMgbm90IHNlZW0gdG8gYmUgbmVlZGVkIGF0IGFsbC4gRml4ZXMgIzMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgRGlzYWJsZSBpbml0X2ZyYW1lcyBkZWxheSB0aW1lc3RhbXAgYWRqdXN0bWVudCwgaXQgZG9lcyBub3QKCSAgc2VlbSB0byBiZSBuZWVkZWQgYXQgYWxsLiBGaXhlcyAjMzY5NjIxLgoKMjAwNi0xMS0xNCAxMTo0Mzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCjIwMDYtMTEtMTQgMTA6Mjk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IE1ha2UgbGFtZSB0aW1lc3RhbXAgZmx1c2hlZCBlb3MgYnVmZmVyIGJ5IHNvbWUgYWRkaXRpb25hbCB0aW1lc3RhbXAgYWNjb3VudGluZy4gRml4ZXMgIzM3NDc2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2lua19ldmVudCksIChnc3RfbGFtZV9jaGFpbiksCgkgIChnc3RfbGFtZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgTWFrZSBsYW1lIHRpbWVzdGFtcCBmbHVzaGVkIGVvcyBidWZmZXIgYnkgc29tZSBhZGRpdGlvbmFsIHRpbWVzdGFtcAoJICBhY2NvdW50aW5nLiBGaXhlcyAjMzc0NzYwLgoKMjAwNi0xMS0xMyAxODozMToxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRml4IG1lbWxlYWsgYnkgdW5yZWYnaW5nIGNvbGxlY3RwYWRzIGluc3RhbmNlICh3aGVuIGZpbmFsaXppbmcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKSwgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmluYWxpemUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggbWVtbGVhayBieSB1bnJlZidpbmcgY29sbGVjdHBhZHMgaW5zdGFuY2UgKHdoZW4gZmluYWxpemluZykKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBhIHJlcXVlc3QgcGFkLiBGaXhlcyAjMzc0NDc5LgoKMjAwNi0xMS0xMCAyMDowODo0MiArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL3ZzOC86IEFkZCBWUzggcHJvamVjdCBmaWxlcyAobm90ZSB0aGF0IG1hbnkgb2YgdGhlIHBsdWdpbnMgaW4gZXh0IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0KS4gRml4ZXMgIzM2NjQ5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleS5zY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgICogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgQWRkIFZTOCBwcm9qZWN0IGZpbGVzIChub3RlIHRoYXQgbWFueSBvZiB0aGUgcGx1Z2lucyBpbiBleHQgYXJlCgkgIGRpc2FibGVkIGJ5IGRlZmF1bHQpLiBGaXhlcyAjMzY2NDkyLgoKMjAwNi0xMS0xMCAxOToxODozMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOiBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMDYtMTEtMTAgMTg6NTE6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgoyMDA2LTExLTEwIDA4OjA5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IHdlIGRvIG5vdCB0cmFuc2xhdGUgZGVidWcgbWVzc2FnZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIHdlIGRvIG5vdCB0cmFuc2xhdGUgZGVidWcgbWVzc2FnZXMKCjIwMDYtMTEtMDggMTI6MDQ6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IGZpeCBjYXRlZ29yaXNhdGlvbiwgbWFrZSBzaG9ydCBkZXNjIG1vcmUgZXhwbGljaXQsIHJlbW92ZSB1bnVzZWQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jbGFzc19pbml0KToKCSAgZml4IGNhdGVnb3Jpc2F0aW9uLCBtYWtlIHNob3J0IGRlc2MgbW9yZSBleHBsaWNpdCwgcmVtb3ZlIHVudXNlZCBjb2RlCgkgIEZpeGVzICMzNzIwMjEKCjIwMDYtMTEtMDggMDE6MzA6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBGaXggZWxlbWVudCBkZXNjcmlwdGlvbnMuCgoyMDA2LTExLTA4IDAxOjI5OjUxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogRml4IGRlc2NyaXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IGRlc2NyaXB0aW9uLgoJICBTbWFsbCBjbGVhbnVwIGluIHRoZSBwYXlsb2FkZXIuCgoyMDA2LTExLTA4IDAxOjI4OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwLzogQWRkIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc3dpdGNoX2NvZGVib29rKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3RoZW9yYV9wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBBZGQgdGhlb3JhIHBheS9kZXBheWxvYWRlcnMuCgoyMDA2LTExLTA3IDAxOjQzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBXZSBkZXBlbmQgb24gZ3N0dGFnIHRvIGdlbmVyYXRlIHRoZSB2b3JiaXMgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIFdlIGRlcGVuZCBvbiBnc3R0YWcgdG8gZ2VuZXJhdGUgdGhlIHZvcmJpcyBjb21tZW50cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc3dpdGNoX2NvZGVib29rKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgUGFyc2UgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGRlcGF5bG9hZGVyLgoJICBJbXBsZW1lbnQgc2VsZWN0aW5nIGFuZCBzd2l0Y2hpbmcgdG8gYSBuZXcgY29kZWJvb2suCgkgIFJlY2VpdmluZyB2b3JiaXMgb3ZlciBSVFAgbm93IHdvcmtzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYW5kIFJUUCBwYWNrZXRzLgoJICBGaXggY29uZmlndXJhdGlvbiBzdHJpbmcsIHByZXBlbmQgbnVtYmVyIG9mIFBhY2tldCBoZWFkZXJzLgoJICBGaXggZW5jb2Rpbmcgb2YgaWRlbnQgc3RyaW5nLgoJICBBZGQgZGVsaXZlcnktbWV0aG9kIHRvIGNhcHMuCgkgIFN0cmVhbWluZyB2b3JiaXMgb3ZlciBSVFAgbm93IHdvcmtzLgoKMjAwNi0xMS0wNiAyMDo1MjoxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuKjogR2VuZXJhdGUgYSB2YWxpZCBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgY2FwcyBiYXNlZCBvbiB0aGUgdm9yYmlzIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMpLCAoZ3N0X3J0cF92b3JiaXNfcGF5X3BhcnNlX2lkKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJICBHZW5lcmF0ZSBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBjYXBzIGJhc2VkIG9uIHRoZQoJICB2b3JiaXMgaGVhZGVycy4KCjIwMDYtMTEtMDIgMjA6MTM6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5IGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeQoJICBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjk1MzkpLgoKMjAwNi0xMS0wMiAxNDo0MzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvLzogTW92ZSBDRC1URVhUIHV0aWxpdHkgZnVuY3Rpb24gaW50byBjb21tb24gZmlsZSBzbyBpdCBjYW4gYWxzbyBiZSB1c2VkIGJ5IGEgZnV0dXJlIGNkaW9wYXJhbm9pYXNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fZ2V0X2NkdGV4dCk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19vcGVuKToKCSAgTW92ZSBDRC1URVhUIHV0aWxpdHkgZnVuY3Rpb24gaW50byBjb21tb24gZmlsZSBzbyBpdCBjYW4gYWxzbyBiZQoJICB1c2VkIGJ5IGEgZnV0dXJlIGNkaW9wYXJhbm9pYXNyYy4KCjIwMDYtMTEtMDEgMTk6NDg6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSW1wcm92ZWQgY29tbWVudHMgaW4gRUxFTUVOVF9FUlJPUi9XQVJOSU5HIGFuZCBhZGRlZCAiI2lmIDAiIHRvIHhvdmVybGF5IGNvZGUgdGhhdCBpcyBzdGlsbCBub3QgaW1wbGVtZW50ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbXByb3ZlZCBjb21tZW50cyBpbiBFTEVNRU5UX0VSUk9SL1dBUk5JTkcgYW5kIGFkZGVkICIjaWYgMCIgdG8geG92ZXJsYXkgY29kZSB0aGF0IGlzIHN0aWxsIG5vdCBpbXBsZW1lbnRlZC4KCjIwMDYtMTEtMDEgMTM6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogV2UgcmVxdWlyZSBhIC1iYXNlIG1vcmUgcmVjZW50IHRoYW4gMC4xMC45LCBzbyBpdCdzIHNhZmUgdG8gdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfcGljdHVyZV9mcmFtZSk6CgkgIFdlIHJlcXVpcmUgYSAtYmFzZSBtb3JlIHJlY2VudCB0aGFuIDAuMTAuOSwgc28gaXQncyBzYWZlIHRvIHVzZQoJICBHU1RfVFlQRV9UQUdfSU1BR0VfVFlQRSB1bmNvbmRpdGlvbmFsbHkgbm93LgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KToKCSAgVXNlIF9uZXdzZWdtZW50X2Z1bGwoKSBub3cgdGhhdCB3ZSBkZXBlbmQgb24gYSByZWNlbnQgZW5vdWdoIGNvcmUuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFJlbW92ZSBjcnVmdCB0aGF0IHdlIGRvbid0IG5lZWQgYW55IGxvbmdlciBub3cgdGhhdCB3ZSBkZXBlbmQgb24KCSAgYSByZWNlbnQgZW5vdWdoIC1iYXNlLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMC0zMSAxMDo1MjozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggYW5kIGFjdGl2YXRlIElMQkMgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICMzNjgxNjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X2luaXQpLAoJICAoZ3N0X3J0cGlsYmNwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBhbmQgYWN0aXZhdGUgSUxCQyBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzM2ODE2Mi4KCjIwMDYtMTAtMzEgMTA6MzE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgoyMDA2LTEwLTMxIDA5OjQ0OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IFNvbWUgc21hbGwgY2xlYW51cHMsIHVzZSBfc2NhbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlcik6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMsIHVzZSBfc2NhbGUuCgoyMDA2LTEwLTMxIDA5OjI5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2UgaGlnaGVyIHByZWNpc2lvbiBzY2FsZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgVXNlIGhpZ2hlciBwcmVjaXNpb24gc2NhbGUgZnVuY3Rpb24uCgoyMDA2LTEwLTMwIDE2OjE4OjE4ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IHNldmVyYWwgaXNzdWVzIHdpdGggZW5jb2RlZC9jb21wcmVzc2VkL2VuY3J5cHRlZC9zaWduZWQgdHJhY2tzOyBhbHNvLCByZW1vdmUgc3VwZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IGl0b25pcyB0dj4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKToKCSAgRml4IHNldmVyYWwgaXNzdWVzIHdpdGggZW5jb2RlZC9jb21wcmVzc2VkL2VuY3J5cHRlZC9zaWduZWQgdHJhY2tzOwoJICBhbHNvLCByZW1vdmUgc3VwZXJmbHVvdXMgbmV3bGluZSBjaGFyYWN0ZXJzIGZyb20gc29tZSBkZWJ1ZwoJICBzdGF0ZW1lbnRzLiAoIzM2NjE1NSkKCjIwMDYtMTAtMzAgMDk6MjQ6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy86IFZhcmlvdXMgY2xlYW51cHMsIGNhcHNuZWdvIGFuZCBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19nZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Ntb2tlZGVjX2luaXQpLCAoZ3N0X3Ntb2tlZGVjX2ZpbmFsaXplKSwgKGdzdF9zbW9rZWRlY19jaGFpbiksCgkgIChnc3Rfc21va2VkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Ntb2tlZW5jX2luaXQpLCAoZ3N0X3Ntb2tlZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19yZXN5bmMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Ntb2tlZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgVmFyaW91cyBjbGVhbnVwcywgY2Fwc25lZ28gYW5kIGxlYWsgZml4ZXMuCgoyMDA2LTEwLTMwIDA4OjE3OjA4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggdmlkZW9taXhlciBzbyB0aGF0IGl0IGNhbiBoYW5kbGUgYW55IGNvbWJpbmF0aW9uIG9mIGZyYW1lcmF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyk6CgkgIEZpeCB2aWRlb21peGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBhbnkgY29tYmluYXRpb24gb2YgZnJhbWVyYXRlcy4KCSAgRml4ZXMgIzM2NzIyMS4KCjIwMDYtMTAtMjggMTY6Mzc6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBwb3NpdGlvbiBxdWVyeSBmb3IgYXVkaW8uIGFsc28gZml4ZXMgdGltZXN0YW1wcyBpbiBzdHJlYW1pbmcgbW9kZSBhbmQgYnVnICMzNjQ5NTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luaXRfcHVzaCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhaW4pOgoJICBGaXggcG9zaXRpb24gcXVlcnkgZm9yIGF1ZGlvLiBhbHNvIGZpeGVzIHRpbWVzdGFtcHMgaW4gc3RyZWFtaW5nCgkgIG1vZGUgYW5kIGJ1ZyAjMzY0OTU4LgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTAtMjcgMTc6MTA6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy4qOiBGaXggc3RyaWRlcy4gRml4ZXMgIzM2NDg1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfc2V0Y2FwcyksIChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBGaXggc3RyaWRlcy4gRml4ZXMgIzM2NDg1Ni4KCSAgQ2xlYW51cCBjYXBzbmVnby4KCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDYtMTAtMTggMTc6MDY6MjEgKzAwMDAgIFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoKCSAgZ3N0L3J0cC86IEFkZCBzdGF0aWMgcGF5bG9hZCBudW1iZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkeW5hbWljIG9uZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlsbGUgU3lyamFsYSA8dmlsbGUgZG90IHN5cmphbGEgYXQgbW92aWFsIGRvdCBmaT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2ZsdXNoKToKCSAgQWRkIHN0YXRpYyBwYXlsb2FkIG51bWJlcnMgaW4gYWRkaXRpb24gdG8gdGhlIGR5bmFtaWMgb25lcy4KCSAgRml4ZXMgIzM2MTYzOS4KCjIwMDYtMTAtMTggMTY6MTg6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJldXNlIGFscmVhZHkgZXhpc3RpbmcgZW51bSBmb3IgbG93ZXIgdHJhbnNwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9sb3dlcl90cmFuc19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgUmV1c2UgYWxyZWFkeSBleGlzdGluZyBlbnVtIGZvciBsb3dlciB0cmFuc3BvcnQuCgkgIEFkZCBydHNwdCBhbmQgcnRzcHUgcHJvdG9jb2xzLgoJICBTZW5kIHJlZGlyZWN0IHRvIHJ0c3B0IHdoZW4gdWRwIHRpbWVzIG91dC4KCjIwMDYtMTAtMTggMTQ6MDA6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IHNlZWtpbmcgc29tZSBtb3JlLCBtb3N0bHkgZm9yIHNwZWVkIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBGaXggc2Vla2luZyBzb21lIG1vcmUsIG1vc3RseSBmb3Igc3BlZWQgY2hhbmdlcy4KCjIwMDYtMTAtMTggMTE6Mjg6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggRnJlZHJpaydzIGUtbWFpbCBhZGRyZXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IEZyZWRyaWsncyBlLW1haWwgYWRkcmVzcwoKMjAwNi0xMC0xOCAxMTowNDowOSArMDAwMCAgRnJlZHJpayBQZXJzc29uIDxmcmVwZUBicm9hZGJhbmQubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLio6IEZpeCBfc2V0X2NoYW5uZWwoKTogcmVtb3ZlIHVzZWxlc3MgZ19vYmplY3Rfbm90aWZ5KCkgZm9yICJjaGFubmVsIiBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZHJpayBQZXJzc29uICA8ZnJlcGUgYXQgYnJvYWRiYW5kIG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgRml4IF9zZXRfY2hhbm5lbCgpOiByZW1vdmUgdXNlbGVzcyBnX29iamVjdF9ub3RpZnkoKSBmb3IgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGlzdCBhbnkgbG9uZ2VyIGFuZCB0aGVyZWZvcmUgbm93IGFsc28KCSAgdXNlbGVzcyByZWRpcmVjdCAoIzMzODgxOCkuCgoyMDA2LTEwLTE3IDE1OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NyZWF0ZV9wYWRzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgoyMDA2LTEwLTE3IDE0OjU3OjE3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYyB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLCAocXRkZW11eF90YWdfYWRkX2RhdGUpLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpOgoJICBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYwoJICB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxNDozNzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBTb21lIGRyaXZlcnMgZG8gbm90IHN1cHBvcnQgdW5zZXR0aW5nIHRoZSBub24tYmxvY2tpbmcgZmxhZyBvbmNlIHRoZSBkZXZpY2UgaXMgb3BlbmVkLiBJbiB0aG9zZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgU29tZSBkcml2ZXJzIGRvIG5vdCBzdXBwb3J0IHVuc2V0dGluZyB0aGUgbm9uLWJsb2NraW5nIGZsYWcgb25jZSB0aGUKCSAgZGV2aWNlIGlzIG9wZW5lZC4gSW4gdGhvc2UgY2FzZXMsIGNsb3NlL29wZW4gdGhlIGRldmljZSBpbgoJICBub24tYmxvY2tpbmcgbW9kZS4gRml4ZXMgIzM2MjY3My4KCjIwMDYtMTAtMTcgMTM6NDQ6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogZGVhciBzdGVmYW4sIGZyYW1lc3BlcnNlY29uZCBpcyBub3QgZnJhbWVwZXJpb2QsIHJldmVydGluZyBidXQgYWRkaW5nIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgZGVhciBzdGVmYW4sIGZyYW1lc3BlcnNlY29uZCBpcyBub3QgZnJhbWVwZXJpb2QsIHJldmVydGluZyBidXQgYWRkaW5nCgkgIGNvbW1lbnQKCjIwMDYtMTAtMTcgMTE6Mjg6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogTnVtZXJhdG9yIGlzIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgaXMgZGVub21pbmF0b3IuIFNheSB0aGF0IGFsb3VkIDUgdGltZXMgYW5kIHJldHJ5IGFmdGVyIG5leHQgYmVlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgTnVtZXJhdG9yIGlzIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3IgaXMgZGVub21pbmF0b3IuIFNheSB0aGF0IGFsb3VkCgkgIDUgdGltZXMgYW5kIHJldHJ5IGFmdGVyIG5leHQgYmVlci4KCjIwMDYtMTAtMTcgMTA6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCjIwMDYtMTAtMTYgMTg6MjI6NDcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBGaXggYSBidW5jaCBvZiBwcm9ibGVtcyBkaXNjb3ZlcmVkIGJ5IHRoZSBGb3J0ZSBjb21waWxlciwgbW9zdGx5IHR5cGUgbWl4dXBzIGFuZCBwb2ludGVyIGFyaXRobWV0aWNzIHdpdGggdm9pZCBwb2ludGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbGVuZ3RoKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY19jaGFpbiksCgkgIChnc3RfZmxhY19kZWNfc2VuZF9uZXdzZWdtZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfdGVsbF9jYWxsYmFjayk6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5jOiAoZmluZF9iZXN0X3NpemUpLCAoc21va2Vjb2RlY19lbmNvZGUpLAoJICAoc21va2Vjb2RlY19wYXJzZV9oZWFkZXIpLCAoc21va2Vjb2RlY19kZWNvZGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF93cml0ZV9hdml4X2luZGV4KToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZmVuY2VkX2J1ZmZlcl9hbGxvYyk6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3JlYWQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgIEZpeCBhIGJ1bmNoIG9mIHByb2JsZW1zIGRpc2NvdmVyZWQgYnkgdGhlIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgdHlwZQoJICBtaXh1cHMgYW5kIHBvaW50ZXIgYXJpdGhtZXRpY3Mgd2l0aCB2b2lkIHBvaW50ZXJzLiBGaXhlcyAjMzYyNjAzLgoKMjAwNi0xMC0xMyAxNDo0NToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogUm91bmQgdXAgbm90IGFsbG93ZWQgYml0cmF0ZXMgdG8gdGhlIG5leHQgaGlnaGVyIGFsbG93ZWQgb25lIChDbG9zZXM6ICMzNjExNDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zZXRfcHJvcGVydHkpOgoJICBSb3VuZCB1cCBub3QgYWxsb3dlZCBiaXRyYXRlcyB0byB0aGUgbmV4dCBoaWdoZXIgYWxsb3dlZCBvbmUKCSAgKENsb3NlczogIzM2MTE0MCkuCgoyMDA2LTEwLTEzIDE0OjE5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGRvY3MgZm9yIGxhbWUgYW5kIGxhbWUgdG8gZG9jcy4gU3BlY2lmeSBhbGxvd2VkIGJpdHJhdGVzIGluIHRoZSBwcm9wZXJ0aWVzIGRlc2NyaXB0aW9uICgjMzYxMTQwKS4gQ2Fub25pY2FsaXNlIG9iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtdWdseS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtdWdseS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEFkZCBkb2NzIGZvciBsYW1lIGFuZCBsYW1lIHRvIGRvY3MuIFNwZWNpZnkgYWxsb3dlZCBiaXRyYXRlcwoJICBpbiB0aGUgcHJvcGVydGllcyBkZXNjcmlwdGlvbiAoIzM2MTE0MCkuIENhbm9uaWNhbGlzZSBvYmplY3QKCSAgcHJvcGVydHkgbmFtZXMgKGllLiB1c2UgaHlwaGVuIGluc3RlYWQgb2YgdW5kZXJzY29yZSkuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWE1MmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcm5iLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkbHBjbWRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHJlYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzdWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZWM5NTgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnYXVkaW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdzdHJlYW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaWRkZWMueG1sOgoJICBVcGRhdGUgdmVyc2lvbiB0byBDVlMuCgoyMDA2LTEwLTEzIDEwOjAwOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGkxOG4gbWFnaWMgdG8gbGFtZSBwbHVnaW4uIFRocm93IGRlY2VudCBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZmFpbCB0byBzZXR1cCB0aGUgZW5jb2RlciAoIzM2MTE0MCwgMzYxMTUxKTsgbWlzYy4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbGFtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX2NoYWluKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIGkxOG4gbWFnaWMgdG8gbGFtZSBwbHVnaW4uIFRocm93IGRlY2VudCBlcnJvciBtZXNzYWdlIHdoZW4gd2UKCSAgZmFpbCB0byBzZXR1cCB0aGUgZW5jb2RlciAoIzM2MTE0MCwgMzYxMTUxKTsgbWlzYy4gbWlub3IgY2xlYW4tdXBzLgoKMjAwNi0xMC0xMiAxOTowMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC86IE1pc2NlbGxhbmVvdXMgY2xlYW4tdXBzLCBhbW9uZyBvdGhlciB0aGluZ3M6IHNwZWV4ZW5jID0+IGVuYyB0byBlbmhhbmNlIGNvZGUgcmVhZGFiaWxpdHk7IGNoYW5nZSBzcGVleGVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZ2V0X2Zvcm1hdHMpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXR1cF9pbnRlcmZhY2VzKSwgKGdzdF9zcGVleF9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVleF9lbmNfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9zcGVleF9lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9zcGVleF9lbmNfY29udmVydF9zcmMpLAoJICAoZ3N0X3NwZWV4X2VuY19jb252ZXJ0X3NpbmspLCAoZ3N0X3NwZWV4X2VuY19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3NwZWV4X2VuY19zcmNfcXVlcnkpLCAoZ3N0X3NwZWV4X2VuY19zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9zcGVleF9lbmNfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfbGFzdF9tc2cpLCAoZ3N0X3NwZWV4X2VuY19zZXR1cCksCgkgIChnc3Rfc3BlZXhfZW5jX2J1ZmZlcl9mcm9tX2RhdGEpLCAoZ3N0X3NwZWV4X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9oZWFkZXJfb25fY2FwcyksIChnc3Rfc3BlZXhfZW5jX3NpbmtldmVudCksCgkgIChnc3Rfc3BlZXhfZW5jX2NoYWluKSwgKGdzdF9zcGVleF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVleF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgTWlzY2VsbGFuZW91cyBjbGVhbi11cHMsIGFtb25nIG90aGVyIHRoaW5nczogc3BlZXhlbmMgPT4gZW5jIHRvCgkgIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eTsgY2hhbmdlIHNwZWV4ZW5jID0+IHNwZWV4X2VuYzsgaW4gY2hhaW4KCSAgZnVuY3Rpb24gdW5yZWYgaW5wdXQgYnVmZmVyIGluIGNhc2Ugb2YgZXJyb3I7IHRha2UgcmVmZXJlbmNlIGluCgkgIGV2ZW50IGZ1bmN0aW9uOyB1c2UgYm9pbGVycGxhdGUgbWFjcm87IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKgoJICBjb252ZW5pZW5jZSBmdW5jdGlvbnMuCgoyMDA2LTEwLTEyIDE4OjM1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEZpeCBzb21lIG1lbSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZmluYWxpemUpLAoJICAoZ3N0X3NwZWV4ZW5jX3NldF9sYXN0X21zZyksIChnc3Rfc3BlZXhlbmNfc2V0dXApLAoJICAoZ3N0X3NwZWV4ZW5jX3NldF9oZWFkZXJfb25fY2Fwcyk6CgkgIEZpeCBzb21lIG1lbSBsZWFrcy4KCjIwMDYtMTAtMTEgMTY6MjE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGRlZCBzb21lIG90aGVyIFVSTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkZWQgc29tZSBvdGhlciBVUkwuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFdvcmsgb24gZmFsbGJhY2sgdG8gVENQIGNvbm5lY3Rpb24gd2hlbiB0aGUgVURQIHNvY2tldCB0aW1lcyBvdXQuCgkgIEhhbmRsZXIgc2VydmVyIHJlcXVlc3RzLCBqdXN0IHJlcGx5IHdpdGggT0sgZm9yIG5vdy4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZGVkIHNvbWUgbW9yZSBSZWFsIGV4dGVuc2lvbiBoZWFkZXJzLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgRml4IHBhcnNpbmcgb2YgdXJscyB3aXRoIGEgJzonIHRoYXQgaXMgbm90IHBhcnQgb2YgdGhlIGhvc3RuYW1lOnBvcnQKCSAgcGFydCBvZiB0aGUgdXJsLgoKMjAwNi0xMC0xMSAxMzo0OToyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoKMjAwNi0xMC0xMSAxMzoyNDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBhbHJlYWR5LXJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9hZGRfc3JjcGFkKToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9hZGRfc3JjcGFkKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGFscmVhZHktcnVubmluZyBlbGVtZW50LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBuZXdseS1jcmVhdGVkIHBhZCB0b28uCgoyMDA2LTEwLTExIDA4OjM0OjE0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBGaXggc29tZSBsZWFrcyBpbiBjYXBzIGFuZCB1cmlzLiBGaXhlcyAjMzYxMjUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MiBhdCB5YWhvbyBkb3QgY2E+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2ZpbmFsaXplKSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3VyaSksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgRml4IHNvbWUgbGVha3MgaW4gY2FwcyBhbmQgdXJpcy4gRml4ZXMgIzM2MTI1Mi4KCjIwMDYtMTAtMTAgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlICJfc3RkaW50LmgiLgoKMjAwNi0xMC0xMCAwOTo1NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBQYXJzZSBSVFNQIHJlZGlyZWN0aW9uIFVSTFMuCgoyMDA2LTEwLTEwIDA4OjI5OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOiBGaXggY29weSduJ3Bhc3RlLW8gKHNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cywgIzM0MTQ4OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgRml4IGNvcHknbidwYXN0ZS1vIChzcG90dGVkIGJ5IE1hcmsgTmF1d2VsYWVydHMsICMzNDE0ODkpLgoKMjAwNi0xMC0wOSAwNzowMToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuKjogRml4IGJ1aWxkIGFzIHBlciB0aGUgcGF0Y2ggaW4gIzMzODgxOCBjb21tZW50IDM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgRml4IGJ1aWxkIGFzIHBlciB0aGUgcGF0Y2ggaW4gIzMzODgxOCBjb21tZW50IDM2LgoKMjAwNi0xMC0wOCAyMDowNToxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgIGluc3BlY3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaW5zcGVjdCB1cGRhdGVzCgoyMDA2LTEwLTA3IDIxOjE1OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byB0aGUgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHRoZSBzb3VyY2UuCgoyMDA2LTEwLTA3IDExOjM3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgoyMDA2LTEwLTA2IDE3OjAwOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpLCAoZ3N0X2R2ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9hZGRfc3JjcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoKMjAwNi0xMC0wNiAxNjowMzoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgIEJPSUxFUlBMQVRFIHNldHMgcGFyZW50X2NsYXNzIGZvciB1cy4KCjIwMDYtMTAtMDYgMTU6NTY6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2FuYWx5c2lzX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlciksIChidXR0ZXJfZmlsdGVyKSwKCSAgKGFwcGx5X2ZpbHRlcnMpLCAocmVzZXRfZmlsdGVycyksIChhY2N1bXVsYXRvcl9hZGQpLAoJICAoYWNjdW11bGF0b3JfY2xlYXIpLCAoYWNjdW11bGF0b3JfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX25ldyksCgkgIChyZ19hbmFseXNpc19zZXRfc2FtcGxlX3JhdGUpLCAocmdfYW5hbHlzaXNfZGVzdHJveSksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2ludDE2KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2ludDE2KSwgKHJnX2FuYWx5c2lzX2FuYWx5emUpLAoJICAocmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksCgkgIChyZ19hbmFseXNpc19yZXNldF9hbGJ1bSksIChyZ19hbmFseXNpc19yZXNldCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGdldF9leHBlY3RlZF9nYWluKSwKCSAgKHNldHVwX3JnYW5hbHlzaXMpLCAoY2xlYW51cF9yZ2FuYWx5c2lzKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHBvbGxfZW9zKSwgKHBvbGxfdGFncyksCgkgIChmYWlsX3VubGVzc190cmFja19nYWluKSwgKGZhaWxfdW5sZXNzX3RyYWNrX3BlYWspLAoJICAoZmFpbF91bmxlc3NfYWxidW1fZ2FpbiksIChmYWlsX3VubGVzc19hbGJ1bV9wZWFrKSwKCSAgKGZhaWxfaWZfdHJhY2tfdGFncyksIChmYWlsX2lmX2FsYnVtX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfbnVtX3RyYWNrcyksICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pLCAocHVzaF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocmdhbmFseXNpc19zdWl0ZSksIChtYWluKToKCSAgVW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyByZXBsYXlnYWluIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDE1OjQ5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBldmVyIGlnbm9yZSB1bmxpbmtlZCwgd2UncmUgbm90IGEgZGVtdXhlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDEyOjU1OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBSZXdvcmsgaG93IHRoZSB0cmFuc3BvcnQgc3RyaW5nIGlzIGNvbnN0cnVjdGVkLCB0cnkgdG8gc2hhcmUgY2hhbm5lbHMgYW5kIHVkcCBwb3J0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19hbGxvY191ZHBfcG9ydHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJld29yayBob3cgdGhlIHRyYW5zcG9ydCBzdHJpbmcgaXMgY29uc3RydWN0ZWQsIHRyeSB0byBzaGFyZSBjaGFubmVscwoJICBhbmQgdWRwIHBvcnRzLgoJICBNYWtlIG1vc3Qgb2YgdGhlIHN0dWZmIGxlc3MgZGVwZW5kYW50IG9uIFJUUCBhcyB3ZSBhcmUgYWxzbyBnb2luZyB0byB1c2UKCSAgaXQgZm9yIFJEVC4KCSAgQWRkIHN1cHBvcnQgZm9yIHRyYW5zcG9ydCBzcGVjaWZpYyBzZXNzaW9uIG1hbmFnZXJzLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fZmx1c2gpOgoJICBJbXBsZW1lbnQgX2ZsdXNoKCkuCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgZ2VuZXJpYyBlcnJvciByZXR1cm4gY29kZS4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBwbHVnZ2FibGUgdHJhbnBvcnQgc3RyaW5ncy4KCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYmVmb3JlX3NlbmQpLAoJICAocnRzcF9leHRfd21zX2FmdGVyX3NlbmQpLCAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICBEZXRlY3QgV01TZXJ2ZXIgYW5kIGFjdGl2YXRlIHRoZSBleHRlbnNpb24uCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfZ2V0X21pbWUpLAoJICAocnRzcF90cmFuc3BvcnRfZ2V0X21hbmFnZXIpLCAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkZWQgbWV0aG9kcyB0byBnZXQgbWltZS9tYW5hZ2VyIGZvciBjZXJ0YWluIHRyYW5zcG9ydHMuCgoyMDA2LTEwLTA2IDExOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCjIwMDYtMTAtMDYgMDI6Mjk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUKCSAgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoKMjAwNi0xMC0wNSAxODoxNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fc2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA1IDE2OjM3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgIChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCk6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3BhcnNlX2ltYWdlX2RhdGEpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9lbmRyb3dfY2FsbGJhY2spOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3VwZXJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6IChnc3RfZWZlbmNlX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9jb3B5KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA0IDIyOjM3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4IHBhc3N0aHJvdWdoIG1vZGU7IGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX3NpbXBsZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvY3JvcF9jbGVhcl9uZWdvdGlhdGVkX2NhcHNfbG9ja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4CgkgIHBhc3N0aHJvdWdoIG1vZGU7IGxhc3RseSwgY2xlYXIgbmVnb3RpYXRlZCBiYXNldHJhbnNmb3JtIGNhcHMgd2hlbgoJICB0aGUgY3JvcHBpbmcgY2hhbmdlcyBpbiBvcmRlciB0byBmb3JjZSByZW5lZ290aWF0aW9uLgoKMjAwNi0xMC0wNCAyMDowNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodCB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChxdWl0X21haW5sb29wKSwgKHRpY2tfY2IpLAoJICAodGVzdF93aXRoX2NhcHMpLCAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwgKG1haW4pOgoJICBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHVua25vd24KCSAgcmVhc29ucyAoYW5vdGhlciBiYXNldHJhbnNmb3JtIGlzc3VlPykKCjIwMDYtMTAtMDQgMTc6NTM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9NYWtlZmlsZS5hbTogRGlzdCBuZXcgLmggZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBEaXN0IG5ldyAuaCBmaWxlIHRvby4KCjIwMDYtMTAtMDQgMTc6MjQ6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEZhY3RvciBvdXQgZXh0ZW5zaW9uIGluIHNlcGFyYXRlIG1vZHVsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldGNhcHMpLAoJICAoZ3N0X3J0cGRlY19jaGFpbl9ydHApLCAoZ3N0X3J0cGRlY19jaGFpbl9ydGNwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfaW5pdCksIChwYXJzZV9tb2RlKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEZhY3RvciBvdXQgZXh0ZW5zaW9uIGluIHNlcGFyYXRlIG1vZHVsZS4KCSAgRml4IGdldGNhcHMgdG8gZmlsdGVyIGFnYWluc3QgdGhlIHBhZHRlbXBsYXRlLgoJICBVc2UgQ29udGVudC1CYXNlIGlmIHRoZSBzZXJ2ZXIgZ2l2ZXMgb25lLgoJICBSZXdvcmsgdGhlIHRyYW5zcG9ydCBwYXJzaW5nIGEgYml0IGZvciBmdXR1cmUgZXh0ZW5zaW9ucy4KCSAgQWRkZWQgc29tZSBSZWFsIEhlYWRlciBmaWVsZCBkZWZpbml0aW9ucy4KCjIwMDYtMTAtMDQgMTA6Mjk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkZWQgdjRsMiBzdHVicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZGVkIHY0bDIgc3R1YnMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCB2NGwyCgoyMDA2LTEwLTA0IDEwOjI0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBFeHRyYWN0IGRpc2MvYWxidW0vbWVkaXVtIG51bWJlciBhbmQgY291bnQgYW5kIHRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0cmFjayBudW1iZXIvY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9wYXJzZV90YWdzKToKCSAgRXh0cmFjdCBkaXNjL2FsYnVtL21lZGl1bSBudW1iZXIgYW5kIGNvdW50IGFuZCB0cnkgaGFyZGVyCgkgIHRvIGV4dHJhY3QgdHJhY2sgbnVtYmVyL2NvdW50LgoKMjAwNi0xMC0wMyAxODozNjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMTAtMDMgMTg6MzU6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGFkZCBpY2xlIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgaWNsZSBmb3IgdjRsMgoKMjAwNi0xMC0wMyAxODoxNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgYnVpbGQgc3R1ZmYgZm9yIHY0bDIsIG5lZWRzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCB1bnRpbCB0aGUgbGFzdCBiaXRzIGFyZSByZXNvbHZlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBhZGQgYnVpbGQgc3R1ZmYgZm9yIHY0bDIsIG5lZWRzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCB1bnRpbAoJICB0aGUgbGFzdCBiaXRzIGFyZSByZXNvbHZlZAoKMjAwNi0xMC0wMyAxMzo0NzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoKMjAwNi0xMC0wMyAxMzozMDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgIGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIKCSAgaW50ZXJmYWNlLgoKMjAwNi0xMC0wMyAxMzoxODo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0wMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMC0wMiAxNjoxNDowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBzdG9wIHJlbW92aW5nIGdka3BpeGJ1ZiBwbHVnaW4gZnJvbSBwYWNrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdG9wIHJlbW92aW5nIGdka3BpeGJ1ZiBwbHVnaW4gZnJvbSBwYWNrYWdlCgoyMDA2LTA5LTI5IDE1OjM5OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGF1dG9kZXRlY3QgdGVzdCB0ZW1wb3JhcmlseSwgc28gdGhhdCB0aGUgYnVpbGQgYm90cwoJICB1cGRhdGUgLWJhZCBhbmQgdGhlIHJhbmtzIG9mIHVucmVsaWFibGUgdmlkZW8gc2lua3MgaW4gdGhlcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTa2lwIHRlc3QgaWYgbm8gdXNhYmxlIHZpZGVvc2luayBpcyBmb3VuZC4KCjIwMDYtMDktMjkgMTU6Mzc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgc29tZSBtb3JlIFVSTHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBzb21lIG1vcmUgVVJMcy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCB0aW1lb3V0IHByb3BlcnR5IHRvIGNvbnRyb2wgVURQIHRpbWVvdXRzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIEFsc28gc3RhcnQgYSBsb29wIGZ1bmN0aW9uIHdoZW4gb3BlcmF0aW5nIGluIFVEUCBtb2RlIHNvIHRoYXQgd2UgY2FuCgkgIGRvIHNvbWUgbW9yZSBzdHVmZiBhc3luYy4KCSAgSGFuZGxlIGVsZW1lbnQgbWVzc2FnZXMgZnJvbSB1ZHBzcmMgdG8gZGV0ZWN0IHRpbWVvdXRzLiBJZiBhIHRpbWVvdXQKCSAgaGFwcGVucyB3ZSBjdXJyZW50bHkgZ2VuZXJhdGUgYW4gZXJyb3IuCgkgIEFQSTogcnRzcHNyYzo6dGltZW91dCBwcm9wZXJ0eS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgUmVhbGx5IGltcGxlbWVudCB0aGUgdGltZW91dCBpbiBtaWNyb3NlY29uZHMgYW5kIG5vdCBtaWxsaXNlY29uZHMuCgoyMDA2LTA5LTI5IDExOjA5OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkZWQgcHJvcGVydHkgdG8gcG9zdCBhIG1lc3NhZ2Ugb24gdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY191bmxvY2spLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGRlZCBwcm9wZXJ0eSB0byBwb3N0IGEgbWVzc2FnZSBvbiB0aW1lb3V0LgoJICBVcGRhdGVkIGRvY3MuCgkgIFdoZW4gcmVzdGFydGluZyB0aGUgc2VsZWN0LCBpbml0aWFsaXplIHRoZSBmZHNldHMgYWdhaW4uCgkgIEluaXQgY29udHJvbCBzb2NrZXRzIHNvIHdlIGRvbid0IGFjY2lkZW50YWxseSBjbG9zZSBhIHJhbmRvbSBzb2NrZXQuCgkgIEFQSTogR3N0VURQU3JjOjp0aW1lb3V0IHByb3BlcnR5CgoyMDA2LTA5LTI5IDA4OjE1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggZmxhZyByZWdpc3RyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX3Byb3RvX2dldF90eXBlKToKCSAgRml4IGZsYWcgcmVnaXN0cmF0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgIFJlYWRpbmcgMCBhbHNvIG1lYW5zICdubyBtb3JlIGNvbW1hbmRzJwoKMjAwNi0wOS0yOSAwODowOToyNCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIHdoZW4gc2h1dHRpbmcgZG93biwgYSByZWFkIGNhbiBhbHNvIHJldHVybiAwIHRvIGluZGljYXRlIG5vIG1vcmUgbWVzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIEZpeCBwb3NzaWJsZSBpbmZpbml0ZSBsb29wIHdoZW4gc2h1dHRpbmcgZG93biwgYSByZWFkIGNhbiBhbHNvIHJldHVybgoJICAwIHRvIGluZGljYXRlIG5vIG1vcmUgbWVzc2FnZXMgYXJlIGF2YWlsYWJsZS4gRml4ZXMgIzM1ODE1Ni4KCjIwMDYtMDktMjggMTc6MDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2FsbF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBJbml0IGZyYW1lcmF0ZSB0byAwLzEgYmVmb3JlIHF1ZXJ5aW5nIGl0IHNvIHRoYXQgd2UgY2FuIGRldGVjdAoJICBkZXZpY2VzIHRoYXQgZG9uJ3Qga25vdyBhYm91dCBhIGZyYW1lcmF0ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW5mby4KCjIwMDYtMDktMjggMTQ6MzE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCjIwMDYtMDktMjcgMTc6NDc6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoKMjAwNi0wOS0yNyAxNzowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfY2hhbm5lbCksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X2NoYW5uZWwpLCAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfbm9ybSksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X25vcm1zKSwgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X25vcm0pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9lbXB0eV9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoKMjAwNi0wOS0yNyAxNjoxNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9zZXRfbm9ybSksCgkgIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9nZXRfaW5wdXQpLAoJICAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICAqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOiAobXlfYnVzX2NhbGxiYWNrKSwgKG1haW4pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBVc2UgbG9ja3Mgd2hlbiBnZXR0aW5nIHRpbWVzdGFtcHMuCgkgIEZpeCBsZWFrcyBpbiB0ZXN0LgoJICBBZGQgbGljZW5zaW5nIGhlYWRlciB0byB0ZXN0cy4KCjIwMDYtMDktMjcgMTU6MTQ6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA2LTA5LTI3IDEzOjQxOjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhdWRpb2Z4IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGF1ZGlvZnggcGx1Z2luCgoyMDA2LTA5LTI2IDE0OjE3OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICBGaXggZG9jcy4KCSAgUmVtb3ZlIHNvbWUgbW9yZSBleHRlcm5zLgoKMjAwNi0wOS0yNiAxMzoxODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfZGV2aWNlX2dldF90eXBlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBjb2Rpbmcgc3R5bGU6CgkgIC0gUmVtb3ZlIGV4dGVybiBmcm9tIGZ1bmN0aW9ucy4KCSAgLSBGaXggaGVhZGVyIGluZGVudGF0aW9uLgoJICBGaXggRmxhZ3MsIGFkZCBkZWZhdWx0cyBmb3IgcHJvcGVydGllcy4KCSAgUmVtb3ZlIHVudXNlZCBlbnVtcy4KCSAgRml4IFRPT19MQVpZIGluIGVycm9yIG1lc3NhZ2VzLgoKMjAwNi0wOS0yNiAxMTowNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X3Y0bDJfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSksIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3N0YXJ0KSwgKGdzdF92NGwyX29iamVjdF9zdG9wKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLCAoZ3N0X3Y0bDJfZ2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCksCgkgIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpLCAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwKCSAgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgoyMDA2LTA5LTI1IDEzOjU1OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBTbWFsbCBjbGVhbnVwcy4gZG9uJ3QgdHJ5IHRvIHNldCAic3luYyIgcHJvcGVydHkgd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgU21hbGwgY2xlYW51cHMuCgkgIGRvbid0IHRyeSB0byBzZXQgInN5bmMiIHByb3BlcnR5IHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZS4KCjIwMDYtMDktMjUgMTE6NDc6NDIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogSW5jbHVkZSBzdGRsaWIuaCBpbiBzb21lIG1vcmUgcGxhY2VzLCBtYWtlcyB0aGluZ3MgY29tcGlsZSB3aXRoIHVDbGliYyBhbmQgLVdlcnJvciAoIzM1NzU5MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggaW4gc29tZSBtb3JlIHBsYWNlcywgbWFrZXMgdGhpbmdzIGNvbXBpbGUKCSAgd2l0aCB1Q2xpYmMgYW5kIC1XZXJyb3IgKCMzNTc1OTIpLgoKMjAwNi0wOS0yNSAwOToxNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogb3VyIGNvZGUgc2hvdWxkIGhhbmRsZSB0aGF0IGZpbmUuIFNvbWUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGFwcGxlIHRyYWlsZXIgc2l0ZSBhcmUgYXBwYXJlbnRseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIFNldCBtaW5pbXVtIGhlaWdodCB0byA4IChmcm9tIDE2KSwgb3VyIGNvZGUgc2hvdWxkIGhhbmRsZQoJICB0aGF0IGZpbmUuIFNvbWUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGFwcGxlIHRyYWlsZXIgc2l0ZQoJICBhcmUgYXBwYXJlbnRseSBvbmx5IDE1IHBpeGVscyBoaWdoIChzZWUgIzM1NzQ3MCkuCgoyMDA2LTA5LTIzIDE1OjMxOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXByb3ZlIGVycm9yIHJlcG9ydGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3Bfc3RycmVzdWx0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBJbXByb3ZlIGVycm9yIHJlcG9ydGluZy4KCjIwMDYtMDktMjMgMTU6MzA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGtsYXNzIHR5cG9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wbHVnaW5faW5pdCk6CgkgIEZpeCBrbGFzcyB0eXBvcy4KCSAgTWFyayBSQU5LX01BUkdJTkFMLCBkZWNvZGViaW4gY2FuIGhhbmRsZSB0aGUgZGVwYXlsb2FkZXJzIGZpbmUuCgoyMDA2LTA5LTIyIDE3OjUzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBOZWVkICAtYmFzZSBDVlMgZm9yIGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF90cygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE5lZWQgIC1iYXNlIENWUyBmb3IgZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX3RzKCkuCgoyMDA2LTA5LTIyIDE3OjIyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCBjaGVjayBmb3IgYSB0YWcgdGhhdCBpcyBuZXZlciB0aGVyZSBhbmQgY2hlY2sgaWYgd2UgcmVhZCB0aGUgY29ycmVjdCB0YWcuIEZpeGVzIHNlZWtpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KToKCSAgRG9uJ3QgY2hlY2sgZm9yIGEgdGFnIHRoYXQgaXMgbmV2ZXIgdGhlcmUgYW5kIGNoZWNrIGlmIHdlIHJlYWQgdGhlCgkgIGNvcnJlY3QgdGFnLiBGaXhlcyBzZWVraW5nIGFnYWluLgoJICBXZSBtdXN0IHBvc3QgYW4gZXJyb3Igd2hlbiBhbGwgcGFkcyBhcmUgdW5saW5rZWQuCgoyMDA2LTA5LTIyIDE1OjE1OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE1vcmUgZml4YWdlLCBzZXQgZW5kb2Rlci1wYXJhbXMgY29ycmVjdGx5IGluIHRoZSBwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCksIChnc3RfcnRwX3ZvcmJpc19wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBNb3JlIGZpeGFnZSwgc2V0IGVuZG9kZXItcGFyYW1zIGNvcnJlY3RseSBpbiB0aGUgcGF5bG9hZGVyLgoKMjAwNi0wOS0yMiAxMjoxMjoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogTWFrZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBzdGF0aWMgdG8gYXBwZWFzZSB2YWxncmluZCdzIGxlYWsgZGV0ZWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgIE1ha2Ugc3RhdGljIHBhZCB0ZW1wbGF0ZXMgc3RhdGljIHRvIGFwcGVhc2UgdmFsZ3JpbmQncyBsZWFrCgkgIGRldGVjdG9yLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXV0b2RldGVjdF9zdWl0ZSk6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3IgdGhlIGdob3N0cGFkIGxvY2t1cCBvbiBzaHV0ZG93biBmaXhlZCBpbiBjb3JlCgkgIENWUyAoYXVkaW8gYml0IGRpc2FibGVkIGJlY2F1c2UgaXQgd291bGQgbmVlZCBkb3plbnMgb2YgYWxzYQoJICBzdXBwcmVzc2lvbnMgYW5kIEknbSB0b28gbGF6eSB0byBhZGQgdGhvc2Ugbm93KS4KCjIwMDYtMDktMjIgMTI6MDg6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2ZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NsYXNzX2luaXQpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOiAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX3ZvcmJpc19wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZsdXNoX3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIEFkZCBleHBlcmltZW50YWwgdm9yYmlzIHBheSBhbmQgZGVwYXlsb2FkZXJzLgoKMjAwNi0wOS0yMSAxMzozMzoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiBGaXggcHJvZmlsZS1sZXZlbC1pZCBwYXJzaW5nIGFuZCBzZXR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyk6CgkgIEZpeCBwcm9maWxlLWxldmVsLWlkIHBhcnNpbmcgYW5kIHNldHVwLgoKMjAwNi0wOS0yMSAwOTo1MDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvOiBVcGRhdGUgUkVBRE1FLCBzaW1wbGUgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9SRUFETUU6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgVXBkYXRlIFJFQURNRSwgc2ltcGxlIGNsZWFudXAuCgoyMDA2LTA5LTIxIDA5OjM1OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCBzb21lIGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRSB3aXRoIHNvbWUgZXhhbXBsZXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX3ZpZGVvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIE1ha2Ugb3B0aW9uYWwgUlRQIHBhcmFtZXRlcnMgb2YgdHlwZSBTVFJJTkcsIGFzIHJlcXVpcmVkIGJ5IHRoZQoJICBhcHBsaWNhdGlvbi94LXJ0cCBjYXBzIHNwZWNpZmljYXRpb24uCgoyMDA2LTA5LTIwIDE5OjM3OjQ1ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IENvcnJlY3RseSBjYWxjdWxhdGUgc2l6ZSBvZiBlYWNoIEgyNjMrIFJUUCBidWZmZXIgdGFraW5nIGludG8gYWNjb3VudCBNVFUgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgQ29ycmVjdGx5IGNhbGN1bGF0ZSBzaXplIG9mIGVhY2ggSDI2MysgUlRQIGJ1ZmZlciB0YWtpbmcgaW50byBhY2NvdW50IE1UVSBhbmQKCSAgUlRQIGhlYWRlci4KCjIwMDYtMDktMjAgMTY6NDE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL01ha2VmaWxlLmFtOiBBbmQgbWFrZWZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBBbmQgbWFrZWZpbGUgdG9vLgoKMjAwNi0wOS0yMCAxNjowOTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBwcmVsaW1pbmFyeSBBU0YgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhc2ZkZXBheS5jOiAoZ3N0X3J0cF9hc2ZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfaW5pdCksCgkgIChkZWNvZGVfYmFzZTY0KSwgKGdzdF9ydHBfYXNmX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2FzZl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYXNmX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhc2ZkZXBheS5oOgoJICBBZGRlZCBwcmVsaW1pbmFyeSBBU0YgZGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpOgoJICBGaXggYmFzZTY0IGRlY29kaW5nLgoKMjAwNi0wOS0yMCAxNjowNjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZGVkIHNvbWUgdGVzdCBVUkxTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGRlZCBzb21lIHRlc3QgVVJMUy4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBXaGVuIGNyZWF0aW5nIHN0cmVhbXMsIGdpdmUgYWNjZXNzIHRvIHRoZSBjb21wbGV0ZSBTRFAuCgkgIEZpeCBzb21lIGxlYWtzLgoJICBDb2xsZWN0IGFuZCBtZXJnZSBnbG9iYWwgc3RyZWFtIHByb3BlcnRpZXMgaW4gc3RyZWFtIGNhcHMuCgkgIFByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIFdNU2VydmVyLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgTWFrZSBjb25uZWN0aW9uIGludGVycnVwdGFibGUuCgkgIFJlZmFjdG9yIHRvIG1ha2UgaXQgcmVjb25uZWN0YWJsZS4KCSAgRG9uJ3QgZmFpbCBvbiBzaG9ydCByZWFkcyB3aGVuIHJlYWRpbmcgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX3NldF9wb3J0KSwKCSAgKHJ0c3BfdXJsX2dldF9wb3J0KToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEFkZCBtZXRob2RzIGZvciBnZXR0aW5nL3NldHRpbmcgdGhlIHBvcnQuCgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lc3NhZ2VfZ2V0X2F0dHJpYnV0ZV92YWxfbiksCgkgIChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbCksIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZSksCgkgIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWxfbiksIChzZHBfbWVkaWFfZ2V0X2F0dHJpYnV0ZV92YWwpLAoJICAoc2RwX21lZGlhX2dldF9mb3JtYXQpLCAoc2RwX3BhcnNlX2xpbmUpLAoJICAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKToKCSAgRml4IGhlYWRlcnMuCgkgIEFkZCBtZXRob2RzIGZvciBnZXR0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLgoJICBJbmNyZWFzZSBidWZmZXIgc2l6ZSB3aGVuIHBhcnNpbmcuCgkgIEZpeCBwYXJzaW5nIG9mIGE9Zm9vIGZpZWxkcy4KCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgVXBkYXRlIHRvIG5ldyBjb25uZWN0aW9uIEFQSS4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgICogZ3N0L3J0c3Avc2RwLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvcnRzcC5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgRHVhbCBsaWNlbnNlZCB1bmRlciBNSVQgYW5kIExHUEwgbm93LgoKMjAwNi0wOS0xOSAxNzoyNToxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUmVvcmdhbml6ZSBzdHJlYW0gcGFyc2luZyBhbmQgY3JlYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X3B0KSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfZnJlZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZW9yZ2FuaXplIHN0cmVhbSBwYXJzaW5nIGFuZCBjcmVhdGlvbi4KCSAgRGV0ZWN0IGNvbnRhaW5lciBmb3JtYXRzIGluIGludGVybGVhdmVkIG1vZGUuCgkgIEtlZXAgbW9yZSBzdGF0ZSBhYm91dCB0aGUgc3RyZWFtcy4KCSAgQXNzdW1lIGEgc2VydmVyIGFsc28gc3VwcG9ydHMgUExBWSBpZiBpdCBkb2VzIG5vdCBzYXkuCgkgIEFkZCB1bmljYXN0IGFuZCBpbnRlcmxlYXZlZCBwcm9wZXJ0aWVzIHRvIFRDUCB0cmFuc3BvcnQgcmVxdWVzdHMgdG8gbWFrZQoJICBzb21lIHNlcnZlcnMgaGFwcHkgKFdNU2VydmVyKS4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgIEFkZCBzb21lIGRlZmluZXMgZm9yIHRoZSBzdGFuZGFyZCBCYW5kd2lkdGggdHlwZXMuCgoyMDA2LTA5LTE5IDE2OjI0OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCjIwMDYtMDktMTkgMTM6MDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCjIwMDYtMDktMTkgMTA6NTM6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC90ZXN0LmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvdGVzdC5jOiAobWFpbik6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDktMTkgMTA6MTQ6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWRkIG1zLWdzbSB0byB0aGUgc3JjIHRlbXBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWRkIG1zLWdzbSB0byB0aGUgc3JjIHRlbXBsYXRlLgoKMjAwNi0wOS0xOCAxNzozNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogU21hbGwgY2xlYW51cHMsIGFkZGVkIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgU21hbGwgY2xlYW51cHMsIGFkZGVkIGRvY3VtZW50YXRpb24uCgkgIFRyeSB0byBjbGVhbiB1cCB0aGUgcmVxdWVzdHMgYW5kIHJlc3BvbnNlcy4KCSAgUmVmYWN0b3IgcGFyc2luZyB0aGUgc3VwcG9ydGVkIG1ldGhvZHMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9vcGVuKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocGFyc2VfcmVzcG9uc2Vfc3RhdHVzKSwgKHBhcnNlX3JlcXVlc3RfbGluZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X25ldyksCgkgIChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9uZXcpLCAoc2RwX21lc3NhZ2VfaW5pdCksCgkgIChzZHBfbWVzc2FnZV9jbGVhbiksIChzZHBfbWVzc2FnZV9mcmVlKSwgKHNkcF9tZWRpYV9uZXcpLAoJICAoc2RwX21lZGlhX2luaXQpLCAoc2RwX21lc3NhZ2VfcGFyc2VfYnVmZmVyKSwgKHNkcF9tZXNzYWdlX2R1bXApOgoJICBVc2UgZ19yZXR1cm5fdmFsIHNvbWUgbW9yZS4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBBZGQgbW9yZSBlbnVtIHZhbHVlcyB0byB0cmFjayBpbml0aWFsIHN0YXRlcy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXF1ZXN0KSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLCAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksCgkgIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksIChydHNwX21lc3NhZ2Vfc2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX3Rha2VfYm9keSksIChydHNwX21lc3NhZ2VfZ2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX3N0ZWFsX2JvZHkpLCAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIFJlb3JkZXIgYXJndW1lbnRzLCBvYmplY3QgZ29lcyBhcyB0aGUgZmlyc3Qgb25lLgoJICBVc2UgZ19yZXR1cm5fdmFsIHNvbWUgbW9yZS4KCjIwMDYtMDktMTggMTU6MzY6MTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCjIwMDYtMDktMTggMTQ6MDA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEV4cG9ydCBzb21ldGltZXMgc291cmNlIHBhZCB3aXRoIGNvcnJlY3QgY2FwcyBvbiB0aGUgdGVtcGxhdGUsIGNyZWF0ZSB0aGUgZ2hvc3RwYWQgZnJvbSB0aGUgdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBFeHBvcnQgc29tZXRpbWVzIHNvdXJjZSBwYWQgd2l0aCBjb3JyZWN0IGNhcHMgb24gdGhlIHRlbXBsYXRlLCBjcmVhdGUKCSAgdGhlIGdob3N0cGFkIGZyb20gdGhlIHRlbXBsYXRlLgoJICBSZW1vdmUgUlRDUCB0ZW1wbGF0ZSBhcyB3ZSBuZXZlciBleHBvc2UgUlRDUC4KCSAgUHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgYm9keSBzaXplLgoJICBBdm9pZCBtZW1jcHkgd2hlbiBjcmVhdGluZyB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgUHJvcGVybHkgcG9zdCBhbiBlcnJvciBhbmQgc2VuZCBFT1Mgd2hlbiB0aGUgbG9vcCBmdW5jdGlvbiBpcyBzaHV0IGRvd24uCgoyMDA2LTA5LTE4IDExOjI5OjEyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IE1ha2Ugc3VyZSB3ZSBjYW4gbmV2ZXIgc2V0IGFuIGludmFsaWQgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgTWFrZSBzdXJlIHdlIGNhbiBuZXZlciBzZXQgYW4gaW52YWxpZCBsb2NhdGlvbi4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX3N0ZWFsX2JvZHkpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEFkZGVkIF9zdGVhbF9ib2R5IG1ldGhvZCBmb3IgZnV0dXJlIHVzZS4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSksIChydHNwX3VybF9mcmVlKToKCSAgTWFrZSBmcmVlaW5nIG9mIE5VTEwgdXJsIHJldHVybiBpbW1lZGlhdGx5LgoKMjAwNi0wOS0xOCAxMDo0Mjo1MiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBVc2UgYm9pbGVycGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChfZG9faW5pdCksIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBVc2UgYm9pbGVycGxhdGUuCgkgIE1ha2UgcnRzcHNyYyBzdWJjbGFzcyBHc3RCaW4gdG8gbWFrZSBzdGF0ZSBjaGFuZ2VzIGVhc2llci4KCSAgQWRkIFJhbmdlIGhlYWRlciBmaWVsZCBvbiB0aGUgUExBWSByZXF1ZXN0LgoKMjAwNi0wOS0xOCAwODo1OToxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJICBnc3QvcnRzcC86IFNtYWxsIGNsZWFudXBzLiB3aGVuIG11bHRpY2FzdCBpcyBzZWxlY3RlZCBhcyB0aGUgdHJhbnNwb3J0LCBjcmVhdGUgVURQIHNvdXJjZXMgYW5kIGNvbm5lY3QgdG8gdGhlIG11bHRpY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqcyBkb3QgdmVybWVpciBhdCBiYXJjbyBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIHdoZW4gbXVsdGljYXN0IGlzIHNlbGVjdGVkIGFzIHRoZSB0cmFuc3BvcnQsIGNyZWF0ZSBVRFAgc291cmNlcyBhbmQKCSAgY29ubmVjdCB0byB0aGUgbXVsdGljYXN0IGdyb3VwLgoJICBNb3ZlIHBhcnNpbmcgYW5kIHNldHRpbmcgb2YgY2FwcyB0byBhIGNvbW1vbiBwbGFjZS4KCSAgRml4ZXMgIzM0OTg5NC4KCjIwMDYtMDktMTYgMjI6MTQ6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNiAyMTo1NzoyOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTYgMTQ6MzA6NTkgKzAwMDAgIFl2ZXMgTGVmZWJ2cmUgPGl2YW5vaGVAYWJhY29tLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IENvcnJlY3RseSBzZXQgdGhlIGR3TGVuZ3RoIGluIHN0cmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWXZlcyBMZWZlYnZyZSA8aXZhbm9oZSBhdCBhYmFjb20gZG90IGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKToKCSAgQ29ycmVjdGx5IHNldCB0aGUgZHdMZW5ndGggaW4gc3RyaC4KCSAgV2l0aCB0aGlzIHBhdGNoLCB0aGUgZmlsZSBkdXJhdGlvbiBpcyBub3cgZGlzcGxheWVkIGNvcnJlY3RseSBpbiB3aW5kb3cKCSAgbWVkaWEgcGxheWVyIGFuZCB0aGUgQVZJIHBsYXlzIGNvbXBsZXRlbHkuIEZpeGVzICMzNTYxNDcKCjIwMDYtMDktMTUgMTk6MTE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoKMjAwNi0wOS0xNSAxNzoxMDoyMiArMDAwMCAgRGFycmVuIEtlbm55IDxkYXJyZW4ua2VubnlAc3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOiBTZXQgdGhlIG91dHB1dCB0cmFjayBhcyB0aGUgTUFTVEVSIHNvIHRoYXQgdGhlIGdub21lLXNldHRpbmdzLWRhZW1vbiBrZXliaW5kaW5ncy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhcnJlbiBLZW5ueSA8ZGFycmVuIGRvdCBrZW5ueSBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCk6CgkgIFNldCB0aGUgb3V0cHV0IHRyYWNrIGFzIHRoZSBNQVNURVIgc28gdGhhdCB0aGUgZ25vbWUtc2V0dGluZ3MtZGFlbW9uCgkgIGtleWJpbmRpbmdzIGZvciBjaGFuZ2luZyB0aGUgdm9sdW1lIHVzaW5nIHRoZSBrZXlib2FyZCB3b3Jrcy4KCSAgRml4ZXMgIzM1NjE0Mi4KCjIwMDYtMDktMTUgMTY6MDE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEZpeCBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3QgcG9zc2libGUgdG8gY29udHJvbCB0aGUgZnJhbWVyYXRlIG9mIGpwZWdkZWMgdXNpbmcgZmlsdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgIEZpeCBkb2N1bWVudGF0aW9uLCBpdCBpcyBub3QgcG9zc2libGUgdG8gY29udHJvbCB0aGUgZnJhbWVyYXRlIG9mIGpwZWdkZWMKCSAgdXNpbmcgZmlsdGVyZWQgY2FwcyB5ZXQuIEZpeGVzICMzNTUyMTAuCgkgIFJldHVybiB0aGUgZG93bnN0cmVhbSBHc3RGbG93UmV0dXJuIGluc3RlYWQgb2YgR1NUX0ZMT1dfT0sgc28gdGhhdCB3ZQoJICBzdG9wIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IuCgoyMDA2LTA5LTE0IDExOjA1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRG9uJ3QgaW50ZXJwcmV0IGEgZmlyc3QgYnVmZmVyIHdpdGggYW4gb2Zmc2V0IG9mIE5PTkUgYXMgJ2Zyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtJywgYnV0IG9ubHkgYSBmaXJzdCBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW5fcGFyc2VfdGFnKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IGludGVycHJldCBhIGZpcnN0IGJ1ZmZlciB3aXRoIGFuIG9mZnNldCBvZiBOT05FIGFzCgkgICdmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbScsIGJ1dCBvbmx5IGEgZmlyc3QgYnVmZmVyCgkgIHRoYXQgaGFzIGEgdmFsaWQgYnVmZmVyIG9mZnNldCB0aGF0J3Mgbm9uLXplcm8gKHNlZSAjMzQ1NDQ5KS4KCjIwMDYtMDktMTQgMTA6Mzg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguKjogV2hlbiB3ZSBtZXJnZS9jb2xsZWN0IG11bHRpcGxlIGluY29taW5nIGJ1ZmZlcnMgZm9yIHR5cGVmaW5kaW5nIHB1cnBvc2VzLCBrZWVwIGFuIGluaXRpYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBXaGVuIHdlIG1lcmdlL2NvbGxlY3QgbXVsdGlwbGUgaW5jb21pbmcgYnVmZmVycyBmb3IgdHlwZWZpbmRpbmcKCSAgcHVycG9zZXMsIGtlZXAgYW4gaW5pdGlhbCAwIG9mZnNldCBvbiB0aGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyCgkgIGFzIHdlbGwgKG90aGVyd2lzZSBpZDNkZW11eCB3b24ndCB3b3JrIHJpZ2h0KS4gRml4ZXMgIzM0NTQ0OS4KCSAgQWxzbyBNYWtlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBidWZmZXIgY2Fwcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAodHlwZWZpbmRfc3VjY2VlZCksCgkgIChjbGVhbnVwX2ljeWRlbXV4KSwgKHB1c2hfZGF0YSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChpY3lkZW11eF9zdWl0ZSk6CgkgIFNtYWxsIHRlc3QgY2FzZSBmb3IgdGhlIGFib3ZlLgoKMjAwNi0wOS0xMyAxMzoyNjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3JlIGNvZGUgcmV1c2UgYW5kIGJldHRlciBsb2dnaW5nIGluIF9wZWVrX2NodW5rKCkuIFJlaW50cm9kdWNlIGNoZWNrIGZvciBjaHVuayBzaXplcyBiZWZvcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N5bmMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNb3JlIGNvZGUgcmV1c2UgYW5kIGJldHRlciBsb2dnaW5nIGluIF9wZWVrX2NodW5rKCkuIFJlaW50cm9kdWNlIGNoZWNrCgkgIGZvciBjaHVuayBzaXplcyBiZWZvcmUgcmVhZGluZyB0aGVtIChhdm9pZCBvb20pLiBCZXR0ZXIgaGFuZGxpbmcgZm9yCgkgIGludmFsaWQgY2h1bmtzaXplcyB3aGVuIHN0cmVhbWluZy4KCjIwMDYtMDktMTIgMjA6MTg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdGFydCksIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fZXZlbnQpOgoJICBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUKCSAgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZCBFT1MuCgoyMDA2LTA5LTExIDIwOjM4OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogRml4IHR5cGUgbWl4dXAgaW4gbGV2ZWwtPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gbGV2ZWwtPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODoyMzo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MDI6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiBVc2UgbW9yZSBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtYWluKToKCSAgVXNlIG1vcmUgZGVmaW5lcwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBcHBseSBzb21lIG9mIHRoZSBzcGVjdHJ1bSBjbGVhbnVwIGNoYW5nZXMgc3VnZ2VzdGVkIGluICMzNDgwODUuCgoyMDA2LTA5LTA4IDE2OjQ3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb2N1bWVudCBzbG9wcHkgaGFuZGxpbmcgb2Ygc3Vic2FtcGxlZCBjaHJvbWEgcGxhbmVzIGlmCgkgIGxlZnQvdG9wIGNyb3BwaW5nIGlzIGFuIG9kZCBudW1iZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksIChjaGVja18xeDFfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGFub3RoZXIgdW5pdCB0ZXN0IHRoYXQgY3JvcHMgdGhlIGlucHV0IHRvIDF4MSAoYW5kIGNoZWNrcwoJICB0aGF0IHRoYXQgcGl4ZWwgaGFzIHRoZSBleHBlY3RlZCB2YWx1ZXMgaW4gYSBudW1iZXIgb2YgZm9ybWF0cykuCgoyMDA2LTA5LTA4IDExOjA0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC86IFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKToKCSAgU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwKCSAgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QgZm9yIHRoZSBtZW1jcHkoKXMKCSAgd2UgZG8sIHNvIHJlbW92ZSBsaWJvaWwgdXNhZ2UgdW50aWwgdGhlcmUgaXMgY2xlYXIgZXZpZGVuY2UKCSAgaXQgYWN0dWFsbHkgbWFrZXMgYSBwb3NpdGl2ZSBkaWZmZXJlbmNlIHNvbWV3aGVyZS4KCjIwMDYtMDktMDYgMDk6MDU6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmV2ZXJ0IG9uZSBjaGFuZ2UgdG8gZml4IHN0cmVhbWluZyBhdmkgKGFkYXB0ZXIgc2l6ZSAhPSBkYXRhIHNpemUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgUmV2ZXJ0IG9uZSBjaGFuZ2UgdG8gZml4IHN0cmVhbWluZyBhdmkgKGFkYXB0ZXIgc2l6ZSAhPSBkYXRhIHNpemUpLgoKMjAwNi0wOS0wNCAxNjoyMToxNyArMDAwMCAgRnLDqWTDqXJpYyBSaXNzIDxmcmVkZXJpYy5yaXNzQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEFkZCBzdXBwb3J0IGZvciBWT0JTVUIgc3VidGl0bGUgdHJhY2tzIGFuZCB6bGliLWNvbXByZXNzZWQgdHJhY2tzLiBNYWtlIHN1cmUgd2Ugc3RhcnQgb24gYSBrZXlmcmFtZSBhZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyw6lkw6lyaWMgUmlzcyAgPGZyZWRlcmljLnJpc3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIFZPQlNVQiBzdWJ0aXRsZSB0cmFja3MgYW5kIHpsaWItY29tcHJlc3NlZAoJICB0cmFja3MuIE1ha2Ugc3VyZSB3ZSBzdGFydCBvbiBhIGtleWZyYW1lIGFmdGVyIGEgc2Vlay4gKCMzNDMzNDgpCgoyMDA2LTA5LTA0IDE1OjA2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogbm90IHBlcmZlY3QgeWV0IHRob3VnaCwgbmVlZHMgc29tZSB0d2Vha2luZyBpbiBmbGFjZGVjOyBhbHNvLCBzZWVraW5nIGNvdWxkIGJlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBiYXNpYyBGTEFDIHN1cHBvcnQgKCMzMTE1ODYpLCBub3QgcGVyZmVjdCB5ZXQgdGhvdWdoLCBuZWVkcyBzb21lCgkgIHR3ZWFraW5nIGluIGZsYWNkZWM7IGFsc28sIHNlZWtpbmcgY291bGQgYmUgYmV0dGVyLgoJICBEbyBiZXR0ZXIgYm91bmRzIGNoZWNraW5nIHdoZW4gZGVzZXJpYWxpc2luZyB2b3JiaXMgc3RyZWFtIGhlYWRlcnMKCSAgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciBvbiBiYWQgaW5wdXQuCgoyMDA2LTA5LTA0IDA5OjM0OjI1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogU2Vla2luZyBiYWNrIGluIGEgZmlsZSBjb250YWluaW5nIGEgQ01NTCBzdHJlYW0gZXJyb3JzIG91dCBpZiB0aGUgc2VlayBnb2VzIGJhY2sgdXAgdG8gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6IChnc3RfY21tbF9kZWNfY2hhaW4pOgoJICBTZWVraW5nIGJhY2sgaW4gYSBmaWxlIGNvbnRhaW5pbmcgYSBDTU1MIHN0cmVhbSBlcnJvcnMgb3V0IGlmIHRoZSBzZWVrCgkgIGdvZXMgYmFjayB1cCB0byB0aGUgQ01NTCBoZWFkZXJzLiBUaGlzIGlzIGJlY2F1c2UgYWZ0ZXIgdGhlIHNlZWsgdGhlIHhtbAoJICBwcm9jZXNzaW5nIGluc3RydWN0aW9uIDw/eG1sIC4uLj8+IGlzIHN1Ym1pdHRlZCB0byB0aGUgeG1sIHBhcnNlciBhZ2FpbiwKCSAgd2hpY2ggcmVzdWx0cyBpbiBhbiBlcnJvci4gVGhlIGF0dGFjaGVkIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtLgoJICBGaXhlcyAjMzUzOTA4LgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgRml4IGF1dGhvcnMgbmFtZS4KCjIwMDYtMDktMDMgMTA6NDY6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4gYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKGJ1ZmZlcl9wcm9iZV9jYiksICh0ZXN0X2NhcHNfdHJhbnNmb3JtKSwgKHRlc3RfcGFzc3Rocm91Z2gpLAoJICAobm90Z3N0X3ZhbHVlX2xpc3RfZ2V0X250aF9pbnQpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4KCSAgYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQgdmFsdWVzLCByYW5nZXMgYW5kIGxpc3RzLgoKMjAwNi0wOS0wMiAxODo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIE1vdmUgYm9pbGVycGxhdGUgc3R1ZmYgYW5kIHN0cnVjdHVyZXMgaW50byBhIGhlYWRlciBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAodGVzdF91bml0X3NpemVzKSwgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksICh0ZXN0X2Nyb3BwaW5nKSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2Nyb3AuCgoyMDA2LTA5LTAyIDE1OjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZSBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb24pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbl92YWx1ZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZQoJICBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoKMjAwNi0wOS0wMiAxNDo0NTowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgoyMDA2LTA5LTAyIDE0OjI4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgoyMDA2LTA4LTMxIDEzOjA0OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTIHRvIHRoZSBsaW5rIGZsYWdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkbHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3ViL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMgdG8gdGhlIGxpbmsgZmxhZ3MKCjIwMDYtMDgtMzAgMTg6MDE6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTM6MzA6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoKMjAwNi0wOC0zMCAxMTozNjowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMToyNzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgUmVtb3ZpbmcgbXlzdGljIG1vZGlmaWNhdGlvbnMgZm9yIGdvb2QuCgoyMDA2LTA4LTMwIDExOjA3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieSB0aGUgbGFzdCBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkKCSAgdGhlIGxhc3QgY29tbWl0CgoyMDA2LTA4LTMwIDEwOjQzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCjIwMDYtMDgtMjkgMjA6NTk6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCjIwMDYtMDgtMjggMTc6NDc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgoyMDA2LTA4LTI4IDE2OjU5OjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYyAoZ3N0X2R2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpOiBOZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGxlc3NlbiB0aGUgaWZkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0yOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYyAoZ3N0X2R2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpOgoJICBOZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGxlc3NlbiB0aGUgaWZkZWZzLgoJICAoR1NUX0lORk9fT0JKRUNUKToKCSAgKGdzdF9kdjEzOTRzcmNfaXNvX3JlY2VpdmUpOiBVc2UgaXQuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSk6IEFsc28gdXNlIHRoZSBjb250cm9sIHNvY2tldHMgaW4gaWVjNjE4ODMKCSAgbW9kZS4KCSAgKGdzdF9kdjEzOTRzcmNfc3RhcnQsIGdzdF9kdjEzOTRzcmNfc3RvcCk6IEFsd2F5cyB1c2UgYSBzZXBhcmF0ZQoJICBoYW5kbGUgZm9yIEFWQyBvcGVyYXRpb25zOyBmaXhlcyAjMzQ4MjMzLgoKMjAwNi0wOC0yOCAxNDo1OTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMDYtMDgtMjcgMTc6MTQ6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbmFtZSBhZ2FpbiAoYXVkaW9meGdvb2QgLT4gYXVkaW9meCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhnb29kLnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICBSZW5hbWUgYWdhaW4gKGF1ZGlvZnhnb29kIC0+IGF1ZGlvZngpLgoKMjAwNi0wOC0yNyAxMzoxMjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbml0aWFsemUgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEluaXRpYWx6ZSB2YXJpYWJsZXMuCgoyMDA2LTA4LTI1IDE2OjIxOjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBNb3JlIGF0dGVtcHRzIHRvIHR1cm4gdGhpcyBpbnRvIHJlYWRhYmxlIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2luaXQpLCAoZ3N0X2F2aV9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbGFzdCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKSwgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBNb3JlIGF0dGVtcHRzIHRvIHR1cm4gdGhpcyBpbnRvIHJlYWRhYmxlIGNvZGUuCgkgIERvbid0IGxlYWsgYWRhcHRlcnMuCgkgIENhbGN1bGF0ZSBkdXJhdGlvbiBhY2NvcmRpbmcgdG8gaW5kZXggbW9yZSBlZmZpY2llbnRseS4KCSAgRG9uJ3QgdHJ5IHRvIGFjdCBsaWtlIHdlIGRyaXZlIHRoZSBwaXBlbGluZSBpbiBjaGFpbiBtb2RlLgoKMjAwNi0wOC0yNSAwOTo1MzoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfY2xvY2tfdGltZV9mcm9tX25wdCk6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDgtMjUgMDk6NDI6NDMgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiBEbyBzb21lIGV4dHJhIHNhbml0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogKGdzdF9hbm5vZGV4X2dyYW51bGVfdG9fdGltZSk6CgkgIERvIHNvbWUgZXh0cmEgc2FuaXR5IGNoZWNrcy4KCSAgRml4ZXMgIzM1MDM0MC4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9jbW1sX2VuY19wYXJzZV90YWdfaGVhZCksIChnc3RfY21tbF9lbmNfcGFyc2VfdGFnX2NsaXApLAoJICAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCksIChnc3RfY21tbF9lbmNfcHVzaCk6CgkgIENoZWNrIGlmIGNsaXAtPnN0YXJ0X3RpbWUgaXMgdmFsaWQgYmVmb3JlIGFkZGluZyB0aGUgY2xpcCB0byB0aGUKCSAgdHJhY2sgbGlzdC4KCSAgUmVzZXQgZW5jLT5wcmVhbWJsZSBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCSAgRG9uJ3QgdXNlIEdTVF9GTE9XX1VORVhQRUNURUQgZm9yIHdyb25nIHVzYWdlIG9mIHRoZSBlbGVtZW50LCBpdCBpcwoJICBvbmx5IHVzZWQgZm9yIEVPUy4KCSAgT25seSBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgd2Ugd2VyZSB0aGUgb25lIHRoYXQgY3JlYXRlZCB0aGUgZmF0YWwKCSAgR3N0Rmxvd1JldHVybiB2YWx1ZS4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX2Nsb2NrX3RpbWVfZnJvbV9ucHQpLAoJICAoZ3N0X2NtbWxfY2xvY2tfdGltZV90b19ncmFudWxlKSwgKGdzdF9jbW1sX3RyYWNrX2xpc3RfaGFzX2NsaXApOgoJICBQYXJzZSB0aGUgc2Vjb25kcyBmaWVsZCBvZiB0aGUgbnB0LXNlYyB0aW1lIGZvcm1hdCB1c2luZyAlbGx1IHJhdGhlciB0aGFuCgkgICVkIGFuZCBjaGVjayB0aGF0IHRoZSB2YWx1ZSBzY2FsZWQgYnkgR1NUX1NFQ09ORCBkb2Vzbid0IG92ZXJmbG93LgoJICBVc2UgZ3VpbnQ2NChzKSB0byByZXByZXNlbnQgdGhlIGtleWluZGV4IGFuZCBrZXlvZmZzZXQgZmllbGRzIG9mIGEgZ3JhbnVsZXBvcy4KCSAgTG9va3VwIGEgY2xpcCdzIHRyYWNrIHdpdGggY2xpcC0+dHJhY2sgcmF0aGVyIHRoYW4gY2xpcC0+aWQgd2hpY2gKCSAgbWFrZXMgbm8gc2Vuc2UuCgkgIElkZW50aWZ5IGEgY2xpcCBieSBpdHMgdHJhY2sgYW5kIHN0YXJ0IHRpbWUgYW5kIG5vdCBpdHMgeG1sIGlkLgoJICBkbyBzb21lIG1vcmUgaW5wdXQgY2hlY2tpbmcgYW5kIG1ha2Ugc3VyZSB3ZSBkb24ndCBkbyB1bmRlZmluZWQgc2hpZnRzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyksIChjaGVja19vdXRwdXRfYnVmZmVyX2lzX2VxdWFsKSwgKHB1c2hfZGF0YSksCgkgIChjbW1sX3RhZ19tZXNzYWdlX3BvcCksIChjaGVja19oZWFkZXJzKSwgKHB1c2hfY2xpcF9mdWxsKSwKCSAgKHB1c2hfY2xpcCksIChwdXNoX2VtcHR5X2NsaXApLCAoY2hlY2tfb3V0cHV0X2NsaXApLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoY21tbGRlY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKSwgKGNoZWNrX291dHB1dF9idWZmZXJfaXNfZXF1YWwpLCAocHVzaF9kYXRhKSwKCSAgKGNoZWNrX2hlYWRlcnMpLCAocHVzaF9jbGlwKSwgKGNoZWNrX2NsaXBfdGltZXMpLCAoY2hlY2tfY2xpcCksCgkgIChjaGVja19lbXB0eV9jbGlwKSwgKEdTVF9TVEFSVF9URVNUKSwgKGNtbWxlbmNfc3VpdGUpOgoJICBBZGRlZCBzb21lIG1vcmUgY2hlY2tzLgoKMjAwNi0wOC0yNCAxOTowMDoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZSBhbHNvIHRoZSBwYW4tcHJvcGVydHkgZmxvYXQgKHNhdmVzIHNjYWxpbmcgYW5kIHlpZWxkcyBiZXR0ZXIgcmVzb2x1dGlvbikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBhbHNvIHRoZSBwYW4tcHJvcGVydHkgZmxvYXQgKHNhdmVzIHNjYWxpbmcgYW5kIHlpZWxkcyBiZXR0ZXIKCSAgcmVzb2x1dGlvbikKCjIwMDYtMDgtMjQgMTg6MjM6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IENoYW5nZUxvZyBzdXJnZXJ5IHRvIGFkZCBjeW1heCdzIHJlYWwgbmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KToKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgdG8gYWRkIGN5bWF4J3MgcmVhbCBuYW1lCgoyMDA2LTA4LTI0IDE4OjE3OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS4qOiBBZGRlZCBmbG9hdCBzdXBwb3J0ICh0aGFua3MgY3ltYXgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICBBZGRlZCBmbG9hdCBzdXBwb3J0ICh0aGFua3MgY3ltYXgpCgoyMDA2LTA4LTI0IDE0OjE2OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiBGaXggZG9jcyAmIGRlYnVnIGNhdGVnb3J5LiBBZGQgRml4bWUgZm9yIHZvbHVtZSBwYW4gbGV2ZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOgoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpOgoJICBGaXggZG9jcyAmIGRlYnVnIGNhdGVnb3J5LiBBZGQgRml4bWUgZm9yIHZvbHVtZSBwYW4gbGV2ZWxzLgoKMjAwNi0wOC0yNCAxMzo1MToxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiB1bmJyZWFrIEFWSSBpbmRleCBoYW5kbGluZywgc29tZSBtb3JlIGRlYnVnLCByZW1vdmUgYW4gb2Jzb2xldGUgYWRhcHRlcl9mbHVzaCB0aGF0IGNhdXNlZCBzdHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIHVuYnJlYWsgQVZJIGluZGV4IGhhbmRsaW5nLCBzb21lIG1vcmUgZGVidWcsIHJlbW92ZSBhbiBvYnNvbGV0ZQoJICBhZGFwdGVyX2ZsdXNoIHRoYXQgY2F1c2VkIHN0cmVhbWluZyB0byB3YW5kZXIgb2ZmIGluIHRoZSB3aWxkCgoyMDA2LTA4LTI0IDExOjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTb21lIG1vcmUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTb21lIG1vcmUgY2xlYW51cHMuCgkgIEZpeCB0b3RhbEZyYW1lcyBwYXJzaW5nIGluIE9ETUwuCgkgIERpc2FibGUgdXNlIG9mIGluZGV4IGZvciBsZW5ndGggY2FsY3VsYXRpb24gaW4gY2FzZSBvZiBPRE1MIGFzIHRoaXMgaXMKCSAgYnJva2VuIG5vdy4KCjIwMDYtMDgtMjQgMTA6MDM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFVzZSBsaWJnc3R0YWcgaGVscGVyIGZ1bmN0aW9uIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKToKCSAgVXNlIGxpYmdzdHRhZyBoZWxwZXIgZnVuY3Rpb24gaGVyZSB0b28uCgoyMDA2LTA4LTI0IDA5OjI0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHF1ZXJpZXMgaW4gb3RoZXIgZm9ybWF0cyAoQllURSBmb3JtYXQgaW4gcGFydGljdWxhcikKCSAgdXBzdHJlYW07IGFkZCBTZWJhc3RpYW4gdG8gYXV0aG9ycy4KCjIwMDYtMDgtMjQgMDA6NDA6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCjIwMDYtMDgtMjMgMTU6MzM6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSW5pdGlhbCBzdHJlYW1pbmcgc3VwcG9ydCBmb3IgYXZpZGVtdXggKGZpeGVzICMzMzY0NjUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2luaXQpLCAoZ3N0X2F2aV9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLCAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVua19pbmZvKSwgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKHNvcnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChwdXNoX3RhZ19saXN0cyksIChnc3RfYXZpX2RlbXV4X2xvb3ApLCAoZ3N0X2F2aV9kZW11eF9jaGFpbiksCgkgIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2F2aV9kZW11eF9hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEluaXRpYWwgc3RyZWFtaW5nIHN1cHBvcnQgZm9yIGF2aWRlbXV4IChmaXhlcyAjMzM2NDY1KQoKMjAwNi0wOC0yMyAxMDozMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQgYXMgd2VsbCAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQKCSAgYXMgd2VsbCAoIzM1MjQ3NikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBSZXN0b3JlIG9yaWdpbmFsIGF1dGhvciAob24gU2ViYXN0aWFuJ3MgcmVxdWVzdCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCAoc28gZmFyIGVtcHR5KSBzdXBwcmVzc2lvbiBmaWxlIGZvciAtYmFkLiBSZW1vdmUKCSAgd2F2cGFja2VuYyB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIG5vdyB0aGF0IHRoZSBsZWFrCgkgIGlzIGZpeGVkLgoKMjAwNi0wOC0yMyAwOToyMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2RlY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZW5jX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja3BhcnNlX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIzIDA4OjUyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIyIDIwOjM5OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoKMjAwNi0wOC0yMiAxNzoyMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBUaGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50IC4uLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXNlICclJyByYXRoZXIgdGhhbiAnJnBlcmM7JyBpbiBndGstZG9jIGJsdXJiLCBkb2NzIGJ1aWxkCgkgIHdhcyBjb21wbGFpbmluZyBhYm91dCB1bmtub3duIGVudGl0eSBoZXJlLgoKMjAwNi0wOC0yMiAxNzowMjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogTWFyayBESVNDT05ULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBNYXJrIERJU0NPTlQuCgkgIFJlbW92ZSBvbGQgdW51c2VkIGZpZWxkcyBhbmQgcmVvcmRlciB0aGUgc3RydWN0IGEgYml0LgoKMjAwNi0wOC0yMiAxNjo0NTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua191bnByZXBhcmUpOgoJICBTbWFsbCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgoyMDA2LTA4LTIyIDE2OjQyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQcmVjYWxjIG1vc3Qgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGZvciBlYWNoIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9hZ2dyZWdhdGVkX2Zsb3cpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwKCSAgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFByZWNhbGMgbW9zdCBvZiB0aGUgZHVyYXRpb24gcXVlcnkgZm9yIGVhY2ggc3RyZWFtLgoJICBNYWtlIHNlZWtpbmcgbW9yZSBjb3JyZWN0LgoJICBVc2UgR3N0U2VnbWVudCB0byB0cmFjayBwb3NpdGlvbiBhbmQgZHVyYXRpb24uCgkgIENvZGUgY2xlYW51cHMgYW5kIGxlYWsgZml4ZXMuCgkgIENhbGN1bGF0ZSBjb3JyZWN0IHRvdGFsIGR1cmF0aW9uIGJhc2VkIG9uIGluZGV4IGxlbmd0aC4KCjIwMDYtMDgtMjIgMTM6NTM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IElmIHN0cmluZ3MgaW4gdGV4dCBmaWVsZHMgYXJlIG1hcmtlZCBJU084ODU5LTEsIGJ1dCBjb250YWluIHZhbGlkIFVURi04IGFscmVhZHksIHRoZW4gaGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKToKCSAgSWYgc3RyaW5ncyBpbiB0ZXh0IGZpZWxkcyBhcmUgbWFya2VkIElTTzg4NTktMSwgYnV0IGNvbnRhaW4KCSAgdmFsaWQgVVRGLTggYWxyZWFkeSwgdGhlbiBoYW5kbGUgdGhlbSBhcyBVVEYtOCBhbmQgaWdub3JlCgkgIHRoZSBlbmNvZGluZy4gKCMzNTE3OTQpCgoyMDA2LTA4LTIyIDEyOjI4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBNYWtlIGZsYWMtaW4tb2dnIHdvcmsgKCMzNTIxMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2Nhbl9nb3RfZnJhbWUpLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwgKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19jaGFpbiksCgkgIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIE1ha2UgZmxhYy1pbi1vZ2cgd29yayAoIzM1MjEwMCkuCgoyMDA2LTA4LTIyIDEyOjEwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogRG9uJ3QgdW5yZWYgYnVmZmVycyBvZiB3aGljaCB3ZSd2ZSBhbHJlYWR5IGdpdmVuIGF3YXkgb3duZXJzaGlwIHRvIHRoZSBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgIERvbid0IHVucmVmIGJ1ZmZlcnMgb2Ygd2hpY2ggd2UndmUgYWxyZWFkeSBnaXZlbiBhd2F5CgkgIG93bmVyc2hpcCB0byB0aGUgYWRhcHRlci4KCjIwMDYtMDgtMjIgMTA6MzI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogTWFrZSBtZXRhZGF0YSBleHRyYWN0aW9uIGFjdHVhbGx5IHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKToKCSAgTWFrZSBtZXRhZGF0YSBleHRyYWN0aW9uIGFjdHVhbGx5IHdvcmsuCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVleGVuY19pbml0KSwgKGdzdF9zcGVleGVuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgIEZpeCBtZXRhZGF0YSB3cml0aW5nOiByZXBsYWNlIG9sZCBjb2RlIHdoaWNoIHdyb3RlIGNvbXBsZXRlbHkKCSAgYnJva2VuIHRhZ3Mgd2l0aCBsaWJnc3R0YWctYmFzZWQgY29kZS4gUGx1cyBtaXNjZWxsYW5lb3VzCgkgIGNvZGUgY2xlYW51cHMgKHVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBldGMuKSBhbmQgYSBidW5jaAoJICBvZiBsZWFrIGZpeGVzLgoKMjAwNi0wOC0yMSAxOTozNDowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvcGFub3JhbWEvOiBkaWUhIGRpZSEgZGllISB5b3Ugc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiB0aGVyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9wYW5vcmFtYS5oOgoJICBkaWUhIGRpZSEgZGllISB5b3Ugc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiB0aGVyZQoKMjAwNi0wOC0yMSAxNjoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgRml4IHNvbWUgcGFsZXR0ZWQgZGF0YSBmb3JtYXRzIGFnYWluLgoJICBGaXggdWxhdy9hbGF3IGluIHF0LgoJICBTZXQgY29ycmVjdCBjYXBzIGZvciByYXcgUkdCLgoJICBBZGQgc3VwcG9ydCBmb3IgeXV2Miwgd2hpY2ggaXMgbGlrZSBZdXYyLgoJICBBZGQgc3VwcG9ydCBmb3IgcmF3IGF1ZGlvIHdpdGggdGhlIE5PTkUgZm91cmNjLCB3aGljaCBpcyBsaWtlIHJhdy4KCjIwMDYtMDgtMjEgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay86IE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0bwoJICByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0aCAnR3N0JyB0byBtYWtlIGl0IGNsZWFyZXIKCSAgd2hlcmUgdGhleSBjb21lIGZyb20uCgoyMDA2LTA4LTIxIDEzOjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgIEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKQoJICBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYzKTsgdXNlIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkc7IHNpbXBsaWZ5IHB1c2hfYmxvY2soKTsgZG8gc29tZSBzbWFsbAoJICBjbGVhbi11cHMgaGVyZSBhbmQgdGhlcmU7IGZpeCBtZW1sZWFrICgjMzUxNjYzKS4KCjIwMDYtMDgtMjEgMTM6MTI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGF1ZGlvcGFub3JhbWEgdGVzdCBzdWl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGF1ZGlvcGFub3JhbWEgdGVzdCBzdWl0ZS4KCjIwMDYtMDgtMjEgMTE6MzQ6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBpZ25vcmUgYnVpbHQgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBpZ25vcmUgYnVpbHQgZmlsZQoKMjAwNi0wOC0yMSAxMDo0NjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEZpeCB0aGUgYnVpbGQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQgYWdhaW4uCgoyMDA2LTA4LTIxIDA5OjIxOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvOiByZXN1Ym1pdCB3aXRoIHRoZSBkZXNpcmVkIG5hbWUgKmFnYWluKgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF91bml0X3NpemUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3MycyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICByZXN1Ym1pdCB3aXRoIHRoZSBkZXNpcmVkIG5hbWUgKmFnYWluKgoKMjAwNi0wOC0yMCAxMzowOTo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCjIwMDYtMDgtMjAgMTM6MDY6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGNsZWFudXAgLXVudXNlZC50eHQgdG8gbWFrZSBpdCB1c2VmdWwsIGFkZCBwcmV2aW91c2x5IG1pc3NpbmcgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGdvb2QueG1sOgoJICBjbGVhbnVwIC11bnVzZWQudHh0IHRvIG1ha2UgaXQgdXNlZnVsLCBhZGQgcHJldmlvdXNseSBtaXNzaW5nIGRvY3MKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICByZWZsb3cgdG8gZ2V0IHJpZCBvZiB0d28gZXh0ZXJuYWwgc3ltYm9scwoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIHJlLWFkZAoKMjAwNi0wOC0yMCAxMjowOToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmMKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF91bml0X3NpemUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3MycyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKHNldHVwX3Bhbm9yYW1hX20pLAoJICAoc2V0dXBfcGFub3JhbWFfcyksIChjbGVhbnVwX3Bhbm9yYW1hKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhbm9yYW1hX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYXVkaW9meGdvb2QgcGx1Z2luIHdpdGggYXVkaW9wYW5vcmFtYSBlbGVtZW50CgoyMDA2LTA4LTE4IDIxOjM5OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluZF9tYXJrZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlcik6CgkgIEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkCgkgIHplcm9lczsgc2tpcCBnYXJiYWdlIGJldHdlZW4gZnJhbWVzIGluIHB1bGwgbW9kZSBhcyB3ZWxsIGlmCgkgIG5lY2Vzc2FyeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpOyBwdXNoIEVPUyBhbmQKCSAgTkVXU0VHTUVOVCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24gKCMzNTE2NTkpLgoKMjAwNi0wOC0xOCAxNzowMDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogTW9yZSBPc3MgZG9jcyBmaXhhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgTW9yZSBPc3MgZG9jcyBmaXhhZ2UuCgoyMDA2LTA4LTE4IDE2OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIGV4cGVyaW1lbnRhbCBTVlEzIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgQWRkZWQgZXhwZXJpbWVudGFsIFNWUTMgZGVwYXlsb2FkZXIuCgoyMDA2LTA4LTE4IDEzOjI1OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguKjogV2hlbiBoYW5kbGluZyBzZWVrIHJlcXVlc3RzLCBkb24ndCBzZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIGNhbGxpbmcgdGhyZWFkLiBJbnN0ZWFkIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2xvb3ApLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBXaGVuIGhhbmRsaW5nIHNlZWsgcmVxdWVzdHMsIGRvbid0IHNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUKCSAgY2FsbGluZyB0aHJlYWQuIEluc3RlYWQgc2F2ZSBpdCBzbyBpdCBjYW4gYmUgc2VudCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkLgoKMjAwNi0wOC0xNyAxNTo1MTo1MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBY2NlcHQgbGVhZGluZyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYm91bmRhcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKG11bHRpcGFydF9wYXJzZV9oZWFkZXIpOgoJICBBY2NlcHQgbGVhZGluZyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYm91bmRhcnkKCSAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgZGVtdXhlciBhbGxvdyBzb21lIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBhY3R1YWwKCSAgYm91bmRhcnkuIFRoaXMgbWFrZXMgdGhlIGRlbXV4ZXIgd29yayB3aXRoIHRoZSBgYG9sZCcnIGdzdHJlYW1lcgoJICBtdWx0aXBhcnRtdXhlciBhZ2FpbiAod2hpY2ggcGxhY2VkIGFuIGV4dHJhIFxuIGJlZm9yZSB0aGUgc3RhcnQKCSAgb2YgdGhlIHN0cmVhbSkgRml4ZXMgIzM0OTA2OC4KCjIwMDYtMDgtMTcgMTU6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBFcnJvciBvdXQgb24gbm9uLWltcGxlbWVudGVkIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBFcnJvciBvdXQgb24gbm9uLWltcGxlbWVudGVkIHN0dWZmLgoKMjAwNi0wOC0xNiAxNjo1MDowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5keSBXaW5nbyA8d2luZ28gYXQgcG9ib3ggZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgoyMDA2LTA4LTE2IDE1OjMzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUgbmFtZXMgYXMgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6CgkgIENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlCgkgIG5hbWVzIGFzIHBvc3NpYmxlLgoKMjAwNi0wOC0xNiAxNDo0Nzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlIHBlbiBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKToKCSAgQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUKCSAgcGVuIGFueW1vcmUuCgoyMDA2LTA4LTE2IDEzOjQ4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogRG9uJ3QgbGVhayBkZXZpY2Ugc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBkZXZpY2Ugc3RyaW5nLgoKMjAwNi0wOC0xNiAxMzowMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgb2YgR1N0cmVhbWVyIGNvcmUgYW5kIC1iYXNlIChmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBvZiBHU3RyZWFtZXIgY29yZSBhbmQgLWJhc2UgKGZvcgoJICBHU1RfVEFHX0VYVEVOREVEX0NPTU1FTlQgYW5kIGdzdF90YWdfcGFyc2VfZXh0ZW5kZWRfY29tbWVudCgpKS4KCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXcml0ZSBleHRlbmRlZCBjb21tZW50IHRhZ3MgcHJvcGVybHkgKCMzNDg3NjIpLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSk6CgkgIEV4dHJhY3QgQ09NTSBmcmFtZXMgaW50byBleHRlbmRlZCBjb21tZW50cywgd2hpY2ggbWFrZXMgaXQKCSAgZWFzaWVyIHRvIHByb3Blcmx5IHJldGFpbiB0aGUgZGVzY3JpcHRpb24gYml0IG9mIHRoZSB0YWcKCSAgYW5kIG1haW50YWluIHRoaXMgaW5mb3JtYXRpb24gd2hlbiByZS10YWdnaW5nICgjMzQ4NzYyKS4KCjIwMDYtMDgtMTYgMTI6MDI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgdHJ5IHRvIHJ1biBhbm5vZGV4IHVuaXQgdGVzdHMgaWYgdGhlIGFubm9kZXggcGx1Z2luIGhhcyBub3QgYmVlbiBidWlsdCAoRml4ZXMgIzM1MTExNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCB0cnkgdG8gcnVuIGFubm9kZXggdW5pdCB0ZXN0cyBpZiB0aGUgYW5ub2RleAoJICBwbHVnaW4gaGFzIG5vdCBiZWVuIGJ1aWx0IChGaXhlcyAjMzUxMTE2KS4KCjIwMDYtMDgtMTYgMTA6NTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IFdoZW4gd2UgY2FuJ3QgZmluZCBhIHVzYWJsZSBhdWRpb3NpbmssIGRvbid0IGVycm9yIG91dCwgYnV0IHVzZSBhIGZha2Ugc2luayBpbnN0ZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICBXaGVuIHdlIGNhbid0IGZpbmQgYSB1c2FibGUgYXVkaW9zaW5rLCBkb24ndCBlcnJvciBvdXQsCgkgIGJ1dCB1c2UgYSBmYWtlIHNpbmsgaW5zdGVhZCBhbmQgcG9zdCBhIHdhcm5pbmcgbWVzc2FnZQoJICBvbiB0aGUgYnVzICgjMzQxMjc4KS4KCjIwMDYtMDgtMTYgMTA6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0ICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdAoJICAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmRlcnNjb3JlcyBpbgoJICBHT2JqZWN0IHByb3BlcnR5IG5hbWVzLgoKMjAwNi0wOC0xNiAxMDoyMjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBEb2N1bWVudCBPU1MgZWxlbWVudHM7IGFkZCBndGstZG9jIGJsdXJiIHdpdGggJ1NpbmNlIDAuMTAuNScgZm9yIG9zc21peGVyJ3MgbmV3IGRldmljZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBEb2N1bWVudCBPU1MgZWxlbWVudHM7IGFkZCBndGstZG9jIGJsdXJiIHdpdGggJ1NpbmNlIDAuMTAuNScgZm9yCgkgIG9zc21peGVyJ3MgbmV3IGRldmljZSBwcm9wZXJ0eS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGRvY3MgZm9yIE9TUyBlbGVtZW50cy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSB0byBDVlMgdmVyc2lvbi4KCjIwMDYtMDgtMTYgMTA6MDU6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQ2FwcyBleHRyYSBwcm9wZXJ0aWVzIG11c3QgYmUgZGVmaW5lZCBhcyBzdHJpbmdzIGZvciBkZXBheWxvYWRlcnMgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSBhbiBTRFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBDYXBzIGV4dHJhIHByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIGFzIHN0cmluZ3MgZm9yCgkgIGRlcGF5bG9hZGVycyBiZWNhdXNlIHRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIGFuIFNEUC4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2ZpbmFsaXplKSwgKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBBZGRlZCBiYXNpYywgbm90IGNvbXBsZXRlbHkgZnVuY3Rpb25hbCBSRkMgMzk4NCBIMjY0IGRlcGF5bG9hZGVyLgoKMjAwNi0wOC0xNiAwOTo0ODoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiBBZGQgcGFkcyBhZnRlciBzZXR0aW5nIHRoZW0gdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgIEFkZCBwYWRzIGFmdGVyIHNldHRpbmcgdGhlbSB1cC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfZnJlZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3J0c3BzcmNfbG9vcCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IGludGVybGVhdmVkIG1vZGUuCgkgIC0gUHJvdGVjdCBzdHJlYW1pbmcgd2l0aCBsb2NrLgoJICAtIENvbWJpbmUgZmxvd3MKCSAgLSBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAtIHN0cmlwIHRyYWlsaW5nIFwwIGZyb20gZGF0YSBwYWNrZXRzLgoJICAtIENvbmZpZ3VyZSBSVFAvUlRDUCBpbiBzdHJlYW0uCgkgIFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCjIwMDYtMDgtMTYgMDk6Mjk6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBUdXJuIGEgZ19wcmludCBpbnRvIGEgREVCVUcgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgVHVybiBhIGdfcHJpbnQgaW50byBhIERFQlVHIGxpbmUuCgoyMDA2LTA4LTE2IDA5OjI1OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy86IFNtYWxsIGNsZWFudXBzLiBCZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6IChnc3Rfb3NzbWl4ZXJfb3BlbiksIChnc3Rfb3NzbWl4ZXJfbmV3KToKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2luaXQpLCAoZ3N0X29zc19taXhlcl9lbGVtZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkgIFNtYWxsIGNsZWFudXBzLiBCZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgoJICBBZGQgZGV2aWNlIHByb3BlcnR5IGZvciB0aGUgbWl4ZXIgaW5zdGVhZCBvZiB0aGUgaGFyZGNvZGVkCgkgIC9kZXYvbWl4ZXIuIEZpeGVzICMzNTA3ODUuCgkgIEFQSTogR3N0T3NzTWl4ZXJFbGVtZW50OjpkZXZpY2UgcHJvcGVydHkKCjIwMDYtMDgtMTUgMjI6NDQ6MjcgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdjb25mL01ha2VmaWxlLmFtOiBNYWtlIC0tZGlzYWJsZS1zY2hlbWFzIHdvcmsgcmlnaHQgKHRoZXkgc3RpbGwgbmVlZCB0byBiZSBjb3BpZWQgdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnksIGp1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgTWFrZSAtLWRpc2FibGUtc2NoZW1hcyB3b3JrIHJpZ2h0ICh0aGV5IHN0aWxsIG5lZWQKCSAgdG8gYmUgY29waWVkIHRvIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBqdXN0IG5vdAoJICBhcHBsaWVkKS4gRml4ZXMgIzM1MTM0NyAoYWxzbyAjMzQ0MTAwKS4KCjIwMDYtMDgtMTUgMjA6Mjk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7IHNvbWUgc21hbGwgY2xlYW4tdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7CgkgIHNvbWUgc21hbGwgY2xlYW4tdXBzIGFsb25nIHRoZSB3YXk7IGFkZCBzdXBwb3J0IGZvciBTRUVLSU5HIHF1ZXJ5CgkgIGFuZCBxdWVyeSB0eXBlcyBmdW5jdGlvbi4gKCMzNTE0OTUpLgoKMjAwNi0wOC0xNCAxMTozNzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKMjAwNi0wOC0xNCAxMToxNDo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbGVhc2luZyAwLjEwLjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjQKCjIwMDYtMDgtMTQgMTA6MDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZQoJICB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaW11bSByZXF1aXJlZAoJICBiaXRyYXRlIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZS4gKCMzNTAzOTkpCgoyMDA2LTA4LTEwIDE0OjEwOjI4ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgoJICBTZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIEZpeGVzICMzNDc1MjkKCjIwMDYtMDgtMTAgMTQ6MDI6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBidW1wZWQgZm9yIHByZXJlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVtcGVkIGZvciBwcmVyZWwKCjIwMDYtMDgtMTAgMTM6MTA6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA2LTA4LTA4IDE0OjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHNpbGx5IHR5cG8uCgoyMDA2LTA4LTA4IDE0OjQ2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgbnVtYmVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgbnVtYmVyCgoyMDA2LTA4LTA4IDE0OjQwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvOiBSZWZ1c2Ugc2luayBjYXBzIGluIHRoZSBlbmNvZGVyIGlmIHdpZHRoIG9yIGhlaWdodCBpcyBub3QgYSBtdWx0aXBsZSBvZiAxNiwgdGhlIGVuY29kZXIgZG9lcyBub3Qgc3VwcG9ydCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKSwgKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIFJlZnVzZSBzaW5rIGNhcHMgaW4gdGhlIGVuY29kZXIgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIG5vdCBhCgkgIG11bHRpcGxlIG9mIDE2LCB0aGUgZW5jb2RlciBkb2VzIG5vdCBzdXBwb3J0IHRoYXQgeWV0OyBhbG9uZyB0aGUKCSAgc2FtZSBsaW5lcywgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZW5jb2RlciBzZXR1cCBmdW5jdGlvbjsKCSAgYWxzbyByZW1vdmUgc29tZSBkZWJ1ZyBsb2cgY2x1dHRlci4KCjIwMDYtMDgtMDQgMTE6Mzg6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZyB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3JpbmcKCSAgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3Iga2VlcGluZwoJICB0cmFjayBvZiBpdHMgc3RhdGUuIENoYW5nZSB0aGUgRmxvd1JldHVybiBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tCgkgICJzdGF0ZSIgdG8gImZsb3dfc3RhdGUiLCBhbGwgY2FsbGVycyBjaGFuZ2VkLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKTogTmV3IGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlCgkgIHByb2Nlc3NvcidzIHN0YXRlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IHN0YXJ0KCkgYXMgd2VsbCBhcyBzZXR1cCgpIGhlcmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKTogUmVzcGVjdCBDQU5fUFJPQ0VTU19JTl9QTEFDRS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFN0b3AgYW5kIGNsZWFudXAgdGhlCgkgIHByb2Nlc3NvciBhcyB3ZSBnbyB0byBOVUxMLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmMgKGdzdF9sYWRzcGFfYmFzZV9pbml0KTogUmV1c2UgYnVmZmVycyBpZgoJICBJTlBMQUNFX0JST0tFTiBpcyBub3Qgc2V0LgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBEbyB0aGUgYWxsb2NfYnVmZmVyIGluIGJ5dGVzLCBub3QgZnJhbWVzLgoKMjAwNi0wOC0wNCAxMDoyMToyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiBGaXggcmdiIG1hc2tzIHdoZW4gcmVjb3JkaW5nIGluIDwgMjRicHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgIEZpeCByZ2IgbWFza3Mgd2hlbiByZWNvcmRpbmcgaW4gPCAyNGJwcC4KCjIwMDYtMDgtMDQgMDk6MjA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQlBCCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiBCUEIKCjIwMDYtMDgtMDQgMDk6MDU6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdXBkYXRlX2lucHV0cykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogUmVtb3ZlIHRoZSBsYXN0IG9mIHRoZSBjb2RlCgkgIHRoYXQgYXNzdW1lcyB0aGF0IHdlIHByb2Nlc3Mgd2hvbGUgYnVmZmVycyBhdCBhIHRpbWUuIEZpeCBzb21lCgkgIGRlYnVnZ2luZy4gU2VlbXMgdG8gd29yayBub3cgaW4gc29tZSBjYXNlcy4KCjIwMDYtMDctMzEgMjI6Mjc6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IEluaXQgcGVuZGluZ19pbiBhbmQgcGVuZGluZ19vdXQuCgoyMDA2LTA3LTMxIDIyOjAzOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8gbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vCgkgIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhdCB0aGUgc2FtcGxlCgkgIHJhdGUgYWN0dWFsbHkgZ2V0cyBzZXQuIFNvbWV0aGluZyBmb3IgdGhlIGZ1dHVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBTb21lIHJlZmNvdW50IGZpeGVzLCBmbG93IGZpeGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOiBSZWZjb3VudCBmaXhlbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBQdWxsIHRoZSBudW1iZXIgb2YgZnJhbWVzIHRvCgkgIHByb2Nlc3MgZnJvbSB0aGUgc2l6ZXMgb2YgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlucHV0IHBlbnMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKTogUmVtb3ZlIGFuIGluY29ycmVjdCBGSVhNRSA6KQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBBZGQgYW4gbmZyYW1lcyBhcmd1bWVudCwgYW5kIHVzZQoJICBpdCBpbnN0ZWFkIG9mIGJ1ZmZlcl9mcmFtZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IFJlZmNvdW50IGZpeGVuLCBwYXNzIG5mcmFtZXMgb24KCSAgdG8gZG9fcHVsbHMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogIFJlZmNvdW50IGZpeGVuLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IE5vIG1vcmUgYnVmZmVyX2ZyYW1lcywgeWF5LgoKMjAwNi0wNy0zMSAxOTo0NDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLAoJICB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkxODkpCgoyMDA2LTA3LTMxIDE1OjU4OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBkb2NzLgoKMjAwNi0wNy0yOSAxNjozMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBGSVhNRSBjb21tZW50cywgZmlsZWQgIzM0OTE4OQoKMjAwNi0wNy0yOSAxMToyMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IFNldCBjYXBzIG9uIGJ1ZmZlciBjb3JyZWN0bHkuICBGaXhlcyBidWcgIzM0OTE1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMjkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgU2V0IGNhcHMgb24gYnVmZmVyIGNvcnJlY3RseS4gIEZpeGVzIGJ1ZyAjMzQ5MTU1LgoKMjAwNi0wNy0yOCAxNjoxNzoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBVc2VzIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBvd24gYnVmZmVyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2ZpbmFsaXplKSwgKGdldF9saW5lX2VuZCksCgkgIChtdWx0aXBhcnRfcGFyc2VfaGVhZGVyKSwgKG11bHRpcGFydF9maW5kX2JvdW5kYXJ5KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpcGFydF9nZXRfcHJvcGVydHkpOgoJICBVc2VzIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBvd24gYnVmZmVyaW5nLgoJICBBY3R1YWxseSBwYXJzZXMgdGhlIG1pbWUtdHlwZSBjb3JyZWN0bHkgKEluIHRlc3RzIHRoZSBtaW1lLXR5cGUgd2FzCgkgIGFsd2F5cyAiIiB3aXRoIHRoZSBvbGQgdmVyc2lvbikuCgkgIFVzZXMgdGhlIENvbnRlbnQtbGVuZ3RoIGhlYWRlciBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgdGhpbmdzLgoJICBSZWxpYWJseSBhdXRvc2NhbnMgdGhlIGJvdW5kYXJ5IG5hbWUgYnkgZGVmYXVsdC4KCSAgRml4ZXMgIzM0OTA2OC4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRG9uJ3Qgc3RhcnQgdGhlIHN0cmVhbSB3aXRoIGEgXG4uCgoyMDA2LTA3LTI4IDA4OjMyOjQ3ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogT3BlbiBzb3VyY2Ugd2l0aCBPX05PTkJMT0NLICgjMzQ5MDE1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICBPcGVuIHNvdXJjZSB3aXRoIE9fTk9OQkxPQ0sgKCMzNDkwMTUpLgoKMjAwNi0wNy0yOCAwODoyMToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBtb3JlIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBtb3JlIGRlYnVnCgoyMDA2LTA3LTI3IDExOjIxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBHZXQgcmlkIG9mIG9sZCBhbmQgdW51c2VkIG1hZ2ljIHNvdW5kLXNlcnZlciBwcm9wZXJ0aWVzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NyZWF0ZV9lbGVtZW50X3dpdGhfcHJldHR5X25hbWUpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBHZXQgcmlkIG9mIG9sZCBhbmQgdW51c2VkIG1hZ2ljIHNvdW5kLXNlcnZlciBwcm9wZXJ0aWVzIHN0dWZmLgoJICBBZGQgc3VmZml4IHRvIGNoaWxkIHNpbmsncyBuYW1lIHRoYXQgbWFrZXMgaXQgZWFzeSB0byBzZWUgZnJvbQoJICB0aGUgbmFtZSBhbG9uZSB3aGljaCB0eXBlIGl0IGFjdHVhbGx5IGlzIChhbHNhLCBvc3MsIGVzZCwgZXRjLikuCgoyMDA2LTA3LTI3IDEwOjA1OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogUmVuYW1lICJidWZmZXIiIHRvICJidWZmZXItc2l6ZSIgdG8gbWFrZSBjbGVhciBpdCBpcyBhIHNpemUgd2Ugc2V0IGFuZCBub3Qgc29tZSBzb3J0IG9mIGZlYXR1cmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFJlbmFtZSAiYnVmZmVyIiB0byAiYnVmZmVyLXNpemUiIHRvIG1ha2UgY2xlYXIgaXQgaXMgYSBzaXplIHdlIHNldCBhbmQKCSAgbm90IHNvbWUgc29ydCBvZiBmZWF0dXJlIHdlIGVuYWJsZS4KCjIwMDYtMDctMjcgMTA6MDE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBVc2UgQ0xPU0VfU09DS0VUKCkgaGVyZSBpbnN0ZWFkIG9mIGNsb3NlKCkgdG8gbWFpbnRhaW4gd2luMzIgd29ya2luZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVzZSBDTE9TRV9TT0NLRVQoKSBoZXJlIGluc3RlYWQgb2YgY2xvc2UoKSB0byBtYWludGFpbgoJICB3aW4zMiB3b3JraW5lc3MuCgoyMDA2LTA3LTI3IDA5OjA0OjUxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZGVkICJidWZmZXIiIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGtlcm5lbCByZWNlaXZlIGJ1ZmZlciBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzIGRvdCB2ZXJtZWlyIGF0IGJhcmNvIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkZWQgImJ1ZmZlciIgcHJvcGVydHkgdG8gY29udHJvbCB0aGUga2VybmVsIHJlY2VpdmUgYnVmZmVyIHNpemUuCgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBTbWFsbCBjbGVhbnVwcy4gRml4ZXMgIzM0ODc1Mi4KCSAgQVBJOiBidWZmZXIgcHJvcGVydHkKCjIwMDYtMDctMjYgMTc6MDk6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IEZpeCBsYW1lIHB1dHRpbmcgbG90cyBvZiAwJ3MgYXQgc3RhcnQgb2YgbXAzLiAgRml4ZXMgYnVnICMzNDg3ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTI2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc2V0dXApOgoJICBGaXggbGFtZSBwdXR0aW5nIGxvdHMgb2YgMCdzIGF0IHN0YXJ0IG9mIG1wMy4gIEZpeGVzIGJ1ZyAjMzQ4Nzg2LgoKMjAwNi0wNy0yNiAxNjozNjo1OSArMDAwMCAgS2FpIFZlaG1hbmVuIDxrdjIwMDRAZWNhLmN4PgoKCSAgZ3N0L3J0cC86IEZpeCB0aW1lc3RhbXAgY2FsY3VsYXRpb24gb24gb3V0Z29pbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogS2FpIFZlaG1hbmVuIDxrdjIwMDQgYXQgZWNhIGRvdCBjeD4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY21hX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY211X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgRml4IHRpbWVzdGFtcCBjYWxjdWxhdGlvbiBvbiBvdXRnb2luZyBSVFAgcGFja2V0cy4KCSAgRml4ZXMgIzM0ODY3NS4KCjIwMDYtMDctMjYgMTA6MDc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBpcyBzdGlsbCBzdWItb3B0aW1hbCB0aG91Z2gsIHNpbmNlIHdlIGRvbid0IHJldGFpbiBvciBleHRyYWN0IHRoZSBjb21tZW50IGRlc2NyaXB0aW9ucyBwcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgRml4IHdyaXRpbmcgb2YgY29tbWVudCBmcmFtZXMgKHNob3VsZCBiZSBDT01NIG5vdCBUQ09NKSwKCSAgaXMgc3RpbGwgc3ViLW9wdGltYWwgdGhvdWdoLCBzaW5jZSB3ZSBkb24ndCByZXRhaW4gb3IKCSAgZXh0cmFjdCB0aGUgY29tbWVudCBkZXNjcmlwdGlvbnMgcHJvcGVybHkgKCMzMzQzNzUsCgkgIGFsc28gc2VlICMzMzQzNzUpLgoKMjAwNi0wNy0yNiAwOTowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAjZGVmaW5lICdmYWN0JyBSSUZGIGNodW5rIGlmIHdlIGFyZSBub3QgY29tcGlsaW5nIGFnYWluc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgICNkZWZpbmUgJ2ZhY3QnIFJJRkYgY2h1bmsgaWYgd2UgYXJlIG5vdCBjb21waWxpbmcgYWdhaW5zdAoJICAtYmFzZSBDVlMgKHdlIGRvbid0IHdhbnQgdG8gZGVwZW5kIG9uIC1iYXNlIENWUyBmb3IgdGhpcwoJICBvbmUgZGVmaW5lIG9ubHksIGFuZCBhbHNvIG5vdCBmb3IgcmVsZWFzZSBvcmRlciByZWFzb25zKS4KCjIwMDYtMDctMjYgMDg6MTc6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBIYW5kbGUgbXVsdGlwbGUgdGFncyBvZiB0aGUgc2FtZSB0eXBlIHByb3Blcmx5LiBSZS1pbmplY3QgdW5wYXJzZWQgSUQzdjIgZnJhbWVzIHRoYXQgd2UgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgSGFuZGxlIG11bHRpcGxlIHRhZ3Mgb2YgdGhlIHNhbWUgdHlwZSBwcm9wZXJseS4gUmUtaW5qZWN0CgkgIHVucGFyc2VkIElEM3YyIGZyYW1lcyB0aGF0IHdlIGdldCBhcyBiaW5hcnkgYmxvYnMgZnJvbQoJICBpZDNkZW11eCBpbnRvIHRoZSB0YWcgYWdhaW4gc28gd2UgZG9uJ3QgbG9zZSBpbmZvcm1hdGlvbgoJICB3aGVuIHJldGFnZ2luZyAoIzMzNDM3NSkuCgoyMDA2LTA3LTI1IDE3OjU0OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRG9jdW1lbnQgbmV3bHktYWRkZWQgcHJvcGVydGllcyBwcm9wZXJseSwgc28gdGhhdCB0aGVyZSBpcyBhICdTaW5jZTogMC4xMC40JyBpbiB0aGUgcGx1Z2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgbmV3bHktYWRkZWQgcHJvcGVydGllcyBwcm9wZXJseSwgc28gdGhhdCB0aGVyZSBpcyBhCgkgICdTaW5jZTogMC4xMC40JyBpbiB0aGUgcGx1Z2luIGRvY3MuIENvbnZlcnQgc29tZSBwcm9wZXJ0eQoJICBuYW1lcyBpbnRvIGNhbm9uaWNhbCBHT2JqZWN0IHN0eWxlIChHT2JqZWN0IHdpbGwgZG8gdGhhdAoJICBpbnRlcm5hbGx5IGFueXdheSkuCgoyMDA2LTA3LTI1IDE2OjQ3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogRXh0cmFjdCBmcmFtZXMgZm9yIElEM3YyIHZlcnNpb25zIHByaW9yIHRvIElEM3YyLjMuMCBwcm9wZXJseSBhcyB3ZWxsLCBhbmQgYWRkIHRoZSB2ZXJzaW9uIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KToKCSAgRXh0cmFjdCBmcmFtZXMgZm9yIElEM3YyIHZlcnNpb25zIHByaW9yIHRvIElEM3YyLjMuMCBwcm9wZXJseSBhcwoJICB3ZWxsLCBhbmQgYWRkIHRoZSB2ZXJzaW9uIHRvIHRoZSBibG9iJ3MgYnVmZmVyIGNhcHMsIHNpbmNlIHRoYXQKCSAgaW5mb3JtYXRpb24gd2lsbCBiZSBuZWVkZWQgZm9yIGRlc2VyaWFsaXNhdGlvbiBsYXRlciBvbiAoIzM0ODY0NCkuCgoyMDA2LTA3LTI1IDEzOjE0OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vdmVkIHdpbjMyIHZhcmlhbnQgb2YgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0byBnc3RpbmZvLmguIEZpeGVkIGluZGVudGF0aW9uIGFuZCBzcGFjaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIE1vdmVkIHdpbjMyIHZhcmlhbnQgb2YgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0byBnc3RpbmZvLmguIEZpeGVkCgkgIGluZGVudGF0aW9uIGFuZCBzcGFjaW5nLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNy0yNCAxNToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBmaWxlcyB0byBDVlMvUHJlcmVsZWFzZSB2ZXJzaW9uLCBhZGQgZXNkc2luayBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBmaWxlcyB0byBDVlMvUHJlcmVsZWFzZSB2ZXJzaW9uLCBhZGQgZXNkc2luayBkb2NzLgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICBBZGQgZ3RrLWRvYyBibHVyYi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgRml4IHR5cG8gaW4gZWxlbWVudCBkZXNjcmlwdGlvbi4KCjIwMDYtMDctMjQgMTQ6NTQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggU3RlZmFuJ3MgZS1tYWlsIGFkZHJlc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggU3RlZmFuJ3MgZS1tYWlsIGFkZHJlc3MKCjIwMDYtMDctMjQgMTQ6NDk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogUHJldmVudCBsaWJlc2QgZnJvbSBhdXRvLXNwYXduaW5nIGEgc291bmQgZGFlbW9uIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHJ1bm5pbmcuIE5vdyB0aGF0IHdlIGRvbid0IGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19vcGVuKSwKCSAgKGdzdF9lc2RzaW5rX2ZhY3RvcnlfaW5pdCk6CgkgIFByZXZlbnQgbGliZXNkIGZyb20gYXV0by1zcGF3bmluZyBhIHNvdW5kIGRhZW1vbiBpZiBpdAoJICBpcyBub3QgYWxyZWFkeSBydW5uaW5nLiBOb3cgdGhhdCB3ZSBkb24ndCBkbyBldmlsIHN0dWZmCgkgIGxpa2UgdGhhdCBhbnkgbG9uZ2VyIHdlIGNhbiBnaXZlIGVzZHNpbmsgYSByYW5rIHNvIHRoYXQKCSAgYXV0b2F1ZGlvc2luayB3aWxsIHRyeSBpdCBhcyB3ZWxsIGlmIGFsbCBvdGhlciBhdWRpbwoJICBzaW5rcyBmYWlsICgjMzQzMDUxKS4KCjIwMDYtMDctMjQgMTQ6NDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL01ha2VmaWxlLmFtOiBPb3BzLCBuZWVkIHRvIHJlbW92ZSBSRUFETUUgZnJvbSBFWFRSQV9ESVNUIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgIE9vcHMsIG5lZWQgdG8gcmVtb3ZlIFJFQURNRSBmcm9tIEVYVFJBX0RJU1QgYXMgd2VsbC4KCjIwMDYtMDctMjQgMTQ6Mzc6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL1JFQURNRTogUmVtb3ZlLCBpdCBjb250YWlucyBub3RoaW5nIHVzZWZ1bCBhbnl3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvUkVBRE1FOgoJICBSZW1vdmUsIGl0IGNvbnRhaW5zIG5vdGhpbmcgdXNlZnVsIGFueXdheS4KCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2luaXQpLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksCgkgIChnc3RfZXNkc2lua19kZWxheSk6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOyB1c2UgR1NUX0JPSUxFUlBMQVRFIGV0Yy4KCjIwMDYtMDctMjQgMTQ6MTY6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGF3LzogRml4IG5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBBTlkvRU1QVFkgY2FwcyBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoYWxhd2VuY19nZXRjYXBzKSwgKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKG11bGF3ZW5jX2dldGNhcHMpOgoJICBGaXggbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIEFOWS9FTVBUWSBjYXBzIGluc3RlYWQgb2YgbGVha2luZy4KCjIwMDYtMDctMjQgMTM6NDA6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVc2UgaW5mb3JtYXRpb24gZnJvbSAnZmFjdCcgY2h1bmsgZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBvZiBjb21wcmVzc2VkIHNhbXBsZXMuIENhbGN1bGF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfb3RoZXIpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2VfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVzZSBpbmZvcm1hdGlvbiBmcm9tICdmYWN0JyBjaHVuayBmb3IgbGVuZ3RoIGNhbGN1bGF0aW9uIG9mIGNvbXByZXNzZWQKCSAgc2FtcGxlcy4gQ2FsY3VsYXRlIGJwcyBpZiBib2d1cyB2YWx1ZSBpcyBmb3VuZCBpbiB3YXYgaGVhZGVyIChlbWJlZGVkCgkgIG1wMi9tcDMpLgoKMjAwNi0wNy0yNCAxMTo0ODowMyArMDAwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuZmk+CgoJICBQb3J0IHVkcCBwbHVnaW4gdG8gd2luMzIgKCMzNDUyODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmkgVmFsdGFuZW4gIDxqb25pIGRvdCB2YWx0YW5lbiBhdCBtb3ZpYWwgZmk+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9keW51ZHBzaW5rX2Nsb3NlKToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X211bHRpdWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLAoJICAoZ3N0X3VkcHNyY19zdGFydCksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9uZXRfdXRpbHNfd2luMzJfaW5ldF9hdG9uKSwKCSAgKGdzdF91ZHBfbmV0X3V0aWxzX3dpbjMyX3dzYV9zdGFydHVwKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIFBvcnQgdWRwIHBsdWdpbiB0byB3aW4zMiAoIzM0NTI4OCkuCgoyMDA2LTA3LTI0IDExOjAwOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogUmVtb3ZlIHVud2FudGVkIERFQlVHIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fc2VuZCk6CgkgIFJlbW92ZSB1bndhbnRlZCBERUJVRyBsaW5lLgoKMjAwNi0wNy0yMyAxMTozMzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IE9uIHNlY29uZCB0aG91Z2h0LCBpdCBtaWdodCBiZSB3aXNlciBhbmQgbW9yZSBlZmZpY2llbnQgbm90IHRvIGRvIHRhZyByZWdpc3RyYXRpb24gZnJvbSBhIHN0cmVhbWluZyB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgT24gc2Vjb25kIHRob3VnaHQsIGl0IG1pZ2h0IGJlIHdpc2VyIGFuZCBtb3JlIGVmZmljaWVudAoJICBub3QgdG8gZG8gdGFnIHJlZ2lzdHJhdGlvbiBmcm9tIGEgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDYtMDctMjMgMTA6NTY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBQdXQgSUQzdjIgZnJhbWVzIHdlIGNhbid0IHBhcnNlIGFzIGJpbmFyeSBibG9icyBpbnRvIHByaXZhdGUgdGFncywgc28gdGhhdCB0aGV5IGFyZSBub3QgbG9zdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgUHV0IElEM3YyIGZyYW1lcyB3ZSBjYW4ndCBwYXJzZSBhcyBiaW5hcnkgYmxvYnMgaW50byBwcml2YXRlCgkgIHRhZ3MsIHNvIHRoYXQgdGhleSBhcmUgbm90IGxvc3Qgd2hlbiByZXRhZ2dpbmcsIGF0IGxlYXN0IG9uY2UKCSAgaWQzdjJtdXggaGFzIGJlZW4gdGF1Z2h0IHRvIHJlLWluamVjdCB0aG9zZSBmcmFtZXMgYWdhaW4uCgkgIFNlZSBidWcgIzMzNDM3NS4KCjIwMDYtMDctMjEgMTA6NTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgIEZpeCBzb21lIGxlYWtzLgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBEb24ndCB1c2UgXG4gaW4gZGVidWcgbGluZXMuCgoyMDA2LTA3LTIwIDE4OjQ4OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYW5ub2RleCBhbmQgaWN5ZGVtdXgsIGNsZWFudXAgdGhlIHNlY3Rpb25zIGEgYml0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgYW5ub2RleCBhbmQgaWN5ZGVtdXgsIGNsZWFudXAgdGhlIHNlY3Rpb25zIGEgYml0CgoyMDA2LTA3LTE5IDE0OjM2OjAwICswMDAwICBNYXJ0aW4gU3p1bGVja2kgPGNvbXBpekBzdWtpbWFzaGl0YS5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdCBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJ0aW4gU3p1bGVja2kKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlcik6CgkgIElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdAoJICBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnRhaW4gdGhpcwoJICBpbmZvcm1hdGlvbiAoIzM0MjQ5NCkuCgoyMDA2LTA3LTE5IDExOjUyOjUzICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogV3JpdGUgR1NUX1RBR19FTkNPREVSIGFuZCBHU1RfVEFHX0VOQ09ERVJfVkVSU0lPTiBhcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyIDxhbGV4bCBhdCB1c2VycyBzb3VyY2Vmb3JnZSBuZXQ+CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV3JpdGUgR1NUX1RBR19FTkNPREVSIGFuZCBHU1RfVEFHX0VOQ09ERVJfVkVSU0lPTiBhcwoJICBJRDN2MiBUU1NFIGZyYW1lcyAoIzM0Nzg5OCkuCgoyMDA2LTA3LTE5IDA3OjQwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBmaXhlZCBidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBtZW50aW9uIGZpeGVkIGJ1ZwoKMjAwNi0wNy0xOCAxOTo1OTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogUmVzcGVjdCBtcGVndmVyc2lvbiBmb3IgInZpZGVvL21wZWciIGFuZCBnaXZlIG1lc3NhZ2UgaW4gY2FzZSBvZiB1bmhhbmRsZWQgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKToKCSAgUmVzcGVjdCBtcGVndmVyc2lvbiBmb3IgInZpZGVvL21wZWciIGFuZCBnaXZlIG1lc3NhZ2UgaW4gY2FzZSBvZgoJICB1bmhhbmRsZWQgdmVyc2lvbnMuCgoyMDA2LTA3LTE4IDE4OjA1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBRdWV1ZSBpbmNvbWluZyBldmVudHMgaWYgdGhlcmUncyBubyBzb3VyY2UgcGFkIHlldCBhbmQKCSAgc2VuZCB0aGVtIGRvd25zdHJlYW0gbGF0ZXIgd2hlbiB0aGUgcGFkIGlzIHRoZXJlLgoKMjAwNi0wNy0xOCAxNjo0NzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0CgkgIHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHV0IHNhbXBsZXMgd2l0aCAyMS0yNCBiaXQgZGVwdGgKCSAgd2l0aCAzMiBiaXQgd2lkdGggKG1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIHVzKS4KCjIwMDYtMDctMTggMTU6NTM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbgoJICBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlciBnZXRzIGltcGxlbWVudGVkIGEgbG90IG9mIHN0dWZmCgkgIHdpbGwgaGF2ZSB0byBiZSByZXdyaXR0ZW4gYW55d2F5OyByZWRvIGNoYWluIGZ1bmN0aW9uLCBtb3ZlCgkgIGVycm9ycyB0byBlbmQsIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0KClpbmcuIEFsc28gcmVuYW1lCgkgIG92ZXJseSBsb25nIHZhcmlhYmxlICd3YXZwYWNrZGVjJyB0byBqdXN0ICdkZWMnOyBtaXNjZWxsYW5lb3VzCgkgIG90aGVyIHNtYWxsIHN0dWZmLgoKMjAwNi0wNy0xOCAxNDowODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmCgkgIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19yZWFkX2hlYWRlciksCgkgIChnc3Rfd2F2cGFja19yZWFkX21ldGFkYXRhKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19kZWNfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgUG9ydCB0byBuZXcvb2ZmaWNpYWwgd2F2cGFjayBBUEksIGRvbid0IHVzZSBBUEkgdGhhdCB3YXMgZXhwb3J0ZWQKCSAgaW4gd2F2cGFjayBoZWFkZXIgZmlsZXMgYW5kIGluIHRoZSBsaWIgYnV0IG1lYW50IHRvIGJlIHByaXZhdGUsIGF0CgkgIGxlYXN0IG5vdCBmb3IgcmVjZW50IHdhdnBhY2sgdmVyc2lvbnM7IG1pc2MuICdjbGVhbnVwcycgKCMzNDc0NDMpLgoKMjAwNi0wNy0xNyAxMDoyNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBXaGVuIHdlIGRvIGEga2V5ZnJhbWUgc2VlayBhbmQgdGhlIHJlcXVlc3RlZCB0aW1lIGlzIGF0IHRoZQoJICBrZXlmcmFtZSwgZG9uJ3Qgc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGtleWZyYW1lLgoJICBGaXhlcyAjMzQ3NDM5LgoKMjAwNi0wNy0xNyAxMDoyMjo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IFVzZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzZWdtZW50IGluc3RlYWQgb2YgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksIChidWZmZXJfY2xpcCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKSwKCSAgKGdzdF9wbmdkZWNfY2hhaW4pLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2luaXQpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIFVzZSBzdGF0aWNhbGx5IGFsbG9jYXRlZCBzZWdtZW50IGluc3RlYWQgb2YgbGVha2luZy4KCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRml4IGZsdXNoIGFuZCBzZWVrIGhhbmRsaW5nLgoKMjAwNi0wNy0xNiAxNDozMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgZ2VuZXJpYyBtcGVnNCBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgIEFkZGVkIHNpbXBsZSBnZW5lcmljIG1wZWc0IGRlcGF5bG9hZGVyLgoJICBGaXggZ2VuZXJpYyBtcGVnNCBwYXlsb2FkZXIuCgoyMDA2LTA3LTE1IDE1OjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCB0cnkgZG9pbmcgc3RhdGUgY2hhbmdlcyBvbiBhIE5VTEwgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKToKCSAgRG9uJ3QgdHJ5IGRvaW5nIHN0YXRlIGNoYW5nZXMgb24gYSBOVUxMIHBvaW50ZXIuCgoyMDA2LTA3LTE1IDExOjUwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCjIwMDYtMDctMTQgMTM6MzM6NTQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuKjogcnRwYW1yZGVjIGlzbid0IGEgc3ViY2xhc3Mgb2YgR3N0QmFzZVJ0cERlcGF5bG9hZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDIgYXQgeWFob28gZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgIHJ0cGFtcmRlYyBpc24ndCBhIHN1YmNsYXNzIG9mIEdzdEJhc2VSdHBEZXBheWxvYWQuCgkgIEZpeGVzICMzMjExOTEKCjIwMDYtMDctMTQgMTI6MDE6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggc2VnZmF1bHQgd2hlbiBtb3ZpbmcgbW91c2UgcG9pbnRlciB0byB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2FwcyksIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KToKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gbW92aW5nIG1vdXNlIHBvaW50ZXIgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCgoyMDA2LTA3LTEzIDE1OjIyOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgoyMDA2LTA3LTEyIDA5OjM0OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIG1wZWcyIFRTIGRlcGF5bG9hZGVyLiBDbG9zaW5nICMzNDcyMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMnRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkgIEFkZGVkIG1wZWcyIFRTIGRlcGF5bG9hZGVyLiBDbG9zaW5nICMzNDcyMzQuCgoyMDA2LTA3LTEyIDA5OjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoKMjAwNi0wNy0xMSAyMjo0Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IFJlbW92ZSBnX2Fzc2VydCB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX2Nsb3NlKToKCSAgUmVtb3ZlIGdfYXNzZXJ0IHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlLgoKMjAwNi0wNy0xMCAyMDoxMTozNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogRG9uJ3QgcHVzaCB0YWcgZXZlbnRzIGZvdW5kIGJ5IGdzdF9yaWZmX3BhcnNlX2luZm8oKSBiZWZvcmUgb3V0cHV0dGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChwdXNoX3RhZ19saXN0cyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBEb24ndCBwdXNoIHRhZyBldmVudHMgZm91bmQgYnkgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIGJlZm9yZSBvdXRwdXR0aW5nCgkgIEdTVF9FVkVOVF9ORVdTRUdNRU5ULgoKMjAwNi0wNy0xMCAxNjo0MTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogcmVwbGFjZWQgY2xvc2Vzb2NrZXQgYW5kIGNsb3NlIGluIGNvZGUgd2l0aCBvbmUgQ0xPU0VfU09DS0VULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICByZXBsYWNlZCBjbG9zZXNvY2tldCBhbmQgY2xvc2UgaW4gY29kZSB3aXRoIG9uZSBDTE9TRV9TT0NLRVQuCgkgIFNvbWUgbW9yZSBjbGVhbnVwcy4gRml4ZXMgIzM0NTMwMS4KCjIwMDYtMDctMTAgMTU6MjY6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IEZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgRml4IGV4YW1wbGUgcGlwZWxpbmUgaW4gZG9jcy4KCjIwMDYtMDctMTAgMTQ6NDk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCjIwMDYtMDctMTAgMTQ6NDI6MTUgKzAwMDAgIE1hdGhpcyBIb2ZlciA8bWF0aGlzLmhvZmVyQGRyZWFtbGFiLm5ldD4KCgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXRoaXMgSG9mZXIgPG1hdGhpcyBkb3QgaG9mZXIgYXQgZHJlYW1sYWIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldF9jYXBzKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfZGlzcG9zZSksIChnc3RfaWlyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9pbml0KSwgKGlpcl9zZXRfY2FwcyksCgkgIChpaXJfdHJhbnNmb3JtX2lwKSwgKGlpcl9zZXRfcHJvcGVydHkpLCAoaWlyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXRfY2FwcyksIChscHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDYtMDctMTAgMTA6MjE6NTcgKzAwMDAgIFJvYiBUYXlsb3IgPHJvYnRheWxvckBmbG9vcGlseS5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBJZiBhIGRlc3RpbmF0aW9uIGlzIGFkZGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlzIHNldCB0byBQQVVTRUQsIHRoZSBtdWx0aWNhc3QgZ3JvdXAgaXMgbm90IGouLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2IgVGF5bG9yIDxyb2J0YXlsb3IgYXQgZmxvb3BpbHkgZG90IG9yZz4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoam9pbl9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpOgoJICBJZiBhIGRlc3RpbmF0aW9uIGlzIGFkZGVkIGJlZm9yZSB0aGUgc3RyZWFtIGlzIHNldCB0byBQQVVTRUQsIHRoZQoJICBtdWx0aWNhc3QgZ3JvdXAgaXMgbm90IGpvaW5lZCBhcyB0aGUgc29ja2V0IGlzIG5vdCBjcmVhdGVkIHlldC4KCSAgQWxzbyBUVEwgYW5kIExPT1Agc2hvdWxkIGFsc28gYmUgc2V0LiBGaXhlcyAjMzQ2OTIxLgoKMjAwNi0wNy0xMCAwOTo1NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCjIwMDYtMDctMTAgMDk6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKToKCSAgRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoKMjAwNi0wNy0wOCAyMjo0MToyNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLio6IEZpeCB1c2UtZGFtYWdlIHByb3BlcnR5IHRvIGFjdHVhbGx5IHdvcmsgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMDkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZV9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfaW5pdCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgRml4IHVzZS1kYW1hZ2UgcHJvcGVydHkgdG8gYWN0dWFsbHkgd29yayA6KQoJICBBZGQgc3RhcnR4LCBzdGFydHksIGVuZHgsIGVuZHkgcHJvcGVydGllcyBzbyBzY3JlZW5jYXN0cyBvdGhlciB0aGFuIGZ1bGwKCSAgc2NyZWVuIG9uZXMgY2FuIHdvcmsuCgoyMDA2LTA3LTA4IDE5OjAzOjU0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuKjogQWRkIHVzZV9kYW1hZ2UgcHJvcGVydHkgdG8gb2ZmZXIgYWJpbGl0eSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMDggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZV9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3hpbWFnZV9zcmNfaW5pdCk6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgQWRkIHVzZV9kYW1hZ2UgcHJvcGVydHkgdG8gb2ZmZXIgYWJpbGl0eSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKCSAgWERhbWFnZSBvciBub3QuCgoyMDA2LTA3LTA3IDE1OjA0OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZmlsdGVycy5jOiBBdm9pZCBnb29tIGNvcmVkdW1waW5nIGJ5IGNsZWFyaW5nIG1lbW9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlclNldFJlc29sdXRpb24pOgoJICBBdm9pZCBnb29tIGNvcmVkdW1waW5nIGJ5IGNsZWFyaW5nIG1lbW9yeS4KCSAgRml4ZXMgMzQ1Njc5LgoKMjAwNi0wNy0wNyAxNDozMDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCjIwMDYtMDctMDUgMjA6MjE6MDIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6IEFkZCBhIGxpbmsgdG8gbGliZ3N0dGFnLTAuMTAubGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICBBZGQgYSBsaW5rIHRvIGxpYmdzdHRhZy0wLjEwLmxpYi4KCjIwMDYtMDctMDUgMTQ6NTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBEb24ndCByZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYSBidWZmZXIgaXMgYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtICh3aGljaCBtaWdodCBoYXBwZW4gd2l0aCBsYXJnZSBJRDMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX3JhbmdlKToKCSAgRG9uJ3QgcmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGEgYnVmZmVyIGlzIGJlZm9yZQoJICB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSAod2hpY2ggbWlnaHQgaGFwcGVuIHdpdGgKCSAgbGFyZ2UgSUQzdjIgdGFncyBpZiB0aGUgdGFnIHJlYWRpbmcgd2FzIGRvbmUgcHVsbHJhbmdlCgkgIGJhc2VkIGFuZCB3ZSB0aGVuIHN3aXRjaGVkIHRvIHB1c2ggbW9kZSBsYXRlciBvbikuCgkgIEZpeGVzIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgZnJvbSBKdW5lIDI5dGguCgoyMDA2LTA3LTA1IDEwOjE0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogTWFrZSBVVEYtOCB0aGUgZGVmYXVsdCBlbmNvZGluZyB3aGVuIHdyaXRpbmcgc3RyaW5nIHRhZ3MgKGJlZm9yZSwgb3VyIFVURi04IHN0cmluZ3Mgd291bGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIE1ha2UgVVRGLTggdGhlIGRlZmF1bHQgZW5jb2Rpbmcgd2hlbiB3cml0aW5nIHN0cmluZwoJICB0YWdzIChiZWZvcmUsIG91ciBVVEYtOCBzdHJpbmdzIHdvdWxkIGF1dG9tYXRpY2FsbHkKCSAgYmUgY29udmVydGVkIHRvIElTTy04ODU5LTEgYnkgdGFnbGliIGFuZCB3cml0dGVuIGFzCgkgIElTTy04ODU5LTEgZmllbGRzIGlmIHRoYXQgd2FzIHBvc3NpYmxlKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodXRmOF9zdHJpbmdfaW5fYnVmKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF9jaGVja190YWdfYnVmZmVyKSwgKGlkZW50aXR5X2NiKSwKCSAgKHRlc3RfdGFnbGliX2lkM211eF93aXRoX3RhZ3MpOgoJICBBZGQgdGVzdCBjYXNlIHRoYXQgbWFrZXMgc3VyZSBvdXIgVVRGLTggc3RyaW5ncyBoYXZlCgkgIGFjdHVhbGx5IGJlZW4gd3JpdHRlbiBpbnRvIHRoZSB0YWcgYXMgVVRGLTguCgoyMDA2LTA3LTA0IDE2OjAwOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBMZXQncyB0cnkgdGhhdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBMZXQncyB0cnkgdGhhdCBhZ2Fpbi4KCjIwMDYtMDctMDQgMTU6NDA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgbW9ub3Njb3BlIHBsdWdpbiBmb3Igbm93IHVudGlsIGl0IGZ1bGZpbGxzIGFsbCB0aGUgcmVxdWlyZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgbW9ub3Njb3BlIHBsdWdpbiBmb3Igbm93IHVudGlsIGl0IGZ1bGZpbGxzCgkgIGFsbCB0aGUgcmVxdWlyZW1lbnRzLgoKMjAwNi0wNy0wMyAyMDozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbW9ub3Njb3BlIHZpc3VhbGlzYXRpb24gdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfYmFzZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2xhc3NfaW5pdCksIChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9maW5hbGl6ZSksIChnc3RfbW9ub3Njb3BlX3Jlc2V0KSwKCSAgKGdzdF9tb25vc2NvcGVfc2lua19zZXRjYXBzKSwgKGdzdF9tb25vc2NvcGVfc3JjX3NldGNhcHMpLAoJICAoZ3N0X21vbm9zY29wZV9zcmNfbmVnb3RpYXRlKSwgKGdldF9idWZmZXIpLCAoZ3N0X21vbm9zY29wZV9jaGFpbiksCgkgIChnc3RfbW9ub3Njb3BlX3NpbmtfZXZlbnQpLCAoZ3N0X21vbm9zY29wZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmg6CgkgIFBvcnQgbW9ub3Njb3BlIHZpc3VhbGlzYXRpb24gdG8gMC4xMC4KCjIwMDYtMDctMDMgMjA6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBJVjQxIGZvdXJjYyAoc2VlIGJ1ZyAjMTcxMTExKTsgZG9uJ3Qgb3V0cHV0IGNvbmZ1c2luZwoJICBkZWJ1ZyBtZXNzYWdlIHdoZW4gc2tpcHBpbmcgYXRvbXMuCgoyMDA2LTA3LTAzIDE2OjQzOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIG5vdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIFJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBub3QKCSAgRkxPV19FUlJPUi4gRml4ZXMgJ2ludGVybmFsIHN0cmVhbSBlcnJvcicgZXJyb3JzIHRoYXQKCSAgd291bGQgc29tZXRpbWVzIG9jY3VyIGluIHRvdGVtIHdoZW4gc2NydWJiaW5nIHRvIHRoZQoJICBlbmQgb2YgYW4gSUQzdjEgdGFnZ2VkIG1wMyBmaWxlLgoKMjAwNi0wNy0wMyAxNTozMToyMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IEltcGxlbWVudCBidWZmZXIgY2xpcHBpbmcvZHJvcHBpbmcgdXNpbmcgR3N0U2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX2luZm9fY2FsbGJhY2spLAoJICAoYnVmZmVyX2NsaXApLCAodXNlcl9lbmRfY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY19jaGFpbiksCgkgIChnc3RfcG5nZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgIEltcGxlbWVudCBidWZmZXIgY2xpcHBpbmcvZHJvcHBpbmcgdXNpbmcgR3N0U2VnbWVudC4KCSAgVGhpcyBwcm92aWRlcyBhY2N1cmF0ZSBzZWVraW5nLgoKMjAwNi0wNy0wMyAxNToyODo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogUHJvcGVyIGFnZ3JlZ2F0aW9uIG9mIGVhY2ggc3RyZWFtJ3MgR3N0Rmxvd1JldHVybiBpbiBvcmRlciB0byBmaWd1cmUgb3V0IHdoZXRoZXIgdGhlIHRhc2sgc2hvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9hZ2dyZWdhdGVkX2Zsb3cpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAocHVzaF90YWdfbGlzdHMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgUHJvcGVyIGFnZ3JlZ2F0aW9uIG9mIGVhY2ggc3RyZWFtJ3MgR3N0Rmxvd1JldHVybiBpbiBvcmRlciB0byBmaWd1cmUgb3V0CgkgIHdoZXRoZXIgdGhlIHRhc2sgc2hvdWxkIHN0b3Agb3Igbm90LgoJICBEb24ndCBzZW5kIGlubGluZSBldmVudHMgYmVmb3JlIHB1c2hpbmcgb3V0IGEgTkVXX1NFR01FTlQsIG1vcmUKCSAgc3BlY2lmaWNhbGx5IGZvciBHU1RfVEFHX0VWRU5ULgoJICBDaGFuZ2UgYSBHU1RfRVJST1IgdG8gYSBHU1RfV0FSTklORyBmb3IgYSBub24tZmF0YWwgc2l0dWF0aW9uIGluIHJlYWRpbmcKCSAgc3ViLWluZGV4ZXMuCgoyMDA2LTA2LTMwIDA3OjExOjI0ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogTW92ZSAiTW9uaXRvciIgc2xpZGVyIHRvIGlucHV0IHRhYiBzbyBpdCB3b3JrcyBtb3JlIGxpa2Ugc2R0YXVkaW9jb250cm9sLCB3aGljaCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2J1aWxkX2xpc3QpOgoJICBNb3ZlICJNb25pdG9yIiBzbGlkZXIgdG8gaW5wdXQgdGFiIHNvIGl0IHdvcmtzIG1vcmUgbGlrZQoJICBzZHRhdWRpb2NvbnRyb2wsIHdoaWNoIGlzIHdoYXQgcGVvcGxlIG9uIFNvbGFyaXMgYXJlIHVzZWQKCSAgdG8gdXNpbmcgZm9yIHRoZWlyIG1peGVyIHByb2dyYW0gKCMzNDYyNTkpLgoKMjAwNi0wNi0yOSAxNDo1MDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiBmaXggYSBsZWFrLCBjbGVhbiB1cCBhdCB0aGUgZW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGZpeCBhIGxlYWssIGNsZWFuIHVwIGF0IHRoZSBlbmQKCjIwMDYtMDYtMjkgMTE6NDE6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBTZW5kIHRhZyBldmVudCBhZnRlciBuZXdzZWdtZW50IGV2ZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBTZW5kIHRhZyBldmVudCBhZnRlciBuZXdzZWdtZW50IGV2ZW50LgoKMjAwNi0wNi0yOSAxMToxMTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBpbiBjZXJ0YWluIGNhc2VzIHdoZXJlIGEgcmVhZCBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGluCgkgIGNlcnRhaW4gY2FzZXMgd2hlcmUgYSByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGlzCgkgIHJlcXVlc3RlZC4gRml4ZXMgIzM0NTkzMC4KCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3RyaW1fYnVmZmVyKSwKCSAgKGdzdF90YWdfZGVtdXhfcmVhZF9yYW5nZSk6CgkgIEZpeCBzYW1lIGlzc3VlIGhlcmUgYXMgd2VsbC4KCjIwMDYtMDYtMjkgMTE6MDU6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBGaXggaHlwb3RoZXRpY2FsIGNyYXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0yOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgRml4IGh5cG90aGV0aWNhbCBjcmFzaC4KCjIwMDYtMDYtMjggMDg6MzY6MzAgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogRG8gbm90IG1vZGlmeSB0aGUgcG9ydHMgdmFsdWUuIElmIHRoZSB1c2VyIGhhcyB0dXJuZWQgb2ZmIHRoZSBidWlsdC1pbiBzcGVha2VycywgdGhlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpOgoJICBEbyBub3QgbW9kaWZ5IHRoZSBwb3J0cyB2YWx1ZS4gSWYgdGhlIHVzZXIgaGFzIHR1cm5lZCBvZmYgdGhlCgkgIGJ1aWx0LWluIHNwZWFrZXJzLCB0aGVuIHdlIHNob3VsZCBub3QgcmVzZXQgaXQgaW4gdGhlIHByZXBhcmUKCSAgZnVuY3Rpb24sIHNpbmNlIHRoaXMgY2F1c2VzIHRoZSBidWlsdC1pbiBzcGVha2VycyB0byB0dXJuCgkgIGJhY2sgb24gYW55dGltZSB0aGUgdXNlciBjaGFuZ2VzIGEgdHJhY2sgaW4gdG90ZW0sIHJoeXRobWJveCwKCSAgZXRjLiAoIzM0NjA2NikuCgoyMDA2LTA2LTIzIDA5OjM1OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dvb20vZ3N0Z29vbS5jOiBGaXggZG91YmxlIGNhcHMgdW5yZWYgd2hlbiBuZWdvdGlhdGlvbiBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSk6CgkgIEZpeCBkb3VibGUgY2FwcyB1bnJlZiB3aGVuIG5lZ290aWF0aW9uIGZhaWxzLgoKMjAwNi0wNi0yMiAxOTozMTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBwbHVzIHR3byBtaW5vciBtYWNybyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgcGx1cyB0d28gbWlub3IgbWFjcm8gZml4ZXMuCgoyMDA2LTA2LTIyIDE2OjI3OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogVHJ5IHRvIGZpeCB1cCBicm9rZW4gbWF0cm9za2EgZmlsZXMgY29udGFpbmluZyBzdWJ0aXRsZSBzdHJlYW1zIHdpdGggbm9uLVVURjggY2hhcmFjdGVyIGVuY29kaW5ncyAoY291Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBUcnkgdG8gZml4IHVwIGJyb2tlbiBtYXRyb3NrYSBmaWxlcyBjb250YWluaW5nIHN1YnRpdGxlCgkgIHN0cmVhbXMgd2l0aCBub24tVVRGOCBjaGFyYWN0ZXIgZW5jb2RpbmdzIChjb3VydGVzeSBvZgoJICBta3ZtZXJnZSkgdXNpbmcgZWl0aGVyIHRoZSBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlCgkgIEdTVF9TVUJUSVRMRV9FTkNPRElORyBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciB0aGUKCSAgY3VycmVudCBsb2NhbGUncyBjaGFyYWN0ZXIgc2V0IGlmIGl0IGlzIG5vbi1VVEY4LgoJICBGaXhlcyAjMzM3MDc2LgoKMjAwNi0wNi0yMiAxMjoxNzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBTZXQgaW1hZ2UgdHlwZSBmcm9tIEFQSUMgZnJhbWUgYXMgImltYWdlLXR5cGUiIGZpZWxkIG9mIEdTVF9UQUdfSU1BR0UgYnVmZmVyIGNhcHMgKCMzNDQ2MDUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBTZXQgaW1hZ2UgdHlwZSBmcm9tIEFQSUMgZnJhbWUgYXMgImltYWdlLXR5cGUiIGZpZWxkCgkgIG9mIEdTVF9UQUdfSU1BR0UgYnVmZmVyIGNhcHMgKCMzNDQ2MDUpLgoKMjAwNi0wNi0yMCAxOTo0MDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjLzogU3VwcG9ydCBjaGFpbi1iYXNlZCBvcGVyYXRpb24sIHNob3VsZCBtYWtlIGZsYWMtb3Zlci1EQUFQIHdvcmsgKCMzNDA0OTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaW5pdCksCgkgIChnc3RfZmxhY19kZWNfcmVzZXRfZGVjb2RlcnMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3NlZWthYmxlX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3NldHVwX3N0cmVhbV9kZWNvZGVyKSwgKGdzdF9mbGFjX2RlY19maW5hbGl6ZSksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFja19zdHJlYW0pLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFja19zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2tfc3RyZWFtKSwgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSksIChnc3RfZmxhY19kZWNfd3JpdGUpLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY193cml0ZV9zdHJlYW0pLAoJICAoZ3N0X2ZsYWNfZGVjX2xvb3ApLCAoZ3N0X2ZsYWNfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwgKGdzdF9mbGFjX2RlY19jb252ZXJ0X3NpbmspLAoJICAoZ3N0X2ZsYWNfZGVjX2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbGFjX2RlY19zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbGFjX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2ZsYWNfZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIFN1cHBvcnQgY2hhaW4tYmFzZWQgb3BlcmF0aW9uLCBzaG91bGQgbWFrZSBmbGFjLW92ZXItREFBUAoJICB3b3JrICgjMzQwNDkyKS4KCjIwMDYtMDYtMjAgMTU6MzU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogRG9jIHVwZGF0ZXMsIG1lcmdlIHNvbWUgdW51c2VkIHN5bWJvbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBEb2MgdXBkYXRlcywgbWVyZ2Ugc29tZSB1bnVzZWQgc3ltYm9scy4KCjIwMDYtMDYtMjAgMTQ6NTc6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgcnRzcCBwbHVnaW4uIEZpeGVzICMzNDUzOTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHJ0c3AgcGx1Z2luLiBGaXhlcyAjMzQ1MzkzLgoKMjAwNi0wNi0yMCAxMjoxMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFVzZSBiZXR0ZXIgR19PU18qIG1hY3Jvcy4gRml4ZXMgIzM0NTMwMSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKSwgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgVXNlIGJldHRlciBHX09TXyogbWFjcm9zLiBGaXhlcyAjMzQ1MzAxIHNvbWUgbW9yZS4KCjIwMDYtMDYtMjAgMTA6MzU6NDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEFkZCBhIFN1bkF1ZGlvIHNvdXJjZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbmV3KSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfbGlzdF90cmFja3MpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9tdXRlKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3JlY29yZCk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfaW5pdCksIChnc3Rfc3VuYXVkaW9taXhlcl90cmFja19uZXcpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19iYXNlX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zdW5hdWRpb3NyY19nZXRjYXBzKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19vcGVuKSwgKGdzdF9zdW5hdWRpb3NyY19jbG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcHJlcGFyZSksIChnc3Rfc3VuYXVkaW9zcmNfdW5wcmVwYXJlKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZWFkKSwgKGdzdF9zdW5hdWRpb3NyY19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVzZXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBBZGQgYSBTdW5BdWRpbyBzb3VyY2UgcGx1Z2luLgoJICBTdXBwb3J0IHN0ZXJlbyBhbmQgcmlnaHQvbGVmdCBjaGFubmVsIGdhaW4gaW4gdGhlIG1peGVyIHBsdWdpbi4KCSAgU3VwcG9ydCB0aGUgUkVDT1JEIGZsYWcgc28gdGhhdCB5b3UgY2FuIHN3aXRjaCBiZXR3ZWVuIGxpbmUtaW5wdXQgYW5kCgkgIG1pY3JvcGhvbmUgaW4gZ25vbWUtdm9sdW1lLWNvbnRyb2wuCgkgIENvZGUgY2xlYW51cHMgbGlrZSB1c2luZyBhbiBlbnVtZXJhdG9yIGZvciB0cmFjayBudW1iZXIgaW5zdGVhZCBvZiBhbgoJICBpbnRlZ2VyLiBGaXhlcyAjMzQ0OTIzLgoKMjAwNi0wNi0yMCAxMDozMTo0MSArMDAwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuZmk+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBNYWtlIFJUU1AgcGx1Z2luIGNvbXBpbGUgb24gd2luZG93cy4gRml4ZXMgIzM0NTMwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25pIFZhbHRhbmVuIDxqb25pIGRvdCB2YWx0YW5lbiBhdCBtb3ZpYWwgZG90IGZpPgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nsb3NlKToKCSAgTWFrZSBSVFNQIHBsdWdpbiBjb21waWxlIG9uIHdpbmRvd3MuIEZpeGVzICMzNDUzMDEuCgkgIFNvbWUgY2hhbmdlcyB0byBvcmlnaW5hbCBwYXRjaCB0byBjYXRjaCBlcnJvcnMgYmV0dGVyLgoJICB1c2UgaWZkZWYgV0lOMzIgaW5zdGVhZCBvZiBpZm5kZWYuCgoyMDA2LTA2LTE5IDEwOjAwOjE4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgY29uZmlndXJlLmFjOiBJZiB3ZSBoYXZlIGxpYnJhdzEzOTQgPj0gMS4yLjEsIHRoZW4gd2UgbmVlZCBsaWJpZWM2MTg4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIElmIHdlIGhhdmUgbGlicmF3MTM5NCA+PSAxLjIuMSwgdGhlbiB3ZSBuZWVkIGxpYmllYzYxODgzLgoKMjAwNi0wNi0xOCAxNDowMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWZ0ZXIgYSBmYWlsZWQgYnVmZmVyIGFsbG9jLCB3ZSBuZWVkIHRvIGFib3J0IHRoZSBqcGVnIGRlY29kaW5nIChpdCBzdGFydGVkIHdoZW4gcGFyc2luZyBoZWFkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBBZnRlciBhIGZhaWxlZCBidWZmZXIgYWxsb2MsIHdlIG5lZWQgdG8gYWJvcnQgdGhlIGpwZWcgZGVjb2RpbmcgKGl0CgkgIHN0YXJ0ZWQgd2hlbiBwYXJzaW5nIGhlYWRlcnMgdG8gZmlndXJlIG91dCBob3cgbWFueSBieXRlcyB3ZSBuZWVkCgkgIHRvIHJlcXVlc3QgZG93bnN0cmVhbSkuCgoyMDA2LTA2LTE4IDEyOjM3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICgjMzQ1MjMyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspOgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoIzM0NTIzMikuCgoyMDA2LTA2LTE3IDE0OjM1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksICMzNDM2MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwKCSAgIzM0MzYwMikuCgoyMDA2LTA2LTE2IDEyOjM1OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA2LTE2IDEwOjU2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9QTFVHSU5fRE9DUywgLS1lbmFibGUtcGx1Z2luLWRvY3MgZXRjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX1BMVUdJTl9ET0NTLCAtLWVuYWJsZS1wbHVnaW4tZG9jcyBldGMuCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICBBZGQvZml4IGFwZXYybXV4IGRvY3MuCgoyMDA2LTA2LTE2IDA5OjQ5OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl93aW5kb3dfZGVzdHJveSksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgcG9ydCB0byBkZXJpdmUgZnJvbSBiYXNldHJhbnNmb3JtIGFuZCBzZW5kIHJlc3VsdHMgdmlhIG1lc3NhZ2VzCgkgIChsaWtlIGxldmVsIGVsZW1lbnQpCgoyMDA2LTA2LTE1IDE1OjU4OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoKMjAwNi0wNi0xNSAwODo1MDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBGaXhlcyAjMzQ0OTQ0LgoKMjAwNi0wNi0xNCAxNTo1OTo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBSZXNldCBzZWdtZW50IGluZm8gb24gZmx1c2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2R2ZGVjX2luaXQpLAoJICAoZ3N0X2R2ZGVjX2ZpbmFsaXplKSwgKGdzdF9kdmRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCBzZWdtZW50IGluZm8gb24gZmx1c2guCgkgIEFsbG9jIHNlZ21lbnQgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKToKCSAgRG9uJ3Qgc2VuZCBzZWdtZW50cyB0d2ljZS4KCjIwMDYtMDYtMTQgMTU6MDc6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBSZXNwZWN0IHNlZ21lbnQuc3RvcC4gRml4ZXMgIzM0MjU5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgUmVzcGVjdCBzZWdtZW50LnN0b3AuIEZpeGVzICMzNDI1OTIuCgoyMDA2LTA2LTE0IDExOjI4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IE5vIGxhbmd1YWdlIHNwZWNpZmllZCBtZWFucyB0aGUgaW1wbGllZCBsYW5ndWFnZSBpcyBFbmdsaXNoIGFjY29yZGluZyB0byB0aGUgbWF0cm9za2EgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICBObyBsYW5ndWFnZSBzcGVjaWZpZWQgbWVhbnMgdGhlIGltcGxpZWQgbGFuZ3VhZ2UgaXMgRW5nbGlzaAoJICBhY2NvcmRpbmcgdG8gdGhlIG1hdHJvc2thIHNwZWMgKHBhcnRpYWxseSBmaXhlcyAjMzQ0NzA4KTsKCSAgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQuCgoyMDA2LTA2LTE0IDA5OjMyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3CgkgIGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90aGVyIHN0dWZmLiBTZXQgZHVyYXRpb24KCSAgdG8gJ3Vua25vd24nIGluIGluaXRpYWwgaGVhZGVyIGFuZCByZXNlbmQgaGVhZGVyIHdpdGggcHJvcGVyCgkgIGR1cmF0aW9uIG9uIEVPUzsgdXBkYXRlIFNlYmFzdGlhbidzIGUtbWFpbCBhZGRyZXNzLgoKMjAwNi0wNi0xNCAwODowNjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBXaGVuIG9wZXJhdGluZyBjaGFpbi1iYXNlZCwgZG9uJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgdGhlIGNodW5raW5nIG9mIHRoZSBpbmNvbWluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbik6CgkgIFdoZW4gb3BlcmF0aW5nIGNoYWluLWJhc2VkLCBkb24ndCBtYWtlIGFueSBhc3N1bXB0aW9ucyBhYm91dCB0aGUKCSAgY2h1bmtpbmcgb2YgdGhlIGluY29taW5nIGRhdGEgYW5kIG1ha2Ugc3RyZWFtaW5nIHdvcmsgb24gZGF5cyBvdGhlcgoJICB0aGFuIHRoZSBzZWNvbmQgVGh1cnNkYXkgYWZ0ZXIgYSBmdWxsIG1vb24uIEFsc28gZml4IHVwIGRlYnVnCgkgIG1lc3NhZ2VzIGhlcmUgYW5kIHRoZXJlIGFuZCBtYWtlIHVzZSBvZiB0aGUgbW9zdCBleGNlbGxlbnQgbmV3CgkgIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24uCgkgIFNraXAgYW55ICdiZXh0JyBjaHVua3MgaW4gZnJvbnQgb2YgdGhlICdmbXQgJyBjaHVuay4gRml4ZXMgIzM0MzgzNy4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgUmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGFmdGVyIGxhc3QgZW51bSB2YWx1ZSwgc29tZSBjb21waWxlcnMgZG9uJ3QKCSAgbGlrZSB0aGF0LgoKMjAwNi0wNi0xMyAxNzowNToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgcHJlbWF0dXJlIEVPUyBncmFjZWZ1bGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEhhbmRsZSBwcmVtYXR1cmUgRU9TIGdyYWNlZnVsbHkuCgoyMDA2LTA2LTEzIDA5OjU0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQcmV2ZW50IG91dCBvZiBib3VuZHMgYXJyYXkgYWNjZXNzIHdoZW4gc2NydWJiaW5nIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgZmlsZSBiZXR3ZWVuIHRoZSBsYXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICBQcmV2ZW50IG91dCBvZiBib3VuZHMgYXJyYXkgYWNjZXNzIHdoZW4gc2NydWJiaW5nIHRvd2FyZHMKCSAgdGhlIGVuZCBvZiB0aGUgZmlsZSBiZXR3ZWVuIHRoZSBsYXN0IGluZGV4IGVudHJ5IGFuZCB0aGUKCSAgZW5kLiBGaXhlcyBvY2Nhc2lvbmFsICdzdGFydCA8PSBzdG9wJyBuZXdzZWdtZW50IGV2ZW50CgkgIGFzc2VydGlvbnMgd2hlbiBzY3J1YmJpbmcgaW4gTUpQRUcgZmlsZXMuCgoyMDA2LTA2LTEyIDExOjEzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQW5kIGFub3RoZXIgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBbmQgYW5vdGhlciBvbmUuCgoyMDA2LTA2LTEyIDExOjA0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0xMSAxOTozMToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBFeHRyYWN0IGltYWdlcyBmcm9tIElEM3YyIHRhZ3MgKEFQSUMgZnJhbWVzKS4gRml4ZXMgIzMzOTcwNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChzY2FuX2VuY29kZWRfc3RyaW5nKSwgKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBFeHRyYWN0IGltYWdlcyBmcm9tIElEM3YyIHRhZ3MgKEFQSUMgZnJhbWVzKS4gRml4ZXMgIzMzOTcwNC4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSA+PSAwLjEwLjggKGZvciBHU1RfVEFHX0lNQUdFIGFuZAoJICBHU1RfVEFHX1BQRVZJRVdfSU1BR0UgdXNlZCBpbiB0aGUgcGF0Y2ggYWJvdmUpLgoKMjAwNi0wNi0xMSAxODo1NjoyNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvcmF3MTM5NC8uZ2l0aWdub3JlOgoJKiBleHQvdGFnbGliLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0wNi0xMSAxODo1MjoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogZ3JhdHVpdG91cyBjb21tZW50IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKToKCSAgZ3JhdHVpdG91cyBjb21tZW50IGNoYW5nZXMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggbGV2ZWwgdGVzdCBsZWFrcwoKMjAwNi0wNi0xMSAxODo0NDo1NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDYtMTEgMTg6MjA6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCkgdXRpbGl0eSBmdW5jdGlvbiBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2dldF91cHN0cmVhbV9zaXplKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKToKCSAgVXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24gaGVyZS4KCjIwMDYtMDYtMTEgMTc6MDg6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdXBkYXRlIGJ1aWxkIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hNTJkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2R2ZG5hdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHZkcmVhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2lkcGxheS9NYWtlZmlsZS5hbToKCSAgdXBkYXRlIGJ1aWxkIGZpbGVzCgoyMDA2LTA2LTExIDEzOjU3OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IHJlcXVpcmUgYW0xNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICByZXF1aXJlIGFtMTcKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBjbGVhbiB1cCBidWlsZCBmdXJ0aGVyCgoyMDA2LTA2LTExIDEzOjU1OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZQoKMjAwNi0wNi0xMCAxNTozMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgoyMDA2LTA2LTA5IDIwOjM2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2NvbmYvTWFrZWZpbGUuYW06IEhvbm91ciAtLWRpc2FibGUtc2NoZW1hcy1pbnN0YWxsIGNvbmZpZ3VyZSBvcHRpb24uIEZpeGVzICMzNDQxMDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICBIb25vdXIgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBjb25maWd1cmUgb3B0aW9uLiBGaXhlcyAjMzQ0MTAwLgoKMjAwNi0wNi0wOSAxODozMzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOiBBZGQgLWxtIHRvIExJQlMgZm9yIHBvdygpIGZ1bmN0aW9uLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMgKHN1Y2ggYXMgbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgQWRkIC1sbSB0byBMSUJTIGZvciBwb3coKSBmdW5jdGlvbiwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIKCSAgZGVwZW5kZW5jaWVzIChzdWNoIGFzIGxpYnhtbC0yLjApIGRyYWdzIGl0IGluIGF1dG9tYXRpY2FsbHkKCSAgKCMzNDM2MDMpLgoKMjAwNi0wNi0wOSAxODoxNzoyMyArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFdlIHNob3VsZCB1c2UgJFNFRCBhbmQgbm90ICQoU0VEKSBpbiBjb25maWd1cmUuYWMgKCMzNDM2NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBzaG91bGQgdXNlICRTRUQgYW5kIG5vdCAkKFNFRCkgaW4gY29uZmlndXJlLmFjICgjMzQzNjc4KS4KCjIwMDYtMDYtMDkgMTc6Mzg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUywgZml4ZXMgYnVpbGQgb24gY3lnd2luICgjMzQzODY2KS4KCjIwMDYtMDYtMDkgMTc6Mjk6MDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEF0dGFjaGVkIGZpbmQgYSBwYXRjaCB0aGF0IGZpeGVzIGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCB0aGUgU3VuQXVkaW8gbWl4ZXIgcGx1Z2luIGFuZCBmaXhlcyAjMzQ0MTAxOiAxLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX25ldyksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfbXV0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSk6CgkgIEF0dGFjaGVkIGZpbmQgYSBwYXRjaCB0aGF0IGZpeGVzIGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCB0aGUgU3VuQXVkaW8gbWl4ZXIKCSAgcGx1Z2luIGFuZCBmaXhlcyAjMzQ0MTAxOgoJICAxLiBUaGUgZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0IGtlcHQgYXBwZW5kaW5nIHRoZSBzYW1lIDMgdHJhY2tzIG9udG8KCSAgdGhlIHRyYWNrbGlzdCBjYXVzaW5nIGdub21lLXZvbHVtZS1jb250cm9sJ3MgcHJlZmVyZW5jZXMgZGlhbG9nIHRvIGJlIG1lc3NlZAoJICB1cCBhbmQgd291bGQgY29yZSBkdW1wIGlmIHlvdSBjaGVja2VkL3VuY2hlY2tlZCBhbnkgaXRlbS4KCSAgMi4gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IHNldHRpbmcgdGhlIE1VVEUgZmxhZyBwcm9wZXJseS4gIEZpeGluZyB0aGlzIG1ha2VzCgkgIGdub21lLXZvbHVtZS1jb250cm9sIHdvcmsgYmV0dGVyLgoJICAzLiBOb3cgd2UgcHJvcGVybHkgZGVmaW5lIHRoZSBpbnB1dCB0cmFjayB0byBiZSBHU1RfTUlYRVJfVFJBQ0tfSU5QVVQgYW5kCgkgIHRoZSBtb25pdG9yIHRvIGJlIEdTVF9NSVhFUl9UUkFDS19PVVRQVVQsIHNvIHRoYXQgbWFrZXMgZ25vbWUtdm9sdW1lLWNvbnRyb2wKCSAgbG9vayBiZXR0ZXIuCgkgIEFsc28gc29tZSBtaW5vciBjbGVhbnVwIGluIGdzdHN1bmF1ZGlvc2luay5jLgoKMjAwNi0wNi0wOSAxNzoxMjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQVBJOiBBZGRlZCBJRENUIG1ldGhvZCBwcm9wZXJ0eQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfaWRjdF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2pwZWdfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX2RlY29kZV9pbmRpcmVjdCksIChnc3RfanBlZ19kZWNfZGVjb2RlX2RpcmVjdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2pwZWdfZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfanBlZ19kZWNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIEFQSTogQWRkZWQgSURDVCBtZXRob2QgcHJvcGVydHkKCSAgU21hbGwgY2xlYW51cHMuCgkgIEF2b2lkIGR5bmFtaWMgYWxsb2NhdGlvbiBvZiB0cml2aWFsIGZpeGVkIHN0cnVjdHVyZS4KCSAgQWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciB0ZW1wIDQ6NDo0IFlVViBidWZmZXJzLiBGaXhlcyAjMzQzNjYxLgoKMjAwNi0wNi0wNyAwOToyNToxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogV2Ugbm93IHJlcXVpcmUgbGlicmF3MTM5NCA+PSAxLjEuMCBhbmQgdGhhdCB2ZXJzaW9uIG9ud2FyZHMgYWxsIGhhdmUgLnBjIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2Ugbm93IHJlcXVpcmUgbGlicmF3MTM5NCA+PSAxLjEuMCBhbmQgdGhhdCB2ZXJzaW9uIG9ud2FyZHMgYWxsCgkgIGhhdmUgLnBjIGZpbGVzLgoKMjAwNi0wNi0wMiAxNTowMjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogVHJ5aW5nIHRvIGdldCBpdGVtcyBmcm9tIGFuIEFOWSBvciBFTVBUWSBjYXBzIGlzIC4uLiBzdHVwaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfZ2V0Y2Fwcyk6CgkgIFRyeWluZyB0byBnZXQgaXRlbXMgZnJvbSBhbiBBTlkgb3IgRU1QVFkgY2FwcyBpcyAuLi4gc3R1cGlkLgoKMjAwNi0wNi0wMiAxMTozMzoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy4qOiBBZGRlZCBHc3RTZWdtZW50IGhhbmRsaW5nLCBub3cgaW1wbGVtZW50cyBkcm9wcGluZy9jbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19ldmVudCksCgkgIChnc3RfZHZkZWNfY2hhaW4pLCAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIEFkZGVkIEdzdFNlZ21lbnQgaGFuZGxpbmcsIG5vdyBpbXBsZW1lbnRzIGRyb3BwaW5nL2NsaXBwaW5nLgoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA2LTAxIDIxOjA3OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuaDoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0zMSAxNjoyMzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogSGFuZGxlIFFvUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2ZpbmFsaXplKSwgKGdzdF9nb29tX3Jlc2V0KSwgKGdzdF9nb29tX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnc3RfZ29vbV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dvb21fc2lua19ldmVudCksIChnZXRfYnVmZmVyKSwgKGdzdF9nb29tX2NoYWluKSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBIYW5kbGUgUW9TLgoJICBIYW5kbGUgZmx1c2hpbmcsIGRpc2NvbnQgYW5kIGV2ZW50cy4KCSAgRml4IHRpbWVzdGFtcHMgYW5kIHZhcmlvdXMgb3RoZXIgY2xlYW51cHMuCgoyMDA2LTA1LTMxIDE1OjM3OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IEZpeCBidXMgcmVzZXQgd2hlbiB1c2luZyBsaWJpZWM2MTg4MwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOgoJICBGaXggYnVzIHJlc2V0IHdoZW4gdXNpbmcgbGliaWVjNjE4ODMKCjIwMDYtMDUtMzEgMTA6MzE6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCBsaWJpZWM2MTg4MyBhbmQgc2V0IG5lY2Vzc2FyeSBDRkxBR1MgYW5kIExJQlMgZm9yIGR2MTM5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCBsaWJpZWM2MTg4MyBhbmQgc2V0IG5lY2Vzc2FyeSBDRkxBR1MgYW5kIExJQlMgZm9yIGR2MTM5NC4KCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgQWRkIENGTEFHUy4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfaWVjNjE4ODNfcmVjZWl2ZSksCgkgIE5ldyBtZXRob2QsIHRvIHJlY2VpdmUgdXNpbmcgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX2lzb19yZWNlaXZlKSwKCSAgI2lmZGVmJ2Qgb3V0IGlmIGxpYmllYzYxODgzIGlzIHByZXNlbnQuCgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCksCgkgIEdldCB1c2VyZGF0YSBjb3JyZWN0bHkgaWYgdXNpbmcgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSksCgkgIFdoZW4gdXNpbmcgbGliaWVjNjE4ODMsIG9ubHkgcG9sbCBvbmUgZmQgYW5kIG5vIG5lZWQgdG8gcmVhZC4KCSAgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICBSZXBsYWNlIGdfd2FybmluZ3MuCgkgIChnc3RfZHYxMzk0c3JjX3N0YXJ0KSwKCSAgQ3JlYXRlIG5ldyBoYW5kbGUgd2hlbiB3ZSBrbm93IHdoaWNoIGR2IHBvcnQuICBNb3JlIHJlbGlhYmxlCgkgIHRoYW4gc2V0dGluZyBwb3J0IG9uIGFuIGV4aXN0aW5nIGhhbmRsZS4gIEluaXRpYWxpc2UgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX3N0b3ApOgoJICBJZiB1c2luZyBsaWJpZWM2MTg4MywgdGhlbiBjbGVhbnVwIGl0cyBoYW5kbGUgcHJvcGVybHkuCgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIEFkZCBsaWJpZWM2MTg4MyBoYW5kbGUuCgoyMDA2LTA1LTMwIDIxOjA3OjM4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IGFkZCBhbiBleHBsaWNpdCBkbGwgaW1wb3J0ZWQgZGVjbGFyYXRpb24gZm9yIEdTVF9DQVRfRVZFTlQrV0lOMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhZGQgYW4gZXhwbGljaXQgZGxsIGltcG9ydGVkIGRlY2xhcmF0aW9uIGZvciBHU1RfQ0FUX0VWRU5UK1dJTjMyCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIHNvcnQgZmlsZSBsaXN0aW5nCgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgIGFkZCBnc3RhdmltdXguYyB0byB0aGUgcHJvamVjdAoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgIGFkZCBsaW5rIHRvIHpsaWIgbGlicmFyeQoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgIGFkZCBtYXRyb3NrYS1pZHMuYyB0byB0aGUgcHJvamVjdAoKMjAwNi0wNS0zMCAxNDozNToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgQWRkIGFwZXYybXV4IGVsZW1lbnQgKCMzNDMxMjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIEFkZCBhcGV2Mm11eCBlbGVtZW50ICgjMzQzMTIyKS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfY3JlYXRlX3RhZ3MpLAoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfY2hlY2tfdGFncyksIChmaWxsX21wM19idWZmZXIpLCAoZ290X2J1ZmZlciksCgkgIChkZW11eF9wYWRfYWRkZWQpLCAodGVzdF90YWdsaWJfYXBldjJtdXhfY2hlY2tfb3V0cHV0X2J1ZmZlciksCgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF93aXRoX3RhZ3MpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXBldjJtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGFwZXYybXV4IGVsZW1lbnQuCgoyMDA2LTA1LTI4IDE3OjMzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogR1NUX1BUUl9GT1JNQVQgc2hvdWxkIGJlIHVzZWQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl91cGRhdGVfY2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgR1NUX1BUUl9GT1JNQVQgc2hvdWxkIGJlIHVzZWQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wNS0yOCAxNDozODoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogU29tZSBjbGVhbi11cHMgYW5kIGFkZGl0aW9uczogbWFwIEFQRSAnZmlsZScgdGFnIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9nZXRfZ3N0X3RhZ19mcm9tX3RhZyksCgkgIChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFNvbWUgY2xlYW4tdXBzIGFuZCBhZGRpdGlvbnM6IG1hcCBBUEUgJ2ZpbGUnIHRhZyB0bwoJICBHU1RfVEFHX0xPQ0FUSU9OICgjMzQzMTIzKTsgYWRkIHN1cHBvcnQgZm9yIGV4dHJhY3RpbmcKCSAgdGhlIHRyYWNrIGNvdW50IGFuZCBjbGVhbiB1cCBwYXJzaW5nIGEgYml0ICgjMzQzMTI3KS4KCjIwMDYtMDUtMjggMTM6NDk6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEluaXRpYWxpemUgc2VnbWVudCB0byBHU1RfRk9STUFUX1VOREVGSU5FRCBpbiBSRUFEWS0+UEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgSW5pdGlhbGl6ZSBzZWdtZW50IHRvIEdTVF9GT1JNQVRfVU5ERUZJTkVEIGluIFJFQURZLT5QQVVTRUQuCgoyMDA2LTA1LTI4IDEzOjMwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBDbGlwIG91dGdvaW5nIGJ1ZmZlcnMgYWNjb3JkaW5nIHRvIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19maW5hbGl6ZSksCgkgIChnc3RfanBlZ19kZWNfaW5pdCksIChnc3RfanBlZ19kZWNfY2hhaW4pLAoJICAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBDbGlwIG91dGdvaW5nIGJ1ZmZlcnMgYWNjb3JkaW5nIHRvIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQuCgoyMDA2LTA1LTI4IDEwOjM5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogSGFuZGxlICB3cml0aW5nIG9mIHRyYWNrLWNvdW50IG9yIGFsYnVtLXZvbHVtZS1jb3VudCB3aXRob3V0IHRyYWNrLW51bWJlciBvciBhbGJ1bWUtdm9sdW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEhhbmRsZSAgd3JpdGluZyBvZiB0cmFjay1jb3VudCBvciBhbGJ1bS12b2x1bWUtY291bnQgd2l0aG91dAoJICB0cmFjay1udW1iZXIgb3IgYWxidW1lLXZvbHVtZS1udW1iZXIgKGluIHRoaXMgY2FzZSB0aGUgbnVtYmVyCgkgIHdpbGwganVzdCBiZSBzZXQgdG8gMCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF9jaGVja190YWdzKToKCSAgSXQgd291bGQgYmUgbmljZSBpZiB3ZSBhY3R1YWxseSBjaGVja2VkIHRoZSB2YWx1ZXMgcmVjZWl2ZWQgZm9yCgkgIHRyYWNrL2FsYnVtLXZvbHVtZSBudW1iZXIvY291bnQgaW4gIF9jaGVja190YWdzKCksIHJhdGhlciB0aGFuCgkgIHNldHRpbmcgdGhlbSBhZ2FpbiAuLi4KCjIwMDYtMDUtMjggMTA6MDU6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQSB0cmFjay92b2x1bWUgbnVtYmVyIG9yIGNvdW50IG9mIDAgZG9lcyBub3QgbWFrZSBzZW5zZSwganVzdCBpZ25vcmUgaXQgYWxvbmcgd2l0aCBuZWdhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIEEgdHJhY2svdm9sdW1lIG51bWJlciBvciBjb3VudCBvZiAwIGRvZXMgbm90IG1ha2Ugc2Vuc2UsCgkgIGp1c3QgaWdub3JlIGl0IGFsb25nIHdpdGggbmVnYXRpdmUgbnVtYmVycyAoYSB0YWcgbWlnaHQKCSAgb25seSBjb250YWluIGEgdHJhY2sgY291bnQgd2l0aG91dCBhIHRyYWNrIG51bWJlcikuCgoyMDA2LTA1LTI3IDEzOjExOjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBYm9ydCBkZWNvbXByZXNzaW9uIHdoZW4gcmVjZWl2aW5nIEZMVVNIX1NUT1AuIFRoaXMgc2hvdWxkIGF2b2lkIGlzc3VlcyB3aGVuIGludGVycnVwdGluZyBkZWNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KToKCSAgQWJvcnQgZGVjb21wcmVzc2lvbiB3aGVuIHJlY2VpdmluZyBGTFVTSF9TVE9QLiBUaGlzIHNob3VsZCBhdm9pZAoJICBpc3N1ZXMgd2hlbiBpbnRlcnJ1cHRpbmcgZGVjb2Rpbmcgd2l0aCBmbHVzaGVzLgoKMjAwNi0wNS0yNyAxMjoxMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWMuYzogRG9uJ3QgI2luY2x1ZGUgZmlsZSB3ZSBkb24ndCBkaXN0IGFueSBsb25nZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSAgRG9uJ3QgI2luY2x1ZGUgZmlsZSB3ZSBkb24ndCBkaXN0IGFueSBsb25nZXIuCgoyMDA2LTA1LTI3IDExOjI3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUkVBRE1FOiBSZXBsYWNlIGN1cnJlbnQgUkVBRE1FIChjb250YWluaW5nIHRoZSByZWxlYXNlIG5vdGVzIGZyb20gc29tZSAwLjkueCB2ZXJzaW9uKSB3aXRoIGEgcHJvcGVyIFJFQURNRSB0YWtlbiBmcm9tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFQURNRToKCSAgUmVwbGFjZSBjdXJyZW50IFJFQURNRSAoY29udGFpbmluZyB0aGUgcmVsZWFzZSBub3RlcyBmcm9tCgkgIHNvbWUgMC45LnggdmVyc2lvbikgd2l0aCBhIHByb3BlciBSRUFETUUgdGFrZW4gZnJvbSB0aGUgY29yZS4KCjIwMDYtMDUtMjYgMjI6MzU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl9mcmVxdWVuY3lfY2hhbmdlZCksCgkgIChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBmaXggdHlwbwoKMjAwNi0wNS0yNiAxMzoxNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AKCSAgdGltZS4KCjIwMDYtMDUtMjYgMTE6NDg6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoKMjAwNi0wNS0yNCAxNjowMzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEltcGxlbWVudCBFT1MgY29ycmVjdGx5IGJ5IGVpdGhlciBwb3N0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9sb29wKToKCSAgSW1wbGVtZW50IEVPUyBjb3JyZWN0bHkgYnkgZWl0aGVyIHBvc3RpbmcKCSAgU0VHTUVOVF9ET05FIG9yIHB1c2hpbmcgYW4gRU9TIG1lc3NhZ2UgZGVwZW5kaW5nCgkgIG9uIHRoZSBzZWVrIHR5cGUuIEZpeGVzICMzNDI1OTIKCjIwMDYtMDUtMjQgMTE6NTY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoKMjAwNi0wNS0yNCAxMDowMDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBTb21lIGNsZWFudXBzIGluIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIFNvbWUgY2xlYW51cHMgaW4gdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgUmVtb3ZlIHNvbWUgR1N0cmVhbWVyIDAuMC4yIGJpdHMuCgoyMDA2LTA1LTIzIDIwOjE1OjA0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBnc3RfY29sbGVjdF9wYWRzX3N0b3AoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgKCMzNDI3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICBnc3RfY29sbGVjdF9wYWRzX3N0b3AoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGNoYWluaW5nIHVwCgkgIHRvIHRoZSBwYXJlbnQgY2xhc3MgKCMzNDI3MzQpLgoKMjAwNi0wNS0yMyAxNjo0NToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjLzogUmVtb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNydWZ0IGZvciBkZWFsaW5nIHdpdGggRkxBQyBBUEkgY2hhbmdlcyBpbiB0aGUgMS4wLnggc2VyaWVzIC0gd2UgcmVxdWlyZSAxLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9mbGFjX2NvbXBhdC5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBSZW1vdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgY3J1ZnQgZm9yIGRlYWxpbmcgd2l0aCBGTEFDIEFQSQoJICBjaGFuZ2VzIGluIHRoZSAxLjAueCBzZXJpZXMgLSB3ZSByZXF1aXJlIDEuMS4xIG9yIG5ld2VyIHRoZXNlIGRheXMuCgoyMDA2LTA1LTIzIDEzOjQ0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyB0aGVvcmEgdmlkZW8gKCMzNDI0NDg7IHRvbyBiYWQgbm9uZSBvZiB0aGUgdXN1YWwgbGludXggcGxheWVycyBjYW4gYWN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKHhpcGgzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodm9yYmlzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodGhlb3JhX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHRoZW9yYSB2aWRlbyAoIzM0MjQ0ODsgdG9vIGJhZAoJICBub25lIG9mIHRoZSB1c3VhbCBsaW51eCBwbGF5ZXJzIGNhbiBhY3R1YWxseSBwbGF5IHRoaXMpLiBQbGF5YmFjawoJICBpbiBHU3RyZWFtZXIgd2lsbCByZXF1aXJlIGFkZGl0aW9uYWwgY2hhbmdlcyB0byB0aGVvcmFkZWMgaW4gLWJhc2UuCgkgIFJlZmFjdG9yIHN0cmVhbWhlYWRlcnMgPD0+IENvZGVjUHJpdmF0ZURhdGEgY29kZSBhIGJpdDsgc29tZSBzbWFsbAoJICBjbGVhbnVwcy4KCjIwMDYtMDUtMjIgMTg6MDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHBvL1BPVEZJTEVTLmluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLCAocGx1Z2luX2luaXQpOgoJICBwby9QT1RGSUxFUy5pbjoKCSAgVGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgZmlsZSBpcyBlbmNyeXB0ZWQuIE1vdmUgcGx1Z2luX2luaXQgc3R1ZmYKCSAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSwgYWRkIHN0dWZmIGZvciBpMThuLCBtYWtlIGRlYnVnIGNhdGVnb3J5CgkgIHN0YXRpYy4KCjIwMDYtMDUtMjIgMTU6MjM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBjcmFzaGVzIHdoZW4gdGhlIGhvcml6b250YWwgc3Vic2FtcGxpbmcgaXMgMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoaHJlc2FtcGxlY3B5MSksCgkgIChnc3RfanBlZ19kZWNfZGVjb2RlX2luZGlyZWN0KSwgKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBjcmFzaGVzIHdoZW4gdGhlIGhvcml6b250YWwgc3Vic2FtcGxpbmcgaXMgMS4KCSAgRml4ZXMgIzM0MjA5Ny4KCjIwMDYtMDUtMjIgMTQ6NTY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICBjb3ZlciB1cCB0aGUgZGlydHkgdHJ1dGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvdmVyIHVwIHRoZSBkaXJ0eSB0cnV0aAoKMjAwNi0wNS0yMiAxMzo1MzoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IC0gYWRkIG9kbWwgKGxhcmdlIGZpbGUpIGluZGV4IHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfdGFnKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCksCgkgIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksCgkgIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksCgkgIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLCAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgU29tZSBlbmhhbmNlbWVudHMgZm9yIGF2aW11eCAoIzM0MjUyNik6CgkgIC0gYWRkIG9kbWwgKGxhcmdlIGZpbGUpIGluZGV4IHN1cHBvcnQKCSAgLSBzdG9yZSBjb2RlYyBpbml0IGRhdGEgKGUuZy4gaHVmZnl1dikKCSAgLSBtaXNjZWxsYW5lb3VzIG90aGVyIGZpeGVzL2NsZWFudXBzCgoyMDA2LTA1LTIyIDEzOjUxOjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgZml4IGRlc2NyaXB0aW9ucyBhbmQgbGljZW5zZSBibG9ja3MgY3V0IGFuZCBwYXN0ZSBhbnlvbmUgPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRlc2NyaXB0aW9ucyBhbmQgbGljZW5zZSBibG9ja3MKCSAgY3V0IGFuZCBwYXN0ZSBhbnlvbmUgPwoKMjAwNi0wNS0yMSAxNjo0MTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgIFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoKMjAwNi0wNS0yMSAxNjoyMzoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgTGluayB0byBiYXNlIGxpYnJhcmllcwoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIHVzZSBuZXcgdGhyZXNoaG9sZCBwcm9wZXJ0eQoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pLAoJICAoZ3N0X3NwZWN0cnVtX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBnc3RfYWRhcHRlciwgc3VwcG9ydCBtdWx0aXBsZS1jaGFubmVscywgYWRkIHRocmVzaG9sZCBwcm9wZXJ0eSBmb3IKCSAgcmVzdWx0LCBhZGQgZG9jcywgZml4IHJlc3VsdGluZyBzcGVjdHJ1bSByYW5nZSAod2FzIGluY2x1ZGluZyBtaXJyb3JlZAoJICByZXN1bHRzKQoKMjAwNi0wNS0yMCAyMjo0MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IChnc3Rfc3BlY3RydW1fZml4X2RvdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoKMjAwNi0wNS0xOSAxODo1ODowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoKMjAwNi0wNS0xOSAxODozMToyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTE5IDE0OjA1OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBEb24ndCBvdXRwdXQgYW55IHRhZyB3aGVuIHdlIGVuY291bnRlciBhIG5lZ2F0aXZlIHRyYWNrIG51bWJlciAtIHRoZSB0YWcgdHlwZSBpcyB1aW50LCBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgRG9uJ3Qgb3V0cHV0IGFueSB0YWcgd2hlbiB3ZSBlbmNvdW50ZXIgYSBuZWdhdGl2ZSB0cmFjayBudW1iZXIgLSB0aGUKCSAgdGFnIHR5cGUgaXMgdWludCwgc28gd2UgZW5kIHVwIG91dHB1dHRpbmcgaHVnZSBwb3NpdGl2ZSBudW1iZXJzCgkgIGluc3RlYWQuIChGaXhlczogIzM0MjAyOSkKCjIwMDYtMDUtMTggMjM6MDQ6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgZm9yIG5ldyBHU1RQQl9QTFVHSU5TX0RJUgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHVwZGF0ZSBmb3IgbmV3IEdTVFBCX1BMVUdJTlNfRElSCgoyMDA2LTA1LTE4IDE5OjM0OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWDExCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2lmYWNlX3N1cHBvcnRlZCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIENvZGUgY2xlYW51cHMsIGZpeCBkZWJ1ZyBtYWNyb3MKCjIwMDYtMDUtMTggMTQ6NDU6MzMgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBydHAvZ3N0L2dzdHJ0cGgyNjNwYXkuYzogUHJvcGVybHkgc2V0IHN0YXRpYyBjYXBzIGZvciBIMjYzIGF0IDM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0xOCAgUGhpbGlwcGUgS2FsYWYgIDxwaGlsaXBwZS5rYWxhZiBhdCBjb2xsYWJvcmEuY28udWs+CgkgICogcnRwL2dzdC9nc3RydHBoMjYzcGF5LmM6CgkgIFByb3Blcmx5IHNldCBzdGF0aWMgY2FwcyBmb3IgSDI2MyBhdCAzNC4KCjIwMDYtMDUtMTggMTI6NDY6MDggKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IE1lcmdlIGV2ZW50IHRhZ3MgYW5kIHRhZyBzZXR0ZXIgdGFncyBjb3JyZWN0bHkgKCMzMzk5MTgpLiBBbHNvLCBkb24ndCBsZWFrIHRhZ2xpc3QgaW4gY2FzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGdtYWlsIGNvbT4KCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAoZ3N0X3RhZ19saWJfbXV4X3JlbmRlcl90YWcpOgoJICBNZXJnZSBldmVudCB0YWdzIGFuZCB0YWcgc2V0dGVyIHRhZ3MgY29ycmVjdGx5ICgjMzM5OTE4KS4gQWxzbywKCSAgZG9uJ3QgbGVhayB0YWdsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA1LTE3IDE4OjA5OjA2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgRml4ZWQgY2FwcyBmb3IgSDI2MyAobm90IHRoZSBzYW1lIGFzIEgyNjMrKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgY2FwcyBmb3IgSDI2MyAobm90IHRoZSBzYW1lIGFzIEgyNjMrKQoKMjAwNi0wNS0xNyAxMjozNjoyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IFdlIGNhbiBvbmx5IGRvIGNhcHMgaW50ZXJzZWN0aW9uIGlmIHRoZSBvdGhlcmNhcHMgYXJlIG5vbi1lbXB0eSBhbmQgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19nZXRjYXBzKToKCSAgV2UgY2FuIG9ubHkgZG8gY2FwcyBpbnRlcnNlY3Rpb24gaWYgdGhlIG90aGVyY2FwcyBhcmUgbm9uLWVtcHR5IGFuZCBub3QKCSAgQU5ZLiBFbHNlIHdlIHJldHVybiB0aGUgcGFkIHRlbXBsYXRlIChiYXNlX2NhcHMpLgoKMjAwNi0wNS0xNyAxMToyMDo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGNyYXNoIHdoZW4gb3V0cHV0dGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGNlcnRhaW4gcGljdHVyZXMgKGFsd2F5cyBnb29kIHRvIHVzZSB0aGUgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggY3Jhc2ggd2hlbiBvdXRwdXR0aW5nIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgY2VydGFpbgoJICBwaWN0dXJlcyAoYWx3YXlzIGdvb2QgdG8gdXNlIHRoZSByaWdodCBzdHJ1Y3QgbWVtYmVyIGZvcgoJICB0aGUgbnVtYmVyIG9mIHJlY29yZHMgaW4gYW4gYXJyYXkpLgoKMjAwNi0wNS0xNyAwODoxMDozMSArMDAwMCAgSmluZHJpY2ggTWFrb3ZpY2thIDxqaW5kcmljaC5tYWtpdmlja2FAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBEb24ndCBjcmVhdGUgdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlcnMgYWxsIHRoZSB0aW1lLiBEcmFtYXRpY2FsbHkgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugd2l0aCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmluZHJpY2ggTWFrb3ZpY2thICA8amluZHJpY2gubWFraXZpY2thIGF0IGl0b25pcyB0dj4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9wdWxsX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLAoJICAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpOgoJICBEb24ndCBjcmVhdGUgdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlcnMgYWxsIHRoZSB0aW1lLiBEcmFtYXRpY2FsbHkKCSAgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugd2l0aCBtdWx0aXBsZSBjb25jdXJyZW50bHkgcnVubmluZwoJICBtYXRyb3NrYWRlbXV4IGluc3RhbmNlcyAoIzM0MTgxOCkgKGFuZCBhdm9pZHMgZG9pbmcKCSAgdW5uZWNlc3NhcmlseSBpbmVmZmljaWVudCB0aGluZ3MgaW4gdGhlIGdlbmVyYWwgY2FzZSkuCgoyMDA2LTA1LTE2IDE3OjIwOjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogSW4gc25hcHNob3QgbW9kZSwgd2UgYWx3YXlzIHJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoYXRldmVyIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgSW4gc25hcHNob3QgbW9kZSwgd2UgYWx3YXlzIHJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoYXRldmVyIHRoZQoJICByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9wdXNoX2V2ZW50KCkuCgoyMDA2LTA1LTE2IDE0OjA3OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogTWFrZSB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBiZSBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgcGFyZW50LCBzbyB0aGF0IGRlYnVnIG91dHB1dCBpcyBtb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpOgoJICBNYWtlIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBlbGVtZW50IGJlIGJhc2VkIG9uIHRoZSBuYW1lIG9mIHRoZQoJICBwYXJlbnQsIHNvIHRoYXQgZGVidWcgb3V0cHV0IGlzIG1vcmUgdXNlZnVsLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoZmluZF91dGYxNl9ib20pLAoJICAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgUmV3b3JrIHN0cmluZyBwYXJzaW5nIHRvIGFsd2F5cyB3YWxrIG92ZXIgQk9NIG1hcmtlcnMgaW4gVVRGMTYKCSAgc3RyaW5ncywgdXNpbmcgdGhlIGVuZGlhbm5lc3MgaW5kaWNhdGVkIGJ5IHRoZSBpbm5lcm1vc3Qgb25lLAoJICB0aGVuIHRyeWluZyB0aGUgb3Bwb3NpdGUgZW5kaWFubmVzcyBpZiB0aGF0IGZhaWxzIHRvIGNvbnZlcnQKCSAgdG8gdmFsaWQgVVRGLTguIEZpeGVzICMzNDE3NzQKCjIwMDYtMDUtMTYgMTM6MzE6MDIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGlicG5nL01ha2VmaWxlLmFtOiBBZGQgTElCUE5HX0NGTEFHUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgUGF0Y2ggZnJvbTogTWF0dGhpZXUgPG1hdHRoaWV1IGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBBZGQgTElCUE5HX0NGTEFHUy4KCjIwMDYtMDUtMTUgMTE6MjA6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA2LTA1LTE1IDA5OjAwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgaW1hZ2VzIChBUElDIGZyYW1lcykgaW50byBJRDN2MiB0YWdzIChwaWN0dXJlIHR5cGUgYWx3YXlzIHNldCB0byAnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIGltYWdlcyAoQVBJQyBmcmFtZXMpIGludG8gSUQzdjIKCSAgdGFncyAocGljdHVyZSB0eXBlIGFsd2F5cyBzZXQgdG8gJ290aGVyJyBmb3Igbm93IHRob3VnaCkuCgoyMDA2LTA1LTE0IDEyOjUwOjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXBkYXRlIGRvY3M7IHdhdnBhcnNlIGltcGxlbWVudHMgcHVzaCBhbmQgcHVsbCBtb2Rlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFVwZGF0ZSBkb2NzOyB3YXZwYXJzZSBpbXBsZW1lbnRzIHB1c2ggYW5kIHB1bGwgbW9kZXMuCgoyMDA2LTA1LTEyIDE4OjEwOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBPb29wcywgYml0dGVuIGJ5IHRoZSBjb3B5LWFuZC1wYXN0ZSBkZXNpZ24gcGFyYWRpZ20sIGZpeGVzIHNlZWsgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE9vb3BzLCBiaXR0ZW4gYnkgdGhlIGNvcHktYW5kLXBhc3RlIGRlc2lnbiBwYXJhZGlnbSwgZml4ZXMKCSAgc2VlayBhZ2Fpbi4KCjIwMDYtMDUtMTIgMTg6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNvbWUgY2xlYW51cHMsIHByZXBhcmUgdG8gdXNlIEdzdFNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU29tZSBjbGVhbnVwcywgcHJlcGFyZSB0byB1c2UgR3N0U2VnbWVudC4KCSAgRml4IGVycm9yIGluIGVudHJ5IHdhbGtpbmcgY29kZS4KCSAgRml4IFZCUiBkZXRlY3Rpb24uCgkgIFNtYXJ0ZXIgdGltZXN0YW1wIGNhbGN1bGF0aW9uIGNvZGUuCgkgIFVuaWZvcm0gZXJyb3IvZW9zIGhhbmRsaW5nLgoKMjAwNi0wNS0xMiAxNzo0NDoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCB1c2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMgaWYgd2UncmUgTk9UIHNlZWtpbmcgaW4gcmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2ZtdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeCB1c2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMgaWYgd2UncmUgTk9UIHNlZWtpbmcgaW4gcmVhZHkuCgkgIEZpeCB0eXBvcy4KCjIwMDYtMDUtMTIgMDg6MjM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEFkZCBDRkxBR1MgYW5kIExJQlMgZm9yIGxpYmdzdGJhc2UsIGZpeGVzIGJ1aWxkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIENGTEFHUyBhbmQgTElCUyBmb3IgbGliZ3N0YmFzZSwgZml4ZXMgYnVpbGQgb24KCSAgQ3lnd2luICgjMzQxNDg5KS4KCjIwMDYtMDUtMTIgMDg6MjE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogU29tZSBtb3JlIGRlYnVnIGluZm8uIE5vIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nIHJldHVybmVkIGJ5IGdfY29udmVydCgpIGlzIHJlYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKToKCSAgU29tZSBtb3JlIGRlYnVnIGluZm8uIE5vIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nCgkgIHJldHVybmVkIGJ5IGdfY29udmVydCgpIGlzIHJlYWxseSBVVEYtOCAtIGVpdGhlciBpdCBpcyBvcgoJICB3ZSBnZXQgTlVMTCByZXR1cm5lZC4KCjIwMDYtMDUtMTEgMTc6NTk6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xMSAwOTowOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlCgkgIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb25hbCBlc2RzIGJveC4gUHJvbW90ZSB0aGUKCSAgZGVmYXVsdCBBQUMgdG8gbXAzIHdoZW4gaW5kaWNhdGVkLiBGaXhlcyAjMzMwNjMyLgoKMjAwNi0wNS0xMCAxNzo0NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9kdW1wX3Vua25vd24pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIERvbid0ICNkZWZpbmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSwgdXNlIHNvbWV0aGluZyBtb3JlCgkgIHNwZWNpZmljIGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwNi0wNS0xMCAxMzo1MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IHBhcnNpbmcgb2YgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIHNvbWUgbW9yZSwgYnkgZW5zdXJpbmcgdGhhdCB3ZSBvbmx5IHRyeSBhbmQgcGFyc2Ugc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIEZpeCBwYXJzaW5nIG9mIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBzb21lIG1vcmUsIGJ5IGVuc3VyaW5nIHRoYXQKCSAgd2Ugb25seSB0cnkgYW5kIHBhcnNlIHN0cmluZ3MgdGhhdCBhKSBTdGFydCB3aXRoICcoJyBhbmQgYikgQ29uc2lzdAoJICBvbmx5IG9mIGRpZ2l0cy4KCSAgQWxzbywgd2hlbiBmaW5kaW5nIGFuIGVzY2FwaW5nICcoKCcgc2VxdWVuY2UsIGJ1c3QgaXQgYmFjayB0byAnKCcgYnkKCSAgc3dhbGxvd2luZyB0aGUgZmlyc3QgcGFyZW50aGVzaXMKCjIwMDYtMDUtMTAgMTE6MTc6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuKjogTW92ZSB0aGUgZXNkX2dldF9zZXJ2ZXJfaW5mbygpIGludG8gZ3N0X2VzZHNpbmtfb3BlbigpIGFuZCBmYWlsIHdpdGggYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSBvbiBlcnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19maW5hbGl6ZSksIChnc3RfZXNkc2lua19nZXRjYXBzKSwKCSAgKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfY2xvc2UpOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICBNb3ZlIHRoZSBlc2RfZ2V0X3NlcnZlcl9pbmZvKCkgaW50byBnc3RfZXNkc2lua19vcGVuKCkgYW5kIGZhaWwKCSAgd2l0aCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIG9uIGVycm9ycy4KCjIwMDYtMDUtMTAgMTA6Mjk6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDb25zdC1pZnkgR0VudW1WYWx1ZSBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX2RlcHRoc19nZXRfdHlwZSksCgkgIChnc3RfZXNkbW9uX2NoYW5uZWxzX2dldF90eXBlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9wcm9maWxlX2dldF90eXBlKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19kaXRoZXJfZ2V0X3R5cGUpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9wcm90b2NvbF9nZXRfdHlwZSk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfbWV0aG9kX2dldF90eXBlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X2lsYmNfbW9kZV9nZXRfdHlwZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9maWxsX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb19taXhlcl9iYWNrZ3JvdW5kX2dldF90eXBlKToKCSAgQ29uc3QtaWZ5IEdFbnVtVmFsdWUgYXJyYXlzLgoKMjAwNi0wNS0wOSAxNDowODoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBXb3JrIGFyb3VuZCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBidWcgdGhhdCByZXN1bHRzIGluIGF2aW11eCBtYXJraW5nIGFsbCBmcmFtZXMgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpOgoJICBXb3JrIGFyb3VuZCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBidWcgdGhhdAoJICByZXN1bHRzIGluIGF2aW11eCBtYXJraW5nIGFsbCBmcmFtZXMgaW4gdGhlIGluZGV4IGFzCgkgIGtleWZyYW1lcyAoIzM0MDg1OSkuCgoyMDA2LTA1LTA4IDE5OjIxOjE4ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgoyMDA2LTA1LTA4IDE1OjIwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAocXRkZW11eF9kdW1wX212aGQpOgoJICBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIEFsc28gcmVwb3J0IGR1cmF0aW9uIGluIHB1c2ggbW9kZSBzaW5jZSB3ZSBjYW4uCgoyMDA2LTA1LTA4IDE0OjM1OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC5jOiBNYWtlIHBhcnNpbmcgb2YgdXJscyBzdWNrIHNsaWdodGx5IGxlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgTWFrZSBwYXJzaW5nIG9mIHVybHMgc3VjayBzbGlnaHRseSBsZXNzLgoKMjAwNi0wNS0wOCAxMTo1MzowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGF1dG9nZW4uc2g6IGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6IChDT05GSUdVUkVfREVGX09QVCk6CgkgIGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUuCgoyMDA2LTA1LTA4IDEwOjU5OjA1ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBDODkgY29tcGxpYW5jZSBmaXhlcy4gRml4ZXMgIzM0MDk4MAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9kaXNwb3NlKToKCSAgQzg5IGNvbXBsaWFuY2UgZml4ZXMuIEZpeGVzICMzNDA5ODAKCjIwMDYtMDUtMDYgMTE6Mzg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IFJlbW92ZSB0YWcgd3JpdGluZyBmcm9tIGxhbWUgKHdoaWNoIHdhcyBjb21wbGV0ZWx5IGJyb2tlbiBhbnl3YXksICMzMjkxODQpLiBMZWF2aW5nIEdzdFRhZ1NldHRlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xhbWVfcmVsZWFzZV9tZW1vcnkpLCAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9sYW1lX3NldHVwKSwgKGdzdF9sYW1lX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBSZW1vdmUgdGFnIHdyaXRpbmcgZnJvbSBsYW1lICh3aGljaCB3YXMgY29tcGxldGVseSBicm9rZW4KCSAgYW55d2F5LCAjMzI5MTg0KS4gTGVhdmluZyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlIGFyb3VuZCBmb3IKCSAgbm93LCBhbGJlaXQgbm9uLWZ1bmN0aW9uYWwuIFNob3VsZCBiZSByZW1vdmVkIGNvbXBsZXRlbHkKCSAgaW4gMC4xMS4gVXNlIHRoZSAnaWQzdjJtdXgnIHBsdWdpbiBmcm9tIC1nb29kIGZvciB3cml0aW5nCgkgIHRhZ3MuCgoyMDA2LTA1LTA2IDA5OjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBIYW5kbGUgc2VnbWVudCBzZWVrcyB0aGF0IGluY2x1ZGUgdGhlIGVuZCBvZiB0aGUgZmlsZSBhcyBzdG9wIHBvaW50IHByb3Blcmx5OiB3aGVuIHRoZSBkZWNvZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sb29wKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIHRoYXQgaW5jbHVkZSB0aGUgZW5kIG9mIHRoZSBmaWxlIGFzIHN0b3AgcG9pbnQKCSAgcHJvcGVybHk6IHdoZW4gdGhlIGRlY29kZXIgaGl0cyBFT1Mgd2Ugd2FudCB0byBzZW5kIGEgU0VHTUVOVF9ET05FCgkgIG1lc3NhZ2UgaW5zdGVhZCBvZiBhbiBFT1MgZXZlbnQgaW4gY2FzZSB3ZSdyZSBpbiBzZWdtZW50IHNlZWsKCSAgbW9kZSAoZml4ZXMgIzM0MDY5OSkuCgoyMDA2LTA1LTA2IDAwOjE0OjA5ICswMDAwICBNYWNpZWogS2F0YWZpYXN6IDxtYXRocmlja0BtYXRocmljay5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgoyMDA2LTA1LTA1IDIwOjEyOjU5ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uLgoKMjAwNi0wNS0wNSAwODoyMzozOSArMDAwMCAgQW5kcmVzIFNhbG9tb24gPGRpbGluZ2VyQGRlYmlhbi5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IEZpeCB0eXBvIChjb21tYSB2cy4gc2VtaWNvbG9uKSAoIzM0MDcxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmVzIFNhbG9tb24gIDxkaWxpbmdlciBhdCBkZWJpYW4gb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NpbmtfZXZlbnQpOgoJICBGaXggdHlwbyAoY29tbWEgdnMuIHNlbWljb2xvbikgKCMzNDA3MTApLgoKMjAwNi0wNS0wNCAxNzoyNzoyNyArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgbGVhayBjYXBzIHdoZW4gZnJlZWluZyB0aGUgc3RyZWFtIGNvbnRleHQgKCMzNDA2MjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgeGVyaXMgZG90IGN6PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KToKCSAgRG9uJ3QgbGVhayBjYXBzIHdoZW4gZnJlZWluZyB0aGUgc3RyZWFtIGNvbnRleHQgKCMzNDA2MjMpLgoKMjAwNi0wNS0wNCAxNTo0MDoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMyA9PT0KCjIwMDYtMDUtMDQgMTU6MzY6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTA0IDE1OjI4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoKMjAwNi0wNS0wNCAxNTowNTowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTAzIDE4OjQ0OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wNS0wMyAxODo0MTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRG9uJ3Qgc3RyY21wKCkgTlVMTCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3N0cmVhbV9pc192b3JiaXNfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IHN0cmNtcCgpIE5VTEwgc3RyaW5ncy4KCSAgT25seSBzdGFydCBuZXcgY2x1c3RlcnMgb24gdmlkZW8ga2V5ZnJhbWVzLCBub3Qgb24gYW55CgkgIHJhbmRvbSBhdWRpbyBidWZmZXIgdGhhdCBkb2Vzbid0IGhhdmUgdGhlIERFTFRBX1VOSVQKCSAgZmxhZyBzZXQgKGZpeGVzICdtYWtlIGNoZWNrJyBhZ2FpbikuCgoyMDA2LTA1LTAzIDE0OjUxOjUwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCBtaXNpbnRlcnByZXQgR1NUX0NMT0NLX1RJTUVfTk9ORSBhcyB2ZXJ5IGhpZ2ggdGltZXN0YW1wIHZhbHVlIGFuZCB0aGVuIGRlYWQtbG9jayB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0cmVhbV9pc192b3JiaXNfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IG1pc2ludGVycHJldCBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIHZlcnkgaGlnaCB0aW1lc3RhbXAKCSAgdmFsdWUgYW5kIHRoZW4gZGVhZC1sb2NrIHdoZW4gbXV4aW5nIHZvcmJpcyBhdWRpbyBzdHJlYW1zCgkgICh0aGUgdGhyZWUgdm9yYmlzIGhlYWRlciBidWZmZXJzIGNhcnJ5IG5vIHRpbWVzdGFtcCwgYW5kIGl0CgkgIHdvdWxkIHRyeSB0byBtdXggdGhlc2UgYWZ0ZXIgYWxsIHZpZGVvIGJ1ZmZlcnMpLiBGaXhlcyAjMzQwMzQ2LgoJICBJbXByb3ZlIGNsdXN0ZXJpbmc6IHN0YXJ0IGEgbmV3IGNsdXN0ZXIgYWxzbyB3aGVuZXZlciB3ZSBnZXQKCSAgYSBrZXlmcmFtZS4KCjIwMDYtMDUtMDMgMTQ6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhIGRlYWQgY29kZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYQoJICBkZWFkIGNvZGUgYmxvY2suCgoyMDA2LTA1LTAzIDE0OjI4OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB3aW4zMiBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBhZGQgd2luMzIgc3R1ZmYKCjIwMDYtMDUtMDMgMTQ6MjY6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHdpbjMyIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIGFkZCB3aW4zMiBzdHVmZgoKMjAwNi0wNS0wMiAyMjozNDo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IEZpeCB0aW1lb3ZlcmxheSBmb3Igbm9uLW11bHRpcGxlLW9mLTQgd2lkdGhzLiBUaGlzIGZvdXJjYyBjcmFwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICBGaXggdGltZW92ZXJsYXkgZm9yIG5vbi1tdWx0aXBsZS1vZi00IHdpZHRocy4gVGhpcyBmb3VyY2MgY3JhcAoJICBTVUNLUy4KCjIwMDYtMDUtMDIgMjE6NTI6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgoyMDA2LTA1LTAyIDE4OjUwOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBkb24ndCBsZWFrIGNhcHMtc3RyaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX3VwZGF0ZV9jYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpOgoJICBkb24ndCBsZWFrIGNhcHMtc3RyaW5nCgoyMDA2LTA1LTAyIDE1OjQ2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IExldCBjb3JlIGluc2VydCBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgZm9yIFRZUEVfTk9UX0ZPVU5EIGVycm9ycywgaXQncyBqdXN0IGFzIGdvb2QgYXMgb3VyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgTGV0IGNvcmUgaW5zZXJ0IGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgVFlQRV9OT1RfRk9VTkQKCSAgZXJyb3JzLCBpdCdzIGp1c3QgYXMgZ29vZCBhcyBvdXIgb3duIGFuZCBoYXMgdGhlIGFkZGVkCgkgIGJvbnVzIG9mIGJlaW5nIHRyYW5zbGF0ZWQuCgoyMDA2LTA1LTAyIDE1OjQwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBhbmQgd2VyZSBub3QgYWJsZSB0byBmaW5kIG91dCB0aGUgdHlwZSBvZiBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfaW5pdCksCgkgIChnc3RfdGFnX2RlbXV4X3NpbmtfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGFuZCB3ZXJlIG5vdAoJICBhYmxlIHRvIGZpbmQgb3V0IHRoZSB0eXBlIG9mIHN0cmVhbS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAoZmlsbF9tcDNfYnVmZmVyKSwgKGdvdF9idWZmZXIpLAoJICAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIERlY3JlYXNlIG51bS1idWZmZXJzIHRvIDE2IHBlciBpdGVyYXRpb24gYWdhaW4sIG90aGVyd2lzZSB0aGUKCSAgbWFueSBtZW1jcHkoKXMgYW5kIHJlYWxsb2NhdGlvbnMgaW4gdGhlIHRlc3Qgd2lsbCBoYW1tZXIgc2xvdwoJICBDUFVzIGNvbXBsZXRlbHkgYW5kIG1ha2UgdGhlIHRlc3QgdGltZW91dC4KCjIwMDYtMDUtMDIgMTM6MjQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBmaWd1cmUgb3V0IHdoZXJlIHBsdWdpbnMtYmFzZSBwbHVnaW5zIGFyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGZpZ3VyZSBvdXQgd2hlcmUgcGx1Z2lucy1iYXNlIHBsdWdpbnMgYXJlCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHVzZSBwbHVnaW5zLWJhc2UgcGx1Z2lucywgc28gd2UgaGF2ZSB0eXBlZmluZCBmdW5jdGlvbnMKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAodGVzdF90YWdsaWJfaWQzbXV4X3dpdGhfdGFncyk6CgkgIGluY3JlYXNlIG51bS1idWZmZXJzLCB0aGlzIG1ha2VzIHN1cmUgdGhlIHRlc3QgZXJyb3JzIG91dCBpbnN0ZWFkCgkgIG9mIHRpbWluZyBvdXQgd2hlbiBubyB0eXBlZmluZCBmdW5jdGlvbnMgYXJlIHByZXNlbnQKCjIwMDYtMDUtMDIgMTM6MDE6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGZpeCBkb2NzIGZvciB3YXZwYXJzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MgZm9yIHdhdnBhcnNlCgoyMDA2LTA1LTAxIDIxOjM3OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCjIwMDYtMDUtMDEgMTE6NDY6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBhbHNvIGNoZWNrIC5jYyBmaWxlcyBmb3IgZ3RrLWRvYyBtYXJrdXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBhbHNvIGNoZWNrIC5jYyBmaWxlcyBmb3IgZ3RrLWRvYyBtYXJrdXAKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKGlkM3YybXV4X3N1aXRlKSwgKG1haW4pOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIG1vdmUgdGFnbGliLWJhc2VkIGlkM3YybXV4ZXIgdG8gLWdvb2QuICBGaXhlcyAjMzM2MTEwLgoKMjAwNi0wNS0wMSAxMTo0NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICBhZGQgaWN5ZGVtdXggaW5zcGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGljeWRlbXV4IGluc3BlY3Rpb24KCjIwMDYtMDUtMDEgMTE6NDM6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgYWRkIHhpbWFnZXNyYyBmb3IgdHJhbnNsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB4aW1hZ2VzcmMgZm9yIHRyYW5zbGF0aW9uCgoyMDA2LTA0LTMwIDE2OjE2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0zMCAxNTozMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MKCjIwMDYtMDQtMzAgMTQ6NTU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCjIwMDYtMDQtMjkgMTg6NDY6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpIGNhc2Ugb2YgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkKCSAgY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDQtMjkgMTg6MTg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50byBpdHMgb3duIHN1YmNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8KCSAgaXRzIG93biBzdWJjbGFzcy4KCjIwMDYtMDQtMjkgMTY6MTQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogLi4uIGFuZCBmaXggbXVsdGljaGFubmVsL1dBVkZPUk1BVEVYIHN1cHBvcnQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgLi4uIGFuZCBmaXggbXVsdGljaGFubmVsL1dBVkZPUk1BVEVYIHN1cHBvcnQgYWdhaW4uCgoyMDA2LTA0LTI4IDIzOjA5OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogQWRkIHB1c2ggKHN0cmVhbWluZykgbW9kZSB0byB3YXZwYXJzZSAoZml4ZXMgIzMzNzYyNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfY3VlcyksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQWRkIHB1c2ggKHN0cmVhbWluZykgbW9kZSB0byB3YXZwYXJzZSAoZml4ZXMgIzMzNzYyNSkKCjIwMDYtMDQtMjggMjE6NDM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgZWxlbWVudCByZW5hbWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbGVtZW50IHJlbmFtZWQKCjIwMDYtMDQtMjggMTk6MjI6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIGFkZCBwbHVnaW4gZG9jcyBmb3IgeGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcGx1Z2luIGRvY3MgZm9yIHhpbWFnZXNyYwoKMjAwNi0wNC0yOCAxOToxNTowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgeGltYWdlc3JjIGljbGVzIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBhZGQgeGltYWdlc3JjIGljbGVzIHRlc3QKCjIwMDYtMDQtMjggMTg6NTc6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSB4aW1hZ2VzcmMgcGx1Zy1pbiB0byBnb29kIGFmdGVyIHJldmlldy4gIEZpeGVzICMzMzY3NTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiAoZ3N0X2NtbWxfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCk6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgTW92ZSB4aW1hZ2VzcmMgcGx1Zy1pbiB0byBnb29kIGFmdGVyIHJldmlldy4gIEZpeGVzICMzMzY3NTYuCgoyMDA2LTA0LTI4IDE2OjUxOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIGJvcmdpZnkgbmFtaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IG5hbWluZwoKMjAwNi0wNC0yOCAxNjo0Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBkb2MgdHdlYWtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdHdlYWtzCgoyMDA2LTA0LTI4IDE2OjE1OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoKMjAwNi0wNC0yOCAxNTozMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5oOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGVkYW50aWMgY2xlYW51cHMKCjIwMDYtMDQtMjggMTQ6NTc6NTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC4qOiBGaXggZXZlbnQgaGFuZGxpbmc6IGNhY2hlIGV2ZW50cyB3aGVuIHR5cGVmaW5kaW5nIGFuZCBmb3J3YXJkIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9yZXNldCksICAgICAgICAgKGdzdF9pY3lkZW11eF9pbml0KSwgKGdzdF9pY3lkZW11eF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ljeWRlbXV4X2hhbmRsZV9ldmVudCksIChnc3RfaWN5ZGVtdXhfc2VuZF9jYWNoZWRfZXZlbnRzKSwKCSAgKGdzdF9pY3lkZW11eF90eXBlZmluZF9vcl9mb3J3YXJkKSwgKGdzdF9pY3lkZW11eF9hZGRfbWV0YSksCgkgIChnc3RfaWN5ZGVtdXhfY2hhaW4pLCAoZ3N0X2ljeWRlbXV4X3NlbmRfdGFnX2V2ZW50KToKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgRml4IGV2ZW50IGhhbmRsaW5nOiBjYWNoZSBldmVudHMgd2hlbiB0eXBlZmluZGluZyBhbmQgZm9yd2FyZCBsYXRlci4KCjIwMDYtMDQtMjggMTQ6NTU6MjAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IFJlZ2lzdGVyIG9zeGF1ZGlvc3JjIHRvIHRoZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTI4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAocGx1Z2luX2luaXQpOgoJICBSZWdpc3RlciBvc3hhdWRpb3NyYyB0byB0aGUgcGx1Z2luLgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9kb19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2Jhc2VfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlciksIChnc3Rfb3N4X2F1ZGlvX3NyY19pb19wcm9jKSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX29zeGVsZW1lbnRfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIFBvcnQgb2Ygb3N4YXVkaW9zcmMgdG8gMC4xMC4KCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBvc3hhdWRpb3NyYwoKMjAwNi0wNC0yOCAxMjowMDozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgY29tbWl0IENoYW5nZWxvZyBmb3IgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgQ2hhbmdlbG9nIGZvciBwcmV2aW91cyBjb21taXQKCjIwMDYtMDQtMjggMTE6NTc6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBGb3Jnb3QgdG8gY29tbWl0LCBxdWljayBjb21taXQgYmU0IGFwcGxlIGRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZvcmdvdCB0byBjb21taXQsIHF1aWNrIGNvbW1pdCBiZTQgYXBwbGUgZGllcwoKMjAwNi0wNC0yOCAxMTozNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZWNvZ25pc2UgYW5kIHNraXAgYW55IGJ5dGUgb3JkZXIgbWFya2VyIChCT00pIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaGFzX3V0ZjE2X2JvbSksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgUmVjb2duaXNlIGFuZCBza2lwIGFueSBieXRlIG9yZGVyIG1hcmtlciAoQk9NKSBpbgoJICBVVEYtMTYgc3RyaW5ncy4KCjIwMDYtMDQtMjcgMTY6MDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgZG9jcyBmb3IgYm90aCBhdmlkZW11eCBhbmQgYXZpbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIEFkZCBkb2NzIGZvciBib3RoIGF2aWRlbXV4IGFuZCBhdmltdXguCgoyMDA2LTA0LTI3IDE0OjUxOjA2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L2F2aS86IFBvcnQgQVZJIG11eGVyIHRvIEdTdHJlYW1lci0wLjEwICgjMzMyMDMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL2dzdGF2aS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9nZXRfdHlwZSksCgkgIChnc3RfYXZpX211eF9iYXNlX2luaXQpLCAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X2F2aV9tdXhfY2xhc3NfaW5pdCksIChnc3RfYXZpX211eF9pbml0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfYXVkc2lua19zZXRfY2FwcyksCgkgIChnc3RfYXZpX211eF9wYWRfbGluayksIChnc3RfYXZpX211eF9wYWRfdW5saW5rKSwKCSAgKGdzdF9hdmlfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfYXZpX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfYXZpX211eF93cml0ZV90YWcpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdml4X2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF92aWRlb19oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXVkaW9faGVhZGVyKSwgKGdzdF9hdmlfbXV4X2FkZF9pbmRleCksCgkgIChnc3RfYXZpX211eF93cml0ZV9pbmRleCksIChnc3RfYXZpX211eF9iaWdmaWxlKSwKCSAgKGdzdF9hdmlfbXV4X3N0YXJ0X2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RvcF9maWxlKSwKCSAgKGdzdF9hdmlfbXV4X3Jlc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X2F2aV9tdXhfZmlsbF9xdWV1ZSksIChnc3RfYXZpX211eF9zZW5kX3BhZF9kYXRhKSwKCSAgKGdzdF9hdmlfbXV4X3N0cmlwX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19hdWRpb19idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfZG9fdmlkZW9fYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX29uZV9idWZmZXIpLAoJICAoZ3N0X2F2aV9tdXhfbG9vcCksIChnc3RfYXZpX211eF9jb2xsZWN0X3BhZHMpLAoJICAoZ3N0X2F2aV9tdXhfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdmlfbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXZpX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIFBvcnQgQVZJIG11eGVyIHRvIEdTdHJlYW1lci0wLjEwICgjMzMyMDMxKS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBBVkkgbXV4ZXIuCgoyMDA2LTA0LTI2IDIxOjI5OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogcmV2ZXJ0ZWQgcGF0Y2ggIzMzNzYyNSBmb3IgdGhlIHByaWNlIG9mIDEgaG91ciBzbGVlcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHJldmVydGVkIHBhdGNoICMzMzc2MjUgZm9yIHRoZSBwcmljZSBvZiAxIGhvdXIgc2xlZXAKCjIwMDYtMDQtMjYgMjA6MTE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBjb3JyZWN0IHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgcHVzaCBtb2RlIChmcm9tIG15IGxhc3QgY29tbWl0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9jdWVzKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIGNvcnJlY3QgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBwdXNoIG1vZGUKCSAgKGZyb20gbXkgbGFzdCBjb21taXQpCgoyMDA2LTA0LTI2IDE3OjM3OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IEZpeCBjb21waWxlIHByb2JsZW0gYnkgZGVmaW5pbmcgRVNEX01BWF9XUklURV9TSVpFIGlmIGl0IGlzIG5vdCBpbiBlc2QuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgRml4IGNvbXBpbGUgcHJvYmxlbSBieSBkZWZpbmluZyBFU0RfTUFYX1dSSVRFX1NJWkUgaWYKCSAgaXQgaXMgbm90IGluIGVzZC5oCgoyMDA2LTA0LTI2IDE3OjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS4qOiBSZXdyaXRlIGF1cGFyc2UgdG8gc3VjayBhIGxpdHRsZSBiaXQgbGVzczogbWFrZSBzb3VyY2UgcGFkIGR5bmFtaWMsIHNvIGRlY29kZWJpbi9wbGF5YmluIHdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1X3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwgKGdzdF9hdV9wYXJzZV9hZGRfc3JjcGFkKSwKCSAgKGdzdF9hdV9wYXJzZV9yZW1vdmVfc3JjcGFkKSwgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLAoJICAoZ3N0X2F1X3BhcnNlX2NoYWluKSwgKGdzdF9hdV9wYXJzZV9zcmNfY29udmVydCksCgkgIChnc3RfYXVfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9hdV9wYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3RfYXVfcGFyc2Vfc2lua19ldmVudCksIChnc3RfYXVfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdV9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUmV3cml0ZSBhdXBhcnNlIHRvIHN1Y2sgYSBsaXR0bGUgYml0IGxlc3M6IG1ha2Ugc291cmNlIHBhZAoJICBkeW5hbWljLCBzbyBkZWNvZGViaW4vcGxheWJpbiB3b3JrIHdpdGggbm9uLXJhdyBmb3JtYXRzCgkgIGxpa2UgYWxhdy9tdWxhdzsgYWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBkdXJhdGlvbi9wb3NpdGlvbgoJICBxdWVyaWVzOyBjaGVjayB3aGV0aGVyIHdlIGhhdmUgZW5vdWdoIGRhdGEgYmVmb3JlIGF0dGVtcHRpbmcKCSAgdG8gcGFyc2UgdGhlIGhlYWRlciAoaW5zdGVhZCBvZiBjcmFzaGluZyB3aGVuIHRoYXQgaXMgbm90IHRoZQoJICBjYXNlKTsgd29yayBhcm91bmQgYXVkaW9jb252ZXJ0IHN1Y2tpbmcgYnkgc3dhcHBpbmcgZW5kaWFubmVzcwoJICB0byB0aGUgbmF0aXZlIGVuZGlhbm5lc3Mgb3Vyc2VsdmVzIGZvciBmbG9hdCBmb3JtYXRzOyBzZW5kCgkgIGluaXRpYWwgbmV3c2VnbWVudCBldmVudC4gRml4ZXMgIzE2MTcxMi4KCjIwMDYtMDQtMjYgMTY6Mjk6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvb3N4YXVkaW8vOiBQb3J0IG9mIG9zeGF1ZGlvc2luayB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTI2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKGdzdF9vc3hfYXVkaW9fZWxlbWVudF9nZXRfdHlwZSksCgkgIChnc3Rfb3N4X2F1ZGlvX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2RvX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2Jhc2VfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X29zeF9hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19pb19wcm9jKSwgKGdzdF9vc3hfYXVkaW9fc2lua19vc3hlbGVtZW50X2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSAgUG9ydCBvZiBvc3hhdWRpb3NpbmsgdG8gMC4xMAoKMjAwNi0wNC0yNiAwODo1NToyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBBbHdheXMgd3JpdGUgRVNEX0JVRl9TSVpFIGJ5dGVzIGFuZCB1c2UgRVNEX01BWF9XUklURV9TSVpFIGFzIHRoZSBzaXplIG9mIHRoZSByaW5nYnVmZmVyLiBUaGlzIHNoby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBBbHdheXMgd3JpdGUgRVNEX0JVRl9TSVpFIGJ5dGVzIGFuZCB1c2UgRVNEX01BWF9XUklURV9TSVpFIGFzCgkgIHRoZSBzaXplIG9mIHRoZSByaW5nYnVmZmVyLiBUaGlzIHNob3VsZCBmaXggaGFuZ3Mgd2l0aCBvbGRlcgoJICBlc2Qgc291bmQgc2VydmVycy4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yNSAyMTozOTo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuYzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAoZ3N0X3ZpZGVvdGVtcGxhdGVfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF93YXZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rX2luZm8pLAoJICAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmspLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTI1IDE3OjU3OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBTb3VyY2UgcGFkIGhhcyBmaXhlZCBjYXBzLiBJZiB3ZSBkb24ndCBzZXQgdGhpcywgYmFkIHRoaW5ncyBoYXBwZW4gd2hlbiB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIFNvdXJjZSBwYWQgaGFzIGZpeGVkIGNhcHMuIElmIHdlIGRvbid0IHNldCB0aGlzLCBiYWQKCSAgdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSB3aW5kb3cgaXMgcmVzaXplZC4KCjIwMDYtMDQtMjUgMTY6Mzg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgY2FzZSB3aGVyZSB0aGUgVHJhY2tUeXBlIGVibWwgY2h1bmsgZG9lcyBub3QgY29tZSBiZWZvcmUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X2F1ZGlvX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfc3VidGl0bGVfY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9jb21wbGV4X2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgdGhlIFRyYWNrVHlwZSBlYm1sIGNodW5rIGRvZXMgbm90IGNvbWUgYmVmb3JlIHRoZQoJICBUcmFja0luZm9BdWRpbyBvciBUcmFja0luZm9WaWRlbyBlYm1sIGNodW5rICgjMzM5NDQ2KS4gSWdub3JlIFFvUwoJICBldmVudHMuCgoyMDA2LTA0LTI1IDE2OjA5OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEl0J3MgY29kZWNfZGF0YSwgbm90IGNvZGVjX2luZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIEl0J3MgY29kZWNfZGF0YSwgbm90IGNvZGVjX2luZm8uCgoyMDA2LTA0LTI1IDExOjQ1OjAwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEhhbmRsZSBjb2RlY19kYXRhIGZvciBWZlcgY29tcGF0aWJpbGl0eSBjb2RlYyBJRHMgKCMzMzk0NTEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgY29kZWNfZGF0YSBmb3IgVmZXIGNvbXBhdGliaWxpdHkgY29kZWMgSURzICgjMzM5NDUxKQoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpOgoJICBTYW1lIGhlcmUsIGhhbmRsZSBjb2RlY19kYXRhIGFuZCBhZGQgYWRkaXRpb25hbCBjYXBzIHdlIGNhbiBoYW5kbGUKCSAgbm93IHRvIHRoZSBwYWQgdGVtcGxhdGUgKGh1ZmZ5dXYsIGR2IGFuZCBoMjYzIHZpZGVvKSAoIzMzOTQ1MSkKCjIwMDYtMDQtMjUgMTE6MDk6MjQgKzAwMDAgIEpvc2VmIFpsb21layA8am9zZWYuemxvbWVrQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IHRpbWVzdGFtcGluZyBvZiBCLWZyYW1lcywgdXNlIHNpZ25lZCBpbnRlZ2VycywgZG8gc29tZSByb3VuZGluZyAoIzMzOTY3OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZWYgWmxvbWVrICA8am9zZWYgZG90IHpsb21layBhdCBpdG9uaXMgZG90IHR2PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX2J1ZmZlcl9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRml4IHRpbWVzdGFtcGluZyBvZiBCLWZyYW1lcywgdXNlIHNpZ25lZCBpbnRlZ2VycywgZG8KCSAgc29tZSByb3VuZGluZyAoIzMzOTY3OCkuCgoyMDA2LTA0LTI0IDE4OjMwOjU1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSAganVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoKMjAwNi0wNC0yMyAxNTo1NTozMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBhIGJhZCBjb252ZXJzaW9uIHVzaW5nIGdzdF9ndWludDY0X3RvX2dkb3VibGUuIGZhYnMgKChnZG91YmxlKSBkZW11eC0+aW5kZXhbZW50cnldLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIEZpeCBhIGJhZCBjb252ZXJzaW9uIHVzaW5nIGdzdF9ndWludDY0X3RvX2dkb3VibGUuCgkgIGZhYnMgKChnZG91YmxlKSBkZW11eC0+aW5kZXhbZW50cnldLnRpbWUgLSAoZ2RvdWJsZSkgc2Vla19wb3MpIGNhbiBub3QgYmUKCSAgcmVwbGFjZWQgYnkgZmFicyAoZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lIC0gc2Vla19wb3MpKSBhcyB0aGUKCSAgZGlmZmVyZW5jZSBjb3VsZCBiZSBuZWdhdGl2ZS4gZmFicyAoZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoZGVtdXgtPmluZGV4W2VudHJ5XS50aW1lKSAtCgkgIGdzdF9ndWludDY0X3RvX2dkb3VibGUgKHNlZWtfcG9zKSkgaXMgdGhlIGdvb2Qgc29sdXRpb24uIFRoYW5rcyB0byBUaW0gd2hvIGhhcyBzZWVuIG15CgkgIG1pc3Rha2UuCgoyMDA2LTA0LTIyIDE1OjMyOjQ4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thZGVtdXhfZG9faW5kZXhfc2Vlayk6CgkgIFVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIGljeWRlbXV4CgoyMDA2LTA0LTIxIDE4OjA3OjEwICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBXaGVuIHNwbGl0dGluZyBhdWRpbyBjaHVua3MsIHRoZSBibG9jayBhbGlnbm1lbnQgaXMgbm90IHRha2VuIGluIGNvbnNpZGVyYXRpb24sIHNvIHRoZSBzbWFsbGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KToKCSAgV2hlbiBzcGxpdHRpbmcgYXVkaW8gY2h1bmtzLCB0aGUgYmxvY2sgYWxpZ25tZW50IGlzIG5vdCB0YWtlbiBpbgoJICBjb25zaWRlcmF0aW9uLCBzbyB0aGUgc21hbGxlciBjaHVua3MgY291bGQgYmUgb2Ygc2l6ZSB3aGljaCBpcwoJICBub3QgYSBtdWx0aXBsZSBvZiB0aGUgYmxvY2sgYWxpZ25tZW50LiBGaXhlcyAjMzM2OTA0CgoyMDA2LTA0LTIxIDE3OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IFVzZSBzY2FsZSBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2NvbnZlcnQpOgoJICBVc2Ugc2NhbGUgZnVuY3Rpb25zCgoyMDA2LTA0LTIxIDE3OjI3OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R2L2dzdGR2LmM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDQtMjEgMTc6MTU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogQWRkICdmb3JtYXQnIHByb3BlcnR5IHRvIGZvcmNlIHF1ZXJ5aW5nIHRvIGEgcGFydGljdWxhciBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9maW5hbGl6ZSksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2NsYXNzX2luaXQpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9pbml0KSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZG9fcXVlcnkpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9nZXRfcHJvcGVydHkpOgoJICBBZGQgJ2Zvcm1hdCcgcHJvcGVydHkgdG8gZm9yY2UgcXVlcnlpbmcgdG8gYSBwYXJ0aWN1bGFyIGZvcm1hdC4KCjIwMDYtMDQtMjEgMTU6NTA6MjggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jIChwbHVnaW5faW5pdCk6IGxpYmR2IGlzIGEgbWFyZ2luYWwgZGVjb2RlciwgYXQgYmVzdCwgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLiBEcm9wIGl0cyByYW5rIGluIHRoYXQgY2FzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHYuYyAocGx1Z2luX2luaXQpOiBsaWJkdiBpcyBhIG1hcmdpbmFsIGRlY29kZXIsIGF0CgkgIGJlc3QsIG9uIGJpZyBlbmRpYW4gc3lzdGVtcy4gRHJvcCBpdHMgcmFuayBpbiB0aGF0IGNhc2UuIE9UT0ggb24KCSAgeDg2IGl0J3MgcXVpdGUgZmluZS4gU2VlIGNoYW5nZXMgZnJvbSB0b2RheSBpbiBnc3QtZmZtcGVnIGFzIHdlbGwuCgoyMDA2LTA0LTIxIDEyOjQwOjQxICswMDAwICBFZCBDYXRtdXIgPGVkQGNhdG11ci5jby51az4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogRG9uJ3QgY3Jhc2ggaWYgd2UgZ2V0IGFuIEVPUyBldmVudCBiZWZvcmUgdGhlIGVuY29kZXIgaGFzIGJlZW4gc2V0IHVwICgjMzM5Mjg3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFZCBDYXRtdXIgIDxlZCBhdCBjYXRtdXIgZG90IGNvIGRvdCB1az4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX2V2ZW50KToKCSAgRG9uJ3QgY3Jhc2ggaWYgd2UgZ2V0IGFuIEVPUyBldmVudCBiZWZvcmUgdGhlIGVuY29kZXIKCSAgaGFzIGJlZW4gc2V0IHVwICgjMzM5Mjg3KS4KCjIwMDYtMDQtMjEgMDk6Mjc6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBpY3lkZW11eCwgYW5kIHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pY3lkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2ljeWRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwgKGdzdF9pY3lkZW11eF9pbml0KSwKCSAgKGdzdF9pY3lkZW11eF9zaW5rX3NldGNhcHMpLCAoZ3N0X2ljeWRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2ljeWRlbXV4X3JlbW92ZV9zcmNwYWQpLAoJICAodW5pY29kaWZ5KSwgKGdzdF9pY3lkZW11eF91bmljb2RpZnkpLAoJICAoZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpLCAoZ3N0X2ljeWRlbXV4X2FkZF9tZXRhKSwKCSAgKGdzdF9pY3lkZW11eF9jaGFpbiksIChnc3RfaWN5ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9pY3lkZW11eF9zZW5kX3RhZ19ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKHR5cGVmaW5kX3N1Y2NlZWQpLAoJICAocGx1Z2luX2luaXQpLCAoaWN5ZGVtdXhfZm91bmRfcGFkKSwgKGNyZWF0ZV9pY3lkZW11eCksCgkgIChjbGVhbnVwX2ljeWRlbXV4KSwgKHB1c2hfZGF0YSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChpY3lkZW11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGljeWRlbXV4LCBhbmQgdGVzdHMuCgoyMDA2LTA0LTIwIDE3OjQ4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBQb3N0IFNFR01FTlRfRE9ORSBtZXNzYWdlIGluIFRJTUUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgIFBvc3QgU0VHTUVOVF9ET05FIG1lc3NhZ2UgaW4gVElNRSBmb3JtYXQuCgoyMDA2LTA0LTIwIDE3OjI5OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgoyMDA2LTA0LTIwIDE2OjMzOjU1ICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggaW5kZXggY3JlYXRpb24gd2hlbiB3ZSBoYXZlIHRvIHNjYW4gdGhlIGZpbGUgdG8gY3JlYXRlIGFuIGluZGV4LiBUaGVyZSBtYXkgYmUgb3RoZXIgdHlwZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicml6aW8gR2VubmFyaSAgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgRml4IGluZGV4IGNyZWF0aW9uIHdoZW4gd2UgaGF2ZSB0byBzY2FuIHRoZSBmaWxlIHRvIGNyZWF0ZQoJICBhbiBpbmRleC4gVGhlcmUgbWF5IGJlIG90aGVyIHR5cGVzIG9mIFJJRkYgJ0xJU1QnIGNodW5rcyB0aGFuCgkgICdtb3ZpJyBhbmQgd2UgbmVlZCB0byBza2lwIHRoZW0gcHJvcGVybHkgYXMgd2VsbCBvciB3ZSdsbCBlbmQgdXAKCSAgcmVhZGluZyBnYXJiYWdlICgjMzM2ODg5KS4gU29tZSBvdGhlciBjb3NtZXRpYyBjaGFuZ2VzLgoKMjAwNi0wNC0yMCAxNDoyMTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MgKGZpeGVzICMzMzgyOTApLiBBbHNvIGRlbW90ZSBzb21lIHJlY3VycmluZyBkZWJ1ZyBtZXNzYWdlIGZyb20gRC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcyAoZml4ZXMgIzMzODI5MCkuIEFsc28gZGVtb3RlCgkgIHNvbWUgcmVjdXJyaW5nIGRlYnVnIG1lc3NhZ2UgZnJvbSBERUJVRyB0byBMT0cgbGV2ZWwuCgoyMDA2LTA0LTIwIDEzOjIzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2V0IERJU0NPTlQgZmxhZyBvbiBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250aW51aXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFNldCBESVNDT05UIGZsYWcgb24gZmlyc3QgYnVmZmVyIGFmdGVyIGEgZGlzY29udGludWl0eS4KCSAgRml4IG5ld3NlZ21lbnQgZXZlbnRzIHNlbnQgd2hlbiBzZWVraW5nIGFuZCBob25vdXIgS0VZX1VOSVQKCSAgc2VlayBmbGFnLiBDcmVhdGUgcGFkIHdpdGggYm9ndXMgY2FwcyBpZiB3ZSBkb24ndCByZWNvZ25pc2UKCSAgdGhlIHN0cmVhbSBjb2RlYyBpZC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNi0wNC0yMCAxMTowMDoxNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgZW5kIG9mIHNlZ21lbnQgcHJvcGVybHkgd2hlbiBzZXQ7IGRvbid0IGRlYWQtbG9jayB3aGVuIHBvc3Rpbmcgc3RhcnQgb2Ygc2VnbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEhhbmRsZSBlbmQgb2Ygc2VnbWVudCBwcm9wZXJseSB3aGVuIHNldDsgZG9uJ3QgZGVhZC1sb2NrIHdoZW4KCSAgcG9zdGluZyBzdGFydCBvZiBzZWdtZW50IG1lc3NhZ2Ugd2hlbiBkb2luZyBhIHNlZ21lbnQgc2Vlay4KCSAgRml4ZXMgIzMzODgxMC4KCjIwMDYtMDQtMjAgMDk6NDg6MDUgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBBZGQgcXRkcncgbWltZSB0eXBlLgoJICBGaXhlcyAjMzM5MDQxCgoyMDA2LTA0LTIwIDA5OjExOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IE1ha2UgbXBlZzIgYWFjIGF1ZGlvIHdvcms6IGNyZWF0ZSBhcnRpZmljaWFsIHByaXZhdGUgY29kZWMgZGF0YSBjaHVuayB3aGljaCBmYWFkMiBzZWVtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgTWFrZSBtcGVnMiBhYWMgYXVkaW8gd29yazogY3JlYXRlIGFydGlmaWNpYWwgcHJpdmF0ZSBjb2RlYyBkYXRhCgkgIGNodW5rIHdoaWNoIGZhYWQyIHNlZW1zIHRvIHJlcXVpcmUsIGp1c3QgYXMgd2UgZG8gZm9yIG1wZWc0IGFhYy4KCSAgQWxzbyBjYWxsIGdzdF9yaWZmX2luaXQoKS4gUGFydGlhbGx5IGZpeGVzICMzMzg3NjcuCgoyMDA2LTA0LTE5IDE1OjE2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogU2V0IGNhcHMgb24gZmlyc3Qgb3V0Z29pbmcgYnVmZmVyLCBzbyB0aGF0IGl0IGRvZXNuJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5IHdpdGggYSBub24tbmVnb3RpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdmVuY19pbml0KSwKCSAgKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLCAoZ3N0X3dhdmVuY19wdXNoX2hlYWRlciksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnZXRfaWRfZnJvbV9uYW1lKSwgKGdzdF93YXZlbmNfZXZlbnQpLAoJICAoZ3N0X3dhdmVuY19jaGFpbiksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgU2V0IGNhcHMgb24gZmlyc3Qgb3V0Z29pbmcgYnVmZmVyLCBzbyB0aGF0IGl0IGRvZXNuJ3QgZXJyb3Igb3V0CgkgIGltbWVkaWF0ZWx5IHdpdGggYSBub24tbmVnb3RpYXRlZCBlcnJvciAoIzMzODcxNikuIFJld3JpdGUgYW5kCgkgIGNsZWFuIHVwIGEgYml0OyBmaXggc2V0Y2FwcyBmdW5jdGlvbiB0byBwYXJzZSB0aGluZ3MgcHJvcGVybHk7CgkgIGZpeCBzaW5rIGNhcHMgKDhiaXQgYXVkaW8gaXMgdW5zaWduZWQgYW5kIGRvZXNuJ3QgaGF2ZSBkZXB0aCk7CgkgIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3M7IHJlbW92ZSB1bnVzZWQgcHJvcGVydGllcyBzdHVmZi4KCjIwMDYtMDQtMTkgMDk6Mjc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgRml4ZXMgIzMzODkzNS4KCjIwMDYtMDQtMTggMTg6MTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogTGVhdmUgSlBFRyBkZWNvZGluZyB0byBvdXIganBlZ2RlYyBwbHVnaW4uIGdka3BpeGJ1ZmRlYyBjYW5ub3QgaGFuZGxlIE1KUEVHIHN0cmVhbXMgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIExlYXZlIEpQRUcgZGVjb2RpbmcgdG8gb3VyIGpwZWdkZWMgcGx1Z2luLiBnZGtwaXhidWZkZWMgY2Fubm90CgkgIGhhbmRsZSBNSlBFRyBzdHJlYW1zIGFuZCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBmb3IgdGhvc2UgaWYgdGhlCgkgIHVzZXIgZG9lc24ndCBoYXZlIGpwZWdkZWMgaW5zdGFsbGVkIChyZXN1bHRpbmcgaW4gYSBjcnlwdGljIGVycm9yCgkgIG1lc3NhZ2UgYWJvdXQgaHVmZm1hbiB0YWJsZXMpLiBCZXR0ZXIgdG8gZGlzYWJsZSBKUEVHIGRlY29kaW5nIGhlcmUKCSAgYW5kIGxldCB0aGUgdXNlciBmaWd1cmUgb3V0IHRoYXQgc2hlIG5lZWRzIHRvIGluc3RhbGwganBlZ2RlYy4KCjIwMDYtMDQtMTggMTg6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuKjogTWFrZSB3b3JrIHdpdGggcGFja2V0aXNlZC9mcmFtZWQgaW5wdXQgKGUuZy4gcG5nLWluLXF1aWNrdGltZSkuIFVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfZmx1c2gpLCAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBNYWtlIHdvcmsgd2l0aCBwYWNrZXRpc2VkL2ZyYW1lZCBpbnB1dCAoZS5nLiBwbmctaW4tcXVpY2t0aW1lKS4gVXNlCgkgIEdTVF9FTEVNRU5UX0VSUk9SIHdoZW4gd2UgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLiBBZGQgc29tZQoJICBHU1RfREVCVUdfRlVOQ1BUUiBoZXJlIGFuZCB0aGVyZS4gVXNlIEdTVF9MT0cgZm9yIHJlY3VycmluZwoJICBkZWJ1ZyBtZXNzYWdlcy4gRml4IGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDQtMTggMTc6Mjk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogTm8gbmVlZCB0byBzcGVjaWFsLWNhc2UgZm9yIEdkay0yLjAgYW55IGxvbmdlciwgd2UgcmVxdWlyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2dldF9jYXBzbGlzdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zZXRfcHJvcGVydHkpLCAoZ3N0X2dka19waXhidWZfZ2V0X3Byb3BlcnR5KToKCSAgTm8gbmVlZCB0byBzcGVjaWFsLWNhc2UgZm9yIEdkay0yLjAgYW55IGxvbmdlciwgd2UgcmVxdWlyZQoJICBHZGsgMi4yIG9yIG5ld2VyOyBtaW5vciBjbGVhbi11cHMuCgoyMDA2LTA0LTE4IDE3OjE3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmV3cml0ZSBhIGJpdDogdXNlIEdzdEJhc2VTaW5rOjpzdGFydCBhbmQgc3RvcCBpbnN0ZWFkIG9mIGEgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9iYXNlX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpLCAoZ3N0X3Nob3V0MnNlbmRfc3RhcnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY29ubmVjdCksIChnc3Rfc2hvdXQyc2VuZF9zdG9wKSwKCSAgKGdzdF9zaG91dDJzZW5kX3JlbmRlciksIChnc3Rfc2hvdXQyc2VuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zaG91dDJzZW5kX3NldGNhcHMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFJld3JpdGUgYSBiaXQ6IHVzZSBHc3RCYXNlU2luazo6c3RhcnQgYW5kIHN0b3AgaW5zdGVhZCBvZiBhIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbjsgdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZXBvcnRpbmcsIG5vdAoJICBnX2Vycm9yKCkgb3IgR1NUX0VSUk9SKCk7IGRvbid0IHVucmVmIGNhcHMgaW4gc2V0Y2FwcyBmdW5jdGlvbiwKCSAgd2lsbCBjYXVzZSBjcmFzaGVzIG9yIGFzc2VydGlvbiBmYWlsdXJlczsgcmVtb3ZlICh1bnVzZWQpICJzeW5jIgoJICBwcm9wZXJ0eSwgYmFzZXNpbmsgYWxyZWFkeSBoYXMgc3VjaCBhIHByb3BlcnR5OyBtaXNjLiBvdGhlcgoJICBtaW5vciBmaXhlcyBhbmQgY2xlYW51cHMuCgoyMDA2LTA0LTE4IDE0OjE1OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIHRyYW5zbGF0YWJsZSBlcnJvciBtZXNzYWdlIGZvciB3aGVuIHdlIGNhbm5vdCBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIsIGFzICJDYW5ub3Qgb3BlbiByZXNvdXJjZSBmb3Igd3JpdGluZyIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19wcmVwYXJlKToKCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgdHJhbnNsYXRhYmxlIGVycm9yIG1lc3NhZ2UgZm9yIHdoZW4gd2UgY2Fubm90CgkgIGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciwgYXMgIkNhbm5vdCBvcGVuIHJlc291cmNlCgkgIGZvciB3cml0aW5nIiBpc24ndCByZWFsbHkgYW4gYWNjZXB0YWJsZSBtZXNzYWdlIHRvIHNob3cKCSAgdG8gdGhlIHVzZXIgaW4gdGhpcyBjYXNlLgoKMjAwNi0wNC0xOCAxMzozMjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0LWkxOG4tcGx1Z2luLmg6IFJlbW92ZSBib2d1cyBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgUmVtb3ZlIGJvZ3VzIGZpbGUgdGhhdCBkb2Vzbid0IGJlbG9uZyBoZXJlLgoKMjAwNi0wNC0xNyAxOTo1NzoxMCArMDAwMCAgUGhpbGlwcGUgVmFsZW1ib2lzIDxsZXBoaWxvdXNvcGhlQHVzZXJzLnNmLm5ldD4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IEhhbmRsZSB0YWdzIGJlaW5nIHJlY2VpdmVkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGlzIGVzdGFibGlzaGVkIHByb3Blcmx5IChzZWUgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBoaWxpcHBlIFZhbGVtYm9pcwoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9ldmVudCksCgkgIChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLCAoZ3N0X3Nob3V0MnNlbmRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBIYW5kbGUgdGFncyBiZWluZyByZWNlaXZlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gdG8KCSAgdGhlIHNlcnZlciBpcyBlc3RhYmxpc2hlZCBwcm9wZXJseSAoc2VlICMzMzg2MzYpLgoKMjAwNi0wNC0xNyAxOTo0MzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCjIwMDYtMDQtMTcgMTk6MTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiBEb24ndCBjcmFzaCBpbiBjYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZmFpbHM6IGRvbid0IHNldCBwb2ludGVyIHRvIE5VTEwgYnkgYXNzaWduaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3JlbmRlcik6CgkgIERvbid0IGNyYXNoIGluIGNhc2UgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBmYWlsczoKCSAgZG9uJ3Qgc2V0IHBvaW50ZXIgdG8gTlVMTCBieSBhc3NpZ25pbmcgRkFMU0U7IGVycm9yIG91dAoJICBwcm9wZXJseSBieSB1c2luZyBHU1RfRUxFTUVOVF9FUlJPUiBhbmQgcmV0dXJuaW5nCgkgIEdTVF9GTE9XX0VSUk9SIChmaXhlcyAjMzM4NjM2KS4gTGFzdGx5LCBmcmVlIGNvbm5lY3Rpb24KCSAgYmVmb3JlIHJlc2V0dGluZyB0aGUgcG9pbnRlci4KCjIwMDYtMDQtMTcgMTA6MDE6NTEgKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKEZpeGVzICMzMzg3MTMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIFJlY29nbmlzZSBUQ08gKEdlbnJlKSB0YWdzIGluIElEM3YyLjIuIFBhdGNoIGJ5IEFsZXggTGFuY2FzdGVyCgkgIChGaXhlcyAjMzM4NzEzKQoKMjAwNi0wNC0xMyAyMTo0NTo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgoyMDA2LTA0LTEzIDA5OjE1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICByZXZlcnRpbmcgcnRwIHBhdGNoZXMgdG8gZml4IGZyZWV6ZSBicmVhayBvbiAtYmFzZSBhcyBleHBsYWluZWQgb24gdGhlIGxpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmVydGluZyBydHAgcGF0Y2hlcyB0byBmaXggZnJlZXplIGJyZWFrIG9uIC1iYXNlIGFzIGV4cGxhaW5lZCBvbiB0aGUgbGlzdAoKMjAwNi0wNC0xMyAwOTowMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHAvOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNi0wNC0xMyAwMzo0Mjo1MSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMTIgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgQWRkZWQgbmV3IGlMQkMgcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBQYXlsb2FkZXIgdXNlcyBuZXcgYXVkaW8gcGF5bG9hZCBiYXNlCgkgIGNsYXNzLgoKMjAwNi0wNC0xMiAyMTo1NzowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgoyMDA2LTA0LTEyIDA5OjQyOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2dldF9jYXBzbGlzdCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBSR0JBIGFzIGEgcG9zc2libGUgb3V0cHV0IGZvcm1hdC4KCSAgQ29ycmVjdGx5IGZyZWUgdGhlIHN1cHBvcnRlZCBtaW1ldHlwZXMuCgkgIGRlcHJlY2F0ZSBzaWxlbnQgYXJnLCBpdCdzIG5vdCB1c2VkLgoJICBSZXR1cm4gcmVzdWx0IGZyb20gX2FsbG9jX2J1ZmZlciB0byBwZWVyLgoKMjAwNi0wNC0xMSAxODowMzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IERvbid0IGxlYWsgbWVtb3J5IGFsbG9jYXRlZCBieSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBieSBvdmVyd3JpdGluZyBHU1RfQlVGRkVSX01BTExPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBsZWFrIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgYnkKCSAgb3ZlcndyaXRpbmcgR1NUX0JVRkZFUl9NQUxMT0NEQVRBLgoKMjAwNi0wNC0xMSAxNToyNzozMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBmaXggdmVyc2lvbiBudW1iZXIgbWFjcm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2ZXJzaW9uIG51bWJlciBtYWNybwoKMjAwNi0wNC0xMSAwOTozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IEhhbmRsZSBtb3JlIHRoYW4gb25lIGZyYW1lIGlmIHRoZSBjb250ZW50IGlzIGZyYW1lZCwgbGlrZSB3aXRoIHBuZy1pbi1xdWlja3RpbWUgKCMzMzE5MTcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwgKHVzZXJfZW5kX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX2NoYWluKSwKCSAgKGdzdF9wbmdkZWNfc2lua19zZXRjYXBzKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19jbGVhciksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgSGFuZGxlIG1vcmUgdGhhbiBvbmUgZnJhbWUgaWYgdGhlIGNvbnRlbnQgaXMgZnJhbWVkLAoJICBsaWtlIHdpdGggcG5nLWluLXF1aWNrdGltZSAoIzMzMTkxNykuCgoyMDA2LTA0LTEwIDE5OjU1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy9vc3MvOiAtIHRoZSB1c2VyLXZpc2libGUgZXJyb3Igc3RyaW5ncyB3ZXJlIGluIHRoZSB3cm9uZyBjYXRlZ29yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvY29tbW9uLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfdW5wcmVwYXJlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSksCgkgIChnc3Rfb3NzX3NyY191bnByZXBhcmUpOgoJICAtIHRoZSB1c2VyLXZpc2libGUgZXJyb3Igc3RyaW5ncyB3ZXJlIGluIHRoZSB3cm9uZyBjYXRlZ29yeQoJICAtIGFuZCB0aGUgbWVzc2FnZXMgd2VyZSBub3QgbWFya2VkIGZvciB0cmFuc2xhdGlvbgoJICAtIHdoaWNoIGlzIGFjdHVhbGx5IGEgZ29vZCB0aGluZywgYmVjYXVzZSB0aGV5IHdlcmUgZXhhY3RseQoJICB0aGUga2luZCBvZiBtZXNzYWdlIHlvdSB3b3VsZCBuZXZlciB3YW50IGFueW9uZSB0byBzZWUKCSAgLSB0aGUgbWFjcm9zIHdlcmUgdXNpbmcgdmFyaWFibGVzIHRoYXQgZGlkbid0IGV4aXN0IGluIHRoZSBtYWNybwoJICBhcmd1bWVudHMKCSAgLSBhbmQgdGhleSB3ZXJlIG9idmlvdXNseSBjb3BpZWQgZnJvbSBlYWNoIG90aGVyIGFuZCB0aGVuIG1vZGlmaWVkCgkgIC0gc28gYSBjb21tb24gaGVhZGVyIG1ha2VzIHNlbnNlCgoyMDA2LTA0LTEwIDE3OjE2OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgoyMDA2LTA0LTEwIDE2OjA5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBEb24ndCB0cnkgdG8gbW9kaWZ5IHJlYWQtb25seSBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBEb24ndCB0cnkgdG8gbW9kaWZ5IHJlYWQtb25seSBkYXRhLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBGaXggY29tbWVudCAod29uJ3QgY3Jhc2ggYW55IGxvbmdlciBub3cpLgoKMjAwNi0wNC0xMCAxNTo0ODo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiBVc2UgY29waWVzIG9mIGhlYWRlciBidWZmZXJzIGZvciBjYXBzIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmNvdW50aW5nIHByb2JsZW1zIChhcyBpbiB0aGVvcmFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBVc2UgY29waWVzIG9mIGhlYWRlciBidWZmZXJzIGZvciBjYXBzIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmNvdW50aW5nCgkgIHByb2JsZW1zIChhcyBpbiB0aGVvcmFkZWMsIHZvcmJpc2RlYykuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYSB0eXBvIGluIHRlc3QgdGhhdCBtZWFudCBpdCB3YXMgdGVzdGluZyB0aGUgd3JvbmcgdGhpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoY2hlY2tfaGVhZGVycyk6CgkgIEZpeCByZWZjb3VudCBjaGVja3Mgbm93IHRoYXQgd2UgdXNlIGJ1ZmZlci1jb3BpZXMgZm9yIGNhcHMuCgoyMDA2LTA0LTEwIDE1OjQzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyB3aXRoIEFOWSBjYXBzIGZvciBhdWRpbyBhbmQgdmlkZW8gc291cmNlIHBhZHMgYW5kIGdldCByaWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgVXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHdpdGggQU5ZIGNhcHMgZm9yIGF1ZGlvIGFuZCB2aWRlbwoJICBzb3VyY2UgcGFkcyBhbmQgZ2V0IHJpZCBvZiBhIGxvdCBvZiB1bm5lY2Vzc2FyeSAoYW5kIHBhcnRpYWxseQoJICBicm9rZW4pIGNvZGUgZm9yIHRoZSB0ZW1wbGF0ZSBjYXBzLiBDbGVhbiB1cCBjYXBzIGZpbmRpbmcKCSAgZnVuY3Rpb25zLiBGaXhlcyBwbGF5YmFjayBvZiBhdWRpbyBmaWxlcy9zdHJlYW1zIHRoYXQgZG8gbm90CgkgIGNvbnRhaW4gdGhlIHNhbXBsZSByYXRlIGFuZC9vciBudW1iZXIgb2YgY2hhbm5lbHMgaW4gdGhlIGF1ZGlvCgkgIGNvbnRleHQgKGhhcHBlbnMgYSBsb3Qgd2l0aCB2b3JiaXMvbXAzIC5ta2EgZmlsZXMgaXQgc2VlbXMpLgoJICBGaXhlcyAjMzM3MTgzLgoJICBBbHNvIGFkZCBteXNlbGYgdG8gY29weXJpZ2h0IGhvbGRlcnMuCgoyMDA2LTA0LTEwIDE1OjI5OjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogVXNlIGdfbGlzdF9kZWxldGVfbGluayAoKSBpbnN0ZWFkIG9mIGdfbGlzdF9yZW1vdmVfbGluayAoKSBzbyB0aGF0IHdlIGZyZWUgdGhlIGxpbmsgYXMgd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF90cmFja19saXN0X2RlbF9jbGlwKToKCSAgVXNlIGdfbGlzdF9kZWxldGVfbGluayAoKSBpbnN0ZWFkIG9mIGdfbGlzdF9yZW1vdmVfbGluayAoKSBzbyB0aGF0CgkgIHdlIGZyZWUgdGhlIGxpbmsgYXMgd2VsbCBhcyB0aGUgY29udGFpbmVkIGRhdGEuCgoyMDA2LTA0LTEwIDE0OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgoyMDA2LTA0LTEwIDEwOjEwOjU1ICswMDAwICBSeWFuIExvcnRpZSAoZGVzcnQpIDxkZXNydEBkZXN0ci5jYT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHNvbWUgY3Jhc2hlcnMgd2l0aCBlbXB0eSBjaHVua3MuIChGaXhlcyAjMzM3NzQ5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJ5YW4gTG9ydGllIChkZXNydCkgPGRlc3J0IGF0IGRlc3RyIGRvdCBjYT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICBGaXggc29tZSBjcmFzaGVycyB3aXRoIGVtcHR5IGNodW5rcy4gKEZpeGVzICMzMzc3NDkpCgoyMDA2LTA0LTEwIDA4OjMxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCjIwMDYtMDQtMDkgMTg6MzA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkb25lIHNvbWUgY2xlYW5zIGluIHNvdXJjZXMKCSAgKiB3aW4zMi92czY6CgkgIGFkZCBwcm9qZWN0IGZpbGVzIGZvciBuZW9uLCBxdGRlbXV4CgoyMDA2LTA0LTA5IDE3OjMxOjM3ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogdXNlIEdfR0lOVDY0X0NPTlNUQU5UIGZvciBJTlQ2NCBjb25zdGFudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgdXNlIEdfR0lOVDY0X0NPTlNUQU5UIGZvciBJTlQ2NCBjb25zdGFudHMKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRlZmluZSByaW50IGZvciBXSU4zMiAjZGVmaW5lIHJpbnQoeCkgKGZsb29yKCh4KSswLjUpKQoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICBhZGQgbWlzc2luZyBsaWJyYXJpZXMgZm9yIHRoZSBsaW5rIGFuZCByZW1vdmUgYXZpbXV4LmMgZnJvbQoJICB0aGUgcHJvamVjdCBhcyBpdCBpc24ndCBwb3J0ZWQgdG8gMC4xMCB5ZXQKCjIwMDYtMDQtMDkgMTQ6MDA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIHdlIGFjdHVhbGx5IGRpZCB0aGUgcmlnaHQgdGhpbmcgaGVyZSAoYWxzbywgR19HVUlOVDY0X0NPTlNUQU5UIG9ubHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgd2UgYWN0dWFsbHkgZGlkIHRoZSByaWdodCB0aGluZwoJICBoZXJlIChhbHNvLCBHX0dVSU5UNjRfQ09OU1RBTlQgb25seSBleGlzdHMgc2luY2UgR0xpYi0yLjEwKS4KCjIwMDYtMDQtMDkgMTM6NTI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IENhbid0IGp1c3QgcmVwbGFjZSAxTEwgd2l0aCAxTCBoZXJlIGp1c3QgYmVjYXVzZSBNU1ZDIGRvZXNuJ3Qgc3VwcG9ydCBpdCwgYXMgaXQgbWlnaHQgbGVhZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgQ2FuJ3QganVzdCByZXBsYWNlIDFMTCB3aXRoIDFMIGhlcmUganVzdCBiZWNhdXNlIE1TVkMgZG9lc24ndAoJICBzdXBwb3J0IGl0LCBhcyBpdCBtaWdodCBsZWFkIHRvIGluY29ycmVjdCByZXN1bHRzIHdoZW4gZG9pbmcgdGhlCgkgIGJpdHNoaWZ0aW5nIGhlcmUuIFVzaW5nIEdMaWIncyBHX0dVSU5UNjRfQ09OU1RBTlQoKSBtYWNybyB0bwoJICBmb3JjZSBhIDY0LWJpdCBjb25zdGFudCBpbiBhIHdheSB0aGF0IGFsbCBjb21waWxlcnMgYXJlIGhhcHB5IHdpdGguCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDIxOjIxOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOiAoZ3N0X3J0cF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiAoZ3N0X3J0cF9oMjYzX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzogKGdzdF9vc3NkbWFidWZmZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAoZ3N0X29zeGF1ZGlvZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiAoZ3N0X29zeGF1ZGlvc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA2OjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjQxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyNTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwKCSAgKHF0ZGVtdXhfZHVtcF9zdGNvKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIEZpeCB0aW1lc3RhbXBzIGZvciBBTVIgYW5kIElNQTQuICBGaXhlcyAoIzMzNzQzNikuCgkgIENyZWF0ZSBhIGR1bW15IHNlZ21lbnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGVkaXQgbGlzdC4KCjIwMDYtMDQtMDggMTM6MDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IERvbid0IHRyeSB0byBzZWVrIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICh3b3VsZCBvY2Nhc2lvbmFsbHkgZGlzcGxheSBlcnJvciBkaWFsb2dzIGluIHRvdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIHNlZWsgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKHdvdWxkCgkgIG9jY2FzaW9uYWxseSBkaXNwbGF5IGVycm9yIGRpYWxvZ3MgaW4gdG90ZW0gd2hlbiBzZWVraW5nCgkgIHRvIHRoZSBlbmQpICgjMzM1ODY5KS4gV2lsbCBzdGlsbCB0aHJvdyBhbiBlcnJvciB0aG91Z2gKCSAgaWYgdGhlIGZpbGUgaXMgdHJ1bmNhdGVkIGFuZCB0aGUgdG90YWxfc2FtcGxlcyB2YWx1ZSBpbgoJICB0aGUgc3RyZWFtIGhlYWRlciBpcyB3cm9uZy4KCjIwMDYtMDQtMDcgMTg6MTU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IElmIHRoZSBzdHJlYW0gaGVhZGVyIGRvZXNuJ3QgY29udGFpbiB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMsIHNlYXJjaCBmb3IgdGhlIGxhc3QgZmxhYyBmcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfY2FsY3VsYXRlX2NyYzgpLAoJICAoZ3N0X2ZsYWNfZGVjX3NjYW5fZ290X2ZyYW1lKSwgKGdzdF9mbGFjX2RlY19zY2FuX2Zvcl9sYXN0X2Jsb2NrKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBJZiB0aGUgc3RyZWFtIGhlYWRlciBkb2Vzbid0IGNvbnRhaW4gdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzLAoJICBzZWFyY2ggZm9yIHRoZSBsYXN0IGZsYWMgZnJhbWUgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgY2FsY3VsYXRlCgkgIHRoZSB0b3RhbCBkdXJhdGlvbiBmcm9tIHRoYXQgZnJhbWUncyBvZmZzZXQgKGZpeGVzICMzMzc2MDkpLgoKMjAwNi0wNC0wNyAxNTo1Mzo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0byAyNWZwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0bwoJICAyNWZwcwoKMjAwNi0wNC0wNyAxNTo0NzoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IChtYWluKToKCSAgQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgoyMDA2LTA0LTA3IDE1OjI3OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoY29tcG9zaXRlX3BpeGVsKSwgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTA3IDEwOjQ4OjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCB1bnJlZiB0aGUgR3N0UGFkVGVtcGxhdGUgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIERvbid0IHVucmVmIHRoZSBHc3RQYWRUZW1wbGF0ZSByZXR1cm5lZCBieQoJICBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlKCkuCgoyMDA2LTA0LTA2IDE5OjE2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfZmluZF9pbmRleCksCgkgIChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBBdm9pZCBvdmVyZmxvd3MgaW4gcHJvbG9ndWUgaW1hZ2UgZGV0ZWN0aW9uIGNvZGUuCgkgIEF2b2lkIHJvdW5kb2ZmIGVycm9ycyBpbiB0aW1lc3RhbXAgY2FsY3VsYXRpb25zLgoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wNiAwOToxNDozMCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay4qOiBVc2Ugc3BlYy0+c2Vnc2l6ZSBhbmQgc3BlYy0+c2VndG90YWwgaW4gdGhlIHByZXBhcmUgZnVuY3Rpb24gdG8gaW5pdGlhbGlzZSB0aGUgcmluZyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBVc2Ugc3BlYy0+c2Vnc2l6ZSBhbmQgc3BlYy0+c2VndG90YWwgaW4gdGhlIHByZXBhcmUgZnVuY3Rpb24KCSAgdG8gaW5pdGlhbGlzZSB0aGUgcmluZyBidWZmZXIgaW5zdGVhZCBvZiB1c2luZyB0aGUgYnVmZmVyLXRpbWUKCSAgcHJvcGVydHkgKCMzMzc0MjEpLgoKMjAwNi0wNC0wNiAwODo1Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHdoaWNoIGlzIHVzZWQgYnkgc3BlZXhkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpCgkgIHdoaWNoIGlzIHVzZWQgYnkgc3BlZXhkZWMuCgoyMDA2LTA0LTA1IDE4OjI3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4LzogRml4IHNlZWtpbmcgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgKCMzMzcwMzMpOyBjbGVhbiB1cCBhbmQgcmVmYWN0b3IgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoZ3N0X3NwZWV4X2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleF9kZWNfcmVzZXQpLCAoZ3N0X3NwZWV4X2RlY19pbml0KSwgKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKHNwZWV4X2RlY19zaW5rX3F1ZXJ5KSwKCSAgKHNwZWV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoc3BlZXhfZGVjX3NyY19xdWVyeSksCgkgIChzcGVleF9kZWNfc3JjX2V2ZW50KSwgKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpLCAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwgKHNwZWV4X2RlY19jaGFpbiksCgkgIChnc3Rfc3BlZXhfZGVjX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlZXhfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChzcGVleF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgRml4IHNlZWtpbmcgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgKCMzMzcwMzMpOyBjbGVhbiB1cCBhbmQKCSAgcmVmYWN0b3IgYSBiaXQuCgoyMDA2LTA0LTA1IDEyOjQxOjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBkaXN0aW5ndWlzaCBiZXR3ZWVuIGRldmljZSBub3QgZm91bmQgYW5kIGNvdWxkIG5vdCBvcGVuIGZvciByZWFkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkaXN0aW5ndWlzaCBiZXR3ZWVuIGRldmljZSBub3QgZm91bmQgYW5kIGNvdWxkIG5vdCBvcGVuIGZvcgoJICByZWFkaW5nCgoyMDA2LTA0LTA1IDA4OjM2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApOgoJICBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMKCSAgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBBbHNvIHBlcmZvcm0gRU9TIHdoZW4gd2UgcnVuIHBhc3QgdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDYtMDQtMDQgMTE6MjA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE1hcmsgZGlzY29udGludWl0aWVzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIFBvc3QgYmV0dGVyIGVycm9ycyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBIYW5kbGUgRU9TIGFuZCBzZWdtZW50IGVuZCBwcm9wZXJseS4KCjIwMDYtMDQtMDQgMDg6MzE6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChwbHVnaW5faW5pdCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBJbXBsZW1lbnQgY29ycmVjdCBhY2N1cmF0ZSBhbmQga2V5ZnJhbWUgc2Vla2luZy4KCSAgVXNlIF9ERUJVR19PQkpFQ1Qgd2hlbiBwb3NzaWJsZS4KCjIwMDYtMDQtMDMgMTM6Mjk6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA0LTAzIDEzOjI4OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0CgoyMDA2LTA0LTAzIDA5OjAyOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBhIC5wYyBmaWxlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSBnb29kIHBsdWdpbnMgaW4gdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHBrZ2NvbmZpZy8uY3ZzaWdub3JlOgoJICAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgYWRkIGEgLnBjIGZpbGUgc28gb3RoZXIgbW9kdWxlcyBjYW4gdXNlIGdvb2QgcGx1Z2lucyBpbiB0ZXN0cwoKMjAwNi0wNC0wMSAxNjo1MDo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoKMjAwNi0wNC0wMSAxNTozMDo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGRpc2FibGUgdXNlIG9mIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzYWJsZSB1c2Ugb2YgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsgY29ycmVjdGx5CgoyMDA2LTA0LTAxIDE0OjAzOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGFkZGluZyBpbnNwZWN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgaW5zcGVjdCBmaWxlcwoKMjAwNi0wNC0wMSAxMDoxNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICA1IHNlY29uZCB0aW1lb3V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA1IHNlY29uZCB0aW1lb3V0CgoyMDA2LTA0LTAxIDEwOjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICByZW5hbWUgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIHRlc3QKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wNC0wMSAwOTo1Njo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGNsZWFuIHVwLCB1c2UgQVNfVkVSU0lPTiBhbmQgQVNfTkFOTwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGNsZWFuIHVwLCB1c2UgQVNfVkVSU0lPTiBhbmQgQVNfTkFOTwoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICB1c2UgUEFDS0FHRV9WRVJTSU9OIGRlZmluZQoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25iLnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICB1cGRhdGVkCgoyMDA2LTA0LTAxIDA5OjU0OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogcmV3b3JrIHNpbWlsYXJseSB0byBvdGhlciBtb2R1bGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmV3b3JrIHNpbWlsYXJseSB0byBvdGhlciBtb2R1bGVzCgkgICogZXh0L2E1MmRlYy9nc3RhNTJkZWMuYzoKCSAgKiBleHQvYW1ybmIvYW1ybmIuYzoKCSAgKiBleHQvZHZkbmF2L2R2ZG5hdnNyYy5jOgoJICAqIGV4dC9kdmRyZWFkL2R2ZHJlYWRzcmMuYzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgICogZXh0L21hZC9nc3RpZDN0YWcuYzoKCSAgKiBleHQvbXBlZzJkZWMvZ3N0bXBlZzJkZWMuYzoKCSAgKiBleHQvc2lkcGxheS9nc3RzaWRkZWMuY2M6CgkgICogZ3N0L2FzZmRlbXV4L2dzdGFzZi5jOgoJICAqIGdzdC9kdmRscGNtZGVjL2dzdGR2ZGxwY21kZWMuYzoKCSAgKiBnc3QvZHZkc3ViL2dzdGR2ZHN1YmRlYy5jOgoJICAqIGdzdC9pZWM5NTgvYWMzaWVjLmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L21wZWdzdHJlYW0vZ3N0bXBlZ3N0cmVhbS5jOgoJICAqIGdzdC9yZWFsbWVkaWEvcm1kZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICB1c2UgdGhlIGNvcnJlY3QgZGVmaW5lcwoKMjAwNi0wMy0zMSAxNzo1MjozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAodGVybWluYXRlX3BsYXliYWNrKSwgKG1haW4pOgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTY6MzI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTU6MjE6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjLzogRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8KCSAgeWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgoyMDA2LTAzLTMwIDIzOjQ2OjQyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqKiogZW1wdHkgbG9nIG1lc3NhZ2UgKioqCgoyMDA2LTAzLTMwIDIzOjM3OjE2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHRcanBlZ1xzbW9rZWNvZGVjLmM6IHVzZSBvZiBHU1RfREVCVUcgaW5zdGVhZCBvZiBERUJVRyhhLi4uKSBmb3IgV0lOMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0XGpwZWdcc21va2Vjb2RlYy5jOgoJICB1c2Ugb2YgR1NUX0RFQlVHIGluc3RlYWQgb2YgREVCVUcoYS4uLikgZm9yIFdJTjMyCgkgICogZXh0XHNwZWV4XGdzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgbW92ZSBmaXJzdCBpbnN0cnVjdGlvbiBhZnRlciBhbGwgdmFyaWFibGVzIGRlY2xhcmF0aW9ucwoJICAqIGdzdFxhbHBoYVxnc3RhbHBoYS5jOgoJICAqIGdzdFxlZmZlY3R2XGdzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3Rcc21wdGVccGFpbnQuYzoKCSAgKiBnc3RcdmlkZW9maWx0ZXJcZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRlZmluZSBNX1BJIGlmIGl0J3Mgbm90IGRlZmluZWQgKGl0J3Mgbm90IGRlZmluZWQgb24gV0lOMzIpCgkgICogZ3N0XGN1dHRlclxnc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICAqIGdzdFxpZDNkZW11eFxpZDN2MmZyYW1lcy5jOiAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKToKCSAgKiBnc3RcbGV2ZWxcZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfcHJvcGVydHkpLCAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0XG1hdHJvc2thXG1hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0XG1hdHJvc2thXG1hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCk6CgkgICogZ3N0XHdhdnBhcnNlXGdzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICB1c2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgKiBnc3RcZ29vbVxmaWx0ZXJzLmM6IChzZXRQaXhlbFJHQl8pOgoJICBmaXggYSBkZWJ1ZyB3aGljaCB3YXMgdXNpbmcgdW5kZWZpbmVkIHZhcmlhYmxlCgkgICogZ3N0XGxldmVsXGdzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLCAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0XG1hdHJvc2thXGVibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgcmVwbGFjZSBMTCBzdWZmaXggd2l0aCBMIHN1ZmZpeCAoTEwgaXNuJ3Qgc3VwcG9ydGVkIGJ5IE1TVkM2LjApCgkgICogd2luMzIvdnM2OgoJICBhZGQgdnM2IHByb2plY3RzIGZpbGVzIGZvciBtb3N0IG9mIHBsdWdpbnMtZ29vZAoKMjAwNi0wMy0zMCAxNTozNzowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGJldHRlci91bmlmaWVkIGxvbmcgZGVzY3JpcHRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChnc3RfaGFsX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKGdzdF92aWRlb3RlbXBsYXRlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfYmFzZV9pbml0KToKCSAgYmV0dGVyL3VuaWZpZWQgbG9uZyBkZXNjcmlwdGlvbnMKCSAgRml4ZWQgIzMzNjYwMgoJICBTb21lIGNsZWFudXBzIHRvIGF1cGFyc2UsIGRvbid0IHNlbmQgbXVsdGlwbGUgbmV3c2VnbWVudHMuCgoyMDA2LTAzLTI5IDE2OjA2OjUwICswMDAwICBNaWNoYWVsIERvbWluaWMgSyA8bWRrQG1kay5vcmcucGw+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC4qOiBTZWVrIGluIFJFQURZIHBhdGNoLiBPbmx5IHdvcmtzIGZvciBwdWxsIGJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGcm9tIGEgcGF0Y2ggYnk6IE1pY2hhZWwgRG9taW5pYyBLLiA8bWRrIGF0IG1kayBkb3Qgb3JnIGRvdCBwbD4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZHZkZW11eF9yZXNldCksIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgU2VlayBpbiBSRUFEWSBwYXRjaC4gT25seSB3b3JrcyBmb3IgcHVsbCBiYXNlZCBtb2RlLgoJICBGaXhlcyAjMzIzODgwCgoyMDA2LTAzLTI4IDE2OjA2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS4qOiBNYWtlIHhpbmdoZWFkZXIgcHJvcGVydHkgbm9uLWZ1bmN0aW9uYWwsIGl0J3MgYnJva2VuIGFueXdheSBhZnRlciBhbGwgKHVzZSB4aW5nbXV4IGluc3RlYWQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9pbml0KSwgKGdzdF9sYW1lX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2xhbWVfc2V0dXApOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgTWFrZSB4aW5naGVhZGVyIHByb3BlcnR5IG5vbi1mdW5jdGlvbmFsLCBpdCdzIGJyb2tlbiBhbnl3YXkKCSAgYWZ0ZXIgYWxsICh1c2UgeGluZ211eCBpbnN0ZWFkKS4KCjIwMDYtMDMtMjggMTU6MTA6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IE9uIEVPUywgZmx1c2ggZW5jb2RlciBhbmQgc2VuZCByZW1haW5pbmcgZGF0YS4gRml4IHJldHVybiB2YWx1ZSBoYW5kbGluZyBpbiBzaW5rIGV2ZW50IGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9zaW5rX2V2ZW50KToKCSAgT24gRU9TLCBmbHVzaCBlbmNvZGVyIGFuZCBzZW5kIHJlbWFpbmluZyBkYXRhLiBGaXgKCSAgcmV0dXJuIHZhbHVlIGhhbmRsaW5nIGluIHNpbmsgZXZlbnQgZnVuY3Rpb24uCgoyMDA2LTAzLTI3IDE3OjA2OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoKMjAwNi0wMy0yNyAxNDowOToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiBGaXggdHdvIGNyYXNoZXJzOiBkb24ndCB1bnJlZiB0aGUgc2FtZSBjYXBzIHR3aWNlLCBhbmQgc2V0IHBpeGJ1ZiBsb2FkZXIgdG8gTlVMTCBhZnRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2V2ZW50KToKCSAgRml4IHR3byBjcmFzaGVyczogZG9uJ3QgdW5yZWYgdGhlIHNhbWUgY2FwcyB0d2ljZSwgYW5kCgkgIHNldCBwaXhidWYgbG9hZGVyIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZyBpdC4KCjIwMDYtMDMtMjcgMTQ6MDA6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuKjogRG9uJ3QgbGVhayBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleGVuY19maW5hbGl6ZSksIChnc3Rfc3BlZXhlbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIERvbid0IGxlYWsgYWRhcHRlci4KCSAgQSBwdXNoICphbHdheXMqIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyLCBldmVuIG9uCgkgIGVycm9ycy4KCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTAzLTI2IDE5OjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuKjogRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8gY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvCgkgIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIGNhbid0CgkgIGFkanVzdCBvZmZzZXRzIHlldCB3aGVuIHdlIGdldCBpdCwgYXMgd2UgZG9uJ3QKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgdGFnIHlldCBmb3Igc3VyZSBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGRvIHNvbWUgbWlub3IgY2xlYW5pbmcgdXAgaGVyZSBhbmQgdGhlcmUgYW5kIGFkZAoJICBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTAzLTI2IDEyOjI0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IENyZWF0ZSBzb3VyY2UgcGFkIHdpdGhvdXQgbGVha2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCk6CgkgIENyZWF0ZSBzb3VyY2UgcGFkIHdpdGhvdXQgbGVha2luZy4KCjIwMDYtMDMtMjUgMjE6NTc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyCgkgIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pZDMgY2FwczsgYWxzbywKCSAgZG9uJ3QgdXNlIGFscmVhZHktZnJlZWQgc3RyaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlczsKCSAgZmluYWxseSwgYWRqdXN0IGJ1ZmZlciBvZmZzZXRzIG9uIGJ1ZmZlcnMgc2VudCBvdXQuCgoyMDA2LTAzLTI1IDEzOjAyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LAoJICBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZml4ZWQgcHJvcGVybHkgKGFuZCBtYWtlCgkgIGJ1aWxkYm90cyBoYXBweSkuCgoyMDA2LTAzLTI1IDA1OjMxOjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCjIwMDYtMDMtMjQgMTk6NDE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmxhYy86IFNwaWZpZnkgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU3BpZmlmeSBhIGJpdC4KCSAgRml4IGRlYWRseSBsb2NrIG9yZGVyIGVycm9yIGluIHNlZWtpbmcgY29kZSwgU1RSRUFNX0xPQ0sKCSAgY2Fubm90IGJlIHRha2VuIHdpdGhpbiBMT0NLIGFuZCB0aGUgc3RyZWFtaW5nIHZhcmlhYmxlcyBhcmUKCSAgcHJvdGVjdGVkIHdpdGggdGhlIFNUUkVBTV9MT0NLIGFueXdheS4KCjIwMDYtMDMtMjQgMTg6NTY6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IHRoaXMgcGF0Y2ggY29tYmluZXMgdGhlIGdsb2JhbCBpbml0X2ZyYW1lcyB3aXRoIHRoZSBzdHJlYW0gaW5pdF9mcmFtZXMuIFJhdGlvbmFsZSBiZWluZyB0aGF0IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgdGhpcyBwYXRjaCBjb21iaW5lcyB0aGUgZ2xvYmFsIGluaXRfZnJhbWVzIHdpdGggdGhlIHN0cmVhbQoJICBpbml0X2ZyYW1lcy4gUmF0aW9uYWxlIGJlaW5nIHRoYXQgdGhlIGdsb2JhbCBkZWxheSBzaG91bGQKCSAgYmUgc3VidHJhY3RlZCBmcm9tIGFueSBzdHJlYW0gZGVsYXkuCgkgIEZpeGVzICMzMzU4NTguCgoyMDA2LTAzLTI0IDE3OjExOjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiB1c2UgREVCVUdfRlVOQ1BUUiBmb3IgY29sbGVjdHBhZHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgIHVzZSBERUJVR19GVU5DUFRSIGZvciBjb2xsZWN0cGFkcwoKMjAwNi0wMy0yNCAwOTo1NDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvZGluZyBpbWFnZXMgd2hlcmUgdGhlIG51bWJlciBvZiByb3dzIGlzbid0IGEgbXVsdGlwbGUgb2YgMipEQ1RTSVpFLiBBZGQgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19pbml0KSwgKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvZGluZyBpbWFnZXMgd2hlcmUgdGhlIG51bWJlciBvZiByb3dzIGlzbid0CgkgIGEgbXVsdGlwbGUgb2YgMipEQ1RTSVpFLiBBZGQgc29tZSBHU1RfREVCVUdfRlVOQ1BUUi4KCjIwMDYtMDMtMjMgMjE6Mjg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNb3JlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICBNb3JlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmaXhlcy4KCjIwMDYtMDMtMjMgMjA6MTI6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuKjogRml4IGVzZCBjaG9wcHkgcGxheWJhY2sgYnkgY29uZmlndXJpbmcgYXVkaW9zaW5rIGNvcnJlY3RseS4gRml4ZXMgIzMyNTE5MQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksIChnc3RfZXNkc2lua19vcGVuKSwgKGdzdF9lc2RzaW5rX2Nsb3NlKSwKCSAgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfdW5wcmVwYXJlKSwKCSAgKGdzdF9lc2RzaW5rX2RlbGF5KSwgKGdzdF9lc2RzaW5rX3Jlc2V0KToKCSAgKiBleHQvZXNkL2VzZHNpbmsuaDoKCSAgRml4IGVzZCBjaG9wcHkgcGxheWJhY2sgYnkgY29uZmlndXJpbmcgYXVkaW9zaW5rCgkgIGNvcnJlY3RseS4gRml4ZXMgIzMyNTE5MQoKMjAwNi0wMy0yMyAxOTo1NzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IE1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZS4KCjIwMDYtMDMtMjMgMTY6NTA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRG9uJ3QgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUganVzdCBiZWNhdXNlIHRoZSBoZWFkZXIgY2xhaW1zIGEgYmlnZ2VyIHNpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIERvbid0IHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlIGp1c3QgYmVjYXVzZQoJICB0aGUgaGVhZGVyIGNsYWltcyBhIGJpZ2dlciBzaXplIChsaWtlIHdpdGggdHJ1bmNhdGVkIGZpbGVzKS4KCjIwMDYtMDMtMjMgMTU6MzY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogRGVsYXkgc291cmNlIHBhZCBjcmVhdGlvbiB1bnRpbCB3ZSBoYXZlIHRoZSBmaXJzdCBjaHVuayBvZiBtZWRpYSBkYXRhLCBzbyB0aGUgd2UgY2FuIGV4YW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgRGVsYXkgc291cmNlIHBhZCBjcmVhdGlvbiB1bnRpbCB3ZSBoYXZlIHRoZSBmaXJzdCBjaHVuayBvZgoJICBtZWRpYSBkYXRhLCBzbyB0aGUgd2UgY2FuIGV4YW1pbmUgdGhlIGRhdGEgYW5kIGFkanVzdCB0aGUKCSAgY2FwcyBhY2NvcmRpbmdseSBpZiByZXF1aXJlZC4gVGhpcyBtYWtlcyBwbGF5YmFjayBvZiAud2F2CgkgIGZpbGVzIHdpdGggRFRTLWRlY2xhcmVkLWFzLVBDTSBjb250ZW50IHdvcmsgKCMzMTMyNjYpLgoKMjAwNi0wMy0yMiAxOTo1MDo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgdmlkZW9iYWxhbmNlIHBsdWduCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdmlkZW9iYWxhbmNlIHBsdWduCgoyMDA2LTAzLTIyIDEzOjAyOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgbWVudGlvbiBmaXhlZCBidWcgbnVtYmVyIGluIHRoZSBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1lbnRpb24gZml4ZWQgYnVnIG51bWJlciBpbiB0aGUgY2hhbmdlbG9nCgoyMDA2LTAzLTIyIDEzOjAwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IERvbid0IGF0dGVtcHQgdHlwZWZpbmRpbmcgb24gdG9vLXNob3J0IGJ1ZmZlcnMgdGhhdCBoYXZlIGJlZW4gY29tcGxldGVseSB0cmltbWVkIGF3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgYXR0ZW1wdCB0eXBlZmluZGluZyBvbiB0b28tc2hvcnQgYnVmZmVycyB0aGF0IGhhdmUgYmVlbgoJICBjb21wbGV0ZWx5IHRyaW1tZWQgYXdheS4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICBJbXByb3ZlIHRoZSBkZWJ1ZyBvdXRwdXQKCjIwMDYtMDMtMjEgMTg6MTI6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19jbGFzc19pbml0KSwgKGdzdF9lc2RzaW5rX2luaXQpLAoJICAoZ3N0X2VzZHNpbmtfZmluYWxpemUpLCAoZ3N0X2VzZHNpbmtfZ2V0Y2FwcyksIChnc3RfZXNkc2lua19vcGVuKSwKCSAgKGdzdF9lc2RzaW5rX2Nsb3NlKSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLCAoZ3N0X2VzZHNpbmtfd3JpdGUpLAoJICAoZ3N0X2VzZHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9lc2RzaW5rX2dldF9wcm9wZXJ0eSk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIFJlc2V0IGZkIHRvIC0xIHdoZW4gd2UgY2xvc2UgdGhlbS4KCjIwMDYtMDMtMjEgMTY6MTk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IHRoZSBPUFRJT05TIHJlcXVlc3QgcmVzdWx0IGlzIG9wdGlvbmFsIHNvIGRvbid0IGZhaWwgb24gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICB0aGUgT1BUSU9OUyByZXF1ZXN0IHJlc3VsdCBpcyBvcHRpb25hbCBzbyBkb24ndAoJICBmYWlsIG9uIGl0LgoKMjAwNi0wMy0yMSAxNDo1MzozNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IGdjYyA0LjEgdW5yZWZlcmVuY2VkIHBvaW50ZXIgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVzZXQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3Jlc2V0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgZ2NjIDQuMSB1bnJlZmVyZW5jZWQgcG9pbnRlciBmaXhlcy4KCjIwMDYtMDMtMjEgMTM6MDc6MzEgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGJsb2NrIGFsaWdubWVudCBjYWxjdWxhdGlvbi4gQWxpZ25tZW50IHNob3VsZCBiZSBkb25lIGJlZm9yZSBhZGRpbmcgdGhlIGJ5dGUgb2Zmc2V0IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2Vlayk6CgkgIEZpeCBibG9jayBhbGlnbm1lbnQgY2FsY3VsYXRpb24uIEFsaWdubWVudCBzaG91bGQgYmUgZG9uZSBiZWZvcmUKCSAgYWRkaW5nIHRoZSBieXRlIG9mZnNldCB3aGVyZSB0aGUgZGF0YSBzdGFydHMgKCMzMzUyMzEpLgoKMjAwNi0wMy0yMCAxODozNDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiBFbnN1cmUgdGhhdCB3ZSBzZXQgY29ycmVjdCBjYXBzIG9uIGJ1ZmZlcnMgdGhhdCBhcmUgdHJhbnNmZXJyZWQgZGlyZWN0IGZyb20gdGhlIGlucHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNvcnJlY3QgY2FwcyBvbiBidWZmZXJzIHRoYXQgYXJlIHRyYW5zZmVycmVkCgkgIGRpcmVjdCBmcm9tIHRoZSBpbnB1dC4KCjIwMDYtMDMtMjAgMTc6Mzg6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBGcmVlIGZpbHRlciBkYXRhIHdoZW4gY2xlYW5pbmcgdXAuIChGaXhlczogIzMzNDk5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlckRlc3Ryb3kpOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9jbG9zZSk6CgkgIEZyZWUgZmlsdGVyIGRhdGEgd2hlbiBjbGVhbmluZyB1cC4gKEZpeGVzOiAjMzM0OTk1KQoKMjAwNi0wMy0yMCAwODo1OToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoKMjAwNi0wMy0xNyAxNjozNDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCjIwMDYtMDMtMTcgMTU6MzM6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNvbXBpbGUgdWRwIGFuZCBydHNwIHBsdWdpbnMgb24gd2luMzIgKG1pbmd3KSBvciBvdGhlciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSA8c3lzL3NvY2tldC5oPiBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjb21waWxlIHVkcCBhbmQgcnRzcCBwbHVnaW5zIG9uIHdpbjMyIChtaW5ndykgb3Igb3RoZXIKCSAgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgPHN5cy9zb2NrZXQuaD4gZm9yIHNvbWUgcmVhc29uICgjMzE2MjAzKS4KCjIwMDYtMDMtMTYgMTc6Mjg6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgQ2hhbmdlIGJ1cyByZXNldCBoYW5kbGVyIHNvIGl0IHJlcG9ydHMgdXNlZnVsIGluZm9ybWF0aW9uIHN1Y2ggYXMgd2hldGhlciB0aGUgZGV2aWNlIGJlaW5nIHVzZWQgY29ubmVjdGVkIG9yIGRpc2Nvbm5lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2UgYnVzIHJlc2V0IGhhbmRsZXIgc28gaXQgcmVwb3J0cyB1c2VmdWwgaW5mb3JtYXRpb24gc3VjaCBhcwoJICB3aGV0aGVyIHRoZSBkZXZpY2UgYmVpbmcgdXNlZCBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkCgoyMDA2LTAzLTE2IDE2OjA2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFdlIG9ubHkgY2FyZSBhYm91dCBnYWluIGFuZCBwZWFrIGRhdGEgZm9yIHRoZSBtYXN0ZXIgdm9sdW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byk6CgkgIFdlIG9ubHkgY2FyZSBhYm91dCBnYWluIGFuZCBwZWFrIGRhdGEgZm9yIHRoZSBtYXN0ZXIgdm9sdW1lLgoKMjAwNi0wMy0xNiAxMzoyMjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBSZWFkIHJlcGxheSBnYWluIHRhZ3MgKCMzMjM3MjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX2lkX3N0cmluZyksIChwYXJzZV91bmlxdWVfZmlsZV9pZGVudGlmaWVyKSwKCSAgKHBhcnNlX3JlbGF0aXZlX3ZvbHVtZV9hZGp1c3RtZW50X3R3byksIChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIFJlYWQgcmVwbGF5IGdhaW4gdGFncyAoIzMyMzcyMSkuCgoyMDA2LTAzLTE1IDIzOjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byBnc3QtcGx1Z2lucy1iYXNlIENWUyBiZWNhdXNlIG9mIGJ1Z2d5IGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSBpbiAwLjEwLjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gZ3N0LXBsdWdpbnMtYmFzZSBDVlMgYmVjYXVzZQoJICBvZiBidWdneSBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCkgaW4gMC4xMC41LgoKMjAwNi0wMy0xNSAyMjozMDoyNCArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgRml4ZWQgb25lIG9mIHRoZSBjYXBzIGluIHRoZSBjb2RlIGZyb20gbXVsYXcgdG8gYWxhdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIG9uZSBvZiB0aGUgY2FwcyBpbiB0aGUgY29kZSBmcm9tIG11bGF3IHRvIGFsYXcuCgoyMDA2LTAzLTE1IDE2OjIxOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICBVc2UgU1RSRUFNLCBUWVBFX05PVF9GT1VORCBhcyB0aGUgZXJyb3IgY2xhc3Mgd2hlbgoJICB0eXBlZmluZGluZyBmYWlscy4KCjIwMDYtMDMtMTUgMTY6MTc6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbWVtbGVhayB3aXRoIGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfaW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2luaXQpLCAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2luaXQpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19pbml0KSwKCSAgKGdzdF9tbmdkZWNfc3JjX2dldGNhcHMpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19pbml0KToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKGdzdF9zcGVleF9kZWNfaW5pdCk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfaW5pdCk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2dldHJhbmdlKSwKCSAgKGdzdF9lZmVuY2VfY2hlY2tnZXRyYW5nZSk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25faW5pdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfaW5pdCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21faW5pdCk6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzogKGdzdF9hc3Rlcmlza2gyNjNfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cEwxNnBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IChnc3RfcnRwX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKToKCSAgRml4IG1lbWxlYWsgd2l0aCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoKS4KCSAgVGhpcyB1c2VzIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkgaW5zdGVhZC4KCSAgRml4ZXMgIzMzMzUxMgoKMjAwNi0wMy0xNSAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpOgoJICBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCjIwMDYtMDMtMTUgMTQ6Mzk6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2luaXQpLCAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICAtIFVucmVmIHRoZSBHc3RBZGFwdGVyIGluIGZpbmFsaXplLgoJICAtIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLCBzaG9ydGVyIGFuZCBzYWZlci4KCSAgLSBGcmVlIHVudXNlZCBRdERlbXV4U3RyZWFtIHdoZW4gbm90IHVzZWQuCgoyMDA2LTAzLTE1IDEzOjQzOjQyICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgbW9yZSBvZnRlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmIGdub21lIG9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9yZWxlYXNlX21lbW9yeSksCgkgIChnc3RfbGFtZV9maW5hbGl6ZSksIChnc3RfbGFtZV9jbGFzc19pbml0KSwKCSAgKGdzdF9sYW1lX3Npbmtfc2V0Y2FwcyksIChnc3RfbGFtZV9pbml0KSwgKGdzdF9sYW1lX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2xhbWVfY2hhbmdlX3N0YXRlKToKCSAgRml4IHNvbWUgbWVtb3J5IGxlYWtzICgjMzMzMzQ1KSwgdXNlIEdTVF9ERUJVR19GVU5DUFRSIG1vcmUgb2Z0ZW4uCgoyMDA2LTAzLTE0IDE3OjU2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIC1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuNSBmb3IgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpLCB1c2VkIGJ5IGlkM2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC41IGZvciBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCksCgkgIHVzZWQgYnkgaWQzZGVtdXguCgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV91c2VyX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAocGFyc2VfdW5pcXVlX2ZpbGVfaWRlbnRpZmllcik6CgkgIEFkZCBzdXBwb3J0IGZvciBVRklEIGFuZCBUWFhYIGZyYW1lcyBhbmQgZXh0cmFjdCBtdXNpY2JyYWlueiB0YWdzLgoKMjAwNi0wMy0xNCAxNzoyNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsIG1vdmluZyBpdCBmcm9tIF9jbGFzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgIEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLAoJICBtb3ZpbmcgaXQgZnJvbSBfY2xhc3NfaW5pdCgpIHRvIGJlZ2lubmluZyBvZiBfYmFzZV9pbml0KCkuCgoyMDA2LTAzLTE0IDE1OjI4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBDYXRjaCBzaG9ydCByZWFkcywgbGlrZSB0aGV5IG1pZ2h0IGhhcHBlbiB3aXRoIHRydW5jYXRlZCBmaWxlcyAoc2VlICMzMDUyNzkpOyByZW1vdmUgdW5uZWNlc3NhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgQ2F0Y2ggc2hvcnQgcmVhZHMsIGxpa2UgdGhleSBtaWdodCBoYXBwZW4gd2l0aCB0cnVuY2F0ZWQKCSAgZmlsZXMgKHNlZSAjMzA1Mjc5KTsgcmVtb3ZlIHVubmVjZXNzYXJ5IGluZGVudGF0aW9uLgoKMjAwNi0wMy0xNCAxNDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IERJQiBpbWFnZSBpbnZlcnNpb24gZm9yIHBpY3R1cmVzIHdpdGggYSBkZXB0aCAhPSA4ICgjMzA1Mjc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICBGaXggRElCIGltYWdlIGludmVyc2lvbiBmb3IgcGljdHVyZXMgd2l0aCBhCgkgIGRlcHRoICE9IDggKCMzMDUyNzkpLgoKMjAwNi0wMy0xNCAwOToyMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogRml4IGR1cmF0aW9ucyBvbiBvdXRnb2luZyBidWZmZXJzIGFmdGVyIHNlZWtpbmcgaW4gTUpQRUcgZmlsZXMgKCMzMzQwODMpOyBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX2NoYWluKSwgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgRml4IGR1cmF0aW9ucyBvbiBvdXRnb2luZyBidWZmZXJzIGFmdGVyIHNlZWtpbmcKCSAgaW4gTUpQRUcgZmlsZXMgKCMzMzQwODMpOyBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDYtMDMtMTMgMTg6Mjg6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKHJlLWZpeGVzICMzMjc2NTgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAocmUtZml4ZXMgIzMyNzY1OCkKCjIwMDYtMDMtMTMgMTc6MjI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZAoJICBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgb2YgdGhlIHBsdWdpbiAodGFnbGlibXV4ID0+IHRhZ2xpYikKCjIwMDYtMDMtMTMgMTU6NDk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjbG9zZSAjMzMzNzg0IHVucmVmIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF9nZXRfcGFyZW50KCkgYnk6IENocmlzdG9waGUgRmVyZ2VhdS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX2dldCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2dldGNhcHMpLAoJICAoZ3N0X2pwZWdlbmNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19nZXRjYXBzKSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ2RlY19zaW5rbGluayksCgkgIChnc3RfbW5nZGVjX3NyY19nZXRjYXBzKToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ2VuY19zaW5rbGluayksCgkgIChnc3RfbW5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9zcmNsaW5rKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2RlY19zcmNfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF92aWRzaW5rY29ubmVjdCksCgkgIChnc3RfYXZpbXV4X2F1ZHNpbmtjb25uZWN0KSwgKGdzdF9hdmltdXhfaGFuZGxlX2V2ZW50KToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9nZXRjYXBzKSwKCSAgKGdzdF9uZWdvdGlhdGlvbl9wYWRfbGluayksIChnc3RfbmVnb3RpYXRpb25fY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX3NpbmtfbGluayksCgkgIChkZWludGVybGVhdmVfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChtdWxhd2VuY19zZXRjYXBzKToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOiAoZ3N0X21lZGlhbl9saW5rKToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9zcmNjb25uZWN0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X3Npbmtjb25uZWN0KToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfY2hhaW4pOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiAoZ3N0X29zeGF1ZGlvc3JjX2dldCk6CgkgIGNsb3NlICMzMzM3ODQgdW5yZWYgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX2dldF9wYXJlbnQoKQoJICBieTogQ2hyaXN0b3BoZSBGZXJnZWF1LgoKMjAwNi0wMy0xMyAxMDowNTowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgoyMDA2LTAzLTEyIDE1OjMzOjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9mcmVlKToKCSAgZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldAoJICBpbnN0ZWFkLgoKMjAwNi0wMy0xMiAxNToyNTo1MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQyBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDCgkgIGJ1aWxkYm90IGhhcHB5LgoJICBJIHdpbGwganVzdCB1c2UgdGhlIHNhbWUgY29tbWVudCBSb25hbGQgdXNlZCB3aGVuIGhlIGFkZGVkIHRoZXNlIGxpbmVzOgoJICBZZXQgQW5vdGhlciBIYWNrICh0bSkgZm9yIGtlcm5lbCBoZWFkZXIgYm9ya2VkbmVzcy4KCjIwMDYtMDMtMTIgMTU6MDI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCjIwMDYtMDMtMTIgMTQ6NDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIFBQQy1idWlsZGJvdCBoYXBweS4KCjIwMDYtMDMtMTIgMTE6MDA6MzMgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IG1hcmsgdGhlIHhpbmctaGVhZGVyIHByb3BlcnR5IGFzIEJST0tFTiAoc2VlIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMzMDMxNyNjMTkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTIgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpOiBtYXJrIHRoZSB4aW5nLWhlYWRlcgoJICBwcm9wZXJ0eSBhcyBCUk9LRU4gKHNlZQoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzAzMTcjYzE5IGZvciBhbgoJICBleHBsYW5hdGlvbiB3aHkgaXQncyBicm9rZW4pLgoKMjAwNi0wMy0xMSAyMjo1MDowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgoyMDA2LTAzLTExIDEwOjU4OjA4ICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogZml4IHdyaXRpbmcgb2YgVFBPUyB0YWdzIChhbGJ1bSBudW1iZXIpLAoJICBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCjIwMDYtMDMtMDkgMjA6MDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgoyMDA2LTAzLTA5IDE3OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wOSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIHJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCjIwMDYtMDMtMDkgMTE6NDc6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBIYW5kbGUgZXZlbnRzIGluIHB1c2ggbW9kZSBiZXR0ZXIsIGNhbiBub3cgZG8gbm9uLWZsdXNoaW5nIHNlZWtzIGluIHB1c2ggbW9kZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zZWdtZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgSGFuZGxlIGV2ZW50cyBpbiBwdXNoIG1vZGUgYmV0dGVyLCBjYW4gbm93IGRvIG5vbi1mbHVzaGluZwoJICBzZWVrcyBpbiBwdXNoIG1vZGUgYXMgd2VsbC4KCjIwMDYtMDMtMDggMTI6MTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZQoJICAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIGZvciB0aGF0CgkgIChmaXhlcyAjMzMyMDY2KS4KCjIwMDYtMDMtMDcgMTc6MzE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogQXBwbGllZCBwYXRjaCBmcm9tIEthaSBWZWhtYW5lbiwgZml4ZXMgIzMzMzYyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KToKCSAgQXBwbGllZCBwYXRjaCBmcm9tIEthaSBWZWhtYW5lbiwgZml4ZXMgIzMzMzYyNC4KCjIwMDYtMDMtMDYgMjI6MjI6NDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogSW1wbGVtZW50IHBhbGV0dGVkIGFuZCBncmF5c2NhbGUgcG5nIGZpbGVzIGhhbmRsaW5nLiAoIzE1MDM2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgIEltcGxlbWVudCBwYWxldHRlZCBhbmQgZ3JheXNjYWxlIHBuZyBmaWxlcyBoYW5kbGluZy4KCSAgKCMxNTAzNjMpLgoKMjAwNi0wMy0wNiAwMDoxMDoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogZml4IGEgdGFnIGxpc3QgYXNzZXJ0IGZvbGxvdyBnc3QtcGx1Z2lucy1iYXNlL2V4dC9vZ2cvUkVBRE1FOyBzZXQgT0ZGU0VUIGFuZCBPRkZTRVRfRU5ELiAgTXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgIGZpeCBhIHRhZyBsaXN0IGFzc2VydAoJICBmb2xsb3cgZ3N0LXBsdWdpbnMtYmFzZS9leHQvb2dnL1JFQURNRTsgc2V0IE9GRlNFVAoJICBhbmQgT0ZGU0VUX0VORC4gIE11eGVzIGNvcnJlY3RseSB3aXRoIGdzdC1wbHVnaW5zLWJhc2UKCSAgPiAwLjkuMwoKMjAwNi0wMy0wNSAxMzowMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgoyMDA2LTAzLTA0IDIwOjExOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogVXNlIG5ldyB0eXBlZmluZCBoZWxwZXIgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCwgYW5kIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZiB1cHN0cmVhbSBzdXBwb3J0cyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF9jaGFpbiksIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBuZXcgdHlwZWZpbmQgaGVscGVyIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwsIGFuZAoJICBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYgdXBzdHJlYW0gc3VwcG9ydHMgdGhhdC4KCjIwMDYtMDMtMDQgMTg6NTc6MzcgKzAwMDAgIEJlbmphbWluIFBpbmVhdSA8YmVuLnBpbmVhdUBnbWFpbC5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcywgYnJlYWtzIGJ1aWxkIGZyb20gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMsIGJyZWFrcyBidWlsZCBmcm9tIENWUwoJICB3aXRoIC1XZXJyb3IgKCMzMzMzOTIsIHBhdGNoIGJ5OiBCZW5qYW1pbiBQaW5lYXUpCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAzLTAzIDE4OjM2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgd2F2cGFyc2UgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGRlZCB3YXZwYXJzZSBkb2NzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKGZpeGVzICMzMjc2NTgpCgkgIEFkZGVkIGRvY3MgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoKMjAwNi0wMy0wMyAxNzo1MToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSWYgd2UgaGF2ZSBhbiBpbmRleCwgdXNlIGEgZHVyYXRpb24gYmFzZWQgb24gdGhlIGluZGV4IGluc3RlYWQgb2YgYmxpbmRseSB0cnVzdGluZyB0aGUgaW5mb3JtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJZiB3ZSBoYXZlIGFuIGluZGV4LCB1c2UgYSBkdXJhdGlvbiBiYXNlZCBvbiB0aGUgaW5kZXggaW5zdGVhZAoJICBvZiBibGluZGx5IHRydXN0aW5nIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFtIGhlYWRlcnMKCSAgKGZpeGVzICMzMzE4MTcpLgoKMjAwNi0wMy0wMyAxNTo1MDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHNtb2tlIGFuZCBqcGVnIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZGVkIHNtb2tlIGFuZCBqcGVnIHRvIHRoZSBkb2NzLgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2luaXQpLAoJICAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJICBQb3J0IHNtb2tlZGVjIChmaXhlcyAjMzMxOTA1KS4KCSAgQWRkZWQgc29tZSBkb2NzLgoJICBTb21lIGNsZWFudXBzLgoKMjAwNi0wMy0wMyAxNDozOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHZpZGVvYmFsYW5jZSBhbmQgdmlkZW9mbGlwIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZGVkIHZpZGVvYmFsYW5jZSBhbmQgdmlkZW9mbGlwIHRvIHRoZSBkb2NzLgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIChnc3RfdmlkZW9fYmFsYW5jZV91cGRhdGVfdGFibGVzX3BsYW5hcjQxMSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pc19wYXNzdGhyb3VnaCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV91cGRhdGVfcHJvcGVydGllcyksIChvaWxfdGFibGVsb29rdXBfdTgpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfcGxhbmFyNDExX2lwKSwgKGdzdF92aWRlb19iYWxhbmNlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fYmFsYW5jZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfZmluYWxpemUpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pbml0KSwgKGdzdF92aWRlb19iYWxhbmNlX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYmFsYW5jZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfZ2V0X3R5cGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgUG9ydGVkIHRvIDAuMTAuIChGaXhlcyAjMzI2MTYwKQoJICBBZGRlZCBkb2NzLgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIEFkZGVkIGRvY3MuCgoyMDA2LTAzLTAzIDExOjA3OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMgd2hlbiBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcwoJICB3aGVuIHBhcnNpbmcuCgkgIEFsc28gbGV0J3MgYmUgYSBiaXQgbGVzcyB2dWxnYXIgaW4gb3VyIHdhcm5pbmcgbWVzc2FnZXMgOikKCjIwMDYtMDMtMDIgMTU6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGN1cnJlbnQgY29yZSBhbmQgLWJhc2UgQ1ZTIChjb3JlIGZvciBuZXcgdHlwZWZpbmQgaGVscGVyIEFQSSwgYW5kIC1iYXNlIGZvciB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byBjdXJyZW50IGNvcmUgYW5kIC1iYXNlIENWUwoJICAoY29yZSBmb3IgbmV3IHR5cGVmaW5kIGhlbHBlciBBUEksIGFuZCAtYmFzZSBmb3IgdGhlCgkgIFdBVkZPUk1BVEVYIHN1cHBvcnQgdGhhdCB3YXMgYWRkZWQgdG8gbGliZ3N0cmlmZiBhbmQKCSAgaXMgbmVlZGVkIGJ5IHdhdnBhcnNlKS4KCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3RhZ19kZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIG5ldyB0eXBlZmluZCBoZWxwZXJzIGZvciB0eXBlZmluZGluZyBpbnN0ZWFkIG9mIG91cgoJICBob21lLWdyb3duIHN0dWZmOyBhbHNvLCBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYKCSAgdXBzdHJlYW0gc3VwcG9ydHMgdGhhdC4KCjIwMDYtMDItMjggMTE6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZiBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mCgkgIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKHNlZSAjMzI3MDgzKQoKMjAwNi0wMi0yOCAxMDo0MDowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJICByZW1vdmUgY29uZmxpY3QgaW5kaWNhdG9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29uZmxpY3QgaW5kaWNhdG9yCgoyMDA2LTAyLTI4IDEwOjM5OjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIGFkZCBtaXNzaW5nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBlbnRyeQoKMjAwNi0wMi0yOCAxMDoyOToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgoyMDA2LTAyLTI4IDEwOjIyOjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgZHZkZWMgYW5kIGR2ZGVtdXggdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGRlZCBkdmRlYyBhbmQgZHZkZW11eCB0byBkb2NzLgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2Jhc2VfaW5pdCksIChnc3RfZHZkZWNfY2hhaW4pOgoJICBBZGRlZCBkb2NzLgoJICBDaGVjayBmcmFtZSBzaXplcyBzbyB3ZSBkb24ndCBjcmFzaCB3aGVuIGRvbid0IGhhdmUgZW5vdWdoCgkgIGRhdGEuCgkgIFNlbmQgbmljZSBlcnJvciBtZXNzYWdlcyBvbiBlcnJvci4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9maW5hbGl6ZSksIChnc3RfZHZkZW11eF9yZXNldCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NyY19wYWlyKSwgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc2lua19wYWlyKSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc3JjX3RvX3NpbmspLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1c2hfc2VlayksCgkgIChnc3RfZHZkZW11eF9kb19zZWVrKSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZHZkZW11eF9kZW11eF9hdWRpbyksCgkgIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9jaGFpbiksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEFkZGVkIGRvY3MuCgkgIEltcGxlbWVudCBwdWxsIG1vZGUuCgkgIEZpeCBtZW1sZWFrcy4KCSAgUmVkdWNlIG1lbWNweSBmb3IgdGhlIHZpZGVvIGRlbXV4aW5nLgoKMjAwNi0wMi0yOCAwOToyMToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvYW5ub2RleC86IEFkZCBhIGxpdHRsZSBleHRyYSBkZWJ1Zy4gTWFrZSB0aGUgZGVjb2RlciBub3QgcmV0dXJuIE5PVF9MSU5LRUQsIGFzIHdlIHdhbnQgdG8gY29udGludWUgZGVjb2RpbmcgYWxsIEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2NtbWxfZGVjX25ld19idWZmZXIpLCAoZ3N0X2NtbWxfZGVjX3BhcnNlX3ByZWFtYmxlKSwKCSAgKGdzdF9jbW1sX2RlY19wYXJzZV9oZWFkKSwgKGdzdF9jbW1sX2RlY19wdXNoX2NsaXApOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogKGdzdF9jbW1sX3BhcnNlcl9wYXJzZV9jaHVuayk6CgkgIEFkZCBhIGxpdHRsZSBleHRyYSBkZWJ1Zy4gTWFrZSB0aGUgZGVjb2RlciBub3QgcmV0dXJuIE5PVF9MSU5LRUQsCgkgIGFzIHdlIHdhbnQgdG8gY29udGludWUgZGVjb2RpbmcgYWxsIENNTUwgYW5kIGVtaXR0aW5nIHRhZ3MuCgoyMDA2LTAyLTI3IDE0OjM3OjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhbm5vZGV4IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGFubm9kZXggcGx1Z2luCgoyMDA2LTAyLTI3IDE0OjAwOjE4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3Rza2VsdGFnLio6IERlbGV0ZWQ7IHRoZXNlIGZpbGVzIGFyZW4ndCB1c2VkIGFueSBtb3JlIGVpdGhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuaDoKCSAgRGVsZXRlZDsgdGhlc2UgZmlsZXMgYXJlbid0IHVzZWQgYW55IG1vcmUgZWl0aGVyLgoKMjAwNi0wMi0yNSAyMDozNzoyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0LWNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3QtY2hlY2suCgoyMDA2LTAyLTI1IDE5OjM2OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogRml4IGFub3RoZXIgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKTogRml4IGFub3RoZXIKCSAgbWVtbGVhay4KCjIwMDYtMDItMjUgMTk6MDc6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGEgbWVtbGVhayBpbiBnc3RfY21tbF90cmFja19saXN0X2FkZF9jbGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBGaXggYSBtZW1sZWFrIGluIGdzdF9jbW1sX3RyYWNrX2xpc3RfYWRkX2NsaXAuCgkgIEhhbmRsZSBvdmVyZmxvd3MgaW4gY2xpcCdzIHN0YXJ0IGFuZCBlbmQgdGltZXMuCgkgIEFkZCB0aGUgImVuY29kZWQiIHBhcmFtZXRlciB0byBjbW1sZGVjIGFuZCBjbW1sZW5jIGNhcHMuCgkgIERvIG5vdCBwYXJzZSBqdW5rIGF0IHRoZSBlbmQgb2YgYSBDTU1MIHByZWFtYmxlIGJ1ZmZlci4KCSAgUmVnaXN0ZXIgYSBsaWJ4bWwgZXJyb3IgaGFuZGxlciB0byBub3QgcHJpbnQgc3R1ZmYgb24gc3RkZXJyLgoJICBDaGVjayBmb3IgYmFkIGNsaXAgc3RhcnQgYW5kIGVuZCB0aW1lcyBpbiB0aGUgdGVzdHN1aXRlcy4KCjIwMDYtMDItMjUgMTE6Mzc6MTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2Fubm9kZXgvOiBGaXggcG9zc2libGUgbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZGVjX2ZpbmFsaXplKSwgKGdzdF9jbW1sX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2VuY19maW5hbGl6ZSksIChnc3RfY21tbF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX3RyYWNrX2xpc3RfZGVzdHJveSk6IEZpeAoJICBwb3NzaWJsZSBtZW1sZWFrcy4KCjIwMDYtMDItMjQgMjM6NTI6MjggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBGaXggdGVzdHMgc28gdGhhdCB0aGV5IHVzZSB0aGUgcGx1Z2lucy1iYXNlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogRml4IHRlc3RzIHNvIHRoYXQgdGhleSB1c2UKCSAgdGhlIHBsdWdpbnMtYmFzZSB0YWdzLgoKMjAwNi0wMi0yNCAyMzozNjo1OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IFJlLWVuYWJsZSBtb2R1bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBSZS1lbmFibGUgbW9kdWxlLgoKMjAwNi0wMi0yNCAyMzozMjoxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRm9yZ290IHRvIHJlbW92ZSB0aGF0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZvcmdvdCB0byByZW1vdmUgdGhhdCB0ZXN0LgoKMjAwNi0wMi0yNCAyMzozMTowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBUcnkgdG8gZml4IEFubm9kZXggcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9za2VsZGVjLmM6IFRyeSB0byBmaXggQW5ub2RleCBwbHVnaW4uCgoyMDA2LTAyLTI0IDIzOjA2OjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRob3NlIGNoZWNrcyBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRob3NlIGNoZWNrcyBhcyB3ZWxsLgoKMjAwNi0wMi0yNCAyMjo0OToyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc2FibGUgYW5ub2RleCBmb3Igbm93IHVudGlsIHdlIGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgaXQgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBEaXNhYmxlIGFubm9kZXggZm9yIG5vdyB1bnRpbCB3ZSBmaWd1cmUgb3V0CgkgIGhvdyB0byBtYWtlIGl0IGJ1aWxkLgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOiBOb3RlIGZvciBUaG9tYXMgOgoJICBBZGQgYSBydWxlIHRvIHlvdXIgY2hlY2tsaXN0IDogInBsZWFzZSB0cnkgdG8gYXQgbGVhc3QgYnVpbGQKCSAgd2hhdCB5b3UgYXJlIGdvaW5nIHRvIGNvbW1pdCBpbnRvIC1nb29kLCBvciBpZiB5b3UgYXJlIHRvbyBsYXp5CgkgIHRvIGRvIHRoYXQsIHBsZWFzZSBjaGVjayB0aGF0IHRoZSBidWlsZGJvdHMgYXJlIG5vdCBjcnlpbmcgYmVjYXVzZQoJICBvZiB5b3VyIGNvbW1pdC4iCgoyMDA2LTAyLTI0IDE5OjUxOjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHZGtwaXhidWYgcG9ydGVkIGZyb20gMC44IHRvIDAuMTAgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+LiBnc3RfbG9hZGVyIGFuZCBnZGtwaXhidWZhbmltYXRpb24gc3RpbGwgbmVlZCBwb3J0LgoKMjAwNi0wMi0yNCAxOTo0OTozMiArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgcGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoKMjAwNi0wMi0yNCAxOTowNzoxMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIEFubm9kZXggZWxlbWVudHMgZnJvbSBBbGVzc2VuZHJvIERlY2luYTogc2tlbGV0b24gYW5kIENNTUwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NrZWxkZWMuYzoKCSAgQWRkIEFubm9kZXggZWxlbWVudHMgZnJvbSBBbGVzc2VuZHJvIERlY2luYTogc2tlbGV0b24gYW5kIENNTUwuCgkgIEluY2x1ZGVzIHRlc3RzICYgZG9jcywgb2ggbXkhIFBhc3NlcyBUaG9tYXMncyAtZ29vZCBjaGVja2xpc3QKCSAgZW50aXJlbHkuIFdvdy4KCjIwMDYtMDItMjQgMTc6MDk6NTYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGF1dG9nZW4uc2g6IENoZWNrIGZvciBhdXRvbWFrZSAxLjkgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQ2hlY2sgZm9yIGF1dG9tYWtlIDEuOSBhcyB3ZWxsLgoKMjAwNi0wMi0yNCAxNDo0OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogQ2hhbmdlIG1pbi4gc2FtcGxlIHJhdGUgdG8gOGtIeiB0byBtYXRjaCBmbGFjZGVjJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgQ2hhbmdlIG1pbi4gc2FtcGxlIHJhdGUgdG8gOGtIeiB0byBtYXRjaCBmbGFjZGVjJ3MuCgoyMDA2LTAyLTIzIDIwOjA4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vTWFrZWZpbGUuYW06IEFkZCBHU1RfQkFTRV9DRkxBR1MgYW5kIEdTVF9CQVNFX0xJQlMgKHNlZW1zIHRvIGJlIHJlcXVpcmVkIGZvciBDeWd3aW4sIHNlZSAjMzE3MDQ4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9CQVNFX0NGTEFHUyBhbmQgR1NUX0JBU0VfTElCUyAoc2VlbXMgdG8gYmUKCSAgcmVxdWlyZWQgZm9yIEN5Z3dpbiwgc2VlICMzMTcwNDgpCgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgQ3lnd2luIGhhcyBpbmNsdWRlcyBmb3IgYm90aCB0aGUgdW5peCBuZXR3b3JrIHNvY2tldCBBUEkKCSAgYW5kIHRoZSB3aW5kb3dzIEFQSSwgYnV0IG9ubHkgb25lIGNhbiBiZSBpbmNsdWRlZCwgc28gZml4CgkgIGluY2x1ZGVzIHRvIG9ubHkgdXNlIG9uZSBvciB0aGUgb3RoZXIsIHByZWZlcmluZyB0aGUgdW54aQoJICBvbmUgKCMzMTcwNDgpLgoKMjAwNi0wMi0yMyAxMjoyMToyNSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIHJ0cC9nc3QvOiBTZXBhcmF0ZWQgdGhlIEc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMgaW50byBzZXBhcmF0ZSBlbGVtZW50cyBmb3IgbXVsYXcvYWxhdy4gQWxzbyByZW1vdmVkIHRoZSBvbGQgZzcxMS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMyAgUGhpbGlwcGUgS2FsYWYgIDxwaGlsaXBwZS5rYWxhZiBhdCBjb2xsYWJvcmEuY28udWs+CgkgICogcnRwL2dzdC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0Z3N0cnRwcGNtYXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0Z3N0cnRwcGNtYXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBydHAvZ3N0L01ha2VmaWxlLmFtOgoJICAqIHJ0cC9nc3QvZ3N0cnRwLmM6CgkgICogcnRwL2dzdC9SRUFETUU6CgkgIFNlcGFyYXRlZCB0aGUgRzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycyBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzIGZvcgoJICBtdWxhdy9hbGF3LiBBbHNvIHJlbW92ZWQgdGhlIG9sZCBnNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoKMjAwNi0wMi0yMiAyMDoyMjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi86IFVlYmVyIHNwaWZmaWZ5IHNvbWUgbW9yZSwgYWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2Jhc2VfaW5pdCksIChnc3RfZHZkZWNfaW5pdCksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2NoYWluKSwKCSAgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgVWViZXIgc3BpZmZpZnkgc29tZSBtb3JlLCBhZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgVXNlIF9zY2FsZS4KCSAgVXNlIHNlZ21lbnRzLCByZXNwZWN0IHBsYXliYWNrIHJhdGUgZnJvbSBuZXdzZWdtZW50LgoJICBGaXggcmVmY291bnQgaXNzdWUuCgoyMDA2LTAyLTIyIDA5OjMzOjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5IDogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBBZGQgaW1hZ2UvcG5nIGZvciBmb3VyY2MgJ3BuZyAnCgoyMDA2LTAyLTIwIDIxOjE5OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmV0dXJuX2J1ZiksCgkgIChnc3RfeGltYWdlc3JjX29wZW5fZGlzcGxheSksIChnc3RfeGltYWdlc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2VzcmNfc3RvcCksIChnc3RfeGltYWdlc3JjX3VubG9jayksCgkgIChnc3RfeGltYWdlc3JjX3JlY2FsYyksIChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwKCSAgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfY2xlYXJfYnVmcG9vbCksIChnc3RfeGltYWdlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2Rpc3Bvc2UpLCAoZ3N0X3hpbWFnZXNyY19maW5hbGl6ZSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfc2V0X2NhcHMpLAoJICAoZ3N0X3hpbWFnZXNyY19maXhhdGUpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfaGFuZGxlX3hlcnJvciksCgkgICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpLCAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpLAoJICAoeGltYWdldXRpbF94Y29udGV4dF9jbGVhciksCgkgICh4aW1hZ2V1dGlsX2NhbGN1bGF0ZV9waXhlbF9hc3BlY3RfcmF0aW8pLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZmluYWxpemUpLCAoZ3N0X3hpbWFnZV9idWZmZXJfZnJlZSksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9pbml0KSwgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX25ldyksCgkgIChnc3RfeGltYWdldXRpbF94aW1hZ2VfZGVzdHJveSk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoKPT09IHJlbGVhc2UgMC4xMC4xID09PQoKMjAwNi0wMi0yMCAxOToxMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCjIwMDYtMDItMjAgMTM6MDg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndCBlbmFibGVkIGZvciB0aGUgYnVpbGQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndAoJICBlbmFibGVkIGZvciB0aGUgYnVpbGQsIGJ1dCBpdCBoZWxwcyBtZSB3aW4gdGhlIGZlYXR1cmUtY291bnQKCSAgY29tcGV0aXRpb25zIG9vaCB5ZWFoLgoKMjAwNi0wMi0xOSAxNjowMjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlIHNjYWxpbmcgY29kZSBmb3IgYWRkZWQgcHJlY2lzc2lvbiBhbmQgbW9yZSBjb3JyZWN0IHN0b3AgcG9zaXRpb24gaW4gY2FzZSBzY2FsZT09MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2F2aWgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgVXNlIHNjYWxpbmcgY29kZSBmb3IgYWRkZWQgcHJlY2lzc2lvbiBhbmQgbW9yZSBjb3JyZWN0IHN0b3AKCSAgcG9zaXRpb24gaW4gY2FzZSBzY2FsZT09MC4KCjIwMDYtMDItMTkgMTI6MDk6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy4qOiBJbXBsZW1lbnQgRFVSQVRJT04gcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIEltcGxlbWVudCBEVVJBVElPTiBxdWVyeS4KCjIwMDYtMDItMTkgMTE6NTc6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4LzogU2V0IE1BTExPQ0RBVEEgZm9yIHRoZSB0ZW1wIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSAgKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19pbml0KSwKCSAgKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLCAoZmx4X2RlY29kZV9jb2xvciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBTZXQgTUFMTE9DREFUQSBmb3IgdGhlIHRlbXAgYnVmZmVycyBzbyB3ZSBkb24ndCBsZWFrLgoJICBTb21lIGRlYnVnIGNsZWFudXBzLgoJICBDb25zdW1lIGFsbCBkYXRhIGluIHRoZSBhZGFwdGVyIGJlZm9yZSBsZWF2aW5nIHRoZSBjaGFpbgoJICBmdW5jdGlvbi4gRml4ZXMgIzMzMDY3OC4KCjIwMDYtMDItMTggMjA6NDg6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogSGFuZGxlIDAgZGF0YSBzaXplIGluIG90aGVyd2lzZSB2YWxpZCBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBIYW5kbGUgMCBkYXRhIHNpemUgaW4gb3RoZXJ3aXNlIHZhbGlkIGZyYW1lcy4KCSAgSGFuZGxlIG51bWVyaWMgc3RyaW5ncyBpbiAyLjQuMCBldmVuIHdoZW4gbm90IGluIHBhcmVudGhlc2VzCgoyMDA2LTAyLTE4IDE3OjIwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogUmVjb2duaXNlIFNTQS9BU1MgYW5kIFVTRiBzdWJ0aXRsZSBmb3JtYXRzIGFuZCBzZXQgcHJvcGVyIGNhcHMgd2hlbiB0aGV5IGFyZSBmb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgUmVjb2duaXNlIFNTQS9BU1MgYW5kIFVTRiBzdWJ0aXRsZSBmb3JtYXRzIGFuZAoJICBzZXQgcHJvcGVyIGNhcHMgd2hlbiB0aGV5IGFyZSBmb3VuZC4KCjIwMDYtMDItMTcgMTg6MjU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4IGVudHJpZXMgKCMzMzE1ODIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXgKCSAgZW50cmllcyAoIzMzMTU4MikuCgoyMDA2LTAyLTE3IDE3OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGZvciBzb21lIG9kZC1zaXplZCBpbWFnZXMgKHNlZSBpbWFnZSBjb250YWluZWQgaW4gcXVpY2t0aW1lIHN0cmVhbSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19kZWNvZGVfZGlyZWN0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgZm9yIHNvbWUgb2RkLXNpemVkIGltYWdlcwoJICAoc2VlIGltYWdlIGNvbnRhaW5lZCBpbiBxdWlja3RpbWUgc3RyZWFtIGluICMzMjcwODMpOwoJICB1c2UgZ19tYWxsb2MoKSBpbnN0ZWFkIG9mIGdfYWxsb2NhKCkuCgoyMDA2LTAyLTE3IDE2OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZSBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdGhhdC4KCSAgRml4ZXMgIzMzMTU0My4KCjIwMDYtMDItMTcgMTU6Mzc6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUsIGZpeGVzICMzMTk4ODQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2hhaW4pOgoJICBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlLCBmaXhlcyAjMzE5ODg0CgoyMDA2LTAyLTE3IDExOjE5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpby5jOiBJbml0IGRlYnVnIGNhdGVnb3J5ICgjMzMxMjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAocGx1Z2luX2luaXQpOgoJICBJbml0IGRlYnVnIGNhdGVnb3J5ICgjMzMxMjUzKS4KCjIwMDYtMDItMTcgMTA6NTM6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9nY29uZi9nY29uZi5jOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgSnVyZydzIHBhdGNoIGZvciBtdWx0aWRldmljZSBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgSnVyZydzIHBhdGNoIGZvciBtdWx0aWRldmljZSBzdXBwb3J0CgoyMDA2LTAyLTE2IDIwOjMwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFBhc3MgZXh0cmFfZGF0YSB0byBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2FwcygpLCBzbyB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgUGFzcyBleHRyYV9kYXRhIHRvIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKCksIHNvIHRoYXQKCSAgV0FWRUZPUk1BVEVYIHN0dWZmIHdvcmtzLiBQb3N0IGF1ZGlvIGNvZGVjIG5hbWUgYW5kIHBvc3QKCSAgaXQgYXMgdGFnbGlzdCBvbiB0aGUgYnVzLiBBbGxvdyB1cCB0byA4IGNoYW5uZXNsIGZvciByYXcKCSAgUENNIGluIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuCgoyMDA2LTAyLTE2IDE3OjE2OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBGaXggdXAgbGFtZSBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9jaGFpbiksCgkgIChnc3RfbGFtZV9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggdXAgbGFtZSBhIGJpdC4KCSAgQXBwbHkgcGF0Y2ggIzMxOTc4MiBieSBHYXV0aWVyIFBvcnRldC4KCjIwMDYtMDItMTYgMTY6NTM6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IEFwcGxpZWQgIzMxODY2My4gR2l2ZXMgcXVpdGUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGluIGF1dG9zY2FuIG1vZGUsIGJ1dCBpdCdzIGJldHRlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9tdWx0aXBhcnRfZmluZF9wYWRfYnlfbWltZSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tdWx0aXBhcnRfc2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXBhcnRfZ2V0X3Byb3BlcnR5KToKCSAgQXBwbGllZCAjMzE4NjYzLiBHaXZlcyBxdWl0ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgaW4KCSAgYXV0b3NjYW4gbW9kZSwgYnV0IGl0J3MgYmV0dGVyIHRoYW4gbm90aGluZy4gTm90IGNsb3NpbmcgeWV0LgoKMjAwNi0wMi0xNiAxNDoxMzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgRml4IGFyZ3MuCgoyMDA2LTAyLTE2IDE0OjAyOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNi0wMi0xNiAxMDo1ODoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiBJRDMgMi4zLjAgdXNlZCBzeW5jaC1zYWZlIGludGVnZXJzIGZvciB0aGUgdGFnIHNpemUsIGJ1dCBub3QgZm9yIHRoZSBmcmFtZSBzaXplLiAoRml4ZXMgIzMzMTM2OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIElEMyAyLjMuMCB1c2VkIHN5bmNoLXNhZmUgaW50ZWdlcnMgZm9yIHRoZSB0YWcgc2l6ZSwgYnV0IG5vdCBmb3IgdGhlCgkgIGZyYW1lIHNpemUuIChGaXhlcyAjMzMxMzY4KQoKMjAwNi0wMi0xNiAxMDo0MjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1JFQURNRTogVXBkYXRlZCBSRUFETUUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1JFQURNRToKCSAgVXBkYXRlZCBSRUFETUUuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgTWFrZSBzdXJlIHRoZSBSVFAgcG9ydCBpcyBhbiBldmVuIHBvcnQgYW4gdHJ5IHRvIGFsbG9jYXRlCgkgIGFub3RoZXIgaWYgbm90LgoJICBBZGRlZCByZXRyeSBwcm9wZXJ0eSB0byBjb250cm9sIG1heCByZXRyaWVzIGZvciBwb3J0IGFsbG9jYXRpb24uCgkgIE1ha2Ugc3VyZSBSVENQIHBvcnQgaXMgUlRQIHBvcnQrMS4KCSAgQ2xlYW51cCB3aGVuIHBvcnQgYWxsb2NhdGlvbiBmYWlscy4KCSAgRml4ZXMgIzMxOTE4My4KCjIwMDYtMDItMTYgMDk6MTc6NTggKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhLmM6IERvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgdGhlIHBhcmVudCBjbGFzcydzIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgdGhlIHBhcmVudCBjbGFzcydzIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbiAoIzMzMTM4NSwgcGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4pLgoKMjAwNi0wMi0xNSAxMjoxNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBIQUwgc291bmQgZGV2aWNlIHdyYXBwZXIgcGx1Z2lucy4gQ2xvc2VzICMzMjkxMDYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfaW5pdCksIChnc3RfaGFsX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9oYWxfYXVkaW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2hhbF9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmg6CgkgICogZXh0L2hhbC9nc3RoYWxlbGVtZW50cy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuaDoKCSAgKiBleHQvaGFsL2hhbC5jOiAoZ3N0X2hhbF9nZXRfc3RyaW5nKSwKCSAgKGdzdF9oYWxfcmVuZGVyX2Jpbl9mcm9tX3VkaSksIChnc3RfaGFsX2dldF9hdWRpb19zaW5rKSwKCSAgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NyYyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgQWRkIEhBTCBzb3VuZCBkZXZpY2Ugd3JhcHBlciBwbHVnaW5zLiBDbG9zZXMgIzMyOTEwNgoKMjAwNi0wMi0xNSAxMjoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoKMjAwNi0wMi0xNSAxMDoxNTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQWRkIGNvbW1lbnQgaW4gYSBmdWx0aWxlIGF0dGVtcHQgdG8gc3RvcCB0aGUgY29weS1hbmQtcGFzdGUgcGFyYWRpZ20gbGVhZGluZyB0byBkdXBsaWNhdGlvbiBvZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBBZGQgY29tbWVudCBpbiBhIGZ1bHRpbGUgYXR0ZW1wdCB0byBzdG9wIHRoZSBjb3B5LWFuZC1wYXN0ZQoJICBwYXJhZGlnbSBsZWFkaW5nIHRvIGR1cGxpY2F0aW9uIG9mIGJhZCBjb2RlLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKToKCSAgTWltZSBwYXJhbWV0ZXJzIGhhdmUgdG8gYmUgY2hlY2tlZCBjYXNlIGluc2Vuc2l0aXZlCgoyMDA2LTAyLTE1IDA5OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcwoJICBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwNi0wMi0xNCAyMzoyMzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBBZHZhbmNlIHN0cmVhbSB0aW1lIGZvciBsYWdnaW5nIHN1YnRpdGxlIHN0cmVhbXMgYnkgc2VuZGluZyBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpOgoJICBBZHZhbmNlIHN0cmVhbSB0aW1lIGZvciBsYWdnaW5nIHN1YnRpdGxlIHN0cmVhbXMgYnkgc2VuZGluZwoJICBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHRoZSB1cGRhdGUgZmxhZyBzZXQuCgoyMDA2LTAyLTE0IDE4OjUwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIERvbid0IGFuc3dlciBkdXJhdGlvbiBxdWVyeS4gVGhpcyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW50byByZXBseWluZwoJICBGQUxTRSB0byBzZWVrIGV2ZW50cy4KCjIwMDYtMDItMTQgMTY6NTg6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFRoZXJlIGNhbiBiZSBib2d1cyBkYXRhIGJlZm9yZSB0aGUgaGRybCBMSVNUIHRhZyBpbiB0aGUgUklGRiBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgIFRoZXJlIGNhbiBiZSBib2d1cyBkYXRhIGJlZm9yZSB0aGUgaGRybCBMSVNUIHRhZyBpbiB0aGUgUklGRiBoZWFkZXIuCgkgIEl0J3MgaGFyZCB0byBzYXkgaWYgaXQncyBub3QgcmVzcGVjdGluZyB0aGUgQVZJIHNwZWNpZmljYXRpb25zIG9yIG5vdCwKCSAgYnV0IHNpbmNlIEdvb2dsZSBWaWRlbyBpcyBwcm9kdWNpbmcgQVZJcyBsaWtlIHRoYXQgYW5kIHRoZSBvdGhlciBwbGF5ZXIKCSAgZG9uJ3Qgc2VlbSB0byBjb21wbGFpbiwgSSBndWVzcyB3ZSBzaG91bGQgZG8gdGhlIHNhbWUuCgoyMDA2LTAyLTE0IDExOjI0OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBFcnJvcnMgb3V0IGdyYWNlZnVsbHkuCgoyMDA2LTAyLTEzIDIyOjA0OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBJdCBzdGlsbCBuZWVkcyBzb21lIGxvdmUgZm9yIHNlZWtpbmcuCgoyMDA2LTAyLTEzIDEyOjAwOjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBZGQgbW9yZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IGEgY2hhciBlbmNvZGluZyBjb252ZXJzaW9uIHByb2R1Y2VkIGEgdmFsaWQgVVRGLTggc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX2luc2VydF9zdHJpbmdfZmllbGQpLAoJICAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFkZCBtb3JlIHZhbGlkYXRpb24gdG8gZW5zdXJlIHRoYXQgYSBjaGFyIGVuY29kaW5nIGNvbnZlcnNpb24KCSAgcHJvZHVjZWQgYSB2YWxpZCBVVEYtOCBzdHJpbmcuCgoyMDA2LTAyLTEzIDEwOjQzOjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBQcm9wZXJseSBoYW5kbGUgZW5kIG9mIHNlZ21lbnQuIENsb3NlcyAjMzMwODg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBQcm9wZXJseSBoYW5kbGUgZW5kIG9mIHNlZ21lbnQuIENsb3NlcyAjMzMwODg1LgoKMjAwNi0wMi0xMyAxMDozNjoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOiBGb3IgZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIEZvciBnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoKMjAwNi0wMi0xMiAxODo1OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS4qOiBNYWtlIG1vcmUgdGhpbmdzIHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX2F1ZGlvX2NvbmZpZyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3BhcnNlX3ZpZGVvX2NvbmZpZyksIChnc3RfcnRwX21wNGdfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgTWFrZSBtb3JlIHRoaW5ncyB3b3JrLgoJICBIYW5kbGUgQUNDIGNvbmZpZyBzdHJpbmdzLgoKMjAwNi0wMi0xMiAxMzoxMDoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiBzZXQgdGltZXN0YW1wcyBpZiBubyBpbmNvbWluZyB0aW1lc3RhbXBzIHNldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBzZXQgdGltZXN0YW1wcyBpZiBubyBpbmNvbWluZyB0aW1lc3RhbXBzIHNldAoKMjAwNi0wMi0xMSAxMzo1NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogLi4uIGFuZCBmaXggdGhlIHZlcnkgc2FtZSBsZWFrcyBpbiBHc3RUYWdEZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfdGFnX2RlbXV4X2RvX3R5cGVmaW5kKToKCSAgLi4uIGFuZCBmaXggdGhlIHZlcnkgc2FtZSBsZWFrcyBpbiBHc3RUYWdEZW11eC4KCjIwMDYtMDItMTEgMTM6MzU6MTMgKzAwMDAgIEpvbiBUcm93YnJpZGdlIDx0cm93QHhpbWlhbi5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfaWQzZGVtdXhfZG9fdHlwZWZpbmQpOgoJICBGaXggYSBjb3VwbGUgb2YgbWVtIGxlYWtzLiAoUGF0Y2ggYnkgSm9uYXRoYW4gTWF0dGhldwoJICA8am9uYXRoYW4gYXQga2FvbGluIGRvdCB3aDkgZG90IG5ldD4pCgoyMDA2LTAyLTEwIDE3OjM3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IEZpcnN0IHNldCBvcHRpb25zLCB0aGVuIHNldCBjYXBzIG9yIGVsc2UgdGhlIGJhc2VjbGFzcyB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvcHRpb25zLCBkdWguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRmlyc3Qgc2V0IG9wdGlvbnMsIHRoZW4gc2V0IGNhcHMgb3IgZWxzZSB0aGUgYmFzZWNsYXNzCgkgIHdpbGwgbm90IGtub3cgYWJvdXQgdGhlIG9wdGlvbnMsIGR1aC4KCjIwMDYtMDItMTAgMTc6MTY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRG9uJ3Qgd2FzdGUgdGltZSBsb29raW5nIGZvciBhIGNvbmZpZyBzdHJpbmcgaWYgd2UgaGF2ZSBjb2RlY19pbmZvIG9uIHRoZSBpbmNvbW1pbmcgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3Qgd2FzdGUgdGltZSBsb29raW5nIGZvciBhIGNvbmZpZyBzdHJpbmcgaWYgd2UgaGF2ZSBjb2RlY19pbmZvCgkgIG9uIHRoZSBpbmNvbW1pbmcgY2Fwcy4KCjIwMDYtMDItMTAgMTY6NDA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogU2F5IHNvbWV0aGluZyBhYm91dCBjYXNlLXNlbnNpdGl2aXR5IG9mIGNhcHMgdnMgbWltZS1hdHRyaWJ1dGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgU2F5IHNvbWV0aGluZyBhYm91dCBjYXNlLXNlbnNpdGl2aXR5IG9mIGNhcHMgdnMgbWltZS1hdHRyaWJ1dGVzLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOiAoZ3N0X3J0cF9tcDRnX3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX21wNGdfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCksIChnc3RfcnRwX21wNGdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9tcDRnX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIEFkZGVkIGJlZ2lubmluZ3Mgb2YgbXBlZzQtZ2VuZXJpYyBwYXlsb2FkZXIgKFJGQyAzNjQwKQoKMjAwNi0wMi0wOSAxNDoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmVzdXJlY3RlZCBydHBkZWMgdG8gbWFrZSBydHNwc3JjIGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cGRlY19jbGFzc19pbml0KSwgKGdzdF9ydHBkZWNfaW5pdCksIChnc3RfcnRwZGVjX2dldGNhcHMpLAoJICAoZ3N0X3J0cGRlY19jaGFpbl9ydHApLCAoZ3N0X3J0cGRlY19jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBkZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBkZWNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpLAoJICAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfZHVtcCk6CgkgIFJlc3VyZWN0ZWQgcnRwZGVjIHRvIG1ha2UgcnRzcHNyYyBoYXBweSBhZ2Fpbi4KCSAgU2tpcCBhdHRyaWJ1dGVzIGZyb20gdGhlIHNlc3Npb24gaWQuCgkgIERvbid0IGNyYXNoIHdoZW4gZHVtcGluZyBhIG1lc3NhZ2Ugd2l0aCBhbiBlbXB0eSBib2R5LgoKMjAwNi0wMi0wOSAxNDoxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogQWRkZWQgbW9yZSBtZWFuaW5nZnVsbCB3YXJuaW5ncyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9jaGFpbik6CgkgIEFkZGVkIG1vcmUgbWVhbmluZ2Z1bGwgd2FybmluZ3Mgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgQ2xlYXIgRiBiaXQgb24gb3V0Z29pbmcgQU1SIHBhY2tldHMuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgQWRkZWQgZGVidWdnaW5nIGNhdGVnb3J5CgkgIFN1cHBvcnQgcGF5bG9hZGluZyBvZiBtdWx0aXBsZSBBTVIgZnJhbWVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9kZXBheV9kYXRhKToKCSAgQWRkZWQgc29tZSBkZWJ1Z2dpbmcuCgoyMDA2LTAyLTA5IDExOjI1OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4yID09PQoKMjAwNi0wMi0wOSAxMToyMjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBSZWxlYXNpbmcgMC4xMC4yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNpbmcgMC4xMC4yCgoyMDA2LTAyLTA4IDE3OjM1OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wMi0wOCAxNzoxODoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE9vcHMsIGp1bXBpbmcgdGhlIGd1biB3aXRoIHRoZSBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE9vcHMsIGp1bXBpbmcgdGhlIGd1biB3aXRoIHRoZSBDaGFuZ2VMb2cgZW50cnkKCjIwMDYtMDItMDggMTc6MTY6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUgYW5kIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIuMiBmb3IgQVBJIGFkZGl0aW9ucyAoYW5kIDEgbWlncmF0aW9uIG9mIGdzdF9iaW5fZmluZF91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlIGFuZCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yLjIKCSAgZm9yIEFQSSBhZGRpdGlvbnMgKGFuZCAxIG1pZ3JhdGlvbiBvZiBnc3RfYmluX2ZpbmRfdW5jb25uZWN0ZWRfcGFkKQoKMjAwNi0wMi0wOCAxNzoxMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFJlZ2lzdGVyIG11c2ljYnJhaW56IHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXguYzogKHBsdWdpbl9pbml0KToKCSAgUmVnaXN0ZXIgbXVzaWNicmFpbnogdGFncy4KCjIwMDYtMDItMDcgMTg6MzE6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICByZW1vdmUgdW51c2VkIHZhcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCjIwMDYtMDItMDcgMTg6MDE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZSB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlCgkgIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGJ1ZywgYW5kIG1ha2VzCgkgIHRoZSBkdW1wIG9mIG9mZnNldHMgY29tcGFyYWJsZSB0byBvdGhlciB0b29scwoKMjAwNi0wMi0wNyAxNzo1NDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZwoJICBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCjIwMDYtMDItMDcgMTY6MjM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvZ2NvbmYuaDogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgIFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiB0aGF0IG5vIGxvbmdlciBleGlzdHMuCgoyMDA2LTAyLTA3IDEzOjM5OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogTWFrZSBzaG91dDIgd29yayBmb3Igbm9uIG9nZyBzdHJlYW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3JlbmRlciksCgkgIChnc3Rfc2hvdXQyc2VuZF9zZXRjYXBzKSwgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc2hvdXQyIHdvcmsgZm9yIG5vbiBvZ2cgc3RyZWFtcwoKMjAwNi0wMi0wNiAxNzoyNjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IFVwZGF0ZWQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBVcGRhdGVkIGRvY3MuCgkgIEFkZGVkIHByb3BlcnRpZXMgYnl0ZXMtc2VydmVkLCBieXRlc190b19zZXJ2ZS4KCSAgUG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZXMsCgkgIEVtaXQgY2xpZW50IGFkZGVkIHNpZ25hbCB0b28uCgoyMDA2LTAyLTA2IDE1OjQxOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIEhhbmRsZSBzZWVraW5nIGluIGEgbGVzcyBicm9rZW4gd2F5LgoJICBGaXggQU1SIGNhcHMgdG8gbWF0Y2ggdGhlIEFNUiBkZWNvZGVyLgoJICBTZXQgZmlyc3QgdGltZXN0YW1wIG9uIEFNUiBzYW1wbGVzIHRvIDAgZm9yIG5vdy4KCSAgUmVtb3ZlIHNvbWUgXG4gaW4gREVCVUcgc3RyaW5ncy4KCSAgVXNlIF9zY2FsZV9pbnQgZm9yIG1heGltdW0gcHJlY2lzaW9uLgoKMjAwNi0wMi0wNiAxNTozMToxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIGFkZGluZyBkb2NzIGZvciBtdWx0aXVkcHNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZGluZyBkb2NzIGZvciBtdWx0aXVkcHNpbmsKCjIwMDYtMDItMDYgMTU6Mjg6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IHBlYWsgYmVsb3cgZGVjYXkgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLCBzbyBkb24ndCBFUlJPUiBsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgcGVhayBiZWxvdyBkZWNheSBpcyBub3QgbmVjZXNzYXJpbHkgYW4gZXJyb3IsIHNvIGRvbid0IEVSUk9SIGxvZwoKMjAwNi0wMi0wNiAxNToyNzowNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgY3ZzIHZlcnNpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjdnMgdmVyc2lvbnMKCjIwMDYtMDItMDYgMTQ6MjU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS4qOiBNYWtlIHN1cmUgd2Ugc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgaW4gQllURVMgZm9ybWF0IGJlZm9yZSBzZW5kaW5nIGJ1ZmZlcnMgKCMzMjg1MzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfcmVzZXQpLAoJICAoZ3N0X2VibWxfd3JpdGVfZmx1c2hfY2FjaGUpLCAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9wdXNoKSwKCSAgKGdzdF9lYm1sX3dyaXRlX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBpbiBCWVRFUyBmb3JtYXQKCSAgYmVmb3JlIHNlbmRpbmcgYnVmZmVycyAoIzMyODUzMSkuCgoyMDA2LTAyLTA2IDEyOjE4OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUGFzcyB1bmhhbmRsZWQgcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIGp1c3QgZHJvcHBpbmcgdGhlbSAoIzMyNjQ0NikuIFVwZGF0ZSBxdWVyeSB0eXBlIGFycmF5cyBoZXJlIGFuZCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2dldF9xdWVyeV90eXBlcyksCgkgIChzcGVleF9kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zcmNfcXVlcnkpLAoJICAoZ3N0X3NwZWV4ZW5jX3NpbmtfcXVlcnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpOgoJICBQYXNzIHVuaGFuZGxlZCBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YganVzdCBkcm9wcGluZwoJICB0aGVtICgjMzI2NDQ2KS4gVXBkYXRlIHF1ZXJ5IHR5cGUgYXJyYXlzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wMi0wNiAxMTo1Nzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IENvbGxlY3RwYWRzIGluIGNvcmUgZ290IGNoYW5nZWQgYW5kIG5vdyBhbHNvIGhvbGRzIGEgcmVmZXJlbmNlIHRvIGFueSBwYWQgdGhhdCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCk6CgkgIENvbGxlY3RwYWRzIGluIGNvcmUgZ290IGNoYW5nZWQgYW5kIG5vdyBhbHNvIGhvbGRzIGEKCSAgcmVmZXJlbmNlIHRvIGFueSBwYWQgdGhhdCBpcyBwYXJ0IG9mIGl0LiBGaXggcmVmY291bnQKCSAgY2hlY2tzIGluIHRlc3QgY2FzZSBhY2NvcmRpbmdseS4KCjIwMDYtMDItMDYgMTE6NDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6IEZpeCBpbmNsdWRlLCBmb3Igbm93IEdzdFRhZ0RlbXV4IGlzIGluIHRoZSBhcGV0YWcgZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgIEZpeCBpbmNsdWRlLCBmb3Igbm93IEdzdFRhZ0RlbXV4IGlzIGluIHRoZSBhcGV0YWcgZGlyLgoKMjAwNi0wMi0wNiAxMTozNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBjZGlvIHBsdWdpbiB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICBBZGQgY2RpbyBwbHVnaW4gdG8gZG9jcy4KCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICBBZGQgZ3RrLWRvYyBibHVyYi4KCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6CgkgIFRoZSBwbHVnaW4gaXMgY2FsbGVkICdjZGlvJyBub3QgJ2NkZGlvJy4KCjIwMDYtMDItMDYgMTA6NTY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgQVBFIHRhZyBkZW11eGVyICgjMzI1NjQ5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguaDoKCSAgQWRkIEFQRSB0YWcgZGVtdXhlciAoIzMyNTY0OSkuCgoyMDA2LTAyLTA1IDIyOjIyOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi86IElnbm9yZSBjaGFuZ2luZyB0aGUgR0NvbmYga2V5IHRvICIiLiBJZ25vcmUgR0NvbmYga2V5IHVwZGF0ZXMgdGhhdCBkb24ndCBhY3R1YWxseSBjaGFuZ2UgdGhlIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc2luayksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfdmlkZW9fc2luayksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc3JjKSwKCSAgKGdzdF9nY29uZl9nZXRfZGVmYXVsdF92aWRlb19zcmMpOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBJZ25vcmUgY2hhbmdpbmcgdGhlIEdDb25mIGtleSB0byAiIi4gSWdub3JlIEdDb25mIGtleSB1cGRhdGVzCgkgIHRoYXQgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIHRoZSBzdHJpbmcuCgkgIEZvciBub3csIGlnbm9yZSB0aGUgR0NvbmYga2V5IHdoZW4gdGhlIHN0YXRlIGlzID4gUkVBRFksIGFzCgkgIGl0IGJyZWFrcyBzdHJlYW1pbmcuIFNvbWV0aW1lIGl0IHdpbGwgYmUgbmljZSB0byBicmluZyB0aGUKCSAgbmV3IHNpbmsgb25saW5lIGV2ZW4gbWlkLXN0cmVhbSwgYnkgc2VuZGluZyBORVdTRUdNRU5UIGluZm8KCSAgYW5kIHBvc3NpYmx5IHByZXJvbGxpbmcuCgkgIChGaXhlcyAjMzI2NzM2KQoKMjAwNi0wMi0wNSAyMDo0Mzo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IE1ha2UgZ29vbSByZWVudHJhbnQgYnkgbW92aW5nIGFsbCBpbXBvcnRhbnQgc3RhdGljIHZhcmlhYmxlcyBpbnRvIGluc3RhbmNlIHN0cnVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJOZXcpLCAoY2FsY3VsYXRlUFhhbmRQWSksCgkgIChzZXRQaXhlbFJHQiksIChzZXRQaXhlbFJHQl8pLCAoZ2V0UGl4ZWxSR0IpLCAoZ2V0UGl4ZWxSR0JfKSwKCSAgKHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uKSwgKHpvb21GaWx0ZXJEZXN0cm95KSwKCSAgKHpvb21GaWx0ZXJGYXN0UkdCKSwgKHBvaW50RmlsdGVyKToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2luaXQpLCAoZ29vbV9zZXRfcmVzb2x1dGlvbiksCgkgIChnb29tX3VwZGF0ZSksIChnb29tX2Nsb3NlKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmg6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5jOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksCgkgIChnc3RfZ29vbV9kaXNwb3NlKSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwgKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzogKGdvb21fbGluZXMpOgoJICAqIGdzdC9nb29tL2xpbmVzLmg6CgkgIE1ha2UgZ29vbSByZWVudHJhbnQgYnkgbW92aW5nIGFsbCBpbXBvcnRhbnQgc3RhdGljIHZhcmlhYmxlcwoJICBpbnRvIGluc3RhbmNlIHN0cnVjdHVyZXMuCgkgIChGaXhlcyAjMzI5MTgxKQoKMjAwNi0wMi0wNCAxNTo0MTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogVGhpcmQgYXR0ZW1wdCwgdXNlIGdzdF9wYWRfaXNfbGlua2VkKCkgdGhpcyB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBUaGlyZCBhdHRlbXB0LCB1c2UgZ3N0X3BhZF9pc19saW5rZWQoKSB0aGlzIHRpbWUuCgoyMDA2LTAyLTA0IDEzOjMwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBBZGp1c3QgZm9yIGRhdGEgbGVuZ3RoIGluZGljYXRvcnMgd2hlbiBwYXJzaW5nIChGaXhlcyAjMzI5ODEwKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBZGp1c3QgZm9yIGRhdGEgbGVuZ3RoIGluZGljYXRvcnMgd2hlbiBwYXJzaW5nIChGaXhlcyAjMzI5ODEwKQoJICBGaXggc3R1cGlkIGJ1ZyBwYXJzaW5nIFVURi04IHRhZyB0ZXh0LgoJICBPdXRwdXQgdGFnIHN0cmluZ3Mgd2l0aCBtdWx0aXBsZSBmaWVsZHMgYXMgbXVsdGlwbGUgdGFncywgc28gdGhlCgkgIGFwcCBnZXRzIGFsbCB0aGUgZGF0YS4KCjIwMDYtMDItMDMgMjA6MDU6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBGaXhlZCBhIGJ1ZyBhZGQgaW4gbGFzdCBjb21taXQsIHdoZXJlIG5vIGV2ZW50IGlzIHNlbmQuIFRoYW5rcyBUaW0gdG8gc2hvdyBtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGEgYnVnIGFkZCBpbiBsYXN0IGNvbW1pdCwgd2hlcmUgbm8gZXZlbnQgaXMgc2VuZC4gVGhhbmtzIFRpbSB0byBzaG93IG1lLgoKMjAwNi0wMi0wMyAxODowNzozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgSnVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGl0IGNvbXBpbGUgd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnLgoKMjAwNi0wMi0wMyAxNjo1NTo0MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTAyLTAzIDEzOjA2OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBOZXZlciBvdXRwdXQgYSB0YWcgd2l0aCBhIG51bGwgY29udGVudHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAoaWQzdjJfZ2VucmVfc3RyaW5nX3RvX3RhZ2xpc3QpLAoJICAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBOZXZlciBvdXRwdXQgYSB0YWcgd2l0aCBhIG51bGwgY29udGVudHMgc3RyaW5nLgoKMjAwNi0wMi0wMiAyMTowMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogT25seSBwYXVzZSBpZiBhbGwgcGFkcyBhcmUgdW5saW5rZWQgQU5EIHdlJ3ZlIHRyaWVkIHRvIHNlbmQgZGF0YSBvbiBhbGwgb2YgdGhlbSBhdCBsZWFzdCBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCk6CgkgIE9ubHkgcGF1c2UgaWYgYWxsIHBhZHMgYXJlIHVubGlua2VkIEFORCB3ZSd2ZSB0cmllZCB0byBzZW5kIGRhdGEKCSAgb24gYWxsIG9mIHRoZW0gYXQgbGVhc3Qgb25jZS4KCjIwMDYtMDItMDIgMTI6Mjk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1ha2UgbG9vcCBmdW5jdGlvbi90YXNrIHBhdXNlIGl0c2VsZiB3aGVuIGFsbCBzb3VyY2UgcGFkcyBhcmUgdW5saW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfYWxsX3NvdXJjZV9wYWRzX3VubGlua2VkKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1ha2UgbG9vcCBmdW5jdGlvbi90YXNrIHBhdXNlIGl0c2VsZiB3aGVuIGFsbCBzb3VyY2UgcGFkcyBhcmUKCSAgdW5saW5rZWQuCgoyMDA2LTAyLTAyIDEwOjQ3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIG5ldyBmdW5jdGlvbnMgZnJvbSBjb3JlIHRvIHJlbmRlciBhIGJpbiBmcm9tIGEgc3RyaW5nLiBGaXhlcyBidWlsZC4gVXAgcmVxdWlyZW1lbnRzIHRvIGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl9mcm9tX2tleSk6CgkgIFVzZSBuZXcgZnVuY3Rpb25zIGZyb20gY29yZSB0byByZW5kZXIgYSBiaW4gZnJvbSBhCgkgIHN0cmluZy4gRml4ZXMgYnVpbGQuIFVwIHJlcXVpcmVtZW50cyB0byBjb3JlIENWUy4KCjIwMDYtMDItMDEgMTE6MDE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IERvbid0IHB1c2ggYnVmZmVycyBpbnRvIHRoZSBhZGFwdGVyIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHB1c2ggZG93bnN0cmVhbSBhZ2FpbiB3aXRob3V0IGZyYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgRG9uJ3QgcHVzaCBidWZmZXJzIGludG8gdGhlIGFkYXB0ZXIgdGhhdCB3ZSBhcmUgZ29pbmcgdG8KCSAgcHVzaCBkb3duc3RyZWFtIGFnYWluIHdpdGhvdXQgZnJhbWluZyBhbnl3YXkuIEFsc28sIHRoZQoJICBhZGFwdG9yIHRha2VzIG93bmVyc2hpcCBvZiBidWZmZXJzIHB1dCBpbnRvIGl0IChmaXhlcwoJICBhdXBhcnNlIHB1c2hpbmcgaW52YWxpZCBidWZmZXJzIGZvciAuYXUgZmlsZXMgd2l0aAoJICBBRFBDTSBjb250ZW50cykuIEZpbmFsbHksIHNldCBjYXBzIG9uIGFsbCBvdXRnb2luZyBidWZmZXJzLgoKMjAwNi0wMS0zMCAyMzoxMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvOiBTb21lb25lIHNob3VsZCBraWNrIG15IGJ1dHQuIFJlbW92ZSBJRDN2MSB0YWdzIGZyb20gdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjEpLCAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2lkM2RlbXV4X3NlbmRfdGFnX2V2ZW50KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2MV90YWcpOgoJICBTb21lb25lIHNob3VsZCBraWNrIG15IGJ1dHQuIFJlbW92ZSBJRDN2MSB0YWdzIGZyb20gdGhlIGVuZCBvZiB0aGUKCSAgZmlsZS4KCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlcy4gU2VuZCB0aGUgVEFHIG1lc3NhZ2UgYXMgc29vbiBhcyB3ZSBjb21wbGV0ZQoJICB0eXBlZmluZGluZywgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsIHdlIHNlbmQgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgRG93bnN0cmVhbSB0YWcgZXZlbnQgaXMgc3RpbGwgc2VudCBiZWZvcmUgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMDYtMDEtMjkgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfc2V0Y2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcKCSAgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFJld3JpdGUgYSBiaXQsIG1vc3RseSB0byBmaXggZmxvdyBsb2dpYyBhbmQgdG8gbWFrZSBzZWVraW5nIHdvcmsuCgkgIEZpeCBidWZmZXIvZXZlbnQgcmVmY291bnRpbmcuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuIEFkZAoJICB3aWR0aCBvZiAzMiB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuIFVzZSBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTAxLTI3IDEyOjE3OjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvOiBDYWxsIGR2X3NldF9lcnJvcl9sb2cgKGR2X2RlY29kZXJfdCAqLCBOVUxMKTsgYWZ0ZXIgZHZfZGVjb2Rlcl9uZXcgdG8gbm90IGhhdmUgd2FyaW5ncyBmbG9vZGluZyBzdGRlcnIuIHRoaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMjcgIEphbiBHZXJiZXIgIDxqQGJvb3RsYWIub3JnPgoJICBSZXZpZXdlZCBieTogQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDYWxsIGR2X3NldF9lcnJvcl9sb2cgKGR2X2RlY29kZXJfdCAqLCBOVUxMKTsgYWZ0ZXIgZHZfZGVjb2Rlcl9uZXcKCSAgdG8gbm90IGhhdmUgd2FyaW5ncyBmbG9vZGluZyBzdGRlcnIuIHRoaXMgaXMgdGhlIHN1Z2dlc3RlZCB3YXkKCSAgYWxzbyB1c2VkIGluIGR2Z3JhYiBhbmQga2luby4gKCMzMjgzMzYpCgoyMDA2LTAxLTI3IDAxOjQzOjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBGcmVlIHRoZSBkZXZpY2UgbmFtZSBzdHJpbmcgd2hlbiBmaW5hbGlzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19zaW5rX2luaXQpLCAoZ3N0X29zc19zaW5rX2ZpbmFsaXNlKToKCSAgRnJlZSB0aGUgZGV2aWNlIG5hbWUgc3RyaW5nIHdoZW4gZmluYWxpc2VkLgoKMjAwNi0wMS0yNiAxNjoyMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCjIwMDYtMDEtMjUgMjI6MDU6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgcHV0IGZ1bmN0aW9uIGNhbGxzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKSBzdGF0ZW1lbnRzLCBvciB0aGV5J2xsIGJlIHJlcGxhY2VkIHdpdGggTk8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVtb3ZlX3NyY3BhZCk6CgkgIERvbid0IHB1dCBmdW5jdGlvbiBjYWxscyBpbiBnX3JldHVybl9pZl9mYWlsKCkgc3RhdGVtZW50cywKCSAgb3IgdGhleSdsbCBiZSByZXBsYWNlZCB3aXRoIE5PT1BzIGlmIHNvbWVvbmUgY29tcGlsZXMgd2l0aAoJICBHX0RJU0FCTEVfQ0hFQ0tTIGRlZmluZWQuCgoyMDA2LTAxLTI1IDIwOjMzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgY2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZWxvZyBzdXJnZXJ5CgoyMDA2LTAxLTI1IDE4OjIzOjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBOZXZlciB0cnVzdCBBTlkgaW5mb3JtYXRpb24gZW5jb2RlZCBpbiBhIG1lZGlhIGZpbGUsIGVzcGVjaWFsbHkgd2hlbiBpdCdzIGdpdmluZyB5b3Ugc2l6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKToKCSAgTmV2ZXIgdHJ1c3QgQU5ZIGluZm9ybWF0aW9uIGVuY29kZWQgaW4gYSBtZWRpYSBmaWxlLCBlc3BlY2lhbGx5CgkgIHdoZW4gaXQncyBnaXZpbmcgeW91IHNpemVzLiAoRml4ZXMgIzMyODQ1MikKCjIwMDYtMDEtMjQgMTg6MDM6NDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIHdyaXR0ZW4gYnkgS2FpIFZlaG1hbmVuIDxrYWkudmVobWFuZW5Abm9raWEuY29tPiBhcHBsaWVkLiBTZWUgYnVnICMzMjUxNDguCgoyMDA2LTAxLTI0IDExOjU4OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBJZiBzYW1wbGVfc2l6ZSBpcyBhdmFpbGFibGUsIHVzZSB0aGF0IGZvciB0aGUgc2FtcGxlcycgZHVyYXRpb24gaW4KCSAgdGhlIGluZGV4LiBUaGlzIGVuYWJsZXMgc2luZ2xlIGZyYW1lIHN0cmVhbXMgdG8gd29yayAoYW5kIEkgaW1hZ2luZQoJICBmaXhlcyBzb21lIG90aGVyIGNhc2VzKS4KCSAgVGVzdGVkIG9uIHRlc3RzdWl0ZSwgbm8gcmVncmVzc2lvbi4KCjIwMDYtMDEtMjMgMTg6Mzk6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBBZGRlZCByZWNvZ25pdGlvbiBvZiBSZWFsIEF1ZGlvIGFuZCBWaWRlbyBzdHJlYW1zIGluIG1hdHJvc2thIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZGVkIHJlY29nbml0aW9uIG9mIFJlYWwgQXVkaW8gYW5kIFZpZGVvIHN0cmVhbXMgaW4gbWF0cm9za2EgZGVtdXhlci4KCjIwMDYtMDEtMjMgMTg6Mzc6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IENvbnRyYXJ5IHRvIHdoYXQgdGhlIGNvbnN0IGNoYXIgaW4gdGhlIGxhbWUgQVBJIG1pZ2h0IHN1Z2dlc3QsIGxhbWUgZXhwZWN0cyB1cyB0byBrZWVwIHRoZSBzdHJpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfZmluYWxpemUpLCAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfbGFtZV9pbml0KSwgKGFkZF9vbmVfdGFnKSwgKGdzdF9sYW1lX3NldF9tZXRhZGF0YSk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBDb250cmFyeSB0byB3aGF0IHRoZSBjb25zdCBjaGFyIGluIHRoZSBsYW1lIEFQSSBtaWdodCBzdWdnZXN0LAoJICBsYW1lIGV4cGVjdHMgdXMgdG8ga2VlcCB0aGUgc3RyaW5ncyB3ZSBwYXNzIHRvIGlkM3RhZ19zZXRfZm9vKCkKCSAgYXJvdW5kOyBpdCBkb2Vzbid0IGZyZWUgdGhlbSBlaXRoZXIgdGhvdWdoLCBzbyB3ZSBoYXZlIHRvIHN0b3JlCgkgIHRoZW0gc29tZXdoZXJlIGFuZCBmcmVlIHRoZW0gbGF0ZXIgd2hlbiB3ZSBjYW4gYmUgc3VyZSBsYW1lCgkgIGRvZXNuJ3QgbmVlZCB0aGVtIGFueSBsb25nZXIuCgoyMDA2LTAxLTIzIDE1OjEwOjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6IF8gVlAzMSA6IHZpZGVvL3gtdnAzIF8gQVZESiA6IGltYWdlL2pwZWcgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOgoJICBfIFZQMzEgOiB2aWRlby94LXZwMwoJICBfIEFWREogOiBpbWFnZS9qcGVnCgkgIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZHYsIHN5c3RlbXN0cmVhbT0oYm9vbGVhbilmYWxzZQoJICBfIDB4NmQ3MzAwMTcgOiBhdWRpby94LWFkcGNtLCBsYXlvdXQ9KHN0cmluZylxdWlja3RpbWUKCjIwMDYtMDEtMjMgMTU6MDI6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IGRvbid0IHBhc3MgYW4gdW5pbml0aWFsaXNlZCBzdHJpbmcgcG9pbnRlciB0byBsYW1lIGlmIHdlIGRvbid0IGtub3cgaG93IHRvIGhhbmRsZSB0aGUgdGFnIHR5cGUsIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoYWRkX29uZV90YWcpOgoJICBGaXggaGFuZGxpbmcgb2YgR1NUX1RBR19EQVRFICgjMzExNjc5KSwgZG9uJ3QgcGFzcyBhbgoJICB1bmluaXRpYWxpc2VkIHN0cmluZyBwb2ludGVyIHRvIGxhbWUgaWYgd2UgZG9uJ3Qga25vdwoJICBob3cgdG8gaGFuZGxlIHRoZSB0YWcgdHlwZSwgYW5kIGZpeCBtaW5vciBtZW1vcnkgbGVhay4KCjIwMDYtMDEtMjMgMTQ6MzI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlbW92ZSBlcnJhbnQgYnJlYWsgc3RhdGVtZW50LCBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgR0NDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgUmVtb3ZlIGVycmFudCBicmVhayBzdGF0ZW1lbnQsIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aAoJICBvbGRlciBHQ0MuCgoyMDA2LTAxLTIzIDEyOjA0OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWVudGlvbiB0aGF0IG15IGxhc3QgY29tbWl0IGZpeGVzICMzMjgyNDEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lbnRpb24gdGhhdCBteSBsYXN0IGNvbW1pdCBmaXhlcyAjMzI4MjQxCgoyMDA2LTAxLTIzIDExOjA2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3N1bmF1ZGlvLzogRXhwb3J0IGZ1bmN0aW9ucyB0aGF0IGFyZSBuZWVkZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUsIG1ha2VzIHRoZSBtaXhlciBhY3R1YWxseSB3b3JrOyBhZGp1c3QgbWFnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCk6CgkgIEV4cG9ydCBmdW5jdGlvbnMgdGhhdCBhcmUgbmVlZGVkIGluIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlLAoJICBtYWtlcyB0aGUgbWl4ZXIgYWN0dWFsbHkgd29yazsgYWRqdXN0IG1hZ2ljIG1pbmltdW0gYnVmZmVyLXRpbWUKCSAgdmFsdWUgZnJvbSAzbXMgdG8gNW1zIHRvIHdvcmsgYXJvdW5kIHN0dXR0ZXJpbmcgZHVyaW5nIG1wMwoJICBwbGF5YmFjayAoIzMyNzc2NSkuCgoyMDA2LTAxLTIzIDEwOjQ0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggcG9zc2libGUgZGVhZGxvY2sgaW4gbWF0cm9za2EgbXV4ZXIgKCMzMjc4MjUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBwb3NzaWJsZSBkZWFkbG9jayBpbiBtYXRyb3NrYSBtdXhlciAoIzMyNzgyNSkuCgoyMDA2LTAxLTIzIDA5OjU5OjAzICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBDODkgZml4ZXM6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgQzg5IGZpeGVzOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgYW5kCgkgIG1ha2UgZ2NjLTIuOXggaGFwcHkgKCMzMjgyNjQ7IHBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlcgoJICA8amVuc2dyIGF0IGdteCBkb3QgbmV0PikuCgoyMDA2LTAxLTIzIDA5OjIyOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IFJld3JpdGUgcGFyc2luZyBvZiB0ZXh0IHRhZ3MgdG8gaGFuZGxlIG11bHRpcGxlIE5VTEwgdGVybWluYXRlZCBzdHJpbmdzLiBQYXJzZSBudW1lcmljIGdlbnJlIHN0cmluZ3MgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKSwgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAoaWQzdjJfYXJlX2RpZ2l0cyksCgkgIChpZDN2Ml9nZW5yZV9zdHJpbmdfdG9fdGFnbGlzdCksIChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKSwgKGZyZWVfdGFnX3N0cmluZ3MpOgoJICBSZXdyaXRlIHBhcnNpbmcgb2YgdGV4dCB0YWdzIHRvIGhhbmRsZSBtdWx0aXBsZSBOVUxMIHRlcm1pbmF0ZWQKCSAgc3RyaW5ncy4gUGFyc2UgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIGFuZCBJRDN2MiB0eXBlCgkgICIoMykoNilBbHRlcm5hdGl2ZSIgc3R5bGUgZ2VucmUgc3RyaW5ncy4KCSAgUGFyc2UgZGF0ZXMgdGhhdCBhcmUgb25seSBZWVlZIG9yIFlZWVktbW0gZm9ybWF0LgoKMjAwNi0wMS0yMSAxMTo0Mzo1MyArMDAwMCAgRmFicml6aW8gPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgRml4IDhiaXQgY2FzZSAoIzMyNzEzMywgYmFzZWQgb24gcGF0Y2ggYnk6IEZhYnJpemlvCgkgIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoJICBBbHNvLCAiR19MSVRUTEVfRU5ESUFOIiBhbmQgIkdfQklHX0VORElBTiIgYXJlIG5vdAoJICB2YWxpZCBsaXRlcmFscyBmb3IgZW5kaWFubmVzcyBpbiBjYXBzIHN0cmluZ3MsCgkgIG9ubHkgIkxJVFRMRV9FTkRJQU4iIGFuZCAiQklHX0VORElBTiIgYXJlIHZhbGlkLgoKMjAwNi0wMS0yMCAxNTowNjoyOCArMDAwMCAgQ2hyaXN0b3BoIEJ1cmdoYXJkdCA8aGF3a2VzQHdlYi5kZT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSBsaWJvaWwsIG90aGVyd2lzZSBvdXIgb2lsIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCk6CgkgIERvbid0IGZvcmdldCB0byBpbml0aWFsaXplIGxpYm9pbCwgb3RoZXJ3aXNlIG91ciBvaWwgZnVuY3Rpb25zCgkgIHdpbGwgY3Jhc2ggKGZpeGVzICMzMjc4NzE7IHBhdGNoIGJ5OiBDaHJpc3RvcGggQnVyZ2hhcmR0CgkgIDxoYXdrZXMgYXQgd2ViIGRvdCBkZT4pLgoKMjAwNi0wMS0xOSAyMTo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgKGxhc3QgZW50cnkgbWF5IGhhdmUgYmVlbiBzbGlnaHRseSBtaXNsZWFkaW5nKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgKGxhc3QgZW50cnkgbWF5IGhhdmUgYmVlbiBzbGlnaHRseSBtaXNsZWFkaW5nKQoKMjAwNi0wMS0xOSAyMTowMDo1MCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgY29uZmlndXJlLmFjOiBqdXN0IGxpa2UgaW4gdGhlIGNvcmUgYW5kIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1aWxkIG9uIFNvbGFyaXMgKGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBsYWluIEFTX0xJQlRPT0xfVEFHUyBpbnN0ZWFkIG9mIEFTX0xJQlRPT0xfVEFHUyhbQ1hYXSksIGp1c3QKCSAgbGlrZSBpbiB0aGUgY29yZSBhbmQgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVpbGQgb24gU29sYXJpcyAoZml4ZXMKCSAgIzMyNjY4MzsgcGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPikKCjIwMDYtMDEtMTkgMDA6MTA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby86IEZpeCBidWlsZCBmb3IgbGliY2RpbyB2ZXJzaW9ucyA+PSA3NjsgZ2l2ZSBzbGlnaHRseSBsb3dlciByYW5rIHRoYW4gY2RwYXJhbm9pYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19nZXRfY2R0ZXh0KToKCSAgRml4IGJ1aWxkIGZvciBsaWJjZGlvIHZlcnNpb25zID49IDc2OyBnaXZlIHNsaWdodGx5IGxvd2VyIHJhbmsKCSAgdGhhbiBjZHBhcmFub2lhLgoKMjAwNi0wMS0xOCAxOTozMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbGliY2RpbyBjZGRhIHNvdXJjZSwgZm9ybWVybHkga25vd24gYXMgY2RkYXNyYywgbm93IGtub3duIGFzIGNkaW9jZGRhc3JjIChmaXhlcyAjMzIzMzI3KS4gU2hvdWxkIGFsc28gcmVhZCBDRC1URS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5oOgoJICBQb3J0IGxpYmNkaW8gY2RkYSBzb3VyY2UsIGZvcm1lcmx5IGtub3duIGFzIGNkZGFzcmMsIG5vdyBrbm93biBhcwoJICBjZGlvY2RkYXNyYyAoZml4ZXMgIzMyMzMyNykuIFNob3VsZCBhbHNvIHJlYWQgQ0QtVEVYVCBpZiBhdmFpbGFibGUsCgkgIGJ1dCB0aGF0J3Mgbm90IHRlc3RlZCAoZml4ZXMgIzMxNzY1OCkuCgoyMDA2LTAxLTE4IDE5OjA4OjA4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBjb252ZXJzaW9uIGZyb20gVElNRSB0byBCWVRFUyBmb3JtYXQgKGZpeGVzICMzMjY4NjQ7CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KToKCSAgRml4IGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIEJZVEVTIGZvcm1hdCAoZml4ZXMgIzMyNjg2NDsKCSAgcGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4pCgoyMDA2LTAxLTE4IDE4OjU0OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCjIwMDYtMDEtMTcgMTY6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlCgkgIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoKMjAwNi0wMS0xNiAxMDoyMzo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBsb3ZlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBsb3ZlCgoyMDA2LTAxLTE1IDIwOjIxOjQ4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBjb21waWxhdGlvbiBvZiBpZDNkZW11eCB3aGVuIHpsaWIgaXMgbm90IHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBGaXggY29tcGlsYXRpb24gb2YgaWQzZGVtdXggd2hlbiB6bGliIGlzIG5vdCBwcmVzZW50LgoJICAoRml4ZXMgIzMyNjYwMjsgcGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoKQoKMjAwNi0wMS0xNSAxNDoxMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvTWFrZWZpbGUuYW06IG90aGVyd2lzZSBidWlsZCB3aWxsIGZhaWwgZm9yIGZvbGtzIHdpdGggbGliZXNkIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeCAoIzMyNzAwOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgIEFkZCAkKEVTRF9DRkxBR1MpLCBvdGhlcndpc2UgYnVpbGQgd2lsbCBmYWlsIGZvciBmb2xrcwoJICB3aXRoIGxpYmVzZCBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXggKCMzMjcwMDkpLgoKMjAwNi0wMS0xMyAxOToyOToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCjIwMDYtMDEtMTMgMTk6MjU6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJICByZWxlYXNpbmcgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4xCgoyMDA2LTAxLTEzIDE4OjM3OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogZml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjE4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogV2ltIFRheW1hbnMKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgZml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjE4CgoyMDA2LTAxLTEzIDE4OjM1OjAwICswMDAwICBNaWtlIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjEyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTEzICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICBwYXRjaCBieTogTWlrZSBTbWl0aAoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9sZXZlbF9tZXNzYWdlX2FwcGVuZF9jaGFubmVsKToKCSAgRml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjEyCgoyMDA2LTAxLTExIDExOjM5OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogcHJlcmVsZWFzaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcHJlcmVsZWFzaW5nCgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmIucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDYtMDEtMTEgMTE6MDQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIENsb3NlcyAjMzI2NTI0CgoyMDA2LTAxLTEwIDEyOjM4OjU5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRG9uJ3QgbGVhayBmaWx0ZXIgYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF9kaXNwb3NlKToKCSAgRG9uJ3QgbGVhayBmaWx0ZXIgYXJyYXlzLgoKMjAwNi0wMS0wOSAxNzowNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgYWRkIFN1biBBdWRpbyBwbHVnaW4uIFZlcmlmaWVkIHRoYXQgbm90aGluZyBicmVha3MgYW5kIHRoYXQgbWFrZSBjaGVjayB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBTdW4gQXVkaW8gcGx1Z2luLiBWZXJpZmllZCB0aGF0IG5vdGhpbmcgYnJlYWtzIGFuZCB0aGF0IG1ha2UgY2hlY2sgd29ya3MuCgkgIERvbid0IHRoaW5rIHRoZSBkb2NzIGdldHMgcHJvcGVybHkgYnVpbHQgeWV0LCBidXQgSSBkb24ndCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRvIGVuYWJsZSB0aGF0LgoKMjAwNi0wMS0wNyAyMDowMTowOSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC86IEFsbG93IHVkcHNyYyBhbmQgZHludWRwc2luayB0byB0YWtlIGEgc29ja2ZkIGFzIGEgcGFyYW1ldGVyLiBGb3IgdWRwc3JjLCBvdmVycmlkZXMgdGhlIHBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wMS0wNyAgUGhpbGlwcGUgS2hhbGFmICA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBBbGxvdyB1ZHBzcmMgYW5kIGR5bnVkcHNpbmsgdG8gdGFrZSBhIHNvY2tmZCBhcyBhIHBhcmFtZXRlci4gRm9yIHVkcHNyYywKCSAgb3ZlcnJpZGVzIHRoZSBwb3J0IG9yIG11bHRpY2FzdCBwYXJhbWV0ZXJzLiBGaXhlcyBidWdzICMzMjMwMjEuCgoyMDA2LTAxLTA2IDE2OjI4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogQWRkIG5ldyBnY29uZmF1ZGlvc3JjIGFuZCBnY29uZnZpZGVvc3JjIGVsZW1lbnRzIChuZWVkZWQgZm9yIGdub21lLXNvdW5kLXJlY29yZGVyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGNiX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoY2JfdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIEFkZCBuZXcgZ2NvbmZhdWRpb3NyYyBhbmQgZ2NvbmZ2aWRlb3NyYyBlbGVtZW50cwoJICAobmVlZGVkIGZvciBnbm9tZS1zb3VuZC1yZWNvcmRlcikuCgoyMDA2LTAxLTA2IDExOjQ2OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IEFkZCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBmb3IgcHJvcGVyIGRlY29kZWJpbiBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBBZGQgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgZm9yIHByb3BlciBkZWNvZGViaW4gYmVoYXZpb3VyLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfY29tbWVudF9mcmFtZSksCgkgIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBGYWlsdXJlIHRvIGRlY29kZSBzb21lIHRhZ3MgaXMgbm90IGEgR1NUX0VSUk9SKCkgYnV0IGEKCSAgR1NUX1dBUk5JTkcoKQoJICBXaGVuIGl0ZXJhdGluZyBvdmVyIGEgY2h1bmsgb2YgdGV4dCwgY2hlY2sgdGhhdCB3ZSBoYXZlbid0IGdvbmUgdG9vCgkgIGZhci4KCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA2LTAxLTA1IDE3OjAzOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgoyMDA2LTAxLTA0IDE3OjI4OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvOiBGaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBGaXggbGVha3MuCgoyMDA2LTAxLTAyIDE5OjM4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBEb24ndCBnX2Fzc2VydCgpIHdoZXJlIHdlIHNob3VsZCBqdXN0IHJldHVybiBGQUxTRTsgcmVtb3ZlIHVubmVjZXNzYXJ5IGdfYXNzZXJ0KCk7IGluaXRpYWxpemUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSksCgkgIChnc3RfZmxhY19kZWNfY29udmVydF9zcmMpLCAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZ19hc3NlcnQoKSB3aGVyZSB3ZSBzaG91bGQganVzdCByZXR1cm4gRkFMU0U7IHJlbW92ZQoJICB1bm5lY2Vzc2FyeSBnX2Fzc2VydCgpOyBpbml0aWFsaXplIHNvbWUgZmllbGRzIHByb3Blcmx5IGluCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiAoZml4ZXMgIzMyNTUwNCkuIEFsc28sIHVzZQoJICBHU1RfREVCVUdfT0JKRUNUIGluIHR3byBtb3JlIHBsYWNlcy4KCjIwMDUtMTItMzAgMTU6NTE6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogYWxzbyByZW1vdmUgc21vb3Rod2F2ZSdzIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgYWxzbyByZW1vdmUgc21vb3Rod2F2ZSdzIE1ha2VmaWxlLmFtCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBmaXggcGx1Z2luIGRvY3MKCjIwMDUtMTItMzAgMTU6Mzk6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3Ntb290aHdhdmUvLmdpdGlnbm9yZToKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL1JFQURNRToKCSogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgd2VudCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgd2VudCBiYWQKCjIwMDUtMTItMzAgMTU6MzQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiBhZGRlZCBtaXNzaW5nIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBhZGRlZCBtaXNzaW5nIE1ha2VmaWxlLmFtCgoyMDA1LTEyLTMwIDE1OjI4OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBtb3ZlZCBsZXZlbC1leGFtcGxlIHRvIHRlc3RzL2V4YW1wbGVzL2xldmVsLWV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgbW92ZWQgbGV2ZWwtZXhhbXBsZSB0byB0ZXN0cy9leGFtcGxlcy9sZXZlbC1leGFtcGxlCgkgICogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL2RlbW8uYzogKG1haW4pOgoJICAqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9wbG90LmM6IChtYWluKToKCSAgc29tZSBpbml0aWFsIGZpeGVzCgoyMDA1LTEyLTI5IDE2OjM2OjE5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBUcmFjayBwYWNrZXRzIHNlbnQgcGVyIGNsaWVudCBpbiBhZGRpdGlvbiB0byBieXRlcyBzZW50OyBwcm92aWRlIHRoaXMgaW5mbyB0aHJvdWdoIGdldC1zdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBUcmFjayBwYWNrZXRzIHNlbnQgcGVyIGNsaWVudCBpbiBhZGRpdGlvbiB0byBieXRlcyBzZW50OyBwcm92aWRlCgkgIHRoaXMgaW5mbyB0aHJvdWdoIGdldC1zdGF0cyBzaWduYWwKCjIwMDUtMTItMjkgMTE6MjY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IENhbid0IHVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgb24gYSBHc3RBZGFwdGVyICgjMzI1MTkxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Rpc3Bvc2UpOgoJICBDYW4ndCB1c2UgZ3N0X29iamVjdF91bnJlZigpIG9uIGEgR3N0QWRhcHRlciAoIzMyNTE5MSkuCgoyMDA1LTEyLTI4IDE4OjU1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IElmIGEgYnJva2VuIHRhZyBoYXMgMCBieXRlcyBwYXlsb2FkLCBhdCBsZWFzdCBzdGlsbCBza2lwIHRoZSAxMCBieXRlIGhlYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICBJZiBhIGJyb2tlbiB0YWcgaGFzIDAgYnl0ZXMgcGF5bG9hZCwgYXQgbGVhc3Qgc3RpbGwgc2tpcAoJICB0aGUgMTAgYnl0ZSBoZWFkZXIKCjIwMDUtMTItMjIgMTU6MDA6NDEgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvOiBNYWtpbmcgdGhlc2UgZGVwYXlsb2FkZXJzIChIMjYzKyBhbmQgbXBlZzQgdmlkZW8pIGluaGVyaXQgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0yMiAgUGhpbGlwcGUgS2hhbGFmICA8YnVyZ2VyQHNwZWVkeS5vcmc+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIE1ha2luZyB0aGVzZSBkZXBheWxvYWRlcnMgKEgyNjMrIGFuZCBtcGVnNCB2aWRlbykgaW5oZXJpdCBmcm9tCgkgIFJ0cEJhc2VEZXBheWxvYWRlckNsYXNzLiBGaXhlcyBidWdzICMzMjM5MjIgYW5kICMzMjM5MDguCgoyMDA1LTEyLTIxIDE3OjE1OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuKjogUmVnZW5lcmF0ZSB0aGUgcGx1Z2luIGhpZWFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFJlZ2VuZXJhdGUgdGhlIHBsdWdpbiBoaWVhcmNoeS4KCjIwMDUtMTItMjEgMTU6MjQ6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGlkM2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0yMSAgSmFuIFNjaG1pZHQgIDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2lkM2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgaWQzZGVtdXguCgkgIERvbid0IGZhaWwgaWYgdGhlIGZpcnN0IGJ1ZmZlciBpcyBub3QgYXQgb2Zmc2V0IDAsIGp1c3QKCSAgYXR0ZW1wdCB0byB0eXBlZmluZCBhbmQgZG8gcGFzcyB0aHJvdWdoCgkgIFJlbmFtZSB0aGUgZ3N0X3R5cGUgZnVuY3Rpb24gZnJvbSBnc3RfZ3N0X2lkM2RlbXV4Li4KCjIwMDUtMTItMjAgMTI6NDQ6MjUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IENvbGxlY3Qgc3RhdGlzdGljczsgcmV0dXJuIHRoZW0gZnJvbSBnZXRfc3RhdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQ29sbGVjdCBzdGF0aXN0aWNzOyByZXR1cm4gdGhlbSBmcm9tIGdldF9zdGF0cy4KCjIwMDUtMTItMTkgMTU6NDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFN0dXBpZCBzaWduZWRuZXNzIGlzc3VlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBTdHVwaWQgc2lnbmVkbmVzcyBpc3N1ZS4uLgoKMjAwNS0xMi0xOSAxNToxOTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NoYWluKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKToKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgR2V0IHNvbWV0aGluZyBmcm9tIHRoZSBwZWVyIHBhZCBvbmNlIHdlJ3ZlIGNoZWNrZWQgaWYgdGhlcmUgaXMgYSBwZWVyIHBhZC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBDb3VwbGUgb2YgZml4ZXMKCjIwMDUtMTItMTkgMTU6MDY6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENvbnN0cnVjdCBpbmRleCBmb3IgaW5kZXhsZXNzIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgQ29uc3RydWN0IGluZGV4IGZvciBpbmRleGxlc3MgZmlsZXMuCgkgIE1ha2Ugc3VyZSBwYWQvYnVmZmVycyBhcmUgY29ycmVjdGx5IHJlc2V0IHRvIE5VTEwgb25jZSB3ZSBkb24ndCBuZWVkCgkgIHRoZW0gYW55bW9yZSwgZWxzZSB3ZSBnZXQgbG92ZWx5IHNlZ2ZhdWx0cy9hc3NlcnRpb25zLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBZZXMsIHlvdSBjYW4gaGF2ZSA5NktIeiBhdWRpbyBhbmQgd21hIGluIHdhdiA6KAoKMjAwNS0xMi0xOCAxNToxNDo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBvcHRpb25hbCBkZXBlbmRlbmN5IG9uIHpsaWIgZm9yIGlkM2RlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIG9wdGlvbmFsIGRlcGVuZGVuY3kgb24gemxpYiBmb3IgaWQzZGVtdXgKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfZ3N0X2lkM2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pZDNkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X3Jlc2V0KSwgKGdzdF9pZDNkZW11eF9pbml0KSwgKGdzdF9pZDNkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pZDNkZW11eF9yZW1vdmVfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksIChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfaWQzZGVtdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF9pZDNkZW11eF9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjEpLCAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjIpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2lkM2RlbXV4X3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9pZDNkZW11eF9zcmNfY2hlY2tnZXRyYW5nZSksIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSksCgkgIChnc3RfaWQzZGVtdXhfc3JjX2dldHJhbmdlKSwgKGdzdF9pZDNkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2lkM2RlbXV4X3BhZF9xdWVyeSksIChnc3RfaWQzZGVtdXhfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKHNpbXBsZV9maW5kX3BlZWspLCAoc2ltcGxlX2ZpbmRfc3VnZ2VzdCksCgkgIChnc3RfaWQzZGVtdXhfZG9fdHlwZWZpbmQpLCAoZ3N0X2lkM2RlbXV4X3NlbmRfdGFnX2V2ZW50KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAocmVhZF9zeW5jaF91aW50KSwKCSAgKGlkM2RlbXV4X3JlYWRfaWQzdjFfdGFnKSwgKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lX2hkcl9zaXplKSwgKGNvbnZlcnRfZmlkX3RvX3YyNDApLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtZnJhbWVzLnR4dDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKSwgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFsbCBuZXcgTEdQTCBpZDMgZGVtdXhlci4gQ2FuIHVzZSB6bGliIGZvciBjb21wcmVzc2VkIGZyYW1lcywKCSAgb3RoZXJ3aXNlIGl0IGRpc2NhcmRzIHRoZW0uIFdvcmtzIG9uIG15IHRlc3QgZmlsZXMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfbG9vcCk6CgkgIERvbid0IHNlbmQgRU9TIHRvIGEgbm9uLWV4aXN0aW5nIHNyY3BhZAoJICBUaGUgZGVidWcgY2F0ZWdvcnkgY2FuIGJlIHN0YXRpYwoKMjAwNS0xMi0xNyAxNzo0ODozOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOiBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCB2ZXJ0aWNhbCBzeW5jIGFuZAoJICBjb2xvciBiYWxhbmNlIGludGVyZmFjZS4KCjIwMDUtMTItMTYgMjE6NTc6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX29wZW5fYXVkaW8pOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfcHJlcGFyZSk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoKMjAwNS0xMi0xNiAxOTozMjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVc2UgR3N0U2VnbWVudCB0byBpbXBsZW1lbnQgbW9yZSBzZWVraW5nIGZlYXR1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfb3RoZXIpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVc2UgR3N0U2VnbWVudCB0byBpbXBsZW1lbnQgbW9yZSBzZWVraW5nIGZlYXR1cmVzLgoKMjAwNS0xMi0xNiAxMjoyNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgoyMDA1LTEyLTE2IDEwOjEyOjQ5ICswMDAwICBCZW5qYW1pbiBQaW5lYXUgPGJlbi5waW5lYXVAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQWRkIDxuZXRpbmV0L2luLmg+IGluY2x1ZGUgYW5kIG1vdmUgPGFycGEvaW5ldC5oPiBpbmNsdWRlIHRvIG1ha2UgdGhpbmdzIHdvcmsgb24gT3BlbkJTRCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIEFkZCA8bmV0aW5ldC9pbi5oPiBpbmNsdWRlIGFuZCBtb3ZlIDxhcnBhL2luZXQuaD4gaW5jbHVkZQoJICB0byBtYWtlIHRoaW5ncyB3b3JrIG9uIE9wZW5CU0QgYXMgd2VsbCAoZml4ZXMgIzMyMzcxNzsKCSAgcGF0Y2ggYnk6IEJlbmphbWluIFBpbmVhdSkKCjIwMDUtMTItMTYgMDk6NTk6MjEgKzAwMDAgIGdjb2NhdHJlQGdtYWlsLmNvbSA8Z2NvY2F0cmVAZ21haWwuY29tPgoKCSAgZXh0L3dhdnBhY2svOiBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlCgkgIGNhcHMgKGZpeGVzICMzMjI5NzM7IHBhdGNoIGJ5OiBnY29jYXRyZUBnbWFpbC5jb20pLiBBbHNvCgkgIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZ29uZSBpbiAwLjEwLgoKMjAwNS0xMi0xNCAyMDowNTo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBTZXQgY2xvY2sgcmF0ZSB0byBiZSBmaXhlZCBpbiA4MDAwLiBJdCBmaXhlcyBidWcgIzMyNDAxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldCBjbG9jayByYXRlIHRvIGJlIGZpeGVkIGluIDgwMDAuIEl0IGZpeGVzIGJ1ZyAjMzI0MDEyLgoKMjAwNS0xMi0xNCAxODowNzoxNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC86IEZpeGVkIHBheWxvYWQgcmFuZ2UgaW4gcGF5bG9kZXIgY2Fwcy4gUmVtb3ZlZCBwYXlsb2FkIHJhbmdlIGNvbXBsZXRseSBmcm9tIGRlcGF5bG9hZGVycyBhcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNCAgUGhpbGlwcGUgS2hhbGFmICA8YnVyZ2VyQHNwZWVkeS5vcmc+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL1JFQURNRToKCSAgRml4ZWQgcGF5bG9hZCByYW5nZSBpbiBwYXlsb2RlciBjYXBzLiBSZW1vdmVkIHBheWxvYWQgcmFuZ2UgY29tcGxldGx5IGZyb20KCSAgZGVwYXlsb2FkZXJzIGFzIHRoZXkgZG9uJ3QgcmVxdWlyZSBwYXlsb2FkIHR5cGUgaW4gdGhlaXIgY2Fwcy4gSW4gZWZmZWN0LAoJICB0aGVyZSBpc24ndCBhbnkgc3BlY2lmaWMgcGF5bG9hZCB0eXBlIGZvciBhbnkgZ2l2ZW4gY29kZWMsIG9ubHkgc3VnZ2VzdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjMzI0MDExLgoKMjAwNS0xMi0xMyAyMTo1ODo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IENvZGUgY2xlYW51cCBhbmQgcmUtZW5hYmxpbmcgcXVldWVkIHRpbWUgdmFsaWRpdHkgY2hlY2sgZm9yIGNvcnJlY3QgRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOiBDb2RlIGNsZWFudXAgYW5kIHJlLWVuYWJsaW5nCgkgIHF1ZXVlZCB0aW1lIHZhbGlkaXR5IGNoZWNrIGZvciBjb3JyZWN0IEVPUyBoYW5kbGluZy4KCjIwMDUtMTItMTMgMTc6MTg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBhbmQgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGFuZCBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMi0xMyAxMDo0NTowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IElmIHRoZSBzcGVlZCBvZiB0aGUgZmlsZSBpcyBudWxsIGluIHRoZSBoZWFkZXIsIHNldCB0aGUgZnJhbWVfdGltZSB0byB0aGUgZGVmYXVsdCBzZXR0aW5nIG9mIEdTVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgIElmIHRoZSBzcGVlZCBvZiB0aGUgZmlsZSBpcyBudWxsIGluIHRoZSBoZWFkZXIsIHNldCB0aGUgZnJhbWVfdGltZSB0byB0aGUgZGVmYXVsdAoJICBzZXR0aW5nIG9mIEdTVF9TRUNPTkQgLyA3MC4gV2hpY2ggaXMgdGhlIGRlZmF1bHQgZnJhbWVfZGVsYXkgZm9yIC5mbGkgZmlsZXMgYXMKCSAgc3RhdGVkIGluIHRoaXMgZG9jdW1lbnQgOiBodHRwOi8vd3d3LmNvbXB1cGhhc2UuY29tL2ZsaWMuaHRtCgkgIFdvdWxkIGJlIG5pY2UgdG8gaGF2ZSB0aGUgdGltZSBjb252ZXJzaW9uIGRvbmUgcHJvcGVybHkgdG9vCgkgIChkdXJhdGlvbiA9IGZseGgtPmZyYW1lcyAqIGZseGRlYy0+ZnJhbWVfdGltZSkKCjIwMDUtMTItMTIgMjI6Mjk6MzQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkaW5nIGRvY3VtZW50YXRpb24gZm9yIHZpZGVvbWl4ZXIgb24gbXkgd2F5IHdpdGggYSBmdW5ueSBzYW1wbGUgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEFkZGluZwoJICBkb2N1bWVudGF0aW9uIGZvciB2aWRlb21peGVyIG9uIG15IHdheSB3aXRoIGEgZnVubnkgc2FtcGxlCgkgIHBpcGVsaW5lLgoKMjAwNS0xMi0xMiAyMTo0MzowMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBjYXBzIG5lZ290aWF0aW9uLiAoIzMyMzg5NikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBGaXggY2FwcyBuZWdvdGlhdGlvbi4gKCMzMjM4OTYpCgoyMDA1LTEyLTEyIDE4OjE0OjU4ICswMDAwICBBcndlZCB2LiBNZXJrYXR6IDx2Lm1lcmthdHpAZ214Lm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFNldCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gYXVkaW8gbGFjZXMsIGZpeGVzIHBsYXliYWNrIG9mIG1wMyBmcm9tIG1hdHJvc2thLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0IGNvcnJlY3QgdGltZXN0YW1wcyBvbiBhdWRpbyBsYWNlcywgZml4ZXMgcGxheWJhY2sgb2YgbXAzIGZyb20gbWF0cm9za2EuCgoyMDA1LTEyLTEyIDEwOjQwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9sb29wKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19zcmNfcXVlcnkpLCAoZ3N0X21tc19jcmVhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfdmlkZW9fbGluayksCgkgIChnc3Rfc3dmZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGliLTIuNiB1c2Vycy4KCjIwMDUtMTItMTIgMTA6MzA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLio6IFVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgZm9yIEdzdE9iamVjdHMgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpIGFuZCBmaXggYSBtZW0gbGVhayBpbiBhIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVfcGFyc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfZGlzcG9zZSksIChnc3RfYXVfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2F1X3BhcnNlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBVc2UgZ3N0X29iamVjdF91bnJlZigpIGZvciBHc3RPYmplY3RzIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSBhbmQgZml4IGEgbWVtIGxlYWsgaW4gYSBkZWJ1ZwoJICBzdGF0ZW1lbnQ7IHdoaWxlIHdlJ3JlIGF0IGl0LCBhbHNvIGJvcmdpZnksIHVzZQoJICBib2lsZXJwbGF0ZSBtYWNyb3MgYW5kIGNsZWFuIHVwIGEgbGl0dGxlIGJpdC4KCjIwMDUtMTItMTEgMjA6Mjc6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IEFkZGVkIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfZ2V0cmFuZ2UpLAoJICAoZ3N0X2VmZW5jZV9jaGVja2dldHJhbmdlKSwgKGdzdF9lZmVuY2VfYWN0aXZhdGVfc3JjX3B1bGwpOgoJICBBZGRlZCBwdWxsIG1vZGUuCgoyMDA1LTEyLTExIDE5OjI1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIGF1ZGlvdGVzdHNyYyBpbnN0ZWFkIG9mIHNpbmVzcmMgKCMzMjM3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICAqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgVXNlIGF1ZGlvdGVzdHNyYyBpbnN0ZWFkIG9mIHNpbmVzcmMgKCMzMjM3OTgpLgoKMjAwNS0xMi0xMSAxNzo1MDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IG1vcmUgZGVidWctZnVuYy1wdHIgdXNhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCk6CgkgIG1vcmUgZGVidWctZnVuYy1wdHIgdXNhZ2UKCjIwMDUtMTItMTEgMTY6NDM6NDIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgTm93IGZseGRlYyB3b3JrcyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgZmx4ZGVjIHdvcmtzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYXMgd2VsbC4KCjIwMDUtMTItMTEgMTY6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IE1ha2Ugc3VyZSBHU1RfQlVGRkVSX0RBVEEgaXMgc2V0IG9uIGZlbmNlZCBjb3BpZWQgYnVmZmVyczsgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2NoYWluKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpOgoJICBNYWtlIHN1cmUgR1NUX0JVRkZFUl9EQVRBIGlzIHNldCBvbiBmZW5jZWQgY29waWVkIGJ1ZmZlcnM7IGZpeAoJICBHU1RfREVCVUcgY3Jhc2hlciB3aGVyZSBHU1RfVElNRV9GT1JNQVQgd2FzIG5vdCB1c2VkIGluCgkgIGNvbmp1bmN0aW9uIHdpdGggR1NUX1RJTUVfQVJHUy4gQWxzbywgZG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzCgkgIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHBhZCBmdW5jdGlvbnMuCgoyMDA1LTEyLTEwIDIwOjI2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBSZXdyaXRlIGZsYWNkZWMgYSBiaXQsIHNvIHRoYXQgZXZlbiBzZWVraW5nIG1pZ2h0IHdvcmsgbm93LiBNb3N0IGltcG9ydGFudGx5LCBkb24ndCBhY3QgdXBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNfZGVjX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfZW9mKSwgKGdzdF9mbGFjX2RlY193cml0ZSksIChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfY29udmVydF9zcmMpLCAoZ3N0X2ZsYWNfZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksIChnc3RfZmxhY19kZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfZmxhY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgUmV3cml0ZSBmbGFjZGVjIGEgYml0LCBzbyB0aGF0IGV2ZW4gc2Vla2luZyBtaWdodCB3b3JrIG5vdy4gTW9zdAoJICBpbXBvcnRhbnRseSwgZG9uJ3QgYWN0IHVwb24gYW55IGZsb3cgcmV0dXJuIHZhbHVlcyB3ZSBnZXQsIGp1c3QgdGVsbAoJICB0aGUgZGVjb2RlciBldmVyeXRoaW5nJ3MgZGFuZHkgYW5kIGFjdCBvbiB0aGUgZmxvdyByZXR1cm4gdmFsdWVzCgkgIGxhdGVyIG9uIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBXZSBkb24ndCB3YW50IHRvIG1lc3MgdXAgdGhlIGludGVybmFsCgkgIGRlY29kZXIgc3RhdGUgZm9yIG5vbi1mYXRhbCB0aGluZ3MgbGlrZSBmbHVzaGluZyBwYWRzIGV0Yy4gT3RoZXIKCSAgdGhhbiB0aGF0LCB1c2UgR3N0U2VnbWVudCAoc2VnbWVudCBzZWVrcyBkb24ndCB3b3JrIHlldCB0aG91Z2gsIGJ1dAoJICBzaG91bGQgYmUgZWFzeSB0byBhZGQpLCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBkcm9wIHRoZSBzdXBlcmZsdW91cwoJICAnZmxhY2RlYzonIGZyb20gZGVidWcgbWVzc2FnZXMsIHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50LCBhbmQKCSAgbG90cyBvZiBvdGhlciB0aGluZ3MuCgoyMDA1LTEyLTEwIDE0OjU3OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgY29tbWVudCBpbiBPU1MgaW5jbHVkZXMgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGNvbW1lbnQgaW4gT1NTIGluY2x1ZGVzIGNoZWNrLgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgKiBzeXMvb3NzL29zc19wcm9iZS5jOgoJICBEb24ndCBhc3N1bWUgdGhlIE9TUyBzb3VuZGNhcmQuaCBpbmNsdWRlIGlzIGFsd2F5cyBpbgoJICB0aGUgc3lzLyBkaXJlY3RvcnkuIEluc3RlYWQsIHVzZSB0aGUgZXhpc3RpbmcgZGVmaW5lcwoJICBmcm9tIGNvbmZpZy5oIHRvIGluY2x1ZGUgdGhlIHJpZ2h0IGZpbGUuIEZpeGVzCgkgIGNvbXBpbGF0aW9uIG9uIE9wZW5CU0QgMy44ICgjMzIzNzE4KS4KCjIwMDUtMTItMDkgMTk6NTE6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBib3JnaWZ5IGFuZCBmaXggdXAgZG9jdW1lbnRhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBhbmQgZml4IHVwIGRvY3VtZW50YXRpb24KCjIwMDUtMTItMDkgMTU6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzCgkgIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIGVycm9yaW5nLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIGUuZy4ganBlZyBzdHJlYW1zIHdpdGggMCBkdXJhdGlvbiBmcmFtZXMgYXMgaGF2aW5nIDAgZnJhbWVyYXRlLgoJICBEZWJ1ZyBmaXhlcy4gU29tZSA2NCBiaXQgdmFyaWFibGUgZml4ZXMKCjIwMDUtMTItMDkgMTE6MTI6NDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWNjZXB0IGEgd2lkZXIgcmFuZ2Ugb2YgZmxhYyBmaWxlcywgbW9yZSBjbG9zZWx5IG1hdGNoaW5nIGZsYWMgc3AKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAocmF3X2NhcHNfZmFjdG9yeSksIChnc3RfZmxhY2RlY193cml0ZSk6CgkgIEFjY2VwdCBhIHdpZGVyIHJhbmdlIG9mIGZsYWMgZmlsZXMsIG1vcmUgY2xvc2VseSBtYXRjaGluZyBmbGFjIHNwCgoyMDA1LTEyLTA4IDE2OjI3OjEyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG11bHRpcGFydCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtdWx0aXBhcnQgZWxlbWVudHMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IEZpeCBmbGFjLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBBZGQgZG9jcy4KCjIwMDUtMTItMDcgMTE6NDY6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1lbWxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBNZW1sZWFrIGZpeGVzLgoJICBTZW5kIG91dCBFT1MgZm9yIHZhbGlkIHJlYXNvbnMgKGNvdWxkbid0IHB1bGxfcmFuZ2UoKSBmcm9tIHVwc3RyZWFtCgkgIGZvciBleGFtcGxlKS4KCjIwMDUtMTItMDcgMTE6NDA6NDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1lbWxlYWsgYW5kIGNyYXNoZXIgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICBNZW1sZWFrIGFuZCBjcmFzaGVyIGZpeGVzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBNZW1sZWFrIGZpeGVzCgoyMDA1LTEyLTA2IDE5OjU1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0ODowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0NDo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJKiBleHQvZXNkL2VzZHNpbmsuaDoKCSogZXh0L2ZsYWMvZmxhY19jb21wYXQuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkqIGV4dC9nY29uZi9nY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSogZXh0L2pwZWcvc21va2Vmb3JtYXQuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5jOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJKiBnc3QvcnRzcC9ydHNwdXJsLmM6CgkqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC9zbXB0ZS9wYWludC5oOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvcmlmZi5oOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNSAxODoxMjowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjEwLjAgPT09CgoyMDA1LTEyLTA1IDE4OjAzOjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDE4OjAxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxNjoyMTowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTItMDUgMTU6MDg6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDUtMTItMDUgMTM6MDQ6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6IChnc3RfeGluZV9pbnB1dF9nZXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2NoYWluKToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMzowMzowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTI6MjM6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczogUmVtb3ZlIGFyZ3MgZm9yIHBsdWdpbnMgdGhhdCBhcmVuJ3QgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGFyZ3MgZm9yIHBsdWdpbnMgdGhhdCBhcmVuJ3QgaW4gLWdvb2QuCgoyMDA1LTEyLTA0IDIyOjI2OjA3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHJlbW92ZSBwYW5nbyBwbHVnaW4gYXMgaXRzIGdvbmUgaW50byBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgcGFuZ28gcGx1Z2luIGFzIGl0cyBnb25lIGludG8gYmFzZQoKMjAwNS0xMi0wMyAxODo1MTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucwoKMjAwNS0xMi0wMyAxODo1MDoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJICByZW1vdmUgZmRzcmMgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGZkc3JjIGRvY3MKCjIwMDUtMTItMDEgMTk6MTg6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjcgPT09CgoyMDA1LTEyLTAxIDE5OjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTEyLTAxIDE5OjEzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTItMDEgMTc6NTM6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTItMDEgMTU6MzQ6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgYWRkIG11bHRpcGFydCBwbHVnaW4gdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG11bHRpcGFydCBwbHVnaW4gdG8gZG9jcwoKMjAwNS0xMi0wMSAxNToyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5oOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmg6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuaDoKCSAgbW92ZSBwYW5nbyB0byBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHBhbmdvIHRvIGJhc2UKCjIwMDUtMTItMDEgMTQ6Mzk6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC86IHBhcnNlcnMgYXJlIGRlcGF5ZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSAgcGFyc2VycyBhcmUgZGVwYXllcnMKCjIwMDUtMTItMDEgMTQ6MzA6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIERvIGJ1cmdlcidzIHJlbmFtZSBmb3IgcnRwIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRG8gYnVyZ2VyJ3MgcmVuYW1lIGZvciBydHAgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgoyMDA1LTExLTMwIDE5OjAyOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2LzogRml4IHNlZWtpbmcgaW4gZHZkZW11eCBhZ2FpbiwgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBGaXggc2Vla2luZyBpbiBkdmRlbXV4IGFnYWluLCBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA1LTExLTMwIDE4OjQ4OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBmaXggdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0ZXN0cwoKMjAwNS0xMS0zMCAxODo0MDoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIHRlc3RzIHN1YmRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRlc3RzIHN1YmRpcgoKMjAwNS0xMS0zMCAxODozNjowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYWRkIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgTWFrZWZpbGUuYW0KCjIwMDUtMTEtMzAgMTg6Mjg6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBQT1JURURfMDk6CgkgICogZG9jcy9yYW5kb20vUE9SVEVEXzA5OgoJICBtb3ZlCgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIGFkZAoJICAqIHdpbjMyL2dzdC5zbG46CgkgIHJlbW92ZQoKMjAwNS0xMS0zMCAxODoyNDowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay8uZ2l0aWdub3JlOgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogY29uZmlndXJlLmFjOgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiBleGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIGV4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIGV4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiBleGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBtb3ZlIHVuZGVyIHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHVuZGVyIHRlc3RzCgoyMDA1LTExLTMwIDE2OjU3OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoKMjAwNS0xMS0zMCAxNDo1MzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLio6IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCksIChyZXNpemVfYml0bWFwKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9yZW5kZXJfdGV4dCksIChnc3RfdGV4dF9yZW5kZXJfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9yZW5kZXJfZml4YXRlX2NhcHMpLCAoZ3N0X3RleHRfcmVuZGVyZXJfYml0bWFwX3RvX2F5dXYpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2NoYWluKSwgKGdzdF90ZXh0X3JlbmRlcl9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9yZW5kZXJfaW5pdCksIChnc3RfdGV4dF9yZW5kZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5oOgoJICBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDUtMTEtMzAgMTM6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IHBhbmdvLWJhc2VkIHRleHRvdmVybGF5LCB0aW1lb3ZlcmxheSBhbmQgdGV4dHJlbmRlciB0byAwLjkgYW5kIGFkZCBiYWNrZ3JvdW5kIHNoYWRpbmcgYW5kIHRleHQgd3JhcHBpbmcgbW9kZXMuIE0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiAoZ3N0X2Nsb2NrX292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9jbG9ja19vdmVybGF5X3JlbmRlcl90aW1lKSwgKGdzdF9jbG9ja19vdmVybGF5X2dldF90ZXh0KSwKCSAgKGdzdF9jbG9ja19vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X2Nsb2NrX292ZXJsYXlfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5oOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9nZXRfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV91cGRhdGVfd3JhcF9tb2RlKSwgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF90ZXh0X292ZXJsYXlfZ2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NoYWRlX3kpLCAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0X3l1djQyMCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3Jlc2l6ZV9iaXRtYXApLCAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3B1c2hfZnJhbWUpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfdGltZV9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltZV9vdmVybGF5X3JlbmRlcl90aW1lKSwgKGdzdF90aW1lX292ZXJsYXlfZ2V0X3RleHQpLAoJICAoZ3N0X3RpbWVfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90aW1lX292ZXJsYXlfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIFBvcnQgcGFuZ28tYmFzZWQgdGV4dG92ZXJsYXksIHRpbWVvdmVybGF5IGFuZCB0ZXh0cmVuZGVyIHRvIDAuOQoJICBhbmQgYWRkIGJhY2tncm91bmQgc2hhZGluZyBhbmQgdGV4dCB3cmFwcGluZyBtb2Rlcy4gTWFrZQoJICB0aW1vdmVybGF5IGRlcml2ZSBmcm9tIHRleHRvdmVybGF5LiBBbHNvIGFkZCBuZXcgY2xvY2tvdmVybGF5CgkgIGVsZW1lbnQuCgoyMDA1LTExLTMwIDExOjEwOjAxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC91ZHAvTWFrZWZpbGUuYW06IE1vdmVkIHRvIG5ldGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMzAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOiBNb3ZlZCB0byBuZXRidWZmZXIuCgoyMDA1LTExLTMwIDEwOjE4OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFBvcnRlZCBtdWx0aXBhcnQgbXV4L2RlbXV4IHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMzAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogUE9SVEVEX085OgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9pbml0KSwgKGdzdF9tdWx0aXBhcnRfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3Npbmtjb25uZWN0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6IFBvcnRlZCBtdWx0aXBhcnQgbXV4L2RlbXV4IHRvCgkgIDAuOS4KCjIwMDUtMTEtMzAgMDg6MjY6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogdXBkYXRlIGZvciBzeW1ib2xzIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdHlwZSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2ZsaXBfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdXBkYXRlIGZvciBzeW1ib2xzIGNoYW5nZQoKMjAwNS0xMS0yOSAxNzo0NjowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvdWRwLzogdGhlIG9sZCBnc3RuZXQgbGliIHdhcyByZW5hbWVkIGdzdG5ldGJ1ZmZlciAoIzMyMjI1NykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdGhlIG9sZCBnc3RuZXQgbGliIHdhcyByZW5hbWVkIGdzdG5ldGJ1ZmZlciAoIzMyMjI1NykKCjIwMDUtMTEtMjkgMTU6NDI6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQWN0dWFsbHkgcmVuZGVyIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICBBY3R1YWxseSByZW5kZXIgdGhlIHRleHQgZnJvbSB0aGUgdGV4dCBwYWQuCgoyMDA1LTExLTI5IDE0OjQ5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlYnVnLzogVXBkYXRlIGZvciBHc3RCYXNlVHJhbnNmb3JtIGV2ZW50IHZpcnR1YWwgbWV0aG9kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6IChnc3RfbmF2c2Vla19ldmVudCk6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2V2ZW50KToKCSAgVXBkYXRlIGZvciBHc3RCYXNlVHJhbnNmb3JtIGV2ZW50IHZpcnR1YWwgbWV0aG9kCgoyMDA1LTExLTI5IDEwOjU1OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9jYWlyby9NYWtlZmlsZS5hbTogbm8gbmVlZCB0byBsaW5rIHRvIHZpZGVvZmlsdGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI5ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgbm8gbmVlZCB0byBsaW5rIHRvIHZpZGVvZmlsdGVyCgoyMDA1LTExLTI5IDEwOjQ2OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgcmVtb3ZlIHRoZSB2aWRlb2ZpbHRlciBsaWJyYXJ5IGFuZCBsaW5rIHRvIHRoZSBvbmUgaW4gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHRoZSB2aWRlb2ZpbHRlciBsaWJyYXJ5IGFuZCBsaW5rIHRvIHRoZSBvbmUgaW4gYmFzZQoKMjAwNS0xMS0yOSAwMTozMDo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICBib3JnaWZ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5CgoyMDA1LTExLTI4IDE3OjMxOjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2VsZXNzIGNoZWNrIG5vdyB3ZSdyZSBzZXR0aW5nIHRoZSBjdXJyZW50IGVudHJ5IGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBVc2VsZXNzIGNoZWNrIG5vdyB3ZSdyZSBzZXR0aW5nIHRoZSBjdXJyZW50IGVudHJ5IGNvcnJlY3RseS4KCjIwMDUtMTEtMjggMTY6NTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZW5jLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uIChmaXhlcyAjMzIyNjY3KTsgbWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfcmVzeW5jKSwgKGdzdF9qcGVnZW5jX2NoYWluKSwKCSAgKGdzdF9qcGVnZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfanBlZ2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2pwZWdlbmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb24gKGZpeGVzICMzMjI2NjcpOyBtYWtlCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZTsgZG9uJ3QgcmVwZWF0IHRoZSBjdXJyZW50IGZ1bmN0aW9uCgkgIG5hbWUgaW4gR1NUX0RFQlVHIHN0YXRlbWVudHM7IHVzZSBHU1RfUk9VTkRfVVBfKiBtYWNyb3M7IHVzZQoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBtaXNjLiBtaW5vciBjbGVhbnVwcy4KCjIwMDUtMTEtMjggMTU6NDM6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc3JjZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IKCSAgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHRzIGluIDAgY2hhbm5lbHMgd2l0aCBzYW1wbGVyYXRlcyBvZiAwLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIHVwd2FyZCB0cmFuc2l0aW9ucywgdGhlbiBjYWxsIHBhcmVudCBzdGF0ZV9jaGFuZ2UsIHRoZW4gZG8KCSAgZG93bndhcmQgdHJhbnNpdGlvbnMuCgoyMDA1LTExLTI4IDE1OjEzOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogTG9vayBmb3IgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMsIG5vdCBwaXhlbF93aWR0aCBhbmQgcGl4ZWxfaGVpZ2h0IChGaXhlczogIzMyMjY0NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIExvb2sgZm9yIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzLCBub3QgcGl4ZWxfd2lkdGggYW5kCgkgIHBpeGVsX2hlaWdodCAoRml4ZXM6ICMzMjI2NDUpCgoyMDA1LTExLTI4IDEyOjU5OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRnJvbSBNaWNoYWwgQmVuZXM6IGZyYW1lIGR1cmF0aW9uIHNob3VsZCBiZSBHU1RfU0VDT05EIC8gZnJhbWVyYXRlLCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIEZyb20gTWljaGFsIEJlbmVzOgoJICBmcmFtZSBkdXJhdGlvbiBzaG91bGQgYmUgR1NUX1NFQ09ORCAvIGZyYW1lcmF0ZSwgbm90CgkgIEdTVF9TRUNPTkQgKiBmcmFtZXJhdGUuIChGaXhlczogIzMyMjY0MykKCjIwMDUtMTEtMjcgMTc6MDI6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBmaXggdXAgR1NUX1BMVUdJTl9MREZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IHVwIEdTVF9QTFVHSU5fTERGTEFHUwoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIGZpeCBpbmNsdWRlcyAoc2VlICMzMTcwNDMpCgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBzdG9wIGluc3RhbGxpbmcgdGhpcyBsaWJyYXJ5CgoyMDA1LTExLTI3IDE1OjMwOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbm8gbmVlZCBmb3IgYW4gQVNfTElCVE9PTCBjYWxsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBubyBuZWVkIGZvciBhbiBBU19MSUJUT09MIGNhbGwKCjIwMDUtMTEtMjcgMTQ6MzM6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoKMjAwNS0xMS0yNiAxMjo1NDo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGluY29taW5nIFZpZGVvIGR2IHN0cmVhbSBkb2Vzbid0IGhhdmUgYSBwaXhlbCBhc3BlY3QgcmF0aW8gc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGluY29taW5nIFZpZGVvIGR2IHN0cmVhbSBkb2Vzbid0IGhhdmUKCSAgYSBwaXhlbCBhc3BlY3QgcmF0aW8gc2V0LgoKMjAwNS0xMS0yNSAyMjoxNDo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGRvY3VtZW50IGZsYWNkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvY3VtZW50IGZsYWNkZWMKCjIwMDUtMTEtMjUgMjE6MzY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIGRvIHNvbWUgbmFtZSBib3JnaWZ5aW5nIGRvY3VtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkbyBzb21lIG5hbWUgYm9yZ2lmeWluZwoJICBkb2N1bWVudAoKMjAwNS0xMS0yNSAyMTowMjoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2N1bWVudGluZyBhdXRvKnNpbmsgdXNpbmcgc3Ryc3RyIGZvciB0aGUgdmlkZW8gc2luayBsb29rdXAsIGNsYXNzIGZpZWxkIGlzIG5vdCBvcmRlcmVkIHVwZGF0ZSBvdGhlciBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19mYWN0b3J5X2ZpbHRlcik6CgkgIGRvY3VtZW50aW5nIGF1dG8qc2luawoJICB1c2luZyBzdHJzdHIgZm9yIHRoZSB2aWRlbyBzaW5rIGxvb2t1cCwgY2xhc3MgZmllbGQgaXMgbm90IG9yZGVyZWQKCSAgdXBkYXRlIG90aGVyIHBsdWdpbnMKCjIwMDUtMTEtMjUgMTk6NTg6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgoyMDA1LTExLTI1IDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC93YXZwYWNrLzogcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKSwKCSAgKGdzdF93YXZwYWNrX2RlY193dmNsaW5rKSwgKGdzdF93YXZwYWNrX2RlY19nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NldHVwX2NvbnRleHQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2RlY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGZpbmRfaGVhZGVyKSwgKGZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlZWspLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoKMjAwNS0xMS0yNSAxODowMzoyNCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBjbG9zZSBjb250cm9sIHNvY2tldHMgaW4gdWRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdG9wKToKCSAgUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBjbG9zZSBjb250cm9sIHNvY2tldHMgaW4gdWRwc3JjLgoKMjAwNS0xMS0yNCAxNTowNzowNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiBGbHVzaCB0aGUgcGxhbmVzIGxpc3Qgb24gcmV2ZXJzZSBjYXBzIG5lZ290aWF0aW9uLiBUaGlzIHdhcyBjcmFzaGluZyBiZWNhdXNlIG9mIGRpZmZlcmVudGx5IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfcGxhbmV0YWJsZV9jbGVhciksIChnc3RfcXVhcmt0dl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F1YXJrdHZfYmFzZV9pbml0KSwgKGdzdF9xdWFya3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfaW5pdCk6IEZsdXNoIHRoZSBwbGFuZXMgbGlzdCBvbiByZXZlcnNlIGNhcHMKCSAgbmVnb3RpYXRpb24uIFRoaXMgd2FzIGNyYXNoaW5nIGJlY2F1c2Ugb2YgZGlmZmVyZW50bHkgc2l6ZWQKCSAgYnVmZmVycy4KCjIwMDUtMTEtMjQgMTI6NTA6MjggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0LzogSGFuZGxlIHN0cmlkZXMgY29ycmVjdGx5LCBmaXggaWRlbnRpdHkgZmxpcHBpbmcsIGNvbnZlcnQgbmF2aWdhdGlvbiBldmVudCBjb3JyZWN0bHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChkcmF3X2JveF9wbGFuYXI0MTEpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKGdzdF92aWRlb2ZsaXBfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb2ZsaXBfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9mbGlwX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvZmxpcF9mbGlwKSwKCSAgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtKSwgKGdzdF92aWRlb2ZsaXBfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfdmlkZW9mbGlwX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9mbGlwX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9mbGlwX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9pbml0KTogSGFuZGxlIHN0cmlkZXMKCSAgY29ycmVjdGx5LCBmaXggaWRlbnRpdHkgZmxpcHBpbmcsIGNvbnZlcnQgbmF2aWdhdGlvbiBldmVudAoJICBjb3JyZWN0bHkgYWdhaW4uCgoyMDA1LTExLTI0IDExOjE2OjUzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBSRUFETUU6CgkgIEZpeCAjMzIwMjg4OiB3cm9uZyByZWFkbWUgaW4gcGx1Z2lucy1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggIzMyMDI4ODogd3JvbmcgcmVhZG1lIGluIHBsdWdpbnMtZ29vZAoKMjAwNS0xMS0yNCAxMTowNjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgZml4IHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjE6MjU6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMDowNToyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS42ID09PQoKMjAwNS0xMS0yMyAxOTo1Nzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE5OjU2OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxOToxNDowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgYWRkaW5nIGN1dHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGN1dHRlcgoKMjAwNS0xMS0yMyAxOTowNToyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTEtMjMgMTY6NDk6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IE9vcHMsIGluaXRpYWxpc2UgdGhlIGZyYW1lcmF0ZSBHVmFsdWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfaW5pdCk6CgkgIE9vcHMsIGluaXRpYWxpc2UgdGhlIGZyYW1lcmF0ZSBHVmFsdWUKCjIwMDUtMTEtMjMgMTU6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVmlkZW9GaWx0ZXIgaW5oZXJpdHMgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X3RpbWVvdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCksCgkgIChnc3RfdGltZW92ZXJsYXlfc2V0X2NhcHMpLCAoZ3N0X3RpbWVvdmVybGF5X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3RyYW5zZm9ybSksIChnc3RfdGltZW92ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90aW1lb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9nZXRfdHlwZSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF91bml0X3NpemUpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X3NldF9jYXBzKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF90cmFuc2Zvcm0pLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfYmFzZV9pbml0KSwgKGdzdF9uYXZpZ2F0aW9udGVzdF9jbGFzc19pbml0KSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9pbml0KSwgKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdHlwZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X3NldF9jYXBzKSwKCSAgKGdzdF9hZ2luZ3R2X2dldF91bml0X3NpemUpLCAoZ3N0X2FnaW5ndHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9hZ2luZ3R2X2Jhc2VfaW5pdCksIChnc3RfYWdpbmd0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9hZ2luZ3R2X2luaXQpLCAoZ3N0X2FnaW5ndHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfc2V0X2NhcHMpLAoJICAoZ3N0X2RpY2V0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9kaWNldHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9kaWNldHZfYmFzZV9pbml0KSwgKGdzdF9kaWNldHZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGljZXR2X2luaXQpLAoJICAoZ3N0X2RpY2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl9zZXRfY2FwcyksCgkgIChnc3RfZWRnZXR2X2dldF91bml0X3NpemUpLCAoZ3N0X2VkZ2V0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2VkZ2V0dl9iYXNlX2luaXQpLCAoZ3N0X2VkZ2V0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9lZGdldHZfaW5pdCksCgkgIChnc3RfZWRnZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9zZXRfY2FwcyksCgkgIChnc3RfcXVhcmt0dl9nZXRfdW5pdF9zaXplKSwgKGZhc3RyYW5kKSwKCSAgKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F1YXJrdHZfYmFzZV9pbml0KSwKCSAgKGdzdF9xdWFya3R2X2NsYXNzX2luaXQpLCAoZ3N0X3F1YXJrdHZfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfc2V0X2NhcHMpLAoJICAoZ3N0X3JldnR2X2dldF91bml0X3NpemUpLCAoZ3N0X3JldnR2X3RyYW5zZm9ybSksCgkgIChnc3RfcmV2dHZfYmFzZV9pbml0KSwgKGdzdF9yZXZ0dl9jbGFzc19pbml0KSwgKGdzdF9yZXZ0dl9pbml0KSwKCSAgKGdzdF9yZXZ0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl9zZXRfY2FwcyksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3NoYWdhZGVsaWN0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9iYXNlX2luaXQpLCAoZ3N0X3NoYWdhZGVsaWN0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfaW5pdCksIChnc3Rfc2hhZ2FkZWxpY3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X3NldF9jYXBzKSwKCSAgKGdzdF92ZXJ0aWdvdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmVydGlnb3R2X3RyYW5zZm9ybSksCgkgIChnc3RfdmVydGlnb3R2X2Jhc2VfaW5pdCksIChnc3RfdmVydGlnb3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZlcnRpZ290dl9pbml0KSwgKGdzdF92ZXJ0aWdvdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3dhcnB0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF93YXJwdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF93YXJwdHZfYmFzZV9pbml0KSwgKGdzdF93YXJwdHZfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2FycHR2X2luaXQpLAoJICAoZ3N0X3dhcnB0dl9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6IChnc3RfdmlkZW9maWx0ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvZmlsdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvZmlsdGVyX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb2ZsaXBfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9mbGlwX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvZmxpcF9mbGlwKSwgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb2ZsaXBfaGFuZGxlX3NyY19ldmVudCksIChnc3RfdmlkZW9mbGlwX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9mbGlwX2Jhc2VfaW5pdCksIChnc3RfdmlkZW9mbGlwX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9pbml0KSwgKHBsdWdpbl9pbml0KSwgKGdzdF92aWRlb2ZsaXBfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDogVmlkZW9GaWx0ZXIgaW5oZXJpdHMgZnJvbQoJICBCYXNlVHJhbnNmb3JtLCBpdCdzIGp1c3QgYSBwbGFjZSBob2xkZXIgZm9yIG5vdyBhbmQgZXZlcnkgdmlkZW8KCSAgZWZmZWN0IHBsdWdpbiBoYXMgYmVlbiBwb3J0ZWQgdG8gdXNlIEJhc2VUcmFuc2Zvcm0gZmVhdHVyZXMKCSAgZGlyZWN0bHkuIFF1YXJrVFYgd2FzIGZpeGVkIHRvbyAod2FzIGJyb2tlbiksIG5hdmlnYXRpb250ZXN0CgkgIHdvcmtzCgkgIGFuZCBiZXN0IGZvciB0aGUgZW5kLCB2aWRlb2ZsaXAgY29udmVydHMgbmF2aWdhdGlvbiBldmVudHMKCSAgZGVwZW5kaW5nCgkgIG9uIGZsaXAgbWV0aG9kICEgRml4ZXMgIzMyMDk1MwoKMjAwNS0xMS0yMyAxNDoyMjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXhlcyBmb3IgQVBJIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXhlcyBmb3IgQVBJIGNoYW5nZXMKCjIwMDUtMTEtMjMgMTI6MTk6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGN1dHRlciB0byBzcGVjIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY3V0dGVyIHRvIHNwZWMgaW4KCjIwMDUtMTEtMjMgMTE6NTc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgoyMDA1LTExLTIyIDIzOjU4OjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvanBlZy86IEpQRUcgZnJhY3Rpb255IGdvb2RuZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfc2V0Y2FwcyksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgSlBFRyBmcmFjdGlvbnkgZ29vZG5lc3MuCgoyMDA1LTExLTIyIDIyOjM1OjU3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZ3JhcGhpYy5oOgoJICBGaXggZm9yICMzMjE0MzA6IHVucmVzb2x2ZWQgc3ltYm9scyBkdWUgdG8gaW5jb3JyZWN0IGxpbmthZ2Ugb24gaW5saW5lIGZ1bmN0aW9ucyBpbiBnb29tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvciAjMzIxNDMwOiB1bnJlc29sdmVkIHN5bWJvbHMgZHVlIHRvIGluY29ycmVjdCBsaW5rYWdlIG9uIGlubGluZSBmdW5jdGlvbnMKCSAgaW4gZ29vbS4KCSAgRG9lcyBub3QsIGhvd2V2ZXIsIGZpeCB0aGUgZ2VuZXJhbCBjcmFja2hlYWRlZG5lc3Mgb2YgZ29vbSAoZ2xvYmFsIHZhcmlhYmxlcywKCSAgb2ggbXkhKTsgdGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gLWJhZC4KCjIwMDUtMTEtMjIgMjI6MjE6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW9yZSBmcmFjdGlvbmFsIGZyYW1lcmF0ZSBjb252ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19saW5rKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9pbml0KSwKCSAgKGdzdF9hdmltdXhfdmlkc2lua2Nvbm5lY3QpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBNb3JlIGZyYWN0aW9uYWwgZnJhbWVyYXRlIGNvbnZlcnNpb25zCgoyMDA1LTExLTIyIDIwOjA3OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6CgkgIChnc3RfdmlkZW9maWx0ZXJfZm9ybWF0X2dldF9zdHJ1Y3R1cmUpLCAoZ3N0X3ZpZGVvZmlsdGVyX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvZmlsdGVyX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcy4KCjIwMDUtMTEtMjIgMTg6MTE6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZml4IHVwIG1vcmUgZW51bXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB1cCBtb3JlIGVudW1zCgoyMDA1LTExLTIyIDE3OjM5OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZyYWN0aW9uYWwgZnJhbWVyYXRlcywgdmlkZW9taXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMsIHZpZGVvbWl4ZXIuCgoyMDA1LTExLTIyIDE3OjE1OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgZG9oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2gKCjIwMDUtMTEtMjIgMTc6MDk6MzYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9kdi86IEZyYWN0aW9uYWwgZnJhbWVyYXRlcyBmb3IgRFYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpLCAoZ3N0X2R2ZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMgZm9yIERWLgoKMjAwNS0xMS0yMiAxNzowNDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGZpeCB1cCBHVmFsdWVFbnVtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgR1ZhbHVlRW51bQoKMjAwNS0xMS0yMiAxNDo0NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogVXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2ZyZWUoKSB0byBmcmVlIGZlYXR1cmUgbGlzdCBhbmQgaW4gdGhlIGNhc2Ugb2YgYXV0b3ZpZGVvc2luayBmcmVlIHRoZSBsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBVc2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfZnJlZSgpIHRvIGZyZWUgZmVhdHVyZSBsaXN0IGFuZAoJICBpbiB0aGUgY2FzZSBvZiBhdXRvdmlkZW9zaW5rIGZyZWUgdGhlIGxpc3QgYXQgYWxsLiBBbHNvCgkgIG1pc2NlbGxhbmVvdXMgY29zbWV0aWMgZml4ZXMuCgoyMDA1LTExLTIyIDEzOjEzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IGNvcHkgY2FsY3VsYXRpb24gY29kZSBmcm9tIGxldmVsOyByZW1vdmUgdXNlIG9mIHNvbWUgYXVkaW8gZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKSwKCSAgKGdzdF9jdXR0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9jdXR0ZXJfZ2V0X2NhcHMpOgoJICBjb3B5IGNhbGN1bGF0aW9uIGNvZGUgZnJvbSBsZXZlbDsgcmVtb3ZlIHVzZSBvZiBzb21lIGF1ZGlvCgkgIGZ1bmN0aW9ucwoKMjAwNS0xMS0yMiAxMzoxMToyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjo0ODoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjo0MTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBjb3NtZXRpYyBmaXhlcwoKMjAwNS0xMS0yMiAxMjozOToyOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoKMjAwNS0xMS0yMiAxMjozODozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFVwZGF0ZSBmb3IgZ3N0X3RhZ19zZXR0ZXIgQVBJIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIFVwZGF0ZSBmb3IgZ3N0X3RhZ19zZXR0ZXIgQVBJIGNoYW5nZXMuCgoyMDA1LTExLTIyIDExOjU3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KQoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcikKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYyAoc3BlZWRfc2lua19ldmVudCkKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmMgKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KQoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjIgMTE6NTM6MzQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGV4dC9kdi9nc3RkdmRlbXV4LmMgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCkKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKQoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jIChnc3RfZmxhY2VuY19zZWVrX2NhbGxiYWNrKQoJICAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCkKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYyAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfaW5pdCkKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYyAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfaW5pdCkKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMgKHNwZWV4X2RlY19ldmVudCwgc3BlZXhfZGVjX2NoYWluKQoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYyAoZ3N0X2F1cGFyc2VfY2hhaW4pCgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpCgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jIChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpCgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKQoJICAqIGdzdC9nb29tL2dzdGdvb20uYyAoZ3N0X2dvb21fZXZlbnQpCgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYyAoZ3N0X2VibWxfd3JpdGVfc2VlaykKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KQoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKQoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmMgKGdzdF93YXZlbmNfc3RvcF9maWxlKQoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jIChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjIgMTE6NDk6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBVUklIYW5kbGVyIGludGVyZmFjZSBhbmQgZWxlbWVudCBwcm9wZXJ0aWVzIGFyZSBub3cgcHJvcGVybHkgc3luY2hyb25pemVkIGZvciBEVjEzOTRzcmMgYW5kIFVEUFNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfZHYxMzk0c3JjX2luaXQpLCAoZ3N0X2R2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9kdjEzOTRzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICAoZ3N0X2R2MTM5NHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX3VwZGF0ZV91cmkpLCAoZ3N0X3VkcHNyY19zZXRfdXJpKSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfdXJpX2dldF91cmkpOgoJICBVUklIYW5kbGVyIGludGVyZmFjZSBhbmQgZWxlbWVudCBwcm9wZXJ0aWVzIGFyZSBub3cgcHJvcGVybHkKCSAgc3luY2hyb25pemVkIGZvciBEVjEzOTRzcmMgYW5kIFVEUFNyYwoKMjAwNS0xMS0yMiAxMTozNjowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IGxpYmdzdHRhZ2VkaXQgaGFzIGJlZW4gcmVuYW1lZCB0byBsaWJnc3R0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgbGliZ3N0dGFnZWRpdCBoYXMgYmVlbiByZW5hbWVkIHRvIGxpYmdzdHRhZy4KCjIwMDUtMTEtMjEgMjM6NTA6MDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IERvbid0IHRha2UgdGhlIHN0cmVhbSBsb2NrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NpbmtfZXZlbnQpOgoJICBEb24ndCB0YWtlIHRoZSBzdHJlYW0gbG9jawoKMjAwNS0xMS0yMSAyMDoxMTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IEFwcGx5IHBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gZml4ICMzMTkxODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChyZWFkX2JvZHkpOgoJICBBcHBseSBwYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlIHRvIGZpeCAjMzE5MTg0LgoKMjAwNS0xMS0yMSAxOTo1MDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwb3J0IGN1dHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9jdXR0ZXJfaW5pdCksIChnc3RfY3V0dGVyX21lc3NhZ2VfbmV3KSwgKGdzdF9jdXR0ZXJfY2hhaW4pLAoJICAoZ3N0X2N1dHRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2N1dHRlcl9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpLCAoZ3N0X2N1dHRlcl9nZXRfY2Fwcyk6CgkgIHBvcnQgY3V0dGVyCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGZpeCB1cCBwbHVnaW4gZGV0YWlscwoKMjAwNS0xMS0yMSAxODowOTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfc2lua19ldmVudF9oYW5kbGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspOgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cKCSAgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0NLCgkgIHRvIEdTVF9QQURfU1RSRUFNX0xPQ0suIERvbid0IGxlYWsgcmVmZXJlbmNlcyBpbiBmbHhkZWMgZXZlbnQKCSAgZnVuY3Rpb25zLgoKMjAwNS0xMS0yMSAxNzo1MjoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCBoZWFkZXIgZmlsZSBjaGFuZ2VzLCBNYWtlZmlsZS5hbSBjaGFuZ2VzLiBPb3BzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRm9yZ290IHRvIGNvbW1pdCBoZWFkZXIgZmlsZSBjaGFuZ2VzLCBNYWtlZmlsZS5hbSBjaGFuZ2VzLiBPb3BzLgoKMjAwNS0xMS0yMSAxNzo0OToyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGdzdF9vYmplY3RfdW5yZWYsIG5vdCBnX29iamVjdF91bnJlZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0X29iamVjdF91bnJlZiwgbm90IGdfb2JqZWN0X3VucmVmCgoyMDA1LTExLTIxIDE3OjM3OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCk6CgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCjIwMDUtMTEtMjEgMTc6MjM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhZGQgZGVidWcgbWVzc2FnZSBpbiBwYWQgYWN0aXZhdGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFkZCBkZWJ1ZyBtZXNzYWdlIGluIHBhZCBhY3RpdmF0ZSBmdW5jdGlvbi4KCjIwMDUtMTEtMjEgMTc6MTg6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdXBhcnNlLzogUGFydGlhbGx5IGZpeCAjMTYxNzEyLiBwbGF5YmluIHN0aWxsIGRvZXNuJ3Qgd29yayBvbiB0aGVzZSBmaWxlcywgKG9uIHRoZSBidWcgcmVwb3J0LCBBbmR5IHNheXMgd2UgYXJlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdXBhcnNlX2luaXQpLCAoZ3N0X2F1cGFyc2VfZGlzcG9zZSksIChnc3RfYXVwYXJzZV9jaGFpbiksCgkgIChnc3RfYXVwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuaDoKCSAgUGFydGlhbGx5IGZpeCAjMTYxNzEyLiBwbGF5YmluIHN0aWxsIGRvZXNuJ3Qgd29yayBvbiB0aGVzZSBmaWxlcywKCSAgKG9uIHRoZSBidWcgcmVwb3J0LCBBbmR5IHNheXMgd2UgYXJlbid0IHR5cGVmaW5kaW5nIGl0IGZvciBzb21lCgkgIHJlYXNvbj8pIGJ1dCBhdCBsZWFzdCBhdXBhcnNlIGlzbid0IHRvdGFsbHkgYnVzdGVkIGxpa2UgaXQgd2FzIGJlZm9yZS4KCjIwMDUtMTEtMjEgMTY6NDU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgRFg1MCwgRElWWCBhbmQgRElWMyBmb3VyY2NzIChwYXRjaCBieQoJICBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCjIwMDUtMTEtMjEgMTY6MzY6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgICouKjogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiAqLmg6CgkgICogKi5jOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgoyMDA1LTExLTIxIDE1OjA2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpbGxlciBldmVudHMgYXJlIGdvbmUgZm9yIG5vdywgY29tbWVudCBvdXQgc2VjdGlvbiBnZW5lcmF0aW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyk6CgkgIEZpbGxlciBldmVudHMgYXJlIGdvbmUgZm9yIG5vdywgY29tbWVudCBvdXQgc2VjdGlvbiBnZW5lcmF0aW5nCgkgIHRoZW0uCgoyMDA1LTExLTIxIDE0OjM5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF90eXBlX2dldCksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwgKHF0ZGVtdXhfZHVtcF9zdHNkKSwKCSAgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMTQ6MzE6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2Rfc3JjZml4YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMTM6Mzg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXhlcyBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19zZXRjYXBzKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX2ZpbGVfaGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfb2RtbCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6ICh3cml0ZV9tZXRhZGF0YSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGFyc2VfYWR0bCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgRml4ZXMgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgoyMDA1LTExLTIxIDEyOjEzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGZvciBjb2xsZWN0IHBhZHMgQVBJIGNoYW5nZS4gQWxzbyBmaXggdGV4dG92ZXJsYXkgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfZmluYWxpemUpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KSwgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9iZXN0X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfaW5pdCksIChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZm9yIGNvbGxlY3QgcGFkcyBBUEkgY2hhbmdlLiBBbHNvIGZpeCB0ZXh0b3ZlcmxheSBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTExLTIwIDE3OjA0OjU1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogUmVwbGFjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOiBSZXBsYWNlCgkgIEdTVF9QQURfSVNfVVNBQkxFIGJ5IHNvbWV0aGluZyBhcHByb2FjaGluZyBpdC4KCjIwMDUtMTEtMjAgMTY6NDM6MzIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6IEZpeCBmb3IKCSAgQVBJIGNoYW5nZXMuCgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBGaXggZm9yIEFQSQoJICBjaGFuZ2VzLAoJICBidXQgYWxzbyBmaXggdGhlIGNvZGUgdGhhdCB3YXMgbm90IGNoZWNraW5nIHJldHVybiB2YWx1ZXMgZnJvbQoJICBwYWRfcHVzaCBuZWl0aGVyIHVzaW5nIHBhZF9hbGxvY19idWZmZXIuCgoyMDA1LTExLTE4IDE4OjE5OjIxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogQWRkZWQgZGVidWcgY2F0ZWdvcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcG5nZW5jX2NoYWluKToKCSAgQWRkZWQgZGVidWcgY2F0ZWdvcnkKCSAgUmV0dXJuIEdTVF9GTE9XX1VORVhQRUNURUQgd2hlbiBzZW5kaW5nIGFuIEVPUywgc28gdGhlIHdob2xlIHBpcGVsaW5lCgkgIGdvZXMgdG8gRU9TLgoKMjAwNS0xMS0xNyAxODoyMzoyMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgQ3JlYXRlZCBTcGVleCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyOyBPcHRpbWl6ZSBHNzExIHBheWxvYWRlciB0byB1c2UgYWRhcHRlciBhbmQgc2VuZCBwYWNrZXRzIHVudGlsIE1UVSBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBTcGVleCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyOyBPcHRpbWl6ZSBHNzExIHBheWxvYWRlciB0byB1c2UgYWRhcHRlciBhbmQgc2VuZCBwYWNrZXRzIHVudGlsIE1UVSBzaXplLgoKMjAwNS0xMS0xNiAxOTowODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IEZpeCBsZWFrIGluIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCk6CgkgIEZpeCBsZWFrIGluIGNoZWNrLgoKMjAwNS0xMS0xNiAxNzowMDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IEZpeCBzdGF0ZSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UuCgoyMDA1LTExLTE2IDExOjAyOjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIE1vdmUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfdWRwc3JjX2NyZWF0ZSk6IE1vdmUgY29tbWVudC4KCjIwMDUtMTEtMTYgMTA6NDM6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENsZWFuIHVwIHdpdGggdGhlIGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiBDbGVhbiB1cCB3aXRoIHRoZSBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDUtMTEtMTUgMTk6NDE6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiBzZWVraW5nLCBzZWVrIHRvIGNsb3Nlc3QgaW5kZXggZW50cnkgYXQgb3IgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgc2VlayBwb3NpdGlvbiwgbm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgV2hlbiBzZWVraW5nLCBzZWVrIHRvIGNsb3Nlc3QgaW5kZXggZW50cnkgYXQgb3IgYmVmb3JlIHRoZSByZXF1ZXN0ZWQKCSAgc2VlayBwb3NpdGlvbiwgbm90IGp1c3QgdGhlIGNsb3Nlc3Qgb25lICgjMzIxMDAxKS4KCjIwMDUtMTEtMTUgMTI6MTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEludmVydCBESUIgaW1hZ2VzIGFnYWluIChzZWUgIzEzMjM0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKHN3YXBfbGluZSksIChnc3RfYXZpX2RlbXV4X2ludmVydCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKToKCSAgSW52ZXJ0IERJQiBpbWFnZXMgYWdhaW4gKHNlZSAjMTMyMzQxKS4KCjIwMDUtMTEtMTQgMDI6MTM6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2R2L2dzdGR2LmM6CgkqIGV4dC9lc2QvZ3N0ZXNkLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZWxlbWVudHMuYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgoyMDA1LTExLTEyIDEzOjMxOjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBPbmx5IEdTVF9ERUJVRygpIGluZm9ybWF0aW9uIG9uIHRoZSB2YWxpZCBjb21wb25lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBPbmx5IEdTVF9ERUJVRygpIGluZm9ybWF0aW9uIG9uIHRoZSB2YWxpZCBjb21wb25lbnRzLgoKMjAwNS0xMS0xMSAxOTozNDo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS41ID09PQoKMjAwNS0xMS0xMSAxOTozMzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjUKCjIwMDUtMTEtMTEgMTg6MzM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA1LTExLTExIDE2OjQ4OjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBZZWFoLCBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcuIEV4YWN0IHNlZWtpbmcgYW5kIHNlZ21lbnQgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBZZWFoLCBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcuIEV4YWN0IHNlZWtpbmcgYW5kIHNlZ21lbnQgc2Vla2luZy4KCSAgU3RpbGwgbmVlZCB0byBkbyBzb21lIGNoZWNrcyBmb3Igc2VnbWVudF9zdG9wLgoKMjAwNS0xMS0xMSAxNToxNzo0NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBmaXggQ2Fpcm8gZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBDYWlybyBlbnRyeQoKMjAwNS0xMS0xMCAxMjozNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgoyMDA1LTExLTEwIDEyOjIyOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCB0cnkgdG8gcmVhZHkgYnVmZmVyIGR1cmF0aW9uIGZyb20gYnVmZmVyIHRoYXQgd2UgZG9uJ3Qgb3duIGFueSAgbG9uZ2VyIGFuZCB0aGF0IG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIERvbid0IHRyeSB0byByZWFkeSBidWZmZXIgZHVyYXRpb24gZnJvbSBidWZmZXIgdGhhdCB3ZSBkb24ndAoJICBvd24gYW55ICBsb25nZXIgYW5kIHRoYXQgbWlnaHQgYWxyZWFkeSBoYXZlIGJlZW4gdW5yZWZmZWQuCgkgICgjMzIxMTM2KQoKMjAwNS0xMS0wOSAyMTozNToyOSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIEF0dGVtcHRpbmcgdG8gb3B0aW1pemUgdGhlIGNvZGUgZm9yIGVtYmVkZGVkIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBdHRlbXB0aW5nIHRvIG9wdGltaXplIHRoZSBjb2RlIGZvciBlbWJlZGRlZCBzeXN0ZW1zLgoKMjAwNS0xMS0wOCAwODo1NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBEb24ndCByZS11c2UgYWxyZWFkeSBjbG9zZWQgZmlsZSBkZXNjcmlwdG9yLiAoIzMyMDkyMCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xvc2UpOgoJICBEb24ndCByZS11c2UgYWxyZWFkeSBjbG9zZWQgZmlsZSBkZXNjcmlwdG9yLiAoIzMyMDkyMCkKCjIwMDUtMTEtMDcgMTc6MzU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuKjogQ2FjaGUgcHJvYmVkIGNhcHM7IGZpeCBkZWJ1ZyBvdXRwdXQgZm9yIFNFVF9QQVJBTSBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X29zc19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgIENhY2hlIHByb2JlZCBjYXBzOyBmaXggZGVidWcgb3V0cHV0IGZvciBTRVRfUEFSQU0gbWFjcm9zLgoKMjAwNS0xMS0wNyAxNTowOTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jYWlyby86IFBvcnQgY2Fpcm8gdGV4dG92ZXJsYXkgcGx1Z2luIHRvIDAuOS4gQWRkICdzaGFkZWQtYmFja2dyb3VuZCcgcHJvcGVydHkgYW5kIHJlZG8gcG9zaXRpb24uIERvZXNuJ3QgaGFuZGxlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL2dzdGNhaXJvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV9mb250X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2dldGNhcHMpLCAoZ3N0X3RleHRfb3ZlcmxheV9zZXRjYXBzKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfbGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfdGV4dF9wYWRfdW5saW5rZWQpLCAoZ3N0X3RleHRfb3ZlcmxheV9zaGFkZV95KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF8xKSwgKGdzdF90ZXh0X292ZXJsYXlfYmxpdF9zdWIyeDIpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wdXNoX2ZyYW1lKSwgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3ZpZGVvKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfcG9wX3RleHQpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBQb3J0IGNhaXJvIHRleHRvdmVybGF5IHBsdWdpbiB0byAwLjkuIEFkZCAnc2hhZGVkLWJhY2tncm91bmQnCgkgIHByb3BlcnR5IGFuZCByZWRvIHBvc2l0aW9uLiBEb2Vzbid0IGhhbmRsZSB1cHN0cmVhbSByZW5lZ290aWF0aW9uCgkgIHlldCB0aG91Z2guCgoyMDA1LTExLTA3IDEwOjMxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBObyBuZWVkIHRvIHRha2UgdGhlIFNUUkVBTV9MT0NLIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBJbXByb3ZlIHNvbWUgZGVidWcgbWVzc2FnZXMuIERvbid0IGxlYWsgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTm8gbmVlZCB0byB0YWtlIHRoZSBTVFJFQU1fTE9DSyBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gSW1wcm92ZQoJICBzb21lIGRlYnVnIG1lc3NhZ2VzLiBEb24ndCBsZWFrIHBhZCBuYW1lcyBpbiBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDUtMTEtMDcgMTA6Mjc6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgIERvbid0IGVycm9yIG91dCB3aGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDUtMTEtMDIgMTk6NDI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2NvbmYvOiBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwgYW5kIHNldCBraWQgdG8gTlVMTCBzdGF0ZSBiZWZvcmUgcmVtb3ZpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCBhbmQgc2V0IGtpZAoJICB0byBOVUxMIHN0YXRlIGJlZm9yZSByZW1vdmluZyBpdC4KCjIwMDUtMTEtMDIgMTY6NDg6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBzaWdoLCBzdGF0aWMgcGFkIHRlbXBsYXRlcyBhcmVuJ3QgcmVmY291bnRlZCBwcm9wZXJseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2lnaCwgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgYXJlbid0IHJlZmNvdW50ZWQgcHJvcGVybHkKCjIwMDUtMTEtMDEgMTY6MTQ6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogZ3N0L2xldmVsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNS0xMS0wMSAxNToxNTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IEFkZGVkIHByb3BlciBldmVudCBoYW5kbGluZCwgbWFkZSBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQgdXNlIEdTVF9GT1JNQVRfQllURVMgKG90aGVyd2lzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19zdG9wX2ZpbGUpLAoJICAoZ3N0X3dhdmVuY19pbml0KSwgKGdzdF93YXZlbmNfZXZlbnQpLCAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIEFkZGVkIHByb3BlciBldmVudCBoYW5kbGluZCwKCSAgbWFkZSBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQgdXNlIEdTVF9GT1JNQVRfQllURVMgKG90aGVyd2lzZSBpdCdzCgkgIGlnbm9yZWQpLAoJICBhbmQgZG9uJ3Qgc2V0IGEgZHVyYXRpb24gb2YgMCBmb3IgYnVmZmVycyBvdGhlcndpc2UgdGhleSBhcmUgZGlzY2FyZGVkCgkgIGJ5IEdzdEJhc2VTaW5rLgoJICBHc3RXYXZFbmMgbmVlZHMgc29tZSBzZXJpb3VzIGxvdmluZywgYWZ0ZXIgZ29pbmcgdGhyb3VnaCB0aGUgY29kZSBJJ20KCSAgcmVhbGx5IHdvbmRlcmluZyBob3cgdGhpcyBjYW4gc3RheSBpbiAtZ29vZCAuLi4KCjIwMDUtMTEtMDEgMTU6MTE6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgRml4IGxlYWtzIGFuZCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYXMgcmVwb3J0ZWQgYnkgdmFsZ3JpbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLCAoc2V0dXBfc2lua19wYWQpLAoJICAoc2V0dXBfbWF0cm9za2FtdXgpLCAoY2hlY2tfYnVmZmVyX2RhdGEpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfZmluYWxpemUpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY29sbGVjdGVkKToKCSAgRml4IGxlYWtzIGFuZCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgYXMgcmVwb3J0ZWQgYnkgdmFsZ3JpbmQKCjIwMDUtMTEtMDEgMTQ6NDE6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgLi4uIGFuZCBhZGQgdGhlIG1pc3NpbmcgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLi4uIGFuZCBhZGQgdGhlIG1pc3NpbmcgZmlsZQoKMjAwNS0xMS0wMSAxNDozNjowMiArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBhZGQgYSB1bml0IHRlc3QgZm9yIG1hdHJvc2thbXV4IGZpeCB0aGUgYnVncyB0aGF0IHRoZSB1bml0IHRlc3QgZXhwb3NlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KToKCSAgYWRkIGEgdW5pdCB0ZXN0IGZvciBtYXRyb3NrYW11eAoJICBmaXggdGhlIGJ1Z3MgdGhhdCB0aGUgdW5pdCB0ZXN0IGV4cG9zZWQKCjIwMDUtMTEtMDEgMTQ6MzQ6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgZml4IE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggTWFrZWZpbGUuYW0KCjIwMDUtMTEtMDEgMTI6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbiBjbGFzc19pbml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBpbgoJICBjbGFzc19pbml0LgoKMjAwNS0xMS0wMSAxMjozNTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGVibWwgaGVhZGVycyBhcyB3ZWxsLCBzbyB0aGF0IHRoZSBlbGVtZW50IGFmdGVyIG1hdHJvc2thbXV4IGNhbiBnZXQgdGhlIHRpbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfbmV3KSwKCSAgKGdzdF9lYm1sX3dyaXRlX3Jlc2V0KSwgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfbmV3KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFNldCB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIGVibWwgaGVhZGVycyBhcyB3ZWxsLCBzbyB0aGF0IHRoZQoJICBlbGVtZW50IGFmdGVyIG1hdHJvc2thbXV4IGNhbiBnZXQgdGhlIHRpbWVzdGFtcCBhbHJlYWR5IHdoZW4KCSAgcmVhZGluZyB0aGUgZmlyc3QgZWJtbCBlbGVtZW50IGFuZCBkb2Vzbid0IGhhdmUgdG8gd2FpdCBmb3IKCSAgdGhlIGFjdHVhbCBkYXRhIGJ1ZmZlciBmb3IgdGhhdCAoIzMyMDMwOCkuCgoyMDA1LTEwLTMxIDIyOjA4OjUyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0zMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfbGluayk6IEtpbGwgc29tZSBtZW1sZWFrcy4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9nZXRfcHJvcGVydHkpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KTogU3R5bGUgZml4LgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2luaXQpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKTogS2lsbCBtZW1sZWFrLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfbG9vcCk6IEtpbGwgbWVtbGVhay4KCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6IEtpbGwgbWVtbGVhay4KCjIwMDUtMTAtMzEgMTk6MDg6MjcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBKdXN0IHNvbWUgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3Qgc29tZSBjbGVhbnVwLgoKMjAwNS0xMC0zMSAxNDo0MTozMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgQWRkIGNoZWNrcyB0byBHU1RfRkxPV19OT1RfTElOS0VEIGZvciB2YWx1ZXMgcmV0dXJuZWQgZnJvbSBnc3RfcGFkX3B1c2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgY2hlY2tzIHRvIEdTVF9GTE9XX05PVF9MSU5LRUQgZm9yIHZhbHVlcyByZXR1cm5lZCBmcm9tIGdzdF9wYWRfcHVzaC4KCjIwMDUtMTAtMzEgMTI6MDA6MTAgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSAgUGF5bG9hZGVyIG5vdyBzZXRzIHNvbWUgZGVmYXVsdCBjYXBzIG9uIHRoZSBzcmNwYWQgaWYgY2FwcyBvbiB0aGUgc2lua3BhZCBhcmUgbmV2ZXIgc2V0LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgdGhlIGc3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXlsb2FkZXIgbm93IHNldHMgc29tZSBkZWZhdWx0IGNhcHMgb24gdGhlIHNyY3BhZCBpZiBjYXBzIG9uIHRoZSBzaW5rcGFkIGFyZSBuZXZlciBzZXQuIFRoaXMgaXMgaW1wb3J0YW50IGZvciB0aGUgZzcxMSB0byB3b3JrIHdpdGggYnVyZ2VyJ3MgcnRwYmluIGVsZW1lbnQuCgoyMDA1LTEwLTI4IDE5OjE5OjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIEFkZCBjaGVja3MgZm9yIHJldHVybiB2YWx1ZXMgZnJvbSBnc3RfcGFkX3B1c2ggYW5kIGdzdF9wYWRfYWxsb2NfYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGNoZWNrcyBmb3IgcmV0dXJuIHZhbHVlcyBmcm9tIGdzdF9wYWRfcHVzaCBhbmQgZ3N0X3BhZF9hbGxvY19idWZmZXIuCgoyMDA1LTEwLTI4IDE1OjMyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIFNpbXBsZUJsb2NrIHN1cHBvcnQgdG8gbWF0cm9za2EgZGVtdXhlciBhbmQgbXV4ZXIgKHBhcnQgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9pbml0KSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfYnVmZmVyX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLCAoZ3N0X21hdHJvc2thX211eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X21hdHJvc2thX211eF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIFNpbXBsZUJsb2NrIHN1cHBvcnQgdG8gbWF0cm9za2EgZGVtdXhlciBhbmQgbXV4ZXIgKHBhcnQgb2YKCSAgTWF0cm9za2EgdjIpLiAoIzMxOTczMSkKCjIwMDUtMTAtMjggMTM6MjQ6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLio6IENsZWFudXBzLiBEb24ndCBjcmVhdGUgY2FwcyBmb3IgZXZlcnkgY2hhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwgKGdzdF9qcGVnX2RlY19jaGFpbiksCgkgIChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIENsZWFudXBzLiBEb24ndCBjcmVhdGUgY2FwcyBmb3IgZXZlcnkgY2hhaW4uCgoyMDA1LTEwLTI3IDE4OjQ2OjMyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIEZpeCB0byBzZXQgdGltZXN0YW1wIG9uIGJ1ZmZlciwgaXQgd2FzIHRlc3RlZCB3aXRoIFJUUCBHNzExIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHNldCB0aW1lc3RhbXAgb24gYnVmZmVyLCBpdCB3YXMgdGVzdGVkIHdpdGggUlRQIEc3MTEgZWxlbWVudHMuCgoyMDA1LTEwLTI3IDExOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOiBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoKMjAwNS0xMC0yNyAxMToyNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlCgkgIG9uIHRoZSBidXMgaW5zdGVhZC4KCjIwMDUtMTAtMjcgMTE6MDA6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy5jOiBTZXQgY29ycmVjdCBmb3JtYXQgb24gb3NzIGluc3RlYWQgb2YgYSBzaWxseSB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBTZXQgY29ycmVjdCBmb3JtYXQgb24gb3NzIGluc3RlYWQgb2YgYSBzaWxseSB2YWx1ZS4KCjIwMDUtMTAtMjcgMDk6NTI6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFVzZSBsaWJvaWwgZm9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fYm94X2NvcHlfcGxhbmVfaTQyMCksCgkgIChnc3RfdmlkZW9fYm94X2k0MjApLCAoZ3N0X3ZpZGVvX2JveF9heXV2KTogVXNlIGxpYm9pbCBmb3IKCSAgSTQyMCByZW5kZXJpbmcgYXMgd2VsbCwgZG9lc24ndCBicmluZyBtdWNoIGZvciBteSBwbGF0Zm9ybS4KCSAgTWlnaHQgaGVscCBvbiBzb21lIG90aGVyIHBsYXRmb3Jtcy4KCjIwMDUtMTAtMjYgMjE6NDc6MzYgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgRGVjbGFyaW5nIHRoZSBwYWR0ZW1wbGF0ZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBEZWNsYXJpbmcgdGhlIHBhZHRlbXBsYXRlIGNvcnJlY3RseS4KCjIwMDUtMTAtMjYgMjA6Mjg6MzIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgU2V0dGluZyB0aGUgcHJvcGVyIGNvcHlyaWdodCBub3RpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXR0aW5nIHRoZSBwcm9wZXIgY29weXJpZ2h0IG5vdGljZS4KCjIwMDUtMTAtMjYgMTc6MjM6MDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOiBVc2UgbGlib2lsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbTogVXNlIGxpYm9pbC4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IExvdCBvZiBvcHRpbWl6YXRpb24gaW4gQVlVViByZW5kZXJpbmcKCSAgdXNpbmcgbGlib2lsLiBXaWxsIGRvdCB0aGUgc2FtZSB0byBJNDIwIGJvcmRlciBnZW5lcmF0aW9uCgkgIHRvbW9ycm93LgoKMjAwNS0xMC0yNiAxNjozNjowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBmaXggYXV0b21ha2Ugd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBhdXRvbWFrZSB3YXJuaW5ncwoKMjAwNS0xMC0yNiAxNDo1MDo1OSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIEhhY2tlZCB0aGUgRzcxMSAoZGUpcGF5bG9hZGVyIHRvIHRyeSB0byBtYWtlIHRoaW5ncyByaWdodC4gcnRwZzcxMWRlYyBub3cgaW5oZXJpdHMgZnJvbSB0aGUgYmFzZXJ0cGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGFja2VkIHRoZSBHNzExIChkZSlwYXlsb2FkZXIgdG8gdHJ5IHRvIG1ha2UgdGhpbmdzIHJpZ2h0LiBydHBnNzExZGVjIG5vdyBpbmhlcml0cyBmcm9tIHRoZSBiYXNlcnRwZGVwYXlsb2FkZXIuCgoyMDA1LTEwLTI2IDE0OjIzOjQ1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBSZW1vdmluZyB0aGlzIGZvcmdvdHRlbiBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBSZW1vdmluZyB0aGlzIGZvcmdvdHRlbiBkZWJ1Zy4KCjIwMDUtMTAtMjYgMTQ6MDg6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCB0aGUgc3RyaWRlIGlzc3VlIHdoZW4gYm94aW5nIHRvIEFZVVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogRml4IHRoZSBzdHJpZGUgaXNzdWUgd2hlbiBib3hpbmcgdG8gQVlVVi4KCjIwMDUtMTAtMjYgMTE6MTI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogQWN0dWFsbHkgdXNlIHRoZSAnb3NzJyBkZWJ1ZyBjYXRlZ29yeSB3ZSByZWdpc3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBBY3R1YWxseSB1c2UgdGhlICdvc3MnIGRlYnVnIGNhdGVnb3J5IHdlIHJlZ2lzdGVyLgoKMjAwNS0xMC0yNiAxMDozODoxOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgYW5kIGRyb3AgdGhlIHJlZiB0aGF0IHdhcyBhZGRlZCB0aHJvdWdoIHRoYXQgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2Fwcyk6CgkgIFVzZSBnc3RfcGFkX2dldF9wYXJlbnQgYW5kIGRyb3AgdGhlIHJlZiB0aGF0IHdhcyBhZGRlZCB0aHJvdWdoCgkgIHRoYXQgY2FsbC4KCjIwMDUtMTAtMjYgMTA6MDM6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBmaXggY29tcGlsYXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAwNS0xMC0yNSAyMTowOTozNiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICBKdXN0IHJlbW92ZWQgYSBjb3VwbGUgb2YgbGluZXMgb2Ygd2VpcmQgY29kZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC90ZXN0IHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHJlbW92ZWQgYSBjb3VwbGUgb2YgbGluZXMgb2Ygd2VpcmQgY29kZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC90ZXN0IHRpbWUuCgoyMDA1LTEwLTI1IDE5OjE5OjM4ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSAgRzcxMSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGNyZWF0ZWQgYnkgRWRnYXJkIExpbWEgKGl0IHN1cHBvcnRzIG11bGF3IGFuZCBhbGF3IChkZWMpZW5jb2RlcnMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHNzExIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgY3JlYXRlZCBieSBFZGdhcmQgTGltYSAoaXQgc3VwcG9ydHMKCSAgbXVsYXcgYW5kIGFsYXcgKGRlYyllbmNvZGVycykKCjIwMDUtMTAtMjUgMTc6NTU6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IERvaCAhIEkgaW50cm9kdWNlZCB3aW5nbydzIGJ1ZyBhZ2FpbiAhIFNvcnJ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICBEb2ggISBJIGludHJvZHVjZWQgd2luZ28ncyBidWcgYWdhaW4gISBTb3JyeS4uLgoKMjAwNS0xMC0yNSAxNjowMjozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBoZWFkZXIgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNS0xMC0yNSAxNTowNzowMiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgR2V0dGluZyB0aGUgR1NNIChkZSlwYXlsb2FkZXIgd29ya2luZyBhbmQgY29tcGF0aWJsZSB3aXRoIG91ciBwbGFucyBmb3IgUlRQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR2V0dGluZyB0aGUgR1NNIChkZSlwYXlsb2FkZXIgd29ya2luZyBhbmQgY29tcGF0aWJsZSB3aXRoIG91ciBwbGFucyBmb3IgUlRQLgoKMjAwNS0xMC0yNSAxMzowMzowNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgZml4IG1pc3Rha2VuIGNsYWltIG9uIEdQTCwgaXRzIExHUEwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtaXN0YWtlbiBjbGFpbSBvbiBHUEwsIGl0cyBMR1BMCgoyMDA1LTEwLTI1IDEwOjQ3OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFB1c2ggYSBuZXdzZWdtZW50IGV2ZW50LCBtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUgaW4gYSBzaW5nbGUgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKTogUHVzaAoJICBhIG5ld3NlZ21lbnQgZXZlbnQsIG1vdmUgc29tZSByZWR1bmRhbnQgY29kZSBpbiBhIHNpbmdsZSBwbGFjZS4KCjIwMDUtMTAtMjUgMTA6MjM6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogVGVtcG9yYXJ5IGhhY2sgdG8gZ2V0IGNvcnJlY3QgY29sb3JzIG9yZGVyIHdoZW4gd2UgaGF2ZSBhIHBuZyBpbWFnZSB3aXRoIGFscGhhIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLCAoZ3N0X3BuZ2RlY190YXNrKTogVGVtcG9yYXJ5CgkgIGhhY2sgdG8gZ2V0IGNvcnJlY3QgY29sb3JzIG9yZGVyIHdoZW4gd2UgaGF2ZSBhIHBuZyBpbWFnZSB3aXRoCgkgIGFscGhhIGNoYW5uZWwuCgoyMDA1LTEwLTI0IDE3OjI5OjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMgd2hlbiB0aGVyZSB3aWxsIGJlIG5vIG1vcmUgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2FkZF9wYWRzKToKCSAgQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMgd2hlbiB0aGVyZSB3aWxsIGJlIG5vIG1vcmUgcGFkcy4KCjIwMDUtMTAtMjQgMTY6Mzk6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgdHdvIG5ldyBwYXlsb2FkZXJzLCBhbiBSRkMgMjE5MCBwYXlsb2FkZXIgZm9yIGgyNjMgYW5kIGEgcGF5bG9hZCBjb252ZXJ0b3IgZm9yIGFuIGFzdGVyaXNrIHNlcnZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19nZXRfdHlwZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2Jhc2VfaW5pdCksIChnc3RfYXN0ZXJpc2toMjYzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19pbml0KSwgKGdzdF9hc3Rlcmlza2gyNjNfZmluYWxpemUpLAoJICAoZ3N0X2FzdGVyaXNraDI2M19jaGFpbiksIChnc3RfYXN0ZXJpc2toMjYzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2dldF9wcm9wZXJ0eSksIChnc3RfYXN0ZXJpc2toMjYzX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmM6IChnc3RfcnRwaDI2M2VuY19nZXRfdHlwZSksCgkgIChnc3RfcnRwaDI2M2VuY19iYXNlX2luaXQpLCAoZ3N0X3J0cGgyNjNlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwaDI2M2VuY19pbml0KSwgKGdzdF9ydHBoMjYzZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBoMjYzZW5jX3NldGNhcHMpLCAoZ3N0X3J0cGgyNjNlbmNfZ29iZmluZXIpLAoJICAoZ3N0X3J0cGgyNjNlbmNfZmx1c2gpLCAoZ3N0X3J0cGgyNjNlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwaDI2M2VuY19wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZW5jLmg6CgkgIEFkZGVkIHR3byBuZXcgcGF5bG9hZGVycywgYW4gUkZDIDIxOTAgcGF5bG9hZGVyIGZvciBoMjYzIGFuZAoJICBhIHBheWxvYWQgY29udmVydG9yIGZvciBhbiBhc3RlcmlzayBzZXJ2ZXIuCgoyMDA1LTEwLTI0IDE1OjU3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuYzogU2V0IGJ5dGVzX3Blcl9zYW1wbGUgY29ycmVjdGx5IChpcyBub3QgYWx3YXlzIDQsIGJ1dCBkZXBlbmRzIG9uIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIFNldCBieXRlc19wZXJfc2FtcGxlIGNvcnJlY3RseSAoaXMgbm90IGFsd2F5cyA0LCBidXQKCSAgZGVwZW5kcyBvbiB3aWR0aCBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzKS4KCjIwMDUtMTAtMjQgMTU6NTA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IEZpeCBzZWVraW5nLCBzbyB0aGF0IGZsYWNlbmMgY2FuIHJld3JpdGUgdGhlIGhlYWRlciB3aXRoIHRoZSBjb3JyZWN0IGR1cmF0aW9uIGFuZCBhbW91bnQgb2Ygc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjZW5jX2luaXQpLCAoZ3N0X2ZsYWNlbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9mbGFjZW5jX3NlZWtfY2FsbGJhY2spLCAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spLAoJICAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCksIChnc3RfZmxhY2VuY19jaGFpbiksCgkgIChnc3RfZmxhY2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2ZsYWNlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mbGFjZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBGaXggc2Vla2luZywgc28gdGhhdCBmbGFjZW5jIGNhbiByZXdyaXRlIHRoZSBoZWFkZXIgd2l0aCB0aGUKCSAgY29ycmVjdCBkdXJhdGlvbiBhbmQgYW1vdW50IG9mIHNhbXBsZXMgYW5kIGFsbCB0aGF0IGF0IEVPUzsKCSAgYWxzbyBzZXQgdGltZXN0YW1wcyBhbmQgZ3JhbnVsZXBvcyBvbiBvdXRnb2luZyBidWZmZXJzOyBhZGQKCSAgZGVidWcgY2F0ZWdvcnk7IGZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgoyMDA1LTEwLTI0IDEzOjQ2OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzdHJpY3QgdmlkZW8gZ2VvbWV0cnkgZnJvbSAxNiB0byA0MDk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogRG9uJ3QgcmVzdHJpY3QgdmlkZW8gZ2VvbWV0cnkKCSAgZnJvbSAxNiB0byA0MDk2LgoKMjAwNS0xMC0yNCAxMzoyMjoxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5LCBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKToKCSAgRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5LCBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoKMjAwNS0xMC0yNCAxMzowMjo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCjIwMDUtMTAtMjQgMDg6NTk6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRG9uJ3QgdXNlIGZpeGVkIGNhcHMgb24gYSBzaW5rIHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KTogRG9uJ3QgdXNlIGZpeGVkCgkgIGNhcHMgb24KCSAgYSBzaW5rIHBhZC4KCjIwMDUtMTAtMjMgMjM6MDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvdXBsb2FkLm1hazoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS40ID09PQoKMjAwNS0xMC0yMyAyMjo0MzowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS40CgoyMDA1LTEwLTIzIDExOjA3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgU1RPUFBFRC0+RkFJTEVECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTVE9QUEVELT5GQUlMRUQKCjIwMDUtMTAtMjEgMTc6MDA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogQWRkIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSwgZml4IHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhlbmNfc3JjX3F1ZXJ5KToKCSAgQWRkIHBvc2l0aW9uIGFuZCBkdXJhdGlvbiBxdWVyeSwgZml4IHF1ZXJ5IHR5cGUgZnVuY3Rpb24uCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIExldCdzIG5vdCBzZXQgbm9uLWZpeGVkIGNhcHMgb24gc291cmNlIHBhZHMuCgoyMDA1LTEwLTIxIDE2OjE1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU2V0IGNvcnJlY3Qgc3RyZWFtX3RpbWUgaW4gbmV3c2VnbWVudCBldmVudC4gYXZpIGNhbiBhbHNvIGhhbmRsZSBhIGR1cmF0aW9uIHF1ZXJ5IG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIFNldCBjb3JyZWN0IHN0cmVhbV90aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQuCgkgIGF2aSBjYW4gYWxzbyBoYW5kbGUgYSBkdXJhdGlvbiBxdWVyeSBub3cuCgoyMDA1LTEwLTIxIDEwOjA2OjQwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHVwZGF0ZSBmb3IgbGF0ZXN0IGFkZGl0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciBsYXRlc3QgYWRkaXRpb25zCgoyMDA1LTEwLTIwIDE5OjE0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBkdXJhdGlvbiBxdWVyeTsgZml4IGJhc2V0aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQgYWZ0ZXIgc2VlazsgZml4IGR1cmF0aW9uIGluIGluaXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCk6CgkgIEZpeCBkdXJhdGlvbiBxdWVyeTsgZml4IGJhc2V0aW1lIGluIG5ld3NlZ21lbnQgZXZlbnQgYWZ0ZXIKCSAgc2VlazsgZml4IGR1cmF0aW9uIGluIGluaXRpYWwgbmV3c2VnbWVudCBldmVudC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBFeHRyYWN0IG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlcmF0ZSBmcm9tIHZvcmJpcyBoZWFkZXJzOwoJICBhZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcyB3aGVuIHF1ZXJ5aW5nIHRoZSBkdXJhdGlvbnMgb2YgdGhlCgkgIGlucHV0IHN0cmVhbXMuCgoyMDA1LTEwLTIwIDExOjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNldCBzdHJlYW0gdGltZSBjb3JyZWN0bHkgaW4gbmV3c2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIFNldCBzdHJlYW0gdGltZSBjb3JyZWN0bHkgaW4gbmV3c2VnbWVudC4KCjIwMDUtMTAtMjAgMTE6Mzk6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENvcnJlY3RseSBmaWxsIGluIHRoZSBzdHJlYW0gdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgIENvcnJlY3RseSBmaWxsIGluIHRoZSBzdHJlYW0gdGltZS4KCjIwMDUtMTAtMTkgMjA6NDg6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdXNlIEVMRU1FTlQgbWVzc2FnZXMgaW5zdGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIEVMRU1FTlQgbWVzc2FnZXMgaW5zdGVhZAoKMjAwNS0xMC0xOSAxNTo1ODowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHNwZWVkX3NyY19xdWVyeSk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X3R0YV9wYXJzZV9xdWVyeSk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxNTo1NzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xlbmd0aCksCgkgIChnc3RfZmxhY2RlY19zcmNfcXVlcnkpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6IChnc3RfbmF2c2Vla19zZWVrKToKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX2dldF9sZW5ndGgpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxMDo1Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogTWFrZSBpbmxpbmUgZnVuY3Rpb25zIGVpdGhlciAnc3RhdGljIGlubGluZScgb3IgJ2V4dGVybiBpbmxpbmUnLCBvdGhlcndpc2UgdGhlIEZvcnRlIGNvbXBpbGVyIGFwcGFyZW50bHkgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkgICogZ3N0L2dvb20vZ3JhcGhpYy5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6CgkgIE1ha2UgaW5saW5lIGZ1bmN0aW9ucyBlaXRoZXIgJ3N0YXRpYyBpbmxpbmUnIG9yICdleHRlcm4gaW5saW5lJywKCSAgb3RoZXJ3aXNlIHRoZSBGb3J0ZSBjb21waWxlciBhcHBhcmVudGx5IHdvbid0IGlubGluZSB0aGVtICgjMzE3MzAwKS4KCjIwMDUtMTAtMTggMjI6NTA6MTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogZm9yZ290IHRoZSBidWZmZXIgdW5yZWYgaW4gcHVsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBmb3Jnb3QgdGhlIGJ1ZmZlciB1bnJlZiBpbiBwdWxsLgoKMjAwNS0xMC0xOCAyMjo0NDoxMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBDb21wbGV0ZSByZXdyaXRlIG9mIHBuZ2RlYy4gSXQncyBub3cgdmVyeSBuaWNlIGFuZCBoYW5kbGUgcHVzaC9wdWxsIGJhc2VkIG1vZGVsLiBpZiB5b3UgaGF2ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX2Vycm9yX2ZuKSwgKHVzZXJfd2FybmluZ19mbiksCgkgICh1c2VyX2luZm9fY2FsbGJhY2spLCAodXNlcl9lbmRyb3dfY2FsbGJhY2spLAoJICAodXNlcl9lbmRfY2FsbGJhY2spLAoJICAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwKCSAgKGdzdF9wbmdkZWNfdGFzayksIChnc3RfcG5nZGVjX2NoYWluKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19jbGVhciksIChnc3RfcG5nZGVjX2xpYnBuZ19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDogQ29tcGxldGUgcmV3cml0ZSBvZiBwbmdkZWMuIEl0J3Mgbm93CgkgIHZlcnkgbmljZSBhbmQgaGFuZGxlIHB1c2gvcHVsbCBiYXNlZCBtb2RlbC4gaWYgeW91IGhhdmUgZmlsZXNyYwoJICBjb25uZWN0ZWQgdG8gaXQsIGl0IHdpbGwgZG8gcmFuZG9tIGFjY2VzcyB0byBsb2FkIHRoZSBwbmcgZmlsZS4KCSAgSWYgeW91IGhhdmUgYSBuZXR3b3JrIHNvdXJjZSB0aGF0IGNhbid0IGRvIF9nZXRyYW5nZSwgaXQgZG9lcwoJICBwcm9ncmVzc2l2ZSBsb2FkaW5nIHRocm91Z2ggdGhlIGNoYWluIGZ1bmN0aW9uLgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKTogRml4IGNhcHMgbmVnb3RpYXRpb24gY29ycmVjdGx5CgkgIHRoYW5rcyB0byBNYXN0ZXIgV2ltIFRheW1hbnMgOy0pCgoyMDA1LTEwLTE4IDE4OjEyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogUG9ydGVkIG1hdHJvc2thIGRlbXV4ZXIgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUG9ydGVkIG1hdHJvc2thIGRlbXV4ZXIgdG8gMC45LgoKMjAwNS0xMC0xOCAxODowNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IG1wZWc0IGlucHV0IGhhbmRsaW5nICgjMzE4ODQ3KTsgYWxzbywgd2hpbGUgd2UncmUgYXQgaXQsIGZpeCBtZWRpYSB0eXBlIGZvciBNb3Rpb24tSi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBGaXggbXBlZzQgaW5wdXQgaGFuZGxpbmcgKCMzMTg4NDcpOyBhbHNvLCB3aGlsZSB3ZSdyZSBhdCBpdCwKCSAgZml4IG1lZGlhIHR5cGUgZm9yIE1vdGlvbi1KUEVHOiBzaG91bGQgYmUgaW1hZ2UvanBlZy4KCjIwMDUtMTAtMTggMTM6MjE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogRml4IGZvciBzZWdtZW50LXN0YXJ0L3N0b3AgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEZpeCBmb3Igc2VnbWVudC1zdGFydC9zdG9wIEFQSSBjaGFuZ2UuCgoyMDA1LTEwLTE3IDE3OjE4OjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIGluIGEgYmV0dGVyIHdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2Jncik6IEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIGluIGEKCSAgYmV0dGVyCgkgIHdheS4KCjIwMDUtMTAtMTcgMTY6NTk6MjAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCBjYXBzIG5lZ28gc29tZSBtb3JlIHRvIGdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOiBGaXggY2FwcyBuZWdvIHNvbWUgbW9yZSB0byBnZXQKCSAgQVlVVgoJICBvdXRwdXQgZGVjbGFyZWQgaW4gdHJhbnNmb3JtX2NhcHMuCgoyMDA1LTEwLTE3IDE1OjIzOjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IFdlIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpOiBXZSB1c2UgZml4ZWQgY2Fwcy4KCjIwMDUtMTAtMTcgMTU6MTQ6MjkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEZpeCB3cm9uZyBzaXplIGNhbGN1bGF0aW9ucyBhbmQgaW1wbGVtZW50IGdldF91bml0X3NpemUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOiBGaXggd3Jvbmcgc2l6ZSBjYWxjdWxhdGlvbnMgYW5kCgkgIGltcGxlbWVudCBnZXRfdW5pdF9zaXplIGNvcnJlY3RseS4KCjIwMDUtMTAtMTcgMTQ6NTY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVuYWJsZSBmbHggcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBmbHggcGx1Z2luLgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChmbHhfZGVjb2RlX2NodW5rcyk6CgkgIEZpeCBnY2M0IHNpZ25lZG5lc3MgaXNzdWUuCgoyMDA1LTEwLTE3IDA4OjQ2OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkaW5nIHZpZGVvbWl4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBBZGRpbmcgdmlkZW9taXhlci4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2hhaW4pOiBNb3JlIGRlYnVnZ2luZy4KCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06IEFkZGluZyBhbHBoYWNvbG9yCgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl9iYXNlX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX2NsYXNzX2luaXQpLCAoZ3N0X2FscGhhX2NvbG9yX2luaXQpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hbHBoYV9jb2xvcl9zZXRfY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpLAoJICAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9pcCksCgkgIChwbHVnaW5faW5pdCk6IFBvcnRlZCB0byAwLjkgdXNpbmcgaW4gcGxhY2UgYmFzZSB0cmFuZm9ybS4KCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfbGluayksIChnc3RfdmlkZW9taXhlcl9wYWRfdW5saW5rKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9pbml0KSwgKGdzdF92aWRlb21peGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKSwgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIFBvcnRlZAoJICB0byAwLjkgdXNpbmcgY29sbGVjdHBhZHMuCgoyMDA1LTEwLTE2IDIxOjE5OjQ0ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseCBwbHVnaW4gcG9ydGVkIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZmx4IHBsdWdpbiBwb3J0ZWQgdG8gMC45CgoyMDA1LTEwLTE2IDE0OjMzOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgdXNlIGdzdF92ZXJzaW9uX3N0cmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIGdzdF92ZXJzaW9uX3N0cmluZwoKMjAwNS0xMC0xNiAxMzoxNzoxMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjOiBHTElCX0NIRUNLLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6IEdMSUJfQ0hFQ0suCgoyMDA1LTEwLTE1IDE2OjQ4OjU1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvOiBQb3J0ZWQgcG5nZGVjIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9nc3RwbmcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdkZWNfaW5pdCksICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOiBQb3J0ZWQgcG5nZGVjIHRvIDAuOQoKMjAwNS0xMC0xNCAxMjo0MzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbWF0cm9za2EgbXV4ZXIgdG8gMC45ICgjMzE4ODQ3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBvcnQgbWF0cm9za2EgbXV4ZXIgdG8gMC45ICgjMzE4ODQ3KS4KCjIwMDUtMTAtMTMgMTg6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogRml4IGhhbmRsaW5nIG9mIEdTVF9UQUdfREFURSwgd2hpY2ggaXMgbm93IG9mIEdTVF9UWVBFX0RBVEU7IHVzZSBHU1RfUkVBRF9VSU5UMzJfTEUoKSBhbmQgZnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZ2V0X3RhZ192YWx1ZSksCgkgIChjb21tZW50X2luaXQpLCAoY29tbWVudF9hZGQpOgoJICBGaXggaGFuZGxpbmcgb2YgR1NUX1RBR19EQVRFLCB3aGljaCBpcyBub3cgb2YgR1NUX1RZUEVfREFURTsKCSAgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRSgpIGFuZCBmcmllbmRzIHJhdGhlciB0aGFuIHRoZSBwcml2YXRlCgkgIGltcGxlbWVudGF0aW9uIG9mIHRob3NlIHNhbWUgbWFjcm9zLgoKMjAwNS0xMC0xMyAxNjowMTozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGZpeCBkaXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdAoKMjAwNS0xMC0xMyAxNToyODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6IG1vcmUgdHlwbyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgbW9yZSB0eXBvIGZpeGVzCgoyMDA1LTEwLTEyIDE0OjMwOjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hNTJkZWMvZ3N0YTUyZGVjLmM6IChnc3RfYTUyZGVjX2luaXQpOgoJICAqIGV4dC9kdmRuYXYvZHZkbmF2c3JjLmM6IChkdmRuYXZzcmNfaXNfb3BlbiksCgkgIChkdmRuYXZzcmNfc2V0X3Byb3BlcnR5KSwgKGR2ZG5hdnNyY19vcGVuKSwgKGR2ZG5hdnNyY19jbG9zZSksCgkgIChkdmRuYXZzcmNfZXZlbnQpLCAoZHZkbmF2c3JjX2NvbnZlcnQpLCAoZHZkbmF2c3JjX3F1ZXJ5KToKCSAgKiBleHQvZHZkcmVhZC9kdmRyZWFkc3JjLmM6IChkdmRyZWFkc3JjX3NldF9wcm9wZXJ0eSksCgkgIChkdmRyZWFkc3JjX3NyY3BhZF9xdWVyeSksIChkdmRyZWFkc3JjX2dldCksCgkgIChkdmRyZWFkc3JjX29wZW5fZmlsZSksIChkdmRyZWFkc3JjX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9kdmRyZWFkL2R2ZHJlYWRzcmMuaDoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgICogZ3N0L2FzZmRlbXV4L2dzdGFzZmRlbXV4LmM6IChnc3RfYXNmX2RlbXV4X2luaXQpOgoJICAqIGdzdC9hc2ZkZW11eC9nc3Rhc2ZtdXguYzogKGdzdF9hc2ZtdXhfaW5pdCk6CgkgICogZ3N0L2llYzk1OC9hYzNpZWMuaDoKCSAgKiBnc3QvbXBlZ3N0cmVhbS9nc3RkdmRkZW11eC5jOiAoZ3N0X2R2ZF9kZW11eF9pbml0KToKCSAgKiBnc3QvbXBlZ3N0cmVhbS9nc3RtcGVnZGVtdXguYzogKGdzdF9tcGVnX2RlbXV4X2luaXQpOgoJICAqIGdzdC9tcGVnc3RyZWFtL2dzdG1wZWdwYXJzZS5jOiAoZ3N0X21wZWdfcGFyc2VfaW5pdCk6CgkgICogZ3N0L21wZWdzdHJlYW0vZ3N0cmZjMjI1MGVuYy5jOiAoZ3N0X3JmYzIyNTBfZW5jX2luaXQpOgoJICAqIGdzdC9zeW5hZXN0aGVzaWEvZ3N0c3luYWVzdGhlc2lhLmM6IChnc3Rfc3luYWVzdGhlc2lhX2luaXQpOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAxNDoyOTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksCgkgIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLAoJICAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLAoJICAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksCgkgIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksCgkgIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksCgkgIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLAoJICAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLAoJICAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksCgkgIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksCgkgIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLAoJICAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwKCSAgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDE0OjI5OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX29wZW5fYXVkaW8pLAoJICAoZ3N0X2VzZG1vbl9jbG9zZV9hdWRpbyksIChnc3RfZXNkbW9uX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2VzZC9lc2Rtb24uaDoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRvdmVybGF5X2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9pbml0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aWZpbGVzcmNfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc3JjX2dldCksIChnc3RfbXVsdGlmaWxlc3JjX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzogKGdzdF9waXBlZmlsdGVyX2luaXQpLAoJICAoZ3N0X3BpcGVmaWx0ZXJfb3Blbl9maWxlKSwgKGdzdF9waXBlZmlsdGVyX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3BpcGVmaWx0ZXJfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTCgkgIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTEwLTEyIDAzOjE0OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdCBjYWlybwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzdCBjYWlybwoKMjAwNS0xMC0xMiAwMzoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvOiB1cGRhdGUgb2YgY2Fpcm8tYmFzZWQgdGltZW92ZXJsYXkgdG8gMS4wIENhaXJvIEFQSSBkb2Vzbid0IHdvcmsgeWV0IGZvciByZXNpemluZyBvZiBvdXRwdXQgc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9nc3RjYWlyby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRvdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfdGltZW92ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9zZXR1cCksIChnc3RfdGltZW92ZXJsYXlfcGxhbmFyNDExKToKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgdXBkYXRlIG9mIGNhaXJvLWJhc2VkIHRpbWVvdmVybGF5IHRvIDEuMCBDYWlybyBBUEkKCSAgZG9lc24ndCB3b3JrIHlldCBmb3IgcmVzaXppbmcgb2Ygb3V0cHV0IHNpbmsKCjIwMDUtMTAtMTIgMDM6MDc6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgY2hlY2sKCjIwMDUtMTAtMTIgMDM6MDM6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgZ3N0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGdzdGNoZWNrCgoyMDA1LTEwLTExIDE3OjM4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IG5ld3NlZ21lbnQgQVBJIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfZXZlbnQpLCAoc3BlZXhfZGVjX2NoYWluKToKCSAgbmV3c2VnbWVudCBBUEkgZml4LgoKMjAwNS0xMC0xMSAxNjozNDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0xMSAxNjozMzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9ldmVudCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfc3RvcF9maWxlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoKMjAwNS0xMC0xMSAxMDowNzozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFNpZ25lZG5lc3MgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTExICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBTaWduZWRuZXNzIGNsZWFudXBzLgoKMjAwNS0xMC0xMCAxOTo1Nzo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBTcGVleGVuYyBwb3J0ZWQgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3BlZXhlbmMgcG9ydGVkIHRvIDAuOS4KCjIwMDUtMTAtMTAgMTQ6MTY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvb3NzLzogQ2xlYW51cHMsIG1ha2UgZGV2aWNlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgc2luaywgaGFuZGxlIGFuZCByZXBvcnQgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfcmVzZXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfb3NzX3NyY19pbml0KSwgKGdzdF9vc3Nfc3JjX29wZW4pLAoJICAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIENsZWFudXBzLCBtYWtlIGRldmljZSBjb25maWd1cmFibGUgaW4gdGhlIHNpbmssIGhhbmRsZSBhbmQgcmVwb3J0CgkgIGVycm9ycy4KCjIwMDUtMTAtMTAgMTI6MzE6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvOiBNYWtlIHN1cmUgZWxlbWVudCBpcyBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfcmVzZXQpOgoJICBNYWtlIHN1cmUgZWxlbWVudCBpcyBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4uCgoyMDA1LTEwLTA3IDE2OjI4OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBEb24ndCB1bnJlZiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6IERvbid0IHVucmVmIHRoZSBtZXNzYWdlLgoKMjAwNS0xMC0wNyAxNjoyMjo1OSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgY2FibGUgaXMgdW5wbHVnZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9kdjEzOTRzcmNfYnVzX3Jlc2V0KTogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgY2FibGUgaXMKCSAgdW5wbHVnZ2VkLgoJICAoZ3N0X2R2MTM5NHNyY19jcmVhdGUsIGdzdF9kdjEzOTRzcmNfdW5sb2NrKTogUmVtb3ZlIHNvbWUgcHJpbnRzLgoKMjAwNS0xMC0wNyAxNToyNDoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IE1ha2UgaW50ZXJydXB0aWJsZSwgc28gaXQgd29uJ3QKCSAgYmxvY2sgZm9yZXZlciBpbiBhIHJlYWQoKS4KCjIwMDUtMTAtMDcgMTM6MTc6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBDbGVhbiB1cCBmb3Igc3R5bGUgYmVmb3JlIGRvaW5nIHNvbWUgaGFja2luZy4gVGhlIG9ubHkgY2hhbmdlIHNob3VsZCBiZSB0aGF0IHRoZSBzdGF0ZSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogQ2xlYW4gdXAgZm9yIHN0eWxlIGJlZm9yZSBkb2luZyBzb21lCgkgIGhhY2tpbmcuIFRoZSBvbmx5IGNoYW5nZSBzaG91bGQgYmUgdGhhdCB0aGUgc3RhdGUgY2hhbmdlIHN0dWZmIHdhcwoJICBwdXQgaW50byBiYXNlc3JjJ3Mgc3RhcnQoKSBhbmQgc3RvcCgpIHJvdXRpbmVzLCB3aGljaCBjb2FsZXNjZXMKCSAgc29tZSBzdGVwcy4KCjIwMDUtMTAtMDcgMTE6MzA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBjaGVjayBmb3IgbW1hcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBjaGVjayBmb3IgbW1hcAoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgT25seSBjb21waWxlIGVmZW5jZSBwbHVnaW4gb24gc3lzdGVtcyB0aGF0IGhhdmUgbW1hcC4KCjIwMDUtMTAtMDUgMTY6MzY6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBmaWxlcwoKMjAwNS0xMC0wNSAxMTozODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IFBvcnQgcHJvZ3Jlc3NyZXBvcnQsIG5hdnNlZWssIG5hdmlnYXRpb250ZXN0LCB0ZXN0c2luayBhbmQgYnJlYWtteWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZ3N0ZGVidWcuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgUG9ydCBwcm9ncmVzc3JlcG9ydCwgbmF2c2VlaywgbmF2aWdhdGlvbnRlc3QsIHRlc3RzaW5rIGFuZAoJICBicmVha215ZGF0YS4KCjIwMDUtMTAtMDUgMTE6MTU6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBGaXhlcyBmb3IgYmV0dGVyIGNvbnZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSk6CgkgIEZpeGVzIGZvciBiZXR0ZXIgY29udmVyc2lvbgoKMjAwNS0xMC0wNCAxNzo1ODo0MCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBTZXQgc3RhdGUgb2YgZWxlbWVudHMgdG8gTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSBiaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgU2V0IHN0YXRlIG9mIGVsZW1lbnRzIHRvIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gYmlucy4KCSAgU2V0IHN0YXRlIG9mIHRlc3QgZWxlbWVudCB0byBOVUxMIGlmIHdlIGZhaWxlZCB0byBtb3ZlIGl0IHRvIFJFQURZCgoyMDA1LTEwLTA0IDE3OjQ0OjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2LzogQWRkZWQgREVGQVVMVCA8PT0+IEJZVEVTLCBUSU1FIGNvbnZlcnNpb25zIG9uIHNyY3BhZCwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLCAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcik6CgkgIEFkZGVkIERFRkFVTFQgPD09PiBCWVRFUywgVElNRSBjb252ZXJzaW9ucyBvbiBzcmNwYWQsCgkgIENvcnJlY3RlZCB0aGUgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uIHNvIGl0IGRvZXNuJ3QgZm9yZ2V0IHdoYXQKCSAgZm9ybWF0IHdhcyBhc2tlZCwgYW5kIGNhbGxzIHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9ucyBvbiB0aGUgY29ycmVjdCBwYWQuCgoyMDA1LTEwLTAzIDE3OjU5OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjMgPT09CgoyMDA1LTEwLTAzIDE3OjQ4OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzZSB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNlIHRpbWUKCjIwMDUtMTAtMDIgMjM6MDg6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpOiBEZWFsIHdpdGggcGFkX2FsbG9jIGVycm9yIHJldHVybnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTAzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYyAoZ3N0X2ZsYWNkZWNfd3JpdGUpOiBEZWFsIHdpdGggcGFkX2FsbG9jCgkgIGVycm9yIHJldHVybnMuCgoyMDA1LTEwLTAyIDE1OjMzOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IENoYW5nZSB0byBiZSBsaWtlIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IENoYW5nZSB0byBiZSBsaWtlIC1iYXNlLgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogUG9ydGVkIHRvIDAuOS4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX2xvb3ApOiBIYW5kbGUgZXJyb3JzIGJldHRlci4KCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbTogQWRkIHRoZSBHU1RfUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicywKCSAgYW5kIGxpbmsgdG8gZ3N0dGFnZWRpdC4gRW5hYmxlIGZsYWNlbmMuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBSZS1lbmFibGUgdGFnIHJlYWRpbmcuCgoyMDA1LTA5LTMwIDE2OjM2OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFZhcmlvdXMgY2xhc3MgYW5kIGNhcHMgZml4ZXMgZnJvbSBBbmRyZSBNYWdhbGhhZXMgKGFuZHJ1bmtvKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOiAoZ3N0X3J0cGFtcmVuY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgVmFyaW91cyBjbGFzcyBhbmQgY2FwcyBmaXhlcyBmcm9tIEFuZHJlIE1hZ2FsaGFlcyAoYW5kcnVua28pCgoyMDA1LTA5LTI5IDEzOjA4OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogVXBkYXRlIGZvciBuZXcgYnVzIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICBVcGRhdGUgZm9yIG5ldyBidXMgQVBJLgoKMjAwNS0wOS0yOCAxMzozODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgoyMDA1LTA5LTI4IDA5OjQ1OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggdW5leHBhbmRlZCBhdXRvY29uZiBtYWNybyBHU1RfRE9DLCB3aGljaCBoYXMgYmVlbiByZW5hbWVkIHRvIEdTVF9ET0NCT09LX0NIRUNLIChzZWUgY29tbW9uL200L2dzdC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHVuZXhwYW5kZWQgYXV0b2NvbmYgbWFjcm8gR1NUX0RPQywgd2hpY2ggaGFzIGJlZW4gcmVuYW1lZAoJICB0byBHU1RfRE9DQk9PS19DSEVDSyAoc2VlIGNvbW1vbi9tNC9nc3QtZG9jLm00KSAoIzMxNjIwMikuCgoyMDA1LTA5LTI3IDE1OjEyOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IEZpeCBwbGF5YmFjayBvZiBtb25vIHN0cmVhbXMgKGJ5dGVzX3Blcl9zYW1wbGUgc2hvdWxkIGJlIHNldCBmcm9tIHRoZSBzYW1wbGUgd2lkdGggYW5kIHRoZSBudW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICBGaXggcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIChieXRlc19wZXJfc2FtcGxlIHNob3VsZCBiZSBzZXQKCSAgZnJvbSB0aGUgc2FtcGxlIHdpZHRoIGFuZCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIG5lZ290aWF0ZWQsCgkgIGFuZCBub3QganVzdCBiZSBzZXQgdG8gNCkgKCMzMTczMzgpCgoyMDA1LTA5LTI2IDE0OjU5OjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhdXBhcnNlIHRvIHBsdWdpbnMgbGlzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGF1cGFyc2UgdG8gcGx1Z2lucyBsaXN0CgoyMDA1LTA5LTI2IDE0OjQyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogU2V0IGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2ZsdXNoKSwKCSAgKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5LgoKMjAwNS0wOS0yNiAxMzowNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvdW50ZXJpbmcgYSBzdHJlYW0gd2l0aCBhbiB1bmtub3duIGZvdXJjYyBvciBjb2RlYyBpZC4gSW5zdGVhZCwgY3JlYXRlIGEgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjcmFzaCB3aGVuIGVuY291bnRlcmluZyBhIHN0cmVhbSB3aXRoIGFuIHVua25vd24gZm91cmNjIG9yCgkgIGNvZGVjIGlkLiBJbnN0ZWFkLCBjcmVhdGUgYSBwYWQgb2YgdHlwZSB2aWRlby94LWF2aS11bmtub3duIG9yCgkgIGF1ZGlvL3gtYXZpLXVua25vd24sIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3QgYWxzbyByZXN1bHRzIGluIGxlc3MKCSAgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2VzIGluIHBsYXllcnMgKCdubyBkZWNvZGVyJyB2cy4gJ25vIHN0cmVhbXMnKTsKCSAgbWlub3IgZml4ZXMgdG8gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCBjbGFzc19pbml0IGZ1bmN0aW9uLgoKMjAwNS0wOS0yNCAxMzozNDo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHNldCB1cCBwbHVnaW4gcGF0aHMgcHJvcGVybHkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCB1cCBwbHVnaW4gcGF0aHMgcHJvcGVybHkKCjIwMDUtMDktMjQgMTM6MTA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFRoZXNlIGFyZSBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6IChnc3RfYXV0b192aWRlb19zaW5rX2luaXQpOgoJICBUaGVzZSBhcmUgc2lua3MuCgoyMDA1LTA5LTI0IDEyOjEwOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6IGZpeCB0ZXN0IGZvciBuZXcgR3N0Q2xvY2tUaW1lIHVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggdGVzdCBmb3IgbmV3IEdzdENsb2NrVGltZSB1c2UKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9pbml0KSwgKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgZml4IHVwIHRoZSBkZWNheSBwZWFrLCBlbnN1cmluZyB0aGUgZGVjYXkgcGVhayBpcyBuZXZlciBsb3dlcgoJICB0aGFuIHRoZSBwZWFrIGZvciB0aGF0IGludGVydmFsCgoyMDA1LTA5LTIzIDE4OjIzOjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHVwZGF0aW5nIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0aW5nIGRvY3MKCjIwMDUtMDktMjMgMTg6MTU6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY29tbW9uOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgY29udmVydCB0byB1c2luZyBHc3RDbG9ja1RpbWUgZm9yIGFsbCB0aW1lIHZhbHVlcywgZmluYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbnZlcnQgdG8gdXNpbmcgR3N0Q2xvY2tUaW1lIGZvciBhbGwgdGltZSB2YWx1ZXMsIGZpbmFsbHkuCgoyMDA1LTA5LTIzIDE1OjAxOjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgb2YgZ29vbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIG9mIGdvb20KCjIwMDUtMDktMjMgMTQ6MjA6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgd2UgaGFuZGxlIG1vcmUgdGhhbiB0d28gY2hhbm5lbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdlIGhhbmRsZSBtb3JlIHRoYW4gdHdvIGNoYW5uZWxzCgoyMDA1LTA5LTIzIDA0OjIzOjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoKMjAwNS0wOS0yMiAyMjozODo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIEF1cGFyc2UgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGF1cGFyc2UgISBvc3NzaW5rIGFuZCBhbHNhc2luawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQXVwYXJzZSBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgYXVwYXJzZSAhIG9zc3NpbmsgYW5kIGFsc2FzaW5rCgoyMDA1LTA5LTIyIDE0OjEzOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVzZSBpc19maWxsZWQgdG8gYm90aCBjaGVjayBNVFUgYW5kIG1heC1wdGltZSBvZiBiYXNlIGNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1RPRE86CgkgICogZ3N0L3J0cC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmg6CgkgIFVzZSBpc19maWxsZWQgdG8gYm90aCBjaGVjayBNVFUgYW5kIG1heC1wdGltZSBvZiBiYXNlIGNsYXNzLgoKMjAwNS0wOS0yMiAxMToyODoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiBEb24ndCBmcmFnbWVudCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgIERvbid0IGZyYWdtZW50IHBhY2tldHMgd2l0aCBtdWx0aXBsZSBmcmFtZXMuCgoyMDA1LTA5LTIyIDEwOjM5OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFJlbW92ZSBnX3ByaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1RPRE86CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaW5pdCksIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLCAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmg6CgkgIFJlbW92ZSBnX3ByaW50LgoJICBVcGRhdGUgVE9ETwoJICBNYWtlIHBheWxvYWQgZW5jb2RlciBhIGJpdCBzbWFydGVyIGFuZCBtb3JlIGNvcnJlY3Qgd2l0aAoJICB0aW1lc3RhbXBzLgoJICBBZGRlZCBvcHRpb24gaW4gcGF5bG9hZGVyIHRvIGluY2x1ZGUgY29uZmlnIHN0cmluZyBpbi1iYW5kLgoKMjAwNS0wOS0yMSAxOTo0MTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU3RyaXAgc3BhY2VzIGZvciBrZXkvdmFsdWUgcGFpcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIFN0cmlwIHNwYWNlcyBmb3Iga2V5L3ZhbHVlIHBhaXJzLgoKMjAwNS0wOS0yMSAxNzo1MzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTW9yZSBTRFAgcGFyc2luZyBhbmQgY2FwcyBzZXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBTRFAgcGFyc2luZyBhbmQgY2FwcyBzZXR0aW5nLgoJICBEbyBOT19QUkVST0xMIGRpZmZlcmVudGx5LgoJICBhZGQgcGFkcyBvbmx5IGFmdGVyIG5lZ290aWF0ZWQuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdWRwc3JjX2dldGNhcHMpOgoJICBJbXBsZW1lbnQgdGhlIGdldGNhcHMgZnVuY3Rpb24uCgoyMDA1LTA5LTIxIDE3OjUwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogSGFuZGxlIG11bHRpcGxlIEFNciBwYWNrZXRzIHBlciBwYXlsb2FkLiBIYW5kbGUgQ1JDIGFuZCBwYXJzZSBJTEwvSUxQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiAoZ3N0X3J0cGFtcmRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cGFtcmRlY19jaGFpbik6CgkgIEhhbmRsZSBtdWx0aXBsZSBBTXIgcGFja2V0cyBwZXIgcGF5bG9hZC4gSGFuZGxlIENSQyBhbmQKCSAgcGFyc2UgSUxML0lMUC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOiAoZ3N0X3J0cGFtcmVuY19zZXRjYXBzKToKCSAgTWFrZSBjYXBzIHBhcmFtcyBzdHJpbmdzIGZvciBlYXN5IFNEUCBtYXBwaW5nLgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKToKCSAgSGFuZGxlIGNhcHNuZWdvIGJldHRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzogKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfbmV3X2NhcHMpOgoJICBHZW5lcmF0ZSBhbmQgcGFyc2UgY29uZmlnIHN0cmluZyBpbiB0aGUgY2Fwcy4KCjIwMDUtMDktMjEgMTI6MTk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL1JFQURNRToKCSAgVXBkYXRlIFJFQURNRQoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IChnc3RfcnRwYW1yZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIE1ha2UgZXh0cmEgcGFyYW1zIGFzIHN0cmluZ3MuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfc2VuZCk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIHJldHVybiBOT19QUkVST0xMIGFzIHRoaXMgaXMgYSBsaXZlCgkgIHNvdXJjZS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBEb24ndCB1bnJlZiBvbGQgY2FwcyB3aGVuIE5VTEwuCgoyMDA1LTA5LTIwIDE3OjM1OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgVVJJIGhhbmRsZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cG1hcCksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVkaWFfZ2V0X2Zvcm1hdCk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5oOgoJICBBZGQgVVJJIGhhbmRsZXIuCgkgIFBhcnNlIFNEUCBhbmQgY3JlYXRlIGNhcHMuCgoyMDA1LTA5LTIwIDE3OjE5OjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIG1vcmUgc3BlYyBmaWxlIGZpeG9yaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIHNwZWMgZmlsZSBmaXhvcmluZwoKMjAwNS0wOS0yMCAxNzowNDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QtcGx1Z2lucy5zcGVjLmluOgoJICBmaXggc3BlYyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMgZmlsZXMKCjIwMDUtMDktMjAgMTA6NTE6NTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgZG9uJ3QgdXNlIHVuZGVyc2NvcmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCB1c2UgdW5kZXJzY29yZXMKCjIwMDUtMDktMjAgMDc6MzA6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBmaXggZWxlbWVudCBkZXNjcmlwdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgZml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMDUtMDktMTkgMTc6NTc6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBwcmVyZXFzIGFzIHdlbGwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHByZXJlcXMgYXMgd2VsbAoKMjAwNS0wOS0xOSAxNzo1Mzo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGNvbW1pdCByZXN1bHQgb2Ygc2Nhbm9iaiBzdGVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgcmVzdWx0IG9mIHNjYW5vYmogc3RlcAoKMjAwNS0wOS0xOSAxNzowMzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzogRG9uJ3QgY2hlY2sgcGF5bG9hZCBmb3Igbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6IChnc3RfcnRwaDI2M3BkZWNfY2hhaW4pOgoJICBEb24ndCBjaGVjayBwYXlsb2FkIGZvciBub3cuCgoyMDA1LTA5LTE5IDE2OjQzOjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgoyMDA1LTA5LTE5IDE2OjI2OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IEZpeCB3YXZwYXJzZSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9pbml0KSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgRml4IHdhdnBhcnNlIHNvbWUgbW9yZS4KCjIwMDUtMDktMTkgMTE6NDg6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiBGaXggZm9yIGJ1cyBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggZm9yIGJ1cyBBUEkgY2hhbmdlLgoKMjAwNS0wOS0xOSAxMTozODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IEZpeCBmb3IgbmV3IGJ1cyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgRml4IGZvciBuZXcgYnVzIEFQSS4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBTZXQgY2FwcyBvbiBwYWRzLgoKMjAwNS0wOS0xOSAxMTowNzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2hhaW4pOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwNS0wOS0xOSAxMTowNjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIGRpc2FibGUgZmxhZ3MgZm9yIHVuYnVpbHQgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzYWJsZSBmbGFncyBmb3IgdW5idWlsdCBwbHVnaW5zCgoyMDA1LTA5LTE5IDA4OjIxOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL3NjYW5vYmotYnVpbGQuc3RhbXA6CgkgIG5vcm1hbCBidWlsZHMgc2hvdWxkbid0IHNjYW4gZ29iamVjdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vcm1hbCBidWlsZHMgc2hvdWxkbid0IHNjYW4gZ29iamVjdHMKCjIwMDUtMDktMTYgMTY6MDQ6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGNsZWFuIHVwIGZ1cnRoZXIgc28gd2UgZG9uJ3QgdHJ5IHRvIHNldCB1cCBmaXZlIHRpbWVzIGZvciBhIHNpbXBsZSBwaXBlbGluZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgZnVydGhlciBzbyB3ZSBkb24ndCB0cnkgdG8gc2V0IHVwIGZpdmUgdGltZXMgZm9yCgkgIGEgc2ltcGxlIHBpcGVsaW5lCgoyMDA1LTA5LTE2IDAwOjM4OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICByZW1vdmUgZ3N0LXJlZ2lzdGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZ3N0LXJlZ2lzdGVyCgoyMDA1LTA5LTE1IDEzOjU3OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgVXBkYXRlcyB0byBwYXlsb2FkZXIvZGVwYXlsb2FkZXJzLCBtYWtlIHBheWxvYWRlcnMgdXNlIHRoZSBiYXNlIGNsYXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGVzIHRvIHBheWxvYWRlci9kZXBheWxvYWRlcnMsIG1ha2UgcGF5bG9hZGVycyB1c2UKCSAgdGhlIGJhc2UgY2xhc3Nlcy4KCSAgVXBkYXRlZCBSRUFETUUgd2l0aCBzdWdnZXN0ZWQgUlRQIGNhcHMgYW5kIGhvdyB0byBjb252ZXJ0CgkgIHRvL2Zyb20gU0RQLgoJICBBZGRlZCBjb25maWcgZGVzY3JpcHRvciBpbiBtcDR2IHBheWxvYWRlci4KCjIwMDUtMDktMTUgMTA6NDc6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMTUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCk6IFVwZGF0ZSBmb3IgbmV3IHJlZ2lzdHJ5IEFQSS4KCjIwMDUtMDktMTQgMjA6NTE6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29tbW9uLzogYSBzaW1wbGUgcHkgc2NyaXB0IHRvIGdlbmVyYXRlIHZhbGlkIHhtbCBmcm9tIGEgQyBleGFtcGxlIHByb2JhYmx5IGFsc28gbmVlZCB0byBzdHJpcCBhbiBNSVQgbGljZW5zZSB3aGVuIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9jLXRvLXhtbC5weToKCSAgKiBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hazoKCSAgYSBzaW1wbGUgcHkgc2NyaXB0IHRvIGdlbmVyYXRlIHZhbGlkIHhtbCBmcm9tIGEgQyBleGFtcGxlCgkgIHByb2JhYmx5IGFsc28gbmVlZCB0byBzdHJpcCBhbiBNSVQgbGljZW5zZSB3aGVuIHdlIGRlY2lkZQoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCk6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgYWRkIGFuIGV4YW1wbGUgdG8gbGV2ZWwgdGhhdCB3aWxsIHNob3cgdXAgaW4gdGhlIGRvY3MKCSAgKiBnc3QvcnRwL1RPRE86CgkgIGFkZCBhIG5vdGUgZm9yIHRoZSBmdXR1cmUKCjIwMDUtMDktMTQgMTE6NDQ6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IEFjdHVhbGx5IGRlZmluZSB0aGUgZGVidWcgb2JqZWN0IGJlaW5nIHVzZWQgaW4gd2F2ZW5jLiBGaXhlcyAjMzE2MjA1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBkZWZpbmUgdGhlIGRlYnVnIG9iamVjdCBiZWluZyB1c2VkIGluIHdhdmVuYy4gRml4ZXMgIzMxNjIwNQoKMjAwNS0wOS0xNCAxMToyMzo0NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIExpbmsgc21wdGUgcGx1Z2luIGFnYWluc3QgR1NUX0JBU0VfTElCUywgdG8gZ2V0IGxpYmdzdGJhc2U7IG5lZWRlZCB0byBidWlsZCBvbiB3aW4zMiBhcyB0aGlzIHBsdWdpbiB1c2VzIGNvbGxlY3RwYWRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTGluayBzbXB0ZSBwbHVnaW4gYWdhaW5zdCBHU1RfQkFTRV9MSUJTLCB0byBnZXQgbGliZ3N0YmFzZTsgbmVlZGVkIHRvCgkgIGJ1aWxkIG9uIHdpbjMyIGFzIHRoaXMgcGx1Z2luIHVzZXMgY29sbGVjdHBhZHMgKGJ1ZyAzMTYyMDQpCgoyMDA1LTA5LTEyIDE2OjM3OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IHVwIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoKMjAwNS0wOS0xMiAxNjoxNDo0OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgYXV0b2dlbi5zaCAocGFja2FnZSk6IE5vdyB0eXBlICdtYWtlJyB0byBidWlsZCBnc3QtcGx1Z2lucy1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBhdXRvZ2VuLnNoIChwYWNrYWdlKTogTm93IHR5cGUgJ21ha2UnIHRvIGJ1aWxkIGdzdC1wbHVnaW5zLWdvb2QuCgoyMDA1LTA5LTExIDE3OjUyOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGFkZCBzb3VyY2UgbW9kdWxlIHRvIGRvY3M7IHJlaW5zcGVjdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvdXJjZSBtb2R1bGUgdG8gZG9jczsgcmVpbnNwZWN0CgoyMDA1LTA5LTA5IDE3OjU2OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgZmRzcmMgYmFjayBpbnRvIGdzdHJlYW1lciBjb3JlIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zkc3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZHNyYy9nc3RmZHNyYy5jOgoJICAqIGdzdC9mZHNyYy9nc3RmZHNyYy5oOgoJICBNb3ZlIGZkc3JjIGJhY2sgaW50byBnc3RyZWFtZXIgY29yZSBlbGVtZW50cy4KCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpOgoJICBCYXNldHJhbnNmb3JtIGNoYW5nZXMuCgoyMDA1LTA5LTA5IDE2OjExOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwNS0wOS0wOSAxMTowOTo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46IHNwZWMgZmlsZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHNwZWMgZmlsZSBmaXhlcwoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbGVhcik6CgkgIGl0IGFjdHVhbGx5IGhlbHBzIHRvIGFjdHVhbGx5IHN0cmVhbSBpZiB3ZSBob29rIHVwIHRoZQoJICBhZGQgc2lnbmFsIHRvIGFuIGFjdHVhbCBpbXBsZW1lbnRhdGlvbgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgc29tZSBkZWJ1Z2dpbmcKCjIwMDUtMDktMDggMTY6NTg6NDAgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICBqcGdlbmMgcG9ydGVkIHRvIEdTVHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGpwZ2VuYyBwb3J0ZWQgdG8gR1NUcmVhbWVyIDAuOQoKMjAwNS0wOS0wOCAxNjoyNjoxNyArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkgIGpwZWdlbmMgcG9ydGVkIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGpwZWdlbmMgcG9ydGVkIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDcgMTM6NDk6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC86IGdzdHRhZ2ludGVyZmFjZS5oIC0+IGdzdHRhZ3NldHRlci5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBnc3R0YWdpbnRlcmZhY2UuaCAtPiBnc3R0YWdzZXR0ZXIuaAoKMjAwNS0wOS0wNiAyMzozMDowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHRvIDAuOSBhbmQgcmUtZW5hYmxlIGVmZW5jZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9jbGFzc19pbml0KSwgKGdzdF9lZmVuY2VfaW5pdCksCgkgIChnc3RfZWZlbmNlX2NoYWluKSwgKGdzdF9lZmVuY2VfYnVmZmVyX2FsbG9jKSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfYWxsb2MpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9pbml0KSwgKGdzdF9mZW5jZWRfYnVmZmVyX2dldF90eXBlKToKCSAgUG9ydCB0byAwLjkgYW5kIHJlLWVuYWJsZSBlZmVuY2UgcGx1Z2luLgoKMjAwNS0wOS0wNiAyMTozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogQWRkIHN1cHBvcnQgZm9yIGZsYWMgZmlsZXMgd2l0aCAyNC8zMiBiaXRzIHBlciBzYW1wbGU7IGFuZCBtaXNjLiBtaW5vciBjbGVhbi11cHMuIFNlZWtpbmcgaXMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChmbGFjX2NhcHNfZmFjdG9yeSksIChyYXdfY2Fwc19mYWN0b3J5KSwKCSAgKGdzdF9mbGFjZGVjX3dyaXRlKSwgKGdzdF9mbGFjZGVjX2NvbnZlcnRfc3JjKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjIGZpbGVzIHdpdGggMjQvMzIgYml0cyBwZXIgc2FtcGxlOyBhbmQgbWlzYy4KCSAgbWlub3IgY2xlYW4tdXBzLiBTZWVraW5nIGlzIHN0aWxsIHBhcnRseSBicm9rZW4gKGZvciBtZSBhdCBsZWFzdCkuCgoyMDA1LTA5LTA2IDE1OjUwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIG1wZWc0IHZpZGVvIHBheWxvYWQgZW5jb2Rlci9kZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19nZXRfdHlwZSksCgkgIChnc3RfcnRwbXA0dmRlY19iYXNlX2luaXQpLCAoZ3N0X3J0cG1wNHZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmRlY19pbml0KSwgKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpLAoJICAoZ3N0X3J0cG1wNHZkZWNfY2hhaW4pLCAoZ3N0X3J0cG1wNHZkZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwbXA0dmRlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cG1wNHZkZWNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cG1wNHZlbmNfYmFzZV9pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaW5pdCksIChnc3RfcnRwbXA0dmVuY19zZXRjYXBzKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2ZsdXNoKSwgKGdzdF9ydHBtcDR2ZW5jX2NoYWluKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwbXA0dmVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZlbmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBtcDR2ZW5jX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOiAoZ3N0X3J0cG1wYWRlY19jaGFpbik6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfZmx1c2gpOgoJICBBZGRlZCBtcGVnNCB2aWRlbyBwYXlsb2FkIGVuY29kZXIvZGVjb2Rlci4KCSAgQWRkZWQgc29tZSBkb2NzIGluIG1wYSBwYXlsb2FkZXIuCgoyMDA1LTA5LTA2IDE0OjA2OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS4xID09PQoKMjAwNS0wOS0wNiAxNDowNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFQURNRToKCSogUkVMRUFTRToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjkuMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS4yCgoyMDA1LTA5LTA1IDE3OjIwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA5LTA1IDE2OjI4OjE2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFpbik6IE1vdmUgdGhlIHBhZCBhZGRpbmcgaGVyZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgaGFuZGxlciwgc28gd2UgZmlyZSBzaWduYWxzIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhaW4pOiBNb3ZlIHRoZSBwYWQgYWRkaW5nCgkgIGhlcmUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGhhbmRsZXIsIHNvIHdlIGZpcmUgc2lnbmFscyB3aXRob3V0CgkgIGhvbGRpbmcgdGhlIHN0YXRlIGxvY2suCgoyMDA1LTA5LTA1IDE1OjEwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgY2xlYW5pbmcgdXAgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbmluZyB1cCBiYWQKCjIwMDUtMDktMDUgMTM6MTg6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgbWFpbnRlbmFuY2UgY29tbWl0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFpbnRlbmFuY2UgY29tbWl0cwoKMjAwNS0wOS0wNCAxNTowOTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkaXN0Y2hlY2sgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc3RjaGVjayBmaXhlcwoKMjAwNS0wOS0wNCAxMTo1MDo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3RjaGVjawoKMjAwNS0wOS0wMiAxNTo1Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHZhcmlvdXMgc3BlYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBzcGVjIGZpeGVzCgoyMDA1LTA5LTAyIDE1OjQ0OjUwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDIgMTU6NDM6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAxIDIxOjI0OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MjM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToyMDo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjE1OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjA6MjM6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY2hlY2svLmdpdGlnbm9yZToKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBbmRyZXdpbyBQYXRyaWNrb2ZvcnVzIFdpbmdvbnltdXMgLSA1IGFkZGl0aW9uYWwgdGVzdHMgZm9yIHlvdXIgc2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5kcmV3aW8gUGF0cmlja29mb3J1cyBXaW5nb255bXVzIC0gNSBhZGRpdGlvbmFsIHRlc3RzIGZvciB5b3VyIHNpbnMKCSAgQWRkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciBsZXZlbCBhbmQgZml4IGEgY2FzdGluZyBidWcgdGhhdCBtYWRlIHRoZSBhZGRpdGlvbmFsCgkgIGNoYW5uZWxzIHR1cm4gb3V0IHdyb25nCgoyMDA1LTA5LTAxIDE3OjU1OjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBkb2NzIHRvIGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIGRvY3MgdG8gYnVpbGQKCSAgKiBjb21tb24vcGx1Z2lucy54c2w6CgkgIHdyYXAgRGVzY3JpcHRpb24gaW50byBhIHJlZnNlY3QyCgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZ2V0X3R5cGUpLCAoZ3N0X2dvb21fYmFzZV9pbml0KSwKCSAgKGdzdF9nb29tX2NsYXNzX2luaXQpLCAoZ3N0X2dvb21faW5pdCksIChnc3RfZ29vbV9kaXNwb3NlKSwKCSAgKGdzdF9nb29tX3Npbmtfc2V0Y2FwcyksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfbmVnb3RpYXRlKSwgKGdzdF9nb29tX2V2ZW50KSwgKGdzdF9nb29tX2NoYWluKSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBHc3RHT09NIC0+IEdzdEdvb20KCSAgYWRkIGFuIGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICBjbGVhbnVwcwoKMjAwNS0wOC0zMSAxNjoyODowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZHZkbHBjbWRlYy8uZ2l0aWdub3JlOgoJKiBnc3QvZHZkbHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZGxwY21kZWMvZ3N0ZHZkbHBjbWRlYy5jOgoJKiBnc3QvZHZkbHBjbWRlYy9nc3RkdmRscGNtZGVjLmg6CgkgIHJlbW92ZSBkdmRscGNtZGVjLCBpdCdzIGR2ZCBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGR2ZGxwY21kZWMsIGl0J3MgZHZkIHN0dWZmCgoyMDA1LTA4LTMwIDE5OjQxOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGFkZCBzb21lIGkxOG4gaGVhZGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgaTE4biBoZWFkZXJzCgoyMDA1LTA4LTMwIDE5OjI0OjM3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDUtMDgtMzAgMTk6MjQ6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1ha2VmaWxlLmFtCgoyMDA1LTA4LTMwIDE5OjIwOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvdXBsb2FkLm1hazoKCSogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOgoJICBjb21taXQgbmV3IHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21taXQgbmV3IHN0dWZmCgoyMDA1LTA4LTMwIDE5OjAxOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnR5cGVzOgoJICBkb2N1bWVudCBlbGVtZW50cyBhbmQgcGx1Z2lucy4gIFNoYXphbSAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2N1bWVudCBlbGVtZW50cyBhbmQgcGx1Z2lucy4gIFNoYXphbSAhCgoyMDA1LTA4LTMwIDE3OjM3OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIENPUFlJTkc6CgkqIFJFTEVBU0U6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHNvbWUgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGZpbGVzCgoyMDA1LTA4LTE3IDE5OjA1OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBBZGRlZCBtcGVnYXVkaW9wYXJzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZGVkIG1wZWdhdWRpb3BhcnNlCgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc3JjX2dldGNhcHMpLAoJICAoZ3N0X2xhbWVfc3JjX3NldGNhcHMpLCAoZ3N0X2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9sYW1lX3NpbmtfZXZlbnQpLCAoZ3N0X2xhbWVfY2hhaW4pOgoJICBTb21lIGNsZWFudXBzLgoJICBGaXggbWVtbGVhay4KCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcDNwYXJzZV9pbml0KSwKCSAgKGdzdF9tcDNwYXJzZV9jaGFpbiksIChnc3RfbXAzcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgUG9ydGVkIG1wZWdhdWRpb3BhcnNlCgoyMDA1LTA4LTE2IDE2OjEyOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGNvbXBpbGUgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbXJuYi9hbXJuYnBhcnNlLmM6IChnc3RfYW1ybmJwYXJzZV9yZWFkX2hlYWRlcik6CgkgIEZpeCBjb21waWxlIHdhcm5pbmcuCgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfbGFtZV9zcmNfZ2V0Y2FwcyksIChnc3RfbGFtZV9zcmNfc2V0Y2FwcyksCgkgIChnc3RfbGFtZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9sYW1lX2NoYWluKSwgKGdzdF9sYW1lX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBQb3J0IGxhbWUgcGx1Z2luCgoyMDA1LTA3LTA1IDEwOjUxOjQxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBXYXksIHdheSwgd2F5IHRvbyBtYW55IGZpbGVzOiBSZW1vdmUgY3JhY2sgY29tbWVudCBmcm9tIHRoZSAyMDAwIGVyYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDctMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogV2F5LCB3YXksIHdheSB0b28gbWFueSBmaWxlczoKCSAgUmVtb3ZlIGNyYWNrIGNvbW1lbnQgZnJvbSB0aGUgMjAwMCBlcmEuCgoyMDA0LTEwLTI2IDExOjM2OjUyICswMDAwICBJYWluIEhvbG1lcyA8aWFpbkBwcmV0dHlwZW9wbGUub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBNZW1vcnkgbGVhayBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVtb3J5IGxlYWsgZml4ZXMKCSAgQWxsb3cgbGV2ZWwgdG8gdGFrZSBtb25vIG9yIHN0ZXJlbyBhdWRpbwoKMjAwNC0wOC0yNiAwMDozMjowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuKjogQWRkZWQgbmV3IG1lZGlhIHN1cHBvcnQgdG8gbGFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0yNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2luaXQpLCAoZ3N0X2xhbWVfY2hhaW4pOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgQWRkZWQgbmV3IG1lZGlhIHN1cHBvcnQgdG8gbGFtZQoKMjAwNC0wOC0xOSAyMjo0NDo1MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIE9ubHkgZW5hYmxlIGxhbWUgcHJlc2V0cyBpZiB2ZXJzaW9uIG9mIGxhbWUgaGFzIHByZXNldHMgaW4gQVBJCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTA4LTE5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xhbWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9zZXR1cCk6CgkgIE9ubHkgZW5hYmxlIGxhbWUgcHJlc2V0cyBpZiB2ZXJzaW9uIG9mIGxhbWUgaGFzIHByZXNldHMgaW4gQVBJCgoyMDA0LTA4LTE1IDEzOjQ3OjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBkZXNjcmliZSB0aGUgZW51bSB2YWx1ZXMgZm9yIHZiciBtb2RlIGFuZCBwcmVzZXRzIG1vcmUgdmVyYm9zZWx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTA4LTE1ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfdmJybW9kZV9nZXRfdHlwZSksCgkgIChnc3RfbGFtZV9wcmVzZXRfZ2V0X3R5cGUpLCAoZ3N0X2xhbWVfY2xhc3NfaW5pdCk6CgkgIGRlc2NyaWJlIHRoZSBlbnVtIHZhbHVlcyBmb3IgdmJyIG1vZGUgYW5kIHByZXNldHMgbW9yZSB2ZXJib3NlbHkKCjIwMDQtMDgtMTMgMTU6MjI6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IGFkZCBwcmVzZXQgcHJvcGVydHkgdG8gbGFtZSBzbyBpdCBjYW4gdXNlIGxhbWUgcHJlc2V0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xhbWVfcXVhbGl0eV9nZXRfdHlwZSksIChnc3RfbGFtZV9wYWRkaW5nX2dldF90eXBlKSwKCSAgKGdzdF9sYW1lX3ByZXNldF9nZXRfdHlwZSksIChnc3RfbGFtZV9jbGFzc19pbml0KSwgKGdzdF9sYW1lX2luaXQpLAoJICAoZ3N0X2xhbWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfbGFtZV9zZXR1cCk6CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBhZGQgcHJlc2V0IHByb3BlcnR5IHRvIGxhbWUgc28gaXQgY2FuIHVzZSBsYW1lIHByZXNldHMKCjIwMDQtMDgtMTMgMTQ6NTU6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IHdob29wcyBmb3Jnb3QgYnJlYWssIHRoYW5rcyB0ZXVmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTA4LTEzICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfZ2V0X3Byb3BlcnR5KToKCSAgd2hvb3BzIGZvcmdvdCBicmVhaywgdGhhbmtzIHRldWYKCjIwMDQtMDgtMTMgMTQ6NDE6MDIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLio6IGZpeCBsYW1lJ3MgYnJva2VuIHZiciBzdHVmZiwgYWxsb3cgaXQgdG8gcmVzYW1wbGUgaWYgbmVlZCBiZSwgYW5kIGFsc28gbWFrZSB4aW5nIGhlYWRlciBvcHRpb25hbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3Zicm1vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xhbWVfY2xhc3NfaW5pdCksIChnc3RfbGFtZV9zcmNfZ2V0Y2FwcyksCgkgIChnc3RfbGFtZV9zaW5rX2xpbmspLCAoZ3N0X2xhbWVfaW5pdCksIChnc3RfbGFtZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9sYW1lX3NldHVwKToKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGZpeCBsYW1lJ3MgYnJva2VuIHZiciBzdHVmZiwgYWxsb3cgaXQgdG8gcmVzYW1wbGUgaWYgbmVlZCBiZSwgYW5kIGFsc28KCSAgbWFrZSB4aW5nIGhlYWRlciBvcHRpb25hbAoKMjAwNC0wOC0xMiAxNzoyMjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9sYW1lL2dzdGxhbWUuYzogYWRkZWQgZ2V0Y2FwcyBmdW5jdGlvbiBzbyBzYW1wbGVyYXRlIGRvZXNudGdldCBmaXhhdGVkIHRvIHNpbGx5IHZhbHVlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NyY19nZXRjYXBzKSwgKGdzdF9sYW1lX2luaXQpOgoJICBhZGRlZCBnZXRjYXBzIGZ1bmN0aW9uIHNvIHNhbXBsZXJhdGUgZG9lc250Z2V0IGZpeGF0ZWQgdG8gc2lsbHkgdmFsdWVzCgoyMDA0LTA4LTEyIDE2OjQ0OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiByZXZlcnQgcHJldmlvdXMgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTA4LTEyICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc3JjX2xpbmspOgoJICByZXZlcnQgcHJldmlvdXMgZml4CgoyMDA0LTA4LTEyIDE2OjEyOjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBtYWRlIHNvdXJjZSBwYWQgbGluayBmdW5jdGlvbiBjaGVjayBpZiBzaW5rcGFkIGlzIG9rLi5maXhlcyB0aGUgcHJvYmxlbSB3aGVyZSBjb3JlIGZpeGF0ZXMgdGhlIG91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTA4LTEyICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfc3JjX2xpbmspOgoJICBtYWRlIHNvdXJjZSBwYWQgbGluayBmdW5jdGlvbiBjaGVjayBpZiBzaW5rcGFkIGlzIG9rLi5maXhlcyB0aGUgcHJvYmxlbQoJICB3aGVyZSBjb3JlIGZpeGF0ZXMgdGhlIG91dHB1dCByYXRlIG9mIGxhbWUgc3R1cGlkbHkKCjIwMDQtMDgtMTIgMTU6NDg6NTAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IHNldCBkZWZhdWx0IGNvbXByZXNzaW9uIHJhdGlvIHBhcmFtdGVyIHRvIDAuMCBzbyBiaXRyYXRlIHBhcmFtZXRlciB3b3JrcyA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wOC0xMiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NsYXNzX2luaXQpLCAoZ3N0X2xhbWVfaW5pdCk6CgkgIHNldCBkZWZhdWx0IGNvbXByZXNzaW9uIHJhdGlvIHBhcmFtdGVyIHRvIDAuMCBzbyBiaXRyYXRlIHBhcmFtZXRlcgoJICB3b3JrcyA6KQoKMjAwNC0wOC0wOSAwOToyMjoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGZpeCBhZGQgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYWRkIGRlYnVnZ2luZwoKMjAwNC0wOC0wMiAxMTozOToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGdlYXJpbmcgdXAgZm9yIHJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdlYXJpbmcgdXAgZm9yIHJlbGVhc2UKCjIwMDQtMDgtMDIgMDk6MTY6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBhZGQgbGluayBmdW5jdGlvbi4gZml4ZXMgQDE0ODk4NgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpbmsgZnVuY3Rpb24uIGZpeGVzIEAxNDg5ODYKCjIwMDQtMDctMjggMjA6MjY6MzEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGFtZS9nc3RsYW1lLmM6IHNlbmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA0LTA3LTI4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2xhbWUvZ3N0bGFtZS5jOiAoZ3N0X2xhbWVfY2hhaW4pOiBzZW5kIHRhZyBldmVudHMgZG93bnN0cmVhbQoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9wcm90b2NvbF9nZXRfdHlwZSksCgkgIChnc3Rfc2hvdXQyc2VuZF9nZXRfdHlwZSksIChnc3Rfc2hvdXQyc2VuZF9zZXRfY2xvY2spLAoJICAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY2hhaW4pLCAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSksIChnc3Rfc2hvdXQyc2VuZF9jb25uZWN0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgLSBmaXggZm9yIHNlbmRpbmcgbXAzIGF1ZGlvIHRvIGljZWNhc3QyIHNlcnZlciwgaWYgcGFkIGxpbmsgZnVuY3Rpb24gbm90CgkgIGNhbGxlZCBiZWZvcmUgUEFVU0VEIHN0YXRlCgkgIC0gYWRkZWQgb3B0aW9uIHRvIHVzZSBHU3RyZWFtZXIgY2xvY2sgc3luYyAoYXMgb3Bwb3NlZCB0byBsaWJzaG91dCdzIG93biBzeW5jKQoJICAtIGFkZGVkIHRhZ2dpbmcgc3VwcG9ydCBmb3IgbXAzIGF1ZGlvIGJyb2FkY2FzdGVkCgkgICogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogKGdzdF9tb25vc2NvcGVfY2xhc3NfaW5pdCk6CgkgIGRlYnVnIGluZm8KCjIwMDQtMDctMjYgMTU6NDI6MTggKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBhZGQgZGVidWdnaW5nIGNhdGVnb3J5LCBhZGQgZXJyb3IgY2hlY2tzIGxpa2UgY2hlY2tpbmcgcmV0dXJuIHZhbHVlcyBvZiBzZXR1cCBjYWxscywgbWFrZSBzdXJlIGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX3NpbmtfbGluayksIChnc3RfbGFtZV9pbml0KSwKCSAgKGdzdF9sYW1lX2NoYWluKSwgKGdzdF9sYW1lX3NldHVwKSwgKGdzdF9sYW1lX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgIGFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnksIGFkZCBlcnJvciBjaGVja3MgbGlrZSBjaGVja2luZyByZXR1cm4gdmFsdWVzCgkgIG9mIHNldHVwIGNhbGxzLCBtYWtlIHN1cmUgaXQgc3RpbGwgd29ya3MgYWZ0ZXIKCSAgUExBWUlORz0+TlVMTD0+UExBWUlORywgZml4IGVuY29kaW5nIG9mIG1vbm8gc3RyZWFtcwoKMjAwNC0wNi0xNCAxMDo1ODoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHN5bmMgbXAzIGNhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN5bmMgbXAzIGNhcHMKCjIwMDQtMDYtMTQgMTA6NTI6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBhZGQgY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNvbW1lbnQKCjIwMDQtMDUtMjEgMjM6Mjg6NTcgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBzZWNvbmQgYmF0Y2ggOiByZW1vdmUgJywnIGF0IGVuZCBvZiBlbnVtcyBhcyB0aGV5IGNvdWxkIGNvbmZ1c2Ugb2xkZXIgZ2NjLCBmb3JlaWduIGNvbXBpbGVycyAoZm9ydGUpIGFuZCBndGstZG9jIChpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNlY29uZCBiYXRjaCA6CgkgIHJlbW92ZSAnLCcgYXQgZW5kIG9mIGVudW1zIGFzIHRoZXkgY291bGQgY29uZnVzZSBvbGRlciBnY2MsIGZvcmVpZ24gY29tcGlsZXJzIChmb3J0ZSkgYW5kIGd0ay1kb2MKCSAgKGluIGdzdC1wbHVnaW5zL2V4dC8gdGhpcyB0aW1lKQoKMjAwNC0wNS0wOSAxNDozNzoxNSArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJICBleHQvOiBcMS9Db2RlYywgKGZpeGVzICMxNDIxOTMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieSBCZW5qYW1pbiBPdHRlICA8b3R0ZUBnbm9tZS5vcmc+CgkgICogZXh0L2E1MmRlYy9nc3RhNTJkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9iYXNlX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvc2lkcGxheS9nc3RzaWRkZWMuY2M6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgY29ycmVjdCBrbGFzc2VzLiBNb3N0bHkgcyxDb2RlYy8oQXVkaW98VmlkZW8pLFwxL0NvZGVjLAoJICAoZml4ZXMgIzE0MjE5MykKCjIwMDQtMDUtMDcgMDA6NDM6NTAgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgZXh0L2xhbWUvZ3N0bGFtZS5jOiBzaW1wbGlmeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChnc3RfbGFtZV9jaGFpbik6CgkgIHNpbXBsaWZ5CgkgICogZXh0L21hZC9nc3RtYWQuYzogKGdzdF9tYWRfaGFuZGxlX2V2ZW50KToKCSAgZml4IGV2ZW50IGxlYWsKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKG1wM190eXBlX2ZpbmQpOgoJICBiZSBhYmxlIHRvIGRldGVjdCBtcDMgZmlsZXMgPCA0MDk2IGJ5dGVzCgoyMDA0LTA1LTAzIDE2OjQ2OjEwICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgZG9uJ3QgdHJ1c3QgbGFtZV9pbml0IHRvIHNldCBnb29kIHZhbHVlcyBhcyBkZWZhdWx0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdHJ1c3QgbGFtZV9pbml0IHRvIHNldCBnb29kIHZhbHVlcyBhcyBkZWZhdWx0cwoKMjAwNC0wMy0xNSAxOTozMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTMgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgKi5oOiBSZXZlcnQgaW5kZW50aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqICouaDogUmV2ZXJ0IGluZGVudGluZwoKMjAwNC0wMy0xNCAyMjozNDozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSogZXh0L2xhbWUvdGVzdC1sYW1lLmM6CgkgIGdzdC1pbmRlbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdzdC1pbmRlbnQKCjIwMDQtMDItMjIgMTU6MTQ6MjQgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgY29uZmlndXJlLmFjOiBleHBvcnQgW19dKntnc3QsR3N0LEdTVH0uKiBzeW1ib2xzIGZyb20gcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wMi0yMiAgQmVuamFtaW4gT3R0ZSAgPG90dGVAZ25vbWUub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZXhwb3J0IFtfXSp7Z3N0LEdzdCxHU1R9Liogc3ltYm9scyBmcm9tIHBsdWdpbnMKCSAgMjAwNC0wMi0yMiAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCSAgcmV2aWV3ZWQgYnk6IEJlbmphbWluIE90dGUgIDxvdHRlQGdub21lLm9yZz4KCSAgKiBleHQvbGFtZS9nc3RsYW1lLmM6IChhZGRfb25lX3RhZyk6CgkgICogZXh0L21hZC9nc3RpZDN0YWcuYzogKGdzdF9tYWRfaWQzX3RvX3RhZ19saXN0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc2VuY19nZXRfdGFnX3ZhbHVlKSwKCSAgKGdzdF92b3JiaXNlbmNfbWV0YWRhdGFfc2V0MSk6CgkgICogZ3N0L3RhZ3MvZ3N0aWQzdGFnLmM6CgkgICogZ3N0L3RhZ3MvZ3N0dm9yYmlzdGFnLmM6IChnc3Rfdm9yYmlzX3RhZ19hZGQpOgoJICBhcHBseSBmaXhlcyBmcm9tIGJ1Z3MgIzEzNTA0MiAobGFtZSBjYW4ndCB3cml0ZSB0YWdzKSBhbmQgIzEzMzgxNwoJICAoYWRkIEdTVF9BTEJVTV9WT0xVTUVfe0NPVU5ULE5VTUJFUn0gdGFncykKCjIwMDQtMDItMTkgMjI6MTk6NTUgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSAgZXh0LzogdXNlIGdzdF90YWdfbGlzdF9pbnNlcnQgd2hlbiB5b3Ugd2FudCB0byBpbnNlcnQgdGFncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNC0wMi0xOSAgQmVuamFtaW4gT3R0ZSAgPG90dGVAZ25vbWUub3JnPgoJICAqIGV4dC9sYW1lL2dzdGxhbWUuYzogKGdzdF9sYW1lX2NoYWluKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc2VuY19jaGFpbik6CgkgIHVzZSBnc3RfdGFnX2xpc3RfaW5zZXJ0IHdoZW4geW91IHdhbnQgdG8gaW5zZXJ0IHRhZ3MKCjIwMDQtMDItMDIgMTc6MjM6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBjaGFuZ2UgTlVMTCB0byAoTlVMTCkgZm9yIEdTVF9FTEVNRU5UX0VSUk9SCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgTlVMTCB0byAoTlVMTCkgZm9yIEdTVF9FTEVNRU5UX0VSUk9SCgkgIE1ha2Ugc3VyZSBlcnJvcnMgZW5kIHdpdGggIi4iCgoyMDA0LTAxLTI5IDIzOjIwOjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgR1NUX0VMRU1FTlRfRVJST1IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDA0LTAxLTE4IDIxOjQ2OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgdXNlIG5ldyBlcnJvciBzaWduYWwgYW5kIGNsYXNzaWZpY2F0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgbmV3IGVycm9yIHNpZ25hbCBhbmQgY2xhc3NpZmljYXRpb24KCjIwMDMtMTItMjIgMDE6NDc6MDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWVyZ2UgQ0FQUyBicmFuY2gKCjIwMDMtMTItMDcgMTQ6NDc6MDkgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgVXNlcyBuZXcgdGFnZ2luZyBmcmFtZXdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVzZXMgbmV3IHRhZ2dpbmcgZnJhbWV3b3JrCgoyMDAzLTEyLTA0IDEwOjM3OjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMi0wMiAwMjoyODoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGFtZS90ZXN0LWxhbWUuYzoKCSAgY2hhbmdlIF9jb25uZWN0IHRvIF9saW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgX2Nvbm5lY3QgdG8gX2xpbmsKCjIwMDMtMTEtMDcgMTI6NDY6NTEgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuaDoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTAyIDAwOjEzOjI2ICswMDAwICBJYWluIEhvbG1lcyA8aWFpbkBwcmV0dHlwZW9wbGUub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBGaXhlZCBsYW1lIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgbGFtZSB0b28KCjIwMDMtMTAtMDkgMDk6MDQ6MjMgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgRml4IHR5cG8gaW4gQW5keSdzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHR5cG8gaW4gQW5keSdzIGNvbW1pdAoKMjAwMy0xMC0wOCAxNjowODoxMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCjIwMDMtMDktMzAgMTk6NDg6MzkgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgSW5wdXQgYW5kIG91dHB1dCBzYW1wbGVyYXRlIGFyZSAqbm90KiBuZWNlc3NhcmlseSB0aGUgc2FtZSBpbiBsYW1lLiBUaGlzIGZpeGVzIHRoZSBvdXRwdXQgY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW5wdXQgYW5kIG91dHB1dCBzYW1wbGVyYXRlIGFyZSAqbm90KiBuZWNlc3NhcmlseSB0aGUgc2FtZSBpbiBsYW1lLiBUaGlzIGZpeGVzIHRoZSBvdXRwdXQgY2FwcwoKMjAwMy0wOS0xNiAxMDowMDowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHJldmVydGluZyBlcnJvciBwYXRjaCBiZWZvcmUgbWFraW5nIGEgYnJhbmNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2ZXJ0aW5nIGVycm9yIHBhdGNoIGJlZm9yZSBtYWtpbmcgYSBicmFuY2guCgoyMDAzLTA5LTE1IDAxOjA4OjM4ICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgY29udmVydGVkIGdzdF9lbGVtZW50X2Vycm9yIHRvIG5ldyBmb3JtYXQgaW4gZXh0LyAtIGdldHRleHQgcGVuZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29udmVydGVkIGdzdF9lbGVtZW50X2Vycm9yIHRvIG5ldyBmb3JtYXQgaW4gZXh0LyAtIGdldHRleHQgcGVuZGluZwoKMjAwMy0wOS0xMiAxMTozNToyMyArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBGaXggdGlueSBjYXBzIGVycm9yIGluIGxhbWUgY2FwcyAtIG1wZWd2ZXJzaW9uKDEpIHdhcyBtaXNzaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdGlueSBjYXBzIGVycm9yIGluIGxhbWUgY2FwcyAtIG1wZWd2ZXJzaW9uKDEpIHdhcyBtaXNzaW5nCgoyMDAzLTA4LTEwIDAwOjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHBsdWdpbmRpciBkZWZpbml0aW9uCgoyMDAzLTA3LTEwIDE1OjM5OjExICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvbGFtZS9SRUFETUU6CgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgZml4IGxpY2Vuc2UgZmllbGQgb2YgbGFtZSBwbHVnaW4gdG8gc2F5IExHUEwsIGxhbWUgaXMgTEdQTC4gQWRkIFJlYWRtZSB3aXRoIGluZm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBsaWNlbnNlIGZpZWxkIG9mIGxhbWUgcGx1Z2luIHRvIHNheSBMR1BMLCBsYW1lIGlzIExHUEwuIEFkZCBSZWFkbWUgd2l0aCBpbmZvCgoyMDAzLTA3LTA2IDIwOjQ5OjUwICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIE5ldyBtaW1ldHlwZXMgZ29uZSBpbnRvIGVmZmVjdCB0b2RheSAtIHRoaXMgY29tbWl0IGNoYW5nZXMgYWxsIG9sZCBtaW1ldHlwZXMgb3ZlciB0byB0aGUgbmV3IG1pbWV0eXBlcyBzcGVjIGFzIGRlc2NyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQncyBkb2N1bWVudC4gTm90ZTogc29tZSBwbHVnaW5zIHdpbGwgYnJlYWssIHNvbWUgcGlwZWxpbmVzIHdpbGwgYnJlYWssIGV4cGVjdCBIRUFEIHRvIGJlIGJyb2tlbiBvciBhdCBsZWFzdCBub3QgMTAwJSB3b3JraW5nIGZvciBhIGZldyBkYXlzLCBidXQgZG9uJ3QgZm9yZ2V0IHRvIHJlcG9ydCBidWdzCgoyMDAzLTA3LTA1IDIyOjQ4OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBwYXRjaCBmcm9tIGhhZGVzcywgbW9kaWZpZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGZyb20gaGFkZXNzLCBtb2RpZmllZAoKMjAwMy0wNi0yOSAxOTo0NjowOSArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tcGF0aWJpbGl0eSBmaXggZm9yIG5ldyBHU1RfREVCVUcgc3R1ZmYuCgkgIEluY2x1ZGVzIGZpeGVzIGZvciBtaXNzaW5nIGluY2x1ZGVzIGZvciBjb25maWcuaCBhbmQgdW5pc3RkLmgKCSAgSSBvbmx5IGVuc3VyZWQgZm9yIHBsdWdpbnMgSSBjYW4gYnVpbGQgdGhhdCB0aGV5IHdvcmssIHNvIGlmIHNvbWUgb2YgdGhlbSBhcmUgc3RpbGwgYnJva2VuLCB5b3UgZ290dGEgZml4IHRoZW0geW91cnNlbHZlcyB1bmZvcnR1bmF0ZWx5LgoKMjAwMy0wNi0wNyAwMDozNDo1MSArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEFub3RoZXIgZHVyYXRpb24gcGF0Y2ggZnJvbSBKb3NodWEgKHNsaWdodGx5IG1vZGlmaWVkIGJ5IG1lKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBkdXJhdGlvbiBwYXRjaCBmcm9tIEpvc2h1YSAoc2xpZ2h0bHkgbW9kaWZpZWQgYnkgbWUpCgoyMDAzLTA1LTI5IDE5OjMyOjM5ICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEZpeCBidWlsZCBwcm9iCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggYnVpbGQgcHJvYgoKMjAwMy0wNS0yOSAxMjo0MTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgLSBjb3B5IG9mZnNldCBmcm9tIGlucHV0IGJ1ZmZlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLSBjb3B5IG9mZnNldCBmcm9tIGlucHV0IGJ1ZmZlcgoKMjAwMy0wNS0xMyAxMjoyODoxNiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEdldCB0aW1lc3RhbXBpbmcgc29tZXdoYXQgYmV0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHZXQgdGltZXN0YW1waW5nIHNvbWV3aGF0IGJldHRlcgoKMjAwMy0wNS0xMiAyMDowODoxNyArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIEhhY2tlZCBsYW1lIHRvIG1ha2UgaXQgY29weSB0aGUgdGltZXN0YW1wIG9uIHRoZSBzb3VyY2UgYnVmZmVyIHRvIHRoZSBzaW5rIGJ1ZmZlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGFja2VkIGxhbWUgdG8gbWFrZSBpdCBjb3B5IHRoZSB0aW1lc3RhbXAgb24gdGhlIHNvdXJjZSBidWZmZXIgdG8gdGhlIHNpbmsgYnVmZmVyCgoyMDAzLTAxLTEwIDEzOjM4OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgUGFkQ29ubmVjdCAtPiBQYWRMaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCjIwMDMtMDEtMTAgMTA6MjI6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBhbm90aGVyIGJhdGNoIG9mIGNvbm5lY3QtPmxpbmsgZml4ZXMgcGxlYXNlIGxldCBtZSBrbm93IGFib3V0IGlzc3VlcyBhbmQgcGxlYXNlIHJlZnJhaW4gb2YgbWFraW5nIHRoZW0geW91cnNlbGYsIHNvIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcwoJICBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzCgkgIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdGhhdCBJIGRvbid0IHNwZW5kIGRvdWJsZQoJICB0aGUgdGltZSByZXNvbHZpbmcgY29uZmxpY3RzCgoyMDAyLTEyLTA4IDE3OjIwOjQ0ICswMDAwICBJYWluIEhvbG1lcyA8aWFpbkBwcmV0dHlwZW9wbGUub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBSZXBsYWNlIGF1ZGlvL21wMyB3aXRoIGF1ZGlvL3gtbXAzIGFuZCBhdWRpby94LWZsYWMgd2l0aCBhcHBsaWNhdGlvbi94LWZsYWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlcGxhY2UgYXVkaW8vbXAzIHdpdGggYXVkaW8veC1tcDMgYW5kIGF1ZGlvL3gtZmxhYyB3aXRoIGFwcGxpY2F0aW9uL3gtZmxhYwoKMjAwMi0xMi0wOCAxNDo1MDowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGFyYWxsZWwgaW5zdGFsbCBmaXhlcwoKMjAwMi0xMi0wOCAwMjo0NDowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFudXBzCgoyMDAyLTExLTIwIDIxOjAyOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBSZW1vdmUgcmVkdW5kYW50IHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgcmVkdW5kYW50IHByb3BlcnRpZXMuCgoyMDAyLTExLTAyIDA1OjM5OjIxICswMDAwICBEYXZpZCBJLiBMZWhuIDxkbGVobkB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgdXNlIEFNX0NGTEFHUyBpbnN0ZWFkIG9mIENGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXNlIEFNX0NGTEFHUyBpbnN0ZWFkIG9mIENGTEFHUwoKMjAwMi0xMC0wMiAwODowNDowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGFwaSBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFwaSBjaGFuZ2UKCjIwMDItMDktMTggMTk6MDI6NDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgoyMDAyLTA5LTEwIDA5OjMxOjM4ICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvbGFtZS90ZXN0LWxhbWUuYzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhpcyB1cGRhdGVzIGFsbCBwbHVnaW5zIHRvIHRoZSBuZXcgQVBJIGZvciBnc3RfcGFkX3RyeV9zZXRfY2FwcwoKMjAwMi0wOS0wMSAxNTo0MDozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHNtYWxsIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIHVwZGF0ZXMKCjIwMDItMDctMDggMTk6MzI6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHVucmVmIGV2ZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1bnJlZiBldmVudAoKMjAwMi0wNy0wNyAxNDoxNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIHBvaW50ZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBEb24ndCBmcmVlIHVuaW5pdGlhbGl6ZWQgcG9pbnRlcnMKCjIwMDItMDctMDcgMTQ6MDY6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIExhbWUgc2hvdWxkIGFjY2VwdCBldmVudHMgZXZlbiB3aGVuIG5vdCBuZWdvdGlhdGVkIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIExhbWUgc2hvdWxkIGFjY2VwdCBldmVudHMgZXZlbiB3aGVuIG5vdCBuZWdvdGlhdGVkIHlldC4KCjIwMDItMDYtMDggMDk6MjY6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICByZW9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW9yZGVyCgoyMDAyLTA0LTExIDIwOjQyOjI1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURSBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUKCSAgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgYWxzbywgc29tZSAtV2Vycm9yIGZpeGVzLgoKMjAwMi0wMy0zMCAxNzowNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvdGVzdC1sYW1lLmM6CgkgIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgdG8gdGhlIG5ldyBwcm9wcyBBUEkKCSAgT3RoZXIgc21hbGwgdHVmZi4KCjIwMDItMDMtMjcgMDQ6MDI6MzggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgdXBkYXRlIGdfdmFsdWUgc3R1ZmYgdG8gbWF0Y2ggcHJvcGVydHkgdHlwZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBnX3ZhbHVlIHN0dWZmIHRvIG1hdGNoIHByb3BlcnR5IHR5cGVzCgoyMDAyLTAzLTI0IDIyOjA3OjAzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIGZpbHRlciBuZXdsaW5lcyBvdXQgb2YgR1NUX0RFQlVHIHN0YXRlbWVudHMgdG8gcmVmbGVjdCBuZXcgY29yZSBiZWhhdmlvciBmaXhlcyB0byBhZGRlcidzIGNhcHMsIGFnYWluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGZpbHRlciBuZXdsaW5lcyBvdXQgb2YgR1NUX0RFQlVHIHN0YXRlbWVudHMgdG8gcmVmbGVjdCBuZXcgY29yZSBiZWhhdmlvcgoJICAqIGZpeGVzIHRvIGFkZGVyJ3MgY2FwcywgYWdhaW4KCjIwMDItMDMtMjAgMjE6NDU6MDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoKMjAwMi0wMy0xOSAxNzoxNDo1NyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBmaXggY29tcGlsZSBlcnJvciAodW50ZXN0ZWQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggY29tcGlsZSBlcnJvciAodW50ZXN0ZWQpCgoyMDAyLTAzLTE5IDA0OjEwOjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cwoJICAqIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGggdGhlIHBsdWdpbl9pbmZvIHN0cnVjdCwKCSAgYW5kIHN5bWJvbCByZXNvbHV0aW9uIGlzIGxhenksIHNvIHdlIGNhbiBhbHdheXMga25vdyBpZiBhIHBsdWdpbiBjYW4gYmUgbG9hZGVkIGJ5IHRoZSBwbHVnaW5faW5mbyBkYXRhLiBpbiB0aGVvcnkuCgoyMDAyLTAzLTE5IDAxOjM5OjQyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzL0BHU1RfUExVR0lOX0xERkxBR1NALyQoR1NUX1BMVUdJTl9MREZMQUdTKS8KCSAgQC1zdWJzdGl0dWVkIHZhcmlhYmxlcyB2YXJpYWJsZXMgYXJlIGRlZmluZWQgYXMgbWFrZSB2YXJpYWJsZXMgYXV0b21hZ2ljYWxseSwKCSAgYW5kIHRoaXMgZ2l2ZXMgdGhlIHVzZXIgdGhlIGZyZWVkb20gdG8gc2F5IG1ha2UgR1NUX1BMVUdJTl9MREZMQUdTPS1teWZsYWcKCjIwMDItMDMtMDMgMDA6NTM6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgZ2V0IHVwLXRvLWRhdGUgd2l0aCB0aGUgZ3N0X2NhcHNfZGVidWcgYXBpIGltcHJvdmVkIGNhcHNuZWdvIGluIG1hZCBpbXByb3ZlZCBjYXBzbmVnbyBpbiBhZGRlciBpbXByb3ZlZCBjYXBzbmVnbyBpbiBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdldCB1cC10by1kYXRlIHdpdGggdGhlIGdzdF9jYXBzX2RlYnVnIGFwaQoJICAqIGltcHJvdmVkIGNhcHNuZWdvIGluIG1hZAoJICAqIGltcHJvdmVkIGNhcHNuZWdvIGluIGFkZGVyCgkgICogaW1wcm92ZWQgY2Fwc25lZ28gaW4gaW50ZmxvYXQgcGx1Z2lucwoJICAqIHVuYnJva2UgY2Fwc25lZ28gaW4gc3RlcmVvbW9ubyBwbHVnaW5zCgkgICogZml4IGNvdGhyZWFkIHN0YWNrIGFsbG9jYXRpb24gd2l0aGluIHRoZSBtYWluIHRocmVhZCBpbiBuZXcgY290aHJlYWRzCgoyMDAyLTAyLTIxIDE3OjMzOjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL01ha2VmaWxlLmFtOgoJICB1bmNvbW1lbnQgbGFtZSB0ZXN0IHVudGlsIHdlIGNhbiBnZXQgdGhlIHJlZ2lzdGVyIHRvIHdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVuY29tbWVudCBsYW1lIHRlc3QgdW50aWwgd2UgY2FuIGdldCB0aGUgcmVnaXN0ZXIgdG8gd29yawoKMjAwMi0wMi0yMSAxNzoyMDozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmM6CgkgIHVzZSBnc3QtZGVidWdpbmZvLm00IG1hY3JvIHNvIHBsdWdpbnMgYXJlIGFjdHVhbGx5IGNvbXBpbGVkIHdpdGggZGVidWcgaW5mbyBzb21lIG1vcmUgZGVidWcgb3V0cHV0IGZvciBsYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHVzZSBnc3QtZGVidWdpbmZvLm00IG1hY3JvIHNvIHBsdWdpbnMgYXJlIGFjdHVhbGx5IGNvbXBpbGVkIHdpdGgKCSAgZGVidWcgaW5mbwoJICAqIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQgZm9yIGxhbWUKCjIwMDItMDItMjEgMTQ6MDQ6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBvbiBzaW5rIGNvbm5lY3QsIGNoZWNrIGlmIHRoZSBjdXJyZW50IHBhZCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGdpdmVuIGNhcHMgY2xlYW5lZCB1cCBkZWJ1ZyBvdXRwdXQgY2hhbmdlIHBhZCB0ZW1wbGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogb24gc2luayBjb25uZWN0LCBjaGVjayBpZiB0aGUgY3VycmVudCBwYWQgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBnaXZlbgoJICBjYXBzCgkgICogY2xlYW5lZCB1cCBkZWJ1ZyBvdXRwdXQKCSAgKiBjaGFuZ2UgcGFkIHRlbXBsYXRlIHRvIG9ubHkgYWNjZXB0IGFsbG93ZWQgc2FtcGxlIHJhdGVzCgkgIGlmIHRoZXNlIGNoYW5nZXMgYXJlIGNvbnNpZGVyZWQgb2sgYnkgb3RoZXJzIHRoZW4gdGhlIHNhbWUgc2hvdWxkIGJlCgkgIGFwcGxpZWQgdG8gb3RoZXIgZW5jb2RpbmcgcGx1Z2lucyAobm90YWJseSB0aGUgY29tcGF0aWJpbGl0eSBjaGVjaykKCjIwMDItMDItMTkgMjA6NDk6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvdGVzdC1sYW1lLmM6CgkgIG9rLCB0aGlzIHdvcmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBvaywgdGhpcyB3b3JrcwoKMjAwMi0wMi0xOSAyMDozNTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBBbHdheXMgYnJpbmcgdGhlIGVsZW1lbnRzIHRvIFJFQURZIGJlZm9yZSB0cnlpbmcgdG8gZG8gY2Fwc25lZ28uIGZpeCB0aGUgY2FwcyBhcyBsYW1lIGRvZXNuJ3QgYWNjZXB0IGxhdz09MQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWx3YXlzIGJyaW5nIHRoZSBlbGVtZW50cyB0byBSRUFEWSBiZWZvcmUgdHJ5aW5nIHRvIGRvIGNhcHNuZWdvLgoJICBmaXggdGhlIGNhcHMgYXMgbGFtZSBkb2Vzbid0IGFjY2VwdCBsYXc9PTEKCjIwMDItMDItMTkgMjA6MTk6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvdGVzdC1sYW1lLmM6CgkgIHN0aWxsIGRvZXMgbm90IHdvcmsgOygKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN0aWxsIGRvZXMgbm90IHdvcmsgOygKCjIwMDItMDItMTkgMTg6Mjg6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYW1lL3Rlc3QtbGFtZS5jOgoJICBhZGRpbmcgYSB0ZXN0IGZvciBsYW1lIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgYSB0ZXN0IGZvciBsYW1lIHN0dWZmCgoyMDAyLTAyLTE5IDE3OjI5OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJICBBZGRlZCBldmVudCBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGV2ZW50IGhhbmRsaW5nLgoJICBGaXggZmx1c2gKCSAgRml4IHN0YXRlIGNoYW5nZS4KCSAgQ29udmVydCB0byBnb2JqZWN0IGRlZXBfbm90aWZ5CgoyMDAyLTAyLTE5IDEyOjU1OjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgc29tZWJvZHkgaGVscCBtZSBmaXggbGFtZSA7KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc29tZWJvZHkgaGVscCBtZSBmaXggbGFtZSA7KQoJICBJIGNvbW1lbnRlZCBvdXQgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBiZWNhdXNlIGl0IGlzIGNhbGxlZCBiZWZvcmUgbGFtZSBoYXMgdGhlIHJpZ2h0IGNhcHMuCgkgIElzIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gc3RpbGwgbmVjZXNzYXJ5ID8KCSAgaW4gYW55IGNhc2UsIGF0IGxlYXN0IG5vdyBsYW1lIGFjdHVhbGx5IGxpc3RlbnMgdG8gb3Nzc3JjIHJlOiByYXRlIGFuZCBjaGFubmVscwoKMjAwMi0wMS0zMSAxNzowODo0NiArMDAwMCAgRGF2aWQgSS4gTGVobiA8ZGxlaG5AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBSZXZlcnQgbGFtZSBpbmNsdWRlIGRpciBjaGFuZ2UuICBVcHN0cmVhbSB1c2VzICRwcmVmaXgvaW5jbHVkZS9sYW1lL2xhbWUuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmVydCBsYW1lIGluY2x1ZGUgZGlyIGNoYW5nZS4gIFVwc3RyZWFtIHVzZXMgJHByZWZpeC9pbmNsdWRlL2xhbWUvbGFtZS5oLgoKMjAwMi0wMS0zMCAxMToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIEkgY2hlY2tlZCBsYW1lIHBhY2thZ2VzIGFuZCBzb3VyY2UgY29kZSBhbmQgdGhleSBzZWVtIHRvIHdhbnQgbGFtZS5oIGluIHByZWZpeC9pbmNsdWRlL2xhbWUuaCBzbyBJIGZpeGVkIHN0dWZmIGFjY29yZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBjaGVja2VkIGxhbWUgcGFja2FnZXMgYW5kIHNvdXJjZSBjb2RlIGFuZCB0aGV5IHNlZW0gdG8gd2FudCBsYW1lLmggaW4KCSAgcHJlZml4L2luY2x1ZGUvbGFtZS5oCgkgIHNvIEkgZml4ZWQgc3R1ZmYgYWNjb3JkaW5nbHkuCgkgIERvIGFueSBzeXN0ZW1zIGhhdmUgbGFtZSBpbiBpbmNsdWRlL2xhbWUvbGFtZS5oID8KCSAgSWYgc28sIG1haWwgbWUgYW5kIHdlJ2xsIHdvcmsgaXQgb3V0LgoKMjAwMi0wMS0xOCAwMjowNToyNSArMDAwMCAgV3JvYmVsbCA8d3JvYmVsbEBpdGUucGw+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgLSBwbHVnaW5zIGFyZSBidWlsdCB3aXRob3V0IHZlcnNpb25pbmcgaW5mbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLSBwbHVnaW5zIGFyZSBidWlsdCB3aXRob3V0IHZlcnNpb25pbmcgaW5mbwoKMjAwMi0wMS0xMyAyMjoyNzoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSAgQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCcmluZyB0aGUgcGx1Z2lucyBpbiBzeW5jIHdpdGggdGhlIG5ldyBjb3JlIGNhcHNuZWdvIHN5c3RlbS4KCSAgQWRkZWQgc29tZSBmZWF0dXJlcywgZW5oYW5jZW1lbnRzLi4uCgoyMDAyLTAxLTEyIDAzOjM0OjI2ICswMDAwICBEYXZpZCBJLiBMZWhuIDxkbGVobkB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSAgcy9maWx0ZXIvcGx1Z2luLyBsaW5rIHBsdWdpbnMgdG8gR1NUX0xJQlMgcmVhcnJhbmdlIHJ1bGVzIHRvIGEgY29tbW9uIGZvcm1hdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzL2ZpbHRlci9wbHVnaW4vCgkgICogbGluayBwbHVnaW5zIHRvIEdTVF9MSUJTCgkgICogcmVhcnJhbmdlIHJ1bGVzIHRvIGEgY29tbW9uIGZvcm1hdAoKMjAwMS0xMi0yMSAxMjo0NzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9sYW1lL2dzdGxhbWUuYzoKCSogZXh0L2xhbWUvZ3N0bGFtZS5oOgoJICBMYW1lIGNsZWFudXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIExhbWUgY2xlYW51cAoJICBBZGRlZCBFT1MsIGZsdXNoLCBlcnJvciByZXBvcnRpbmcgZXRjLgoKMjAwMS0xMi0yMCAyMzo0ODo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xhbWUvZ3N0bGFtZS5jOgoJKiBleHQvbGFtZS9nc3RsYW1lLmg6CgkgIGFkZGluZyBsYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgbGFtZQoKMjAwMS0xMi0xNyAxODozNzowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBidWlsZGluZyB1cCBzcGVlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGRpbmcgdXAgc3BlZWQKCg==